- TikTok/Shopee/速卖通/Walmart 各 46-47 条已在待发布 - Ozon 47 条已建、改价 40/47 - SHEIN 配方跑通第一条;Temu 差「预览图」一步 - 核心产出:MYJ.message.error 钩子诊断法(解开了三个平台的保存静默拦截) - 含下一轮提示词 NEXT-ROUND-PROMPT.md
48 lines
2.2 KiB
Markdown
48 lines
2.2 KiB
Markdown
# 店小秘编辑器「保存静默拦截」诊断法
|
|
|
|
## 症状
|
|
点「保存」→ **不发任何 POST**、**没有任何界面提示**、**无 `.ant-form-item-has-error`**。
|
|
四个平台(速卖通/SHEIN/Temu)独立复现同一现象。
|
|
|
|
## 根因
|
|
校验确实失败了,但报错被 **`MYJ.message.error` 吞掉**——它只在屏幕角落闪一下,
|
|
而且有些报错是**层层递进**的(修完 A 才显示 B),所以肉眼和 DOM 扫描都抓不到。
|
|
|
|
## 诊断步骤
|
|
1. 打开目标平台的建品页,填完所有能填的字段
|
|
2. **在点保存之前**注入钩子,劫持消息库:
|
|
|
|
```js
|
|
window.__cap=[];
|
|
function wrap(obj,name,label){
|
|
const o=obj[name];
|
|
obj[name]=function(){
|
|
window.__cap.push(label+': '+[...arguments].map(a=>typeof a==='string'?a:JSON.stringify(a)).join(' '));
|
|
return o.apply(obj,arguments);
|
|
};
|
|
}
|
|
['error','warning','info','success'].forEach(k=>wrap(MYJ.message,k,'MYJ.'+k));
|
|
['error','warning','info','success'].forEach(k=>wrap(antd.message,k,'antd.'+k));
|
|
```
|
|
|
|
3. 点「保存」,等 9 秒
|
|
4. 读 `window.__cap` —— 被吞掉的真实报错就在里面
|
|
|
|
## 已定位的结果
|
|
| 平台 | 被吞掉的报错 | 性质 |
|
|
|---|---|---|
|
|
| 速卖通 | `商品说明书 → 请上传文件!` | **类目相关**的资质文件要求(Pet Medical 等类目强制) |
|
|
| SHEIN | `有必选规格未选择,请完善后再提交` | 类目定义的必选规格未选全 |
|
|
| Temu | `产地选择中国时,省份必填` → `产品变种不能为空!` | **条件必填**(选中国才出现省份)+ 变种 |
|
|
|
|
## 修复要点
|
|
- **速卖通**:换一个不要求资质文件的类目即可(已验证:温度计从 Pet Medical 换到
|
|
`Tools/仪器仪表/温湿度` 后立刻存进去)
|
|
- **SHEIN**:需把类目要求的**全部**规格(不止主规格颜色)都选中
|
|
- **Temu**:省份必须走 **UI 选择**(直接改 `region2Id` store 无效),且必须生成变种行
|
|
|
|
## 教训
|
|
`必填项扫描`(找 `.ant-form-item-required` 且为空)**不够**——
|
|
条件必填字段(Temu 省份)和类目相关的文件字段(速卖通说明书)都不在这个扫描范围内。
|
|
以后遇到「点了没反应」,第一步就该挂这个钩子。
|