f5720ad613ed8bca4c7c16fa3cf802d3f81bf7a0
- TikTok/Shopee/速卖通/Walmart 各 46-47 条已在待发布 - Ozon 47 条已建、改价 40/47 - SHEIN 配方跑通第一条;Temu 差「预览图」一步 - 核心产出:MYJ.message.error 钩子诊断法(解开了三个平台的保存静默拦截) - 含下一轮提示词 NEXT-ROUND-PROMPT.md
店小秘多平台铺货配方(dianxiaomi crossborder playbook)
同一批 48 个 1688 商品铺到店小秘各平台的「待发布」。本仓库是可复用的配方 + 踩坑记录, 不是一次性脚本堆积——每个平台一个目录,含配方脚本、输入数据、逐条结果。
战果
| 平台 | 店铺 | 待发布 | 状态 |
|---|---|---|---|
| TikTok | AutoMavenShop_MY | 47 | 完成 |
| Shopee | Ljbgkj | 47 | 完成 |
| 速卖通 | 4024039 | 47 | 完成(含清理 4 份重复) |
| Walmart | Snowmountain | 46 | 完成 |
| Ozon | Yejet | 47 | 已建;改价 40/47 |
| SHEIN | 4 家分品类 | 0 | 配方跑通第一条,40 条待批量 |
| Temu 全托管 | ①Alimingpro | 0 | 差「预览图」一步 |
601964534137(遥控器保护套)18 张图全带水印、无干净图,所有平台统一跳过。
⭐ 最重要的一节:保存静默拦截诊断法
症状:点「保存」→ 不发 POST、无界面提示、无 .ant-form-item-has-error。
根因:校验确实失败了,但报错被 MYJ.message.error 吞掉;而且报错是层层递进的
(修完 A 才显示 B),所以肉眼和 DOM 扫描都抓不到。
解法——在点保存之前挂钩子:
window.__cap = [];
function wrap(o, n, l) {
const f = o[n];
o[n] = function () {
window.__cap.push(l + ': ' + [...arguments].map(a => typeof a === 'string' ? a : JSON.stringify(a)).join(' '));
return f.apply(o, 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));
点保存 → 读 window.__cap。
为什么之前的「必填扫描」不够:扫 .ant-form-item-required 且为空,漏掉两类——
条件必填(Temu 的省份,只有「产地=中国」才出现)和类目相关的文件字段
(速卖通的商品说明书,有些类目强制、有些不强制)。
详见 静默拦截诊断/HOOK.md。
各平台要点速查
| 平台 | 目录 | 最独特的一点 |
|---|---|---|
| Ozon | ozon改价/ |
保存按钮是**「保存并移入待发布」**;价格是 CNY;改价必须同时抬高原价,否则报「售价需小于原价」 |
| TikTok | tiktok建品/ |
价格 MYR;图片 store 直接吃外链数组 |
| Shopee | shopee建品/ |
用单件模式绕开变种;价格 CNY;列表字段是 itemName 不是 title |
| Walmart | walmart建品/ |
保存体是 zip 的 multipart;Brand 必须点「无品牌」;图片必须 hover 开下拉走「网络图片」 |
| 速卖通 | 速卖通建品/ |
check_box 属性值必须是数组;idStr ≠ id |
| SHEIN | shein建品/ |
店铺锁品类;类目要两个规格;加规格会重建 SKU 行 |
| Temu | temu建品/ |
类目 1038 个从 store 直读;规格是 .theme-value-add(与 SHEIN 不同构) |
通用技术事实
- Chrome CDP 端口 9223,profile
/tmp/dxm7 - 站点是 Vue3 + Pinia:
document.querySelector('#app').__vue_app__.config.globalProperties.$pinia._s.get('<store>').$state - CDP helper:
cdp3.mjs(newTarget/attach/CDP/SAN),ESM,不能用 require - VNC:
http://192.168.9.122:6097/vnc.html或:6100(免密)
十条会重复踩的坑
- 保存静默拦截 → 挂钩子,别猜
idStr ≠ id→ 大整数精度丢失,服务端操作一律用idStr!w-200不是合法 CSS 类选择器 → 用input[class*="!w-200"]- antd select 吃 DOM click,但有些组件只吃真实鼠标事件
- hover 触发的下拉点不开 → 先
mouseMoved再click - 加规格会重建 SKU 行 → 顺序「规格 → SKU → 尺码表」
- store 赋值后 UI 异步同步 → 当次校验可能仍失败,再点一次保存
- 类目决定是否强制资质文件(速卖通某些类目要上传说明书)
- SHEIN 店铺锁品类 → 不能用「首字母第一家店」
pkill -f <pat>会自杀 → 用[.]技巧(pgrep -f 'foo[.]sh')
EAN-13 台账(湖北易千亿彩 · 69803093 段)
- 结构:8 位前缀
69803093+ 4 位产品码 + 1 位校验 - 校验位:
(10 - sum(d*(1 if i%2==0 else 3) for i,d in enumerate(d12)) % 10) % 10(左起权重 1,3,1,3…;UPC-A 权重相反,别混用) - 台账唯一来源:S03 主机
/root/ean_*.txt(KVM-2 够不到) - 已用 3190,下一号 pc 3400 →
6980309334003 - 本批已分配:Walmart pc 3400~3446(见
walmart建品/ean_69803093_3400-3446.txt); Temu 拟用 pc 3447+ - ⚠️ 必须在 S03 落盘,否则下次续号会撞号
- 说明书 §1 的例子
pc 1000 → 6980309310004是错的,正确是6980309310007
Description
1688→跨境多平台铺货配方:Ozon/TikTok/Shopee/Walmart/速卖通/SHEIN/Temu 建品脚本与踩坑记录
834 KiB
0 Stars
1 Watchers
0 Forks
Languages
JavaScript
99.2%
Python
0.8%