docs: 建品配方迁至 kb/handbook(留指针)

This commit is contained in:
kb-bot committed 2026-10-21 17:29:56 +08:00
1 parent 917df5b2d6
commit ced43b19d3
9 files changed
+27 -1842

No files matched your search

+3 -56
View File
@@ -1,57 +1,4 @@
# SHEIN 建品配方(已跑通第一条)
> **本文已迁至内网知识库**:`kb/handbook:docs/ecommerce/dianxiaomi/shein.md`(2026-10-21)。
> 请到 http://192.168.9.206:3000/kb/handbook 阅读最新版;本仓不再维护这份内容。
## 完整流程
1. `https://www.dianxiaomi.com/web/sheinProduct/add`
2. **选店铺**(按品类分店,见 shein_route.json)
3. **选类目**:点「选择分类」→ 弹窗 `input[placeholder="搜索分类名称"]` → 搜索 → 点 `.search-result-item`
4. **标题**:`sheinAddProductStore.formState.productName`
5. **★ 加第二个规格**:点 `.theme-select-box` 里的 `尺寸(Size)`
—— 这是之前一直卡住的关键!类目要求**颜色+尺寸两个规格**,只选颜色不行
6. **选规格值**:两个 `.sku-info-box` 里各点一个 `.sku-option`(要点里面的 `label.d-checkbox`)
7. **填 SKU 行**:`sheinSkuDataStore.formState.skuDataList[]`
`skcSupplierCode / skcRetailPrice / supplyPrice / stockVariety / weight / length / width / height`
⚠️ **加第二个规格会重建 SKU 行,之前的填充会丢** —— 必须在规格选完之后再填
8. **尺码表**:点「编辑尺码表」→ 弹窗内 6 个 `placeholder="请输入"` 的 input → 点「确定」
9. **图片**:`sheinImgStore.formState.mainImgData.multipleSpuImgs` → **数组**
10. **保存** → `POST /api/sheinProduct/add.json`
## 关键教训
- 报错 `有必选规格未选择` 的真实含义是:**类目定义的规格没选全**,不是主规格没值
- 加规格会重置 SKU 行 → **顺序不能错**:先规格、后 SKU、再尺码表
- 所有报错都会被 `MYJ.message.error` 吞掉,必须挂钩子才看得到
## 待批量
- 40 条按品类分到 4 家店(美妆18 / 文具13 / 箱包8 / 内睡袜子1)
- 需要把上述流程写成 `shbatch.mjs`,逐条跑
---
# 批量(已完成:40/40 进待发布,2026-09-20)
`node shbatch.mjs`(全部)· `node shbatch.mjs <pid>`(单条)· `node shbatch.mjs --dry <pid>`(只构建不保存)
- 数据源:`/home/admin9webs/tiktok建品/tk_input.json`(48 商品:title/imgs/cost/price_cny)
- 路由:`shein_route.json`(4 家店 × 每条的类目关键词),`sh_done.json` 记逐条结果,可断点续跑
- 公共库:`sh_lib.mjs`(newPage/closePage/wait/installHook/readHook)· `sh_build.mjs`(各步骤函数)
## 单条固定顺序(不能换)
`选店铺 → 选类目 → 标题 → 加规格(≤3) → 选规格值 → 填 SKU 行 → 尺码表 → 图片 → 填必填属性 → 保存`
## 这次新踩的坑
1. **选类目弹窗必须确认关掉**:`搜索` → 点 `.search-result-item`(它里面嵌 `<span class="f-red">`,
所以别用 `children.length===0` 过滤)→ 若弹窗还在就点「选择/确定」或右上角 ×、按 Esc。
弹窗没关时后面的点击全被挡,最终报的却是别的错(Temu 那边表现为「请上传预览图」)。
2. **SHEIN 一个产品最多 3 个规格**(颜色已占 1 个)→ `addSpecs` 里加满 3 个就停,
否则报「规格最多选择3个,请移除后再添加」。
3. **规格要去重**:按标签去重,否则会点出「款式/款式」两个同名规格。
4. **类目动态必填属性**用 `.attr-label.required` 标记(不是 `.ant-form-item-required`):
- 下拉型空着 → 选第一项
- 勾选组(如箱包的「特征 Features」,`.checkbox-group-with-search`)一个都没勾 → 勾第一个
- 不填只会得到一句「产品信息中有错误,请检查」
5. **店铺发品额度**:①Shein-武汉九个网-箱包 报「商家无可用的发品额度,暂时无法发布商品」,
把那条改挂 ②Shein-易世通达-箱包(`SHOP_OVERRIDE='②Shein-易世通达-箱包'`)后成功。
该类目在 ② 店只有「不保温午餐包」,与路由表写的「保温午餐包」不完全一致。
## 结果
40 条全部「已保存到待发布」(39 条在路由指定店铺 + 1 条改挂 ② 店)。
店小秘 SHEIN 待发布列表核对:共 44 条(含此前手工首条等)。
(原文件内容已移出,历史见本仓 git 记录。)