commit f5720ad613ed8bca4c7c16fa3cf802d3f81bf7a0 Author: admin9webs Date: Sun Sep 20 17:29:38 2026 +0800 店小秘多平台铺货配方:7 平台建品脚本 + 静默拦截诊断法 + 项目状态 - TikTok/Shopee/速卖通/Walmart 各 46-47 条已在待发布 - Ozon 47 条已建、改价 40/47 - SHEIN 配方跑通第一条;Temu 差「预览图」一步 - 核心产出:MYJ.message.error 钩子诊断法(解开了三个平台的保存静默拦截) - 含下一轮提示词 NEXT-ROUND-PROMPT.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..df86225 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +*_logs/ +*_log/ +*.jpeg +*.jpg +*.png diff --git a/NEXT-ROUND-PROMPT.md b/NEXT-ROUND-PROMPT.md new file mode 100644 index 0000000..91b18b0 --- /dev/null +++ b/NEXT-ROUND-PROMPT.md @@ -0,0 +1,57 @@ +# 下一轮提示词(直接复制给新会话) + +--- + +我在做「同一批 48 个 1688 商品铺到店小秘各平台待发布」的活儿。上一轮的完整配方和踩坑记录 +已经推到 Gitea:`http://192.168.9.206:3000/admin9webs/dianxiaomi-crossborder-playbook` +(本机也有一份:`/home/admin9webs/gitea-push/dianxiaomi-crossborder-playbook/`)。 +**先读仓库的 `README.md` 和 `静默拦截诊断/HOOK.md`**,再动手。 + +## 已完成 +TikTok 47 / Shopee 47 / 速卖通 47 / Walmart 46 条已在待发布;Ozon 47 条已建、改价 40/47。 +各平台配方脚本、输入数据、逐条日志都在仓库对应目录里。 + +## 这轮要做的(按优先级) + +1. **Temu 解「请上传预览图」** + Temu 的报错是层层递进的,前面 4 层我已经解掉了(省份 → 变种 → 尺寸 → 净重<重量), + 现在只剩 `MYJ.error: 请上传预览图`。SKU 表「预览图」列需要**每个变种行的真实图片**, + 不是文本。大概率是点单元格弹图片空间。参考 Walmart 的解法:**hover 触发的下拉要先 + `Input.dispatchMouseEvent` 发 `mouseMoved` 再 `click`**。 + Temu 的规格是 `.theme-value-add` 块(值输入 `input[class*="!w-200"]` + 添加按钮), + **必须手动输入值再点添加**,直接改 store 无效。 + 解出来后把 `temu建品/` 的配方补完。 + +2. **SHEIN 批量** + `shein建品/RECIPE.md` 已经有跑通第一条的完整步骤。把它写成 `shbatch.mjs` 循环跑 40 条, + 按品类分到 4 家店(美妆 18 / 文具 13 / 箱包 8 / 内睡袜子 1),路由见 `shein_route.json`。 + **注意顺序**:先选规格 → 再填 SKU 行 → 再填尺码表(加规格会重建 SKU 行)。 + +3. **Temu 批量**(解完预览图之后) + +4. **继续铺剩余店小秘平台**:Joom(84 家)、Lazada(24 家)、aliChoice(64 家)、 + pddkj(15 家)、fruugo(3 家)。店铺用**字母序/圈号自然序第一家**(除 SHEIN 那种锁品类的)。 + +5. **妙手各平台**(店小秘全部完成后) + +## 硬约束 +- 平台「首字母第一家店」规则(SHEIN 除外,它锁品类必须分店) +- 图片一律**外链 alicdn**,且必须**无水印** +- **EAN 台账在 S03 的 `/root/ean_*.txt`**,KVM-2 够不到。本批已分配 pc 3400~3446(Walmart), + Temu 用 3447 起。**用了就要在 S03 落盘**,否则撞号。 + +## 遇到「点了保存没反应」怎么办 +**第一件事是挂钩子**,不要猜字段: +```js +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`。上一轮我在 SHEIN 和 Temu 上盲试了几十轮没进展, +挂上钩子后**两个平台一次全暴露**。 + +## 环境 +- Chrome CDP **9223**,profile `/tmp/dxm7`;VNC `http://192.168.9.122:6097/vnc.html` +- CDP helper `/tmp/cdp3.mjs`(ESM,`newTarget`/`attach`/`CDP`/`SAN`) +- 批量跑动辄 1 小时,用 `nohup ... &` 后台跑 + 逐条日志,别前台等 diff --git a/README.md b/README.md new file mode 100644 index 0000000..fca96d7 --- /dev/null +++ b/README.md @@ -0,0 +1,93 @@ +# 店小秘多平台铺货配方(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 扫描都抓不到。 + +**解法**——在点保存**之前**挂钩子: + +```js +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('').$state` +- CDP helper:`cdp3.mjs`(`newTarget`/`attach`/`CDP`/`SAN`),ESM,**不能用 require** +- VNC:`http://192.168.9.122:6097/vnc.html` 或 `:6100`(免密) + +## 十条会重复踩的坑 + +1. **保存静默拦截** → 挂钩子,别猜 +2. **`idStr ≠ id`** → 大整数精度丢失,服务端操作一律用 `idStr` +3. **`!w-200` 不是合法 CSS 类选择器** → 用 `input[class*="!w-200"]` +4. **antd select 吃 DOM click**,但有些组件只吃真实鼠标事件 +5. **hover 触发的下拉**点不开 → 先 `mouseMoved` 再 `click` +6. **加规格会重建 SKU 行** → 顺序「规格 → SKU → 尺码表」 +7. **store 赋值后 UI 异步同步** → 当次校验可能仍失败,再点一次保存 +8. **类目决定是否强制资质文件**(速卖通某些类目要上传说明书) +9. **SHEIN 店铺锁品类** → 不能用「首字母第一家店」 +10. `pkill -f ` 会自杀 → 用 `[.]` 技巧(`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` diff --git a/ean_gen_local.py b/ean_gen_local.py new file mode 100644 index 0000000..d358c7a --- /dev/null +++ b/ean_gen_local.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python3 +"""EAN-13 生成本地复算(湖北易千亿彩 · 69803093 段) +结构: 8位前缀 69803093 + 4位产品码 + 1位校验 +校验: 前12位左起权重 1,3,1,3... ; check=(10-sum%10)%10""" +def ean13_check(d12: str) -> int: + total = sum(int(d) * (1 if i % 2 == 0 else 3) for i, d in enumerate(d12)) + return (10 - total % 10) % 10 + +def make(pc: int) -> str: + d12 = "69803093" + f"{pc:04d}" + return d12 + str(ean13_check(d12)) + +if __name__ == "__main__": + # 1) 复算文档里的例子,验证算法 + print("=== 算法自检 ===") + for pc, expect in ((2900, "6980309329009"), (3400, "6980309334003"), (9999, "6980309399996")): + got = make(pc) + print(f" pc {pc:>4} → {got} {'✅' if got == expect else '❌ 期望 ' + expect}") + doc_wrong = make(1000) + print(f" pc 1000 → {doc_wrong} (文档写 6980309310004,实为 {doc_wrong} ← 文档该例有误)") + print(f" pc 0000 → {make(0)}") + print() + # 2) 为 Walmart 分配 47 个(pc 3400..3446) + START, N = 3400, 47 + codes = [make(START + i) for i in range(N)] + assert len(set(codes)) == N, "批内重复" + for c in codes: + assert ean13_check(c[:12]) == int(c[12]), f"校验位错 {c}" + print(f"=== 分配 pc {START}~{START+N-1} 共 {N} 个(校验位全部复核通过)===") + for i, c in enumerate(codes): + print(f" {START+i:>4} {c}") + open("/home/admin9webs/walmart建品/ean_69803093_%d-%d.txt" % (START, START + N - 1), "w").write("\n".join(codes) + "\n") + print(f"\n已落盘: ean_69803093_{START}-{START+N-1}.txt") + print(f"下一号应为 pc {START+N} → {make(START+N)};剩余 {9999-(START+N)+1} 个") diff --git a/ozon定价/oz_price_500.json b/ozon定价/oz_price_500.json new file mode 100644 index 0000000..e85bec6 --- /dev/null +++ b/ozon定价/oz_price_500.json @@ -0,0 +1,6756 @@ +{ + "1075742944939": [ + { + "oid": "1075742944939", + "id": "184807701684568497", + "name": "跨境亚马逊新款热销设计可爱潮流款ocean sea DIY海玻璃艺术套装", + "cost_cny": 19.5, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 23.7, + "price_cny": { + "0%": 29.62, + "13%": 35.37, + "15%": 36.46, + "20%": 39.5, + "25%": 43.09, + "30%": 47.4, + "35%": 52.67, + "40%": 59.25 + }, + "price_rub": { + "0%": 393.3, + "13%": 469.6, + "15%": 484.0, + "20%": 524.3, + "25%": 572.0, + "30%": 629.2, + "35%": 699.1, + "40%": 786.5 + } + } + ], + "1075122537712": [ + { + "oid": "1075122537712", + "id": "184807701684567573", + "name": "跨境DIY Christmas Tree Beaded Ornament Kit", + "cost_cny": 20.0, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 24.2, + "price_cny": { + "0%": 30.25, + "13%": 36.12, + "15%": 37.23, + "20%": 40.33, + "25%": 44.0, + "30%": 48.4, + "35%": 53.78, + "40%": 60.5 + }, + "price_rub": { + "0%": 401.5, + "13%": 479.5, + "15%": 494.2, + "20%": 535.4, + "25%": 584.1, + "30%": 642.5, + "35%": 713.9, + "40%": 803.1 + } + } + ], + "1070370924051": [ + { + "oid": "1070370924051", + "id": "184807701684567245", + "name": "跨境新品DIY Beaded Christmas Tree Kit 手工DIY串", + "cost_cny": 17.5, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 21.7, + "price_cny": { + "0%": 27.12, + "13%": 32.39, + "15%": 33.38, + "20%": 36.17, + "25%": 39.45, + "30%": 43.4, + "35%": 48.22, + "40%": 54.25 + }, + "price_rub": { + "0%": 360.1, + "13%": 429.9, + "15%": 443.2, + "20%": 480.1, + "25%": 523.7, + "30%": 576.1, + "35%": 640.1, + "40%": 720.1 + } + } + ], + "1079858305406": [ + { + "oid": "1079858305406", + "id": "184807701684531273", + "name": "现货迷你南瓜形状钥匙扣万圣节元素装饰挂件钥匙防丢收纳包包挂件", + "cost_cny": 6.0, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 10.2, + "price_cny": { + "0%": 12.75, + "13%": 15.22, + "15%": 15.69, + "20%": 17.0, + "25%": 18.55, + "30%": 20.4, + "35%": 22.67, + "40%": 25.5 + }, + "price_rub": { + "0%": 169.2, + "13%": 202.1, + "15%": 208.3, + "20%": 225.7, + "25%": 246.2, + "30%": 270.8, + "35%": 300.9, + "40%": 338.5 + } + } + ], + "762592768138": [ + { + "oid": "762592768138", + "id": "184807701684521025", + "name": "车载手机支架汽车导航仪表台粘贴磁吸F16金属手机固定架厂家直供", + "cost_cny": 4.55, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 8.75, + "price_cny": { + "0%": 10.94, + "13%": 13.06, + "15%": 13.46, + "20%": 14.58, + "25%": 15.91, + "30%": 17.5, + "35%": 19.44, + "40%": 21.88 + }, + "price_rub": { + "0%": 145.2, + "13%": 173.4, + "15%": 178.7, + "20%": 193.6, + "25%": 211.2, + "30%": 232.3, + "35%": 258.1, + "40%": 290.4 + } + } + ], + "739407630624": [ + { + "oid": "739407630624", + "id": "184807701684428245", + "name": "秋季竖条连裤袜白色甜妹打底袜显瘦天鹅绒女袜", + "cost_cny": 9.6, + "weight_g": 50.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.45, + "total_cost_cny": 16.05, + "price_cny": { + "0%": 20.06, + "13%": 23.96, + "15%": 24.69, + "20%": 26.75, + "25%": 29.18, + "30%": 32.1, + "35%": 35.67, + "40%": 40.12 + }, + "price_rub": { + "0%": 266.3, + "13%": 318.0, + "15%": 327.8, + "20%": 355.1, + "25%": 387.4, + "30%": 426.1, + "35%": 473.5, + "40%": 532.6 + } + } + ], + "631552027601": [ + { + "oid": "631552027601", + "id": "184807701684370551", + "name": "跨境专供万圣节精灵耳朵乳胶 cosplay道具派对幻城尖耳朵elfear", + "cost_cny": 5.8, + "weight_g": 70.0, + "tier": "extra_small_1-500g", + "freight_cny": 7.35, + "total_cost_cny": 13.15, + "price_cny": { + "0%": 16.44, + "13%": 19.63, + "15%": 20.23, + "20%": 21.92, + "25%": 23.91, + "30%": 26.3, + "35%": 29.22, + "40%": 32.87 + }, + "price_rub": { + "0%": 218.2, + "13%": 260.5, + "15%": 268.6, + "20%": 290.9, + "25%": 317.4, + "30%": 349.1, + "35%": 387.9, + "40%": 436.4 + } + } + ], + "837385287062": [ + { + "oid": "837385287062", + "id": "184807701684369451", + "name": "500贴/卷装圣诞节贴纸,节日祝福装饰礼品系列不干胶贴纸标签", + "cost_cny": 5.5, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 9.7, + "price_cny": { + "0%": 12.12, + "13%": 14.48, + "15%": 14.92, + "20%": 16.17, + "25%": 17.64, + "30%": 19.4, + "35%": 21.56, + "40%": 24.25 + }, + "price_rub": { + "0%": 161.0, + "13%": 192.2, + "15%": 198.1, + "20%": 214.6, + "25%": 234.1, + "30%": 257.5, + "35%": 286.1, + "40%": 321.9 + } + } + ], + "722943097222": [ + { + "oid": "722943097222", + "id": "184807701684364009", + "name": "2026跨境圣诞节贴纸全息镭射儿童节日派对礼品装饰防水圣诞贴纸", + "cost_cny": null, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "949513569306": [ + { + "oid": "949513569306", + "id": "184807701684327421", + "name": "生日贺卡3D立体创意卡片手工镂空纸雕蛋糕生日祝福小礼物厂家批发", + "cost_cny": 2.5, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 6.7, + "price_cny": { + "0%": 8.38, + "13%": 10.0, + "15%": 10.31, + "20%": 11.17, + "25%": 12.18, + "30%": 13.4, + "35%": 14.89, + "40%": 16.75 + }, + "price_rub": { + "0%": 111.2, + "13%": 132.7, + "15%": 136.8, + "20%": 148.2, + "25%": 161.7, + "30%": 177.9, + "35%": 197.6, + "40%": 222.3 + } + } + ], + "1073527495896": [ + { + "oid": "1073527495896", + "id": "184807701684325989", + "name": "水晶金权杖圣诞老人静电窗贴浮雕宝石圣诞玻璃贴纸俄罗斯新年门贴", + "cost_cny": 3.0, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 7.2, + "price_cny": { + "0%": 9.0, + "13%": 10.75, + "15%": 11.08, + "20%": 12.0, + "25%": 13.09, + "30%": 14.4, + "35%": 16.0, + "40%": 18.0 + }, + "price_rub": { + "0%": 119.5, + "13%": 142.6, + "15%": 147.0, + "20%": 159.3, + "25%": 173.8, + "30%": 191.2, + "35%": 212.4, + "40%": 238.9 + } + } + ], + "1074089263421": [ + { + "oid": "1074089263421", + "id": "184807701684325971", + "name": "圣诞新年玻璃门装饰浮雕俄罗斯雪少女静电贴纸蓝金提灯雪姑娘窗贴", + "cost_cny": 3.0, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 7.2, + "price_cny": { + "0%": 9.0, + "13%": 10.75, + "15%": 11.08, + "20%": 12.0, + "25%": 13.09, + "30%": 14.4, + "35%": 16.0, + "40%": 18.0 + }, + "price_rub": { + "0%": 119.5, + "13%": 142.6, + "15%": 147.0, + "20%": 159.3, + "25%": 173.8, + "30%": 191.2, + "35%": 212.4, + "40%": 238.9 + } + } + ], + "746446952459": [ + { + "oid": "746446952459", + "id": "184807701684322105", + "name": "500Pcs Cartoon Cute Capybara Varied Stic", + "cost_cny": null, + "weight_g": 40.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.0, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "787700241598": [ + { + "oid": "787700241598", + "id": "184807701684321981", + "name": "10 Sheet Set Colorful Glitter Heart Stic", + "cost_cny": null, + "weight_g": 18.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.01, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "1030661647561": [ + { + "oid": "1030661647561", + "id": "184807701684321763", + "name": "Letter Paper Envelope Set Star Moon Poet", + "cost_cny": null, + "weight_g": 20.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.1, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "184807701684321237": [ + { + "oid": "", + "id": "184807701684321237", + "name": "3D Stereo Birthday card color Birthday c", + "cost_cny": null, + "weight_g": 30.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.55, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "1049569300819": [ + { + "oid": "1049569300819", + "id": "184807701684318403", + "name": "新品彩印木勺家用厨房榉木宽柄饭日式实木甜品勺网红调羹早餐木勺", + "cost_cny": null, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + }, + { + "oid": "1049569300819", + "id": "184807701683848753", + "name": "新品彩印木勺家用厨房榉木宽柄饭日式实木甜品勺网红调羹早餐木勺", + "cost_cny": null, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "778850495272": [ + { + "oid": "778850495272", + "id": "184807701684316255", + "name": "问号男孩女孩款加厚防摔不锈钢情侣牙刷杯简约漱口杯创意洗漱杯", + "cost_cny": 6.8, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 11.0, + "price_cny": { + "0%": 13.75, + "13%": 16.42, + "15%": 16.92, + "20%": 18.33, + "25%": 20.0, + "30%": 22.0, + "35%": 24.44, + "40%": 27.5 + }, + "price_rub": { + "0%": 182.5, + "13%": 217.9, + "15%": 224.6, + "20%": 243.4, + "25%": 265.5, + "30%": 292.0, + "35%": 324.5, + "40%": 365.0 + } + }, + { + "oid": "778850495272", + "id": "184807701683847649", + "name": "问号男孩女孩款加厚防摔不锈钢情侣牙刷杯简约漱口杯创意洗漱杯", + "cost_cny": 6.8, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 11.0, + "price_cny": { + "0%": 13.75, + "13%": 16.42, + "15%": 16.92, + "20%": 18.33, + "25%": 20.0, + "30%": 22.0, + "35%": 24.44, + "40%": 27.5 + }, + "price_rub": { + "0%": 182.5, + "13%": 217.9, + "15%": 224.6, + "20%": 243.4, + "25%": 265.5, + "30%": 292.0, + "35%": 324.5, + "40%": 365.0 + } + } + ], + "627879474686": [ + { + "oid": "627879474686", + "id": "184807701684297345", + "name": "秋季新款潮范卡通直板儿童中筒袜女童过膝卡通长筒袜子儿童袜子", + "cost_cny": 3.7, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 7.9, + "price_cny": { + "0%": 9.88, + "13%": 11.79, + "15%": 12.15, + "20%": 13.17, + "25%": 14.36, + "30%": 15.8, + "35%": 17.56, + "40%": 19.75 + }, + "price_rub": { + "0%": 131.1, + "13%": 156.5, + "15%": 161.3, + "20%": 174.8, + "25%": 190.7, + "30%": 209.7, + "35%": 233.0, + "40%": 262.2 + } + } + ], + "1081965096227": [ + { + "oid": "1081965096227", + "id": "184807701684110887", + "name": "圣诞雪人狂欢夜静电玻璃贴免胶无痕可移除橱窗家用圣诞节装饰贴纸", + "cost_cny": 11.0, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 15.2, + "price_cny": { + "0%": 19.0, + "13%": 22.69, + "15%": 23.38, + "20%": 25.33, + "25%": 27.64, + "30%": 30.4, + "35%": 33.78, + "40%": 38.0 + }, + "price_rub": { + "0%": 252.2, + "13%": 301.1, + "15%": 310.4, + "20%": 336.3, + "25%": 366.9, + "30%": 403.5, + "35%": 448.4, + "40%": 504.4 + } + } + ], + "1081177528837": [ + { + "oid": "1081177528837", + "id": "184807701684044021", + "name": "Новогодние электростатические наклейки н", + "cost_cny": 2.0, + "weight_g": 72.0, + "tier": "extra_small_1-500g", + "freight_cny": 7.44, + "total_cost_cny": 9.44, + "price_cny": { + "0%": 11.8, + "13%": 14.09, + "15%": 14.52, + "20%": 15.73, + "25%": 17.16, + "30%": 18.88, + "35%": 20.98, + "40%": 23.6 + }, + "price_rub": { + "0%": 156.6, + "13%": 187.0, + "15%": 192.8, + "20%": 208.8, + "25%": 227.8, + "30%": 250.6, + "35%": 278.5, + "40%": 313.3 + } + } + ], + "1064460319204": [ + { + "oid": "1064460319204", + "id": "184807701683938429", + "name": "甜酷牛仔蓝樱桃蕾丝儿童发夹大肠发圈高级感少女碎发发卡头饰发饰", + "cost_cny": 6.0, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 10.2, + "price_cny": { + "0%": 12.75, + "13%": 15.22, + "15%": 15.69, + "20%": 17.0, + "25%": 18.55, + "30%": 20.4, + "35%": 22.67, + "40%": 25.5 + }, + "price_rub": { + "0%": 169.2, + "13%": 202.1, + "15%": 208.3, + "20%": 225.7, + "25%": 246.2, + "30%": 270.8, + "35%": 300.9, + "40%": 338.5 + } + } + ], + "562280423441": [ + { + "oid": "562280423441", + "id": "184807701683914079", + "name": "26x21cm Solid Color PU Leather Mouse Pad", + "cost_cny": null, + "weight_g": 75.0, + "tier": "extra_small_1-500g", + "freight_cny": 7.58, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "642121503542": [ + { + "oid": "642121503542", + "id": "184807701683913521", + "name": "Desktop Silicone Hand Holder for Playing", + "cost_cny": null, + "weight_g": 135.0, + "tier": "extra_small_1-500g", + "freight_cny": 10.28, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "822894502154": [ + { + "oid": "822894502154", + "id": "184807701683909827", + "name": "Kawaii Capybara Plush Coin Purse for Chi", + "cost_cny": null, + "weight_g": 25.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.33, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "847197979773": [ + { + "oid": "847197979773", + "id": "184807701683851441", + "name": "跨境鸡肉碎肉器辅食碎肉撕鸡胸肉分丝器碎肉神器工具切丝分离器", + "cost_cny": 6.5, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 10.7, + "price_cny": { + "0%": 13.37, + "13%": 15.97, + "15%": 16.46, + "20%": 17.83, + "25%": 19.45, + "30%": 21.4, + "35%": 23.78, + "40%": 26.75 + }, + "price_rub": { + "0%": 177.5, + "13%": 212.0, + "15%": 218.5, + "20%": 236.7, + "25%": 258.2, + "30%": 284.1, + "35%": 315.6, + "40%": 355.1 + } + } + ], + "1054881223529": [ + { + "oid": "1054881223529", + "id": "184807701683849913", + "name": "圣诞老人节日粉色装饰品猫咪热气球花环静电玻璃门贴纸橱窗户氛围", + "cost_cny": 8.3, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 12.5, + "price_cny": { + "0%": 15.62, + "13%": 18.66, + "15%": 19.23, + "20%": 20.83, + "25%": 22.73, + "30%": 25.0, + "35%": 27.78, + "40%": 31.25 + }, + "price_rub": { + "0%": 207.4, + "13%": 247.7, + "15%": 255.3, + "20%": 276.5, + "25%": 301.7, + "30%": 331.9, + "35%": 368.7, + "40%": 414.8 + } + }, + { + "oid": "1054881223529", + "id": "184807701683843587", + "name": "圣诞老人节日粉色装饰品猫咪热气球花环静电玻璃门贴纸橱窗户氛围", + "cost_cny": 8.3, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 12.5, + "price_cny": { + "0%": 15.62, + "13%": 18.66, + "15%": 19.23, + "20%": 20.83, + "25%": 22.73, + "30%": 25.0, + "35%": 27.78, + "40%": 31.25 + }, + "price_rub": { + "0%": 207.4, + "13%": 247.7, + "15%": 255.3, + "20%": 276.5, + "25%": 301.7, + "30%": 331.9, + "35%": 368.7, + "40%": 414.8 + } + } + ], + "1080069105670": [ + { + "oid": "1080069105670", + "id": "184807701683848317", + "name": "IOULOR拼接竖条撞色踩脚袜复古日系秋冬长筒堆堆袜套透气条纹腿套", + "cost_cny": 12.5, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 16.7, + "price_cny": { + "0%": 20.87, + "13%": 24.93, + "15%": 25.69, + "20%": 27.83, + "25%": 30.36, + "30%": 33.4, + "35%": 37.11, + "40%": 41.75 + }, + "price_rub": { + "0%": 277.1, + "13%": 330.9, + "15%": 341.0, + "20%": 369.5, + "25%": 403.1, + "30%": 443.4, + "35%": 492.6, + "40%": 554.2 + } + } + ], + "991290588999": [ + { + "oid": "991290588999", + "id": "184807701683801045", + "name": "2条装 卡通小狗兔子花边迷你发圈发绳可爱女童双马尾扎发皮筋头绳", + "cost_cny": 2.4, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 6.6, + "price_cny": { + "0%": 8.25, + "13%": 9.85, + "15%": 10.15, + "20%": 11.0, + "25%": 12.0, + "30%": 13.2, + "35%": 14.67, + "40%": 16.5 + }, + "price_rub": { + "0%": 109.5, + "13%": 130.8, + "15%": 134.8, + "20%": 146.0, + "25%": 159.3, + "30%": 175.2, + "35%": 194.7, + "40%": 219.0 + } + } + ], + "961137646663": [ + { + "oid": "961137646663", + "id": "184807701683797861", + "name": "4个粉色系甜美百搭布艺蝴蝶结少女心刘海发夹发卡女孩侧边bb夹", + "cost_cny": 7.7, + "weight_g": 20.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.1, + "total_cost_cny": 12.8, + "price_cny": { + "0%": 16.0, + "13%": 19.1, + "15%": 19.69, + "20%": 21.33, + "25%": 23.27, + "30%": 25.6, + "35%": 28.44, + "40%": 32.0 + }, + "price_rub": { + "0%": 212.4, + "13%": 253.6, + "15%": 261.4, + "20%": 283.2, + "25%": 308.9, + "30%": 339.8, + "35%": 377.6, + "40%": 424.8 + } + } + ], + "999950160426": [ + { + "oid": "999950160426", + "id": "184807701683785623", + "name": "可爱立体五角星儿童发绳秋冬甜美毛球布艺发夹百搭碎发刘海夹头饰", + "cost_cny": 6.1, + "weight_g": 20.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.1, + "total_cost_cny": 11.2, + "price_cny": { + "0%": 14.0, + "13%": 16.72, + "15%": 17.23, + "20%": 18.67, + "25%": 20.36, + "30%": 22.4, + "35%": 24.89, + "40%": 28.0 + }, + "price_rub": { + "0%": 185.8, + "13%": 221.9, + "15%": 228.7, + "20%": 247.8, + "25%": 270.3, + "30%": 297.3, + "35%": 330.4, + "40%": 371.7 + } + } + ], + "984504719816": [ + { + "oid": "984504719816", + "id": "184807701683784359", + "name": "儿童发夹布艺格纹bb夹小公主发卡刘海夹边夹2025新款韩版头饰女孩", + "cost_cny": 5.38, + "weight_g": 20.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.1, + "total_cost_cny": 10.48, + "price_cny": { + "0%": 13.1, + "13%": 15.64, + "15%": 16.12, + "20%": 17.47, + "25%": 19.05, + "30%": 20.96, + "35%": 23.29, + "40%": 26.2 + }, + "price_rub": { + "0%": 173.9, + "13%": 207.6, + "15%": 214.0, + "20%": 231.9, + "25%": 252.9, + "30%": 278.2, + "35%": 309.1, + "40%": 347.8 + } + } + ], + "971735351990": [ + { + "oid": "971735351990", + "id": "184807701683783137", + "name": "【粉色发夹50个】可爱发夹套装甜美少女心刘海夹日系卡通头饰组合", + "cost_cny": 6.7, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 10.9, + "price_cny": { + "0%": 13.62, + "13%": 16.27, + "15%": 16.77, + "20%": 18.17, + "25%": 19.82, + "30%": 21.8, + "35%": 24.22, + "40%": 27.25 + }, + "price_rub": { + "0%": 180.9, + "13%": 216.0, + "15%": 222.6, + "20%": 241.2, + "25%": 263.1, + "30%": 289.4, + "35%": 321.5, + "40%": 361.7 + } + } + ], + "987553689376": [ + { + "oid": "987553689376", + "id": "184807701683752217", + "name": "儿童秋冬系萌趣卡通豆豆发圈可爱宝宝不伤发头绳发饰新款皮筋发绳", + "cost_cny": 4.8, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 9.0, + "price_cny": { + "0%": 11.25, + "13%": 13.43, + "15%": 13.85, + "20%": 15.0, + "25%": 16.36, + "30%": 18.0, + "35%": 20.0, + "40%": 22.5 + }, + "price_rub": { + "0%": 149.3, + "13%": 178.3, + "15%": 183.8, + "20%": 199.1, + "25%": 217.2, + "30%": 238.9, + "35%": 265.5, + "40%": 298.7 + } + } + ], + "996862399041": [ + { + "oid": "996862399041", + "id": "184807701683749583", + "name": "Corduroy Printed Card Bag Hasp Zipper Co", + "cost_cny": null, + "weight_g": 55.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.68, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + }, + { + "oid": "996862399041", + "id": "184807701680603291", + "name": "Corduroy Cute Small Wallet Zipper Coin P", + "cost_cny": null, + "weight_g": 28.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.46, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "1016123910569": [ + { + "oid": "1016123910569", + "id": "184807701683701281", + "name": "New Vintage Leopard Print Makeup Bag for", + "cost_cny": null, + "weight_g": 55.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.68, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "989280448910": [ + { + "oid": "989280448910", + "id": "184807701683700331", + "name": "High Quality Fashion Mini Crossbody Bag ", + "cost_cny": null, + "weight_g": 60.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.9, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "1041182281120": [ + { + "oid": "1041182281120", + "id": "184807701683698323", + "name": "Retro Large Capacity Rose Flower Pattern", + "cost_cny": null, + "weight_g": 75.0, + "tier": "extra_small_1-500g", + "freight_cny": 7.58, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "898408026209": [ + { + "oid": "898408026209", + "id": "184807701683480185", + "name": "抽屉扣防宝宝安全锁婴儿童防护抽屉锁扣柜门冰箱柜子移门防开童锁", + "cost_cny": 1.8, + "weight_g": 28.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.46, + "total_cost_cny": 7.26, + "price_cny": { + "0%": 9.07, + "13%": 10.84, + "15%": 11.17, + "20%": 12.1, + "25%": 13.2, + "30%": 14.52, + "35%": 16.13, + "40%": 18.15 + }, + "price_rub": { + "0%": 120.5, + "13%": 143.8, + "15%": 148.3, + "20%": 160.6, + "25%": 175.2, + "30%": 192.7, + "35%": 214.2, + "40%": 240.9 + } + } + ], + "948311305478": [ + { + "oid": "948311305478", + "id": "184807701683473783", + "name": "防撞角桌角透明防磕碰防撞护角家具护角软包角儿童安全硅胶保护套", + "cost_cny": 1.2, + "weight_g": 13.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.79, + "total_cost_cny": 5.99, + "price_cny": { + "0%": 7.48, + "13%": 8.93, + "15%": 9.21, + "20%": 9.97, + "25%": 10.88, + "30%": 11.97, + "35%": 13.3, + "40%": 14.96 + }, + "price_rub": { + "0%": 99.3, + "13%": 118.6, + "15%": 122.2, + "20%": 132.4, + "25%": 144.4, + "30%": 158.9, + "35%": 176.5, + "40%": 198.6 + } + } + ], + "828495591451": [ + { + "oid": "828495591451", + "id": "184807701683471611", + "name": "Ice Cream Shaped Hair Comb Scalp Massage", + "cost_cny": null, + "weight_g": 71.0, + "tier": "extra_small_1-500g", + "freight_cny": 7.39, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "184807701683457791": [ + { + "oid": "", + "id": "184807701683457791", + "name": "2pcs Waterproof Passport Protector Holde", + "cost_cny": null, + "weight_g": 40.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.0, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "983188641978": [ + { + "oid": "983188641978", + "id": "184807701683456555", + "name": "Transparent Waterproof Passport Cover, T", + "cost_cny": null, + "weight_g": 20.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.1, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "674518954112": [ + { + "oid": "674518954112", + "id": "184807701683420479", + "name": "Mini Thin Men Wallet PU Leather Card Hol", + "cost_cny": null, + "weight_g": 50.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.45, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "719005426611": [ + { + "oid": "719005426611", + "id": "184807701683408487", + "name": "跨境爆款青蛙嘴吐舌头面具蜥蜴扑克牌互动桌面游戏卡益智玩具批发", + "cost_cny": 4.5, + "weight_g": 1000.0, + "tier": "budget_500-2500g", + "freight_cny": 49.2, + "total_cost_cny": 53.7, + "price_cny": { + "0%": 67.12, + "13%": 80.15, + "15%": 82.62, + "20%": 89.5, + "25%": 97.64, + "30%": 107.4, + "35%": 119.33, + "40%": 134.25 + }, + "price_rub": { + "0%": 891.0, + "13%": 1063.9, + "15%": 1096.7, + "20%": 1188.1, + "25%": 1296.1, + "30%": 1425.7, + "35%": 1584.1, + "40%": 1782.1 + } + } + ], + "964775350282": [ + { + "oid": "964775350282", + "id": "184807701683401283", + "name": "跨境趣味上链发条惯性翻跟斗小鸡鸭仿真宠物地摊热卖儿童玩具批发", + "cost_cny": 6.2, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 10.4, + "price_cny": { + "0%": 13.0, + "13%": 15.52, + "15%": 16.0, + "20%": 17.33, + "25%": 18.91, + "30%": 20.8, + "35%": 23.11, + "40%": 26.0 + }, + "price_rub": { + "0%": 172.6, + "13%": 206.0, + "15%": 212.4, + "20%": 230.1, + "25%": 251.0, + "30%": 276.1, + "35%": 306.8, + "40%": 345.1 + } + } + ], + "695664489955": [ + { + "oid": "695664489955", + "id": "184807701683381493", + "name": "Women Girls Make Up Pouch PU Leather Tra", + "cost_cny": null, + "weight_g": 80.0, + "tier": "extra_small_1-500g", + "freight_cny": 7.8, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "719325335706": [ + { + "oid": "719325335706", + "id": "184807701683366997", + "name": "5Pcs/Set Car Outlet Vent Perfume Clips C", + "cost_cny": null, + "weight_g": 80.0, + "tier": "extra_small_1-500g", + "freight_cny": 7.8, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "779350165275": [ + { + "oid": "779350165275", + "id": "184807701683365065", + "name": "金属植物叶脉书签复古典文艺镂空四季植物古风 送老师学生日礼物", + "cost_cny": 3.0, + "weight_g": 55.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.68, + "total_cost_cny": 9.68, + "price_cny": { + "0%": 12.09, + "13%": 14.44, + "15%": 14.88, + "20%": 16.12, + "25%": 17.59, + "30%": 19.35, + "35%": 21.5, + "40%": 24.19 + }, + "price_rub": { + "0%": 160.5, + "13%": 191.7, + "15%": 197.6, + "20%": 214.0, + "25%": 233.5, + "30%": 256.9, + "35%": 285.4, + "40%": 321.1 + } + }, + { + "oid": "779350165275", + "id": "184807701682250089", + "name": "1Pc Golden Retro Art Metal Plant Vein Bo", + "cost_cny": null, + "weight_g": 15.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.88, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "865552591094": [ + { + "oid": "865552591094", + "id": "184807701683364775", + "name": "French Vintage Leopard Print Frangipani ", + "cost_cny": null, + "weight_g": 27.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.42, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "669471313984": [ + { + "oid": "669471313984", + "id": "184807701683364399", + "name": "Rhinestone Pearl Small Hair Clip Women D", + "cost_cny": null, + "weight_g": 15.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.88, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "740129223101": [ + { + "oid": "740129223101", + "id": "184807701683364135", + "name": "跨境万圣节装饰品halloween墙贴南瓜静电贴纸商场橱窗玻璃贴2026", + "cost_cny": 0.99, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 5.19, + "price_cny": { + "0%": 6.49, + "13%": 7.75, + "15%": 7.98, + "20%": 8.65, + "25%": 9.44, + "30%": 10.38, + "35%": 11.53, + "40%": 12.97 + }, + "price_rub": { + "0%": 86.1, + "13%": 102.8, + "15%": 106.0, + "20%": 114.8, + "25%": 125.3, + "30%": 137.8, + "35%": 153.1, + "40%": 172.2 + } + } + ], + "812233676180": [ + { + "oid": "812233676180", + "id": "184807701683361429", + "name": "2pcs Pink Cat Girl Hair Ring for Kids Cu", + "cost_cny": null, + "weight_g": 15.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.88, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "966226583937": [ + { + "oid": "966226583937", + "id": "184807701683360511", + "name": "Acetic Animal Hair Clip for Women Super ", + "cost_cny": null, + "weight_g": 15.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.88, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "987198428104": [ + { + "oid": "987198428104", + "id": "184807701683360309", + "name": "Vintage Feather Gold Stamped Metal Bookm", + "cost_cny": null, + "weight_g": 20.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.1, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + }, + { + "oid": "987198428104", + "id": "184807701682251195", + "name": "Retro Art Feather Metal Bookmarks Classi", + "cost_cny": null, + "weight_g": 20.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.1, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "844154346761": [ + { + "oid": "844154346761", + "id": "184807701683341397", + "name": "Spring and Autumn Solid Color Scarf Wome", + "cost_cny": null, + "weight_g": 290.0, + "tier": "extra_small_1-500g", + "freight_cny": 17.25, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "1046789282161": [ + { + "oid": "1046789282161", + "id": "184807701682407973", + "name": "儿童玩具车回力滑板鸭子卡通趣味回力滑板车幼儿园宝宝小礼物批发", + "cost_cny": 2.2, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 6.4, + "price_cny": { + "0%": 8.0, + "13%": 9.55, + "15%": 9.85, + "20%": 10.67, + "25%": 11.64, + "30%": 12.8, + "35%": 14.22, + "40%": 16.0 + }, + "price_rub": { + "0%": 106.2, + "13%": 126.8, + "15%": 130.7, + "20%": 141.6, + "25%": 154.5, + "30%": 169.9, + "35%": 188.8, + "40%": 212.4 + } + } + ], + "931153270716": [ + { + "oid": "931153270716", + "id": "184807701682406621", + "name": "斜挎手机绳金属手机挂链小香风斜挎手机挂链", + "cost_cny": 3.5, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 7.7, + "price_cny": { + "0%": 9.62, + "13%": 11.49, + "15%": 11.85, + "20%": 12.83, + "25%": 14.0, + "30%": 15.4, + "35%": 17.11, + "40%": 19.25 + }, + "price_rub": { + "0%": 127.8, + "13%": 152.6, + "15%": 157.2, + "20%": 170.4, + "25%": 185.8, + "30%": 204.4, + "35%": 227.1, + "40%": 255.5 + } + } + ], + "815821328790": [ + { + "oid": "815821328790", + "id": "184807701682403603", + "name": "发条玩具蹦跳大公鸡仿真动物婴幼儿宝宝益智学爬男女孩地摊批发", + "cost_cny": 6.68, + "weight_g": 100.0, + "tier": "extra_small_1-500g", + "freight_cny": 8.7, + "total_cost_cny": 15.38, + "price_cny": { + "0%": 19.22, + "13%": 22.96, + "15%": 23.66, + "20%": 25.63, + "25%": 27.96, + "30%": 30.76, + "35%": 34.18, + "40%": 38.45 + }, + "price_rub": { + "0%": 255.2, + "13%": 304.7, + "15%": 314.1, + "20%": 340.3, + "25%": 371.2, + "30%": 408.3, + "35%": 453.7, + "40%": 510.4 + } + } + ], + "1045397302852": [ + { + "oid": "1045397302852", + "id": "184807701682402621", + "name": "儿童玩具车回力铁皮高铁卡通趣味回力金属火车幼儿园礼物地摊批发", + "cost_cny": 0.8, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 5.0, + "price_cny": { + "0%": 6.25, + "13%": 7.46, + "15%": 7.69, + "20%": 8.33, + "25%": 9.09, + "30%": 10.0, + "35%": 11.11, + "40%": 12.5 + }, + "price_rub": { + "0%": 83.0, + "13%": 99.1, + "15%": 102.1, + "20%": 110.6, + "25%": 120.7, + "30%": 132.7, + "35%": 147.5, + "40%": 165.9 + } + } + ], + "918131096783": [ + { + "oid": "918131096783", + "id": "184807701682392447", + "name": "儿童玩具惯性特技恐龙车男孩挖掘机回力翻斗搅拌车小汽车地摊批发", + "cost_cny": 1.65, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 5.85, + "price_cny": { + "0%": 7.31, + "13%": 8.73, + "15%": 9.0, + "20%": 9.75, + "25%": 10.64, + "30%": 11.7, + "35%": 13.0, + "40%": 14.62 + }, + "price_rub": { + "0%": 97.1, + "13%": 115.9, + "15%": 119.5, + "20%": 129.4, + "25%": 141.2, + "30%": 155.3, + "35%": 172.6, + "40%": 194.1 + } + } + ], + "1002301838907": [ + { + "oid": "1002301838907", + "id": "184807701682341805", + "name": "复古高端碎发倒插梳发夹豹纹刘海发梳女生防滑刘海梳简约发插顶夹", + "cost_cny": 4.0, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 8.2, + "price_cny": { + "0%": 10.25, + "13%": 12.24, + "15%": 12.62, + "20%": 13.67, + "25%": 14.91, + "30%": 16.4, + "35%": 18.22, + "40%": 20.5 + }, + "price_rub": { + "0%": 136.1, + "13%": 162.5, + "15%": 167.5, + "20%": 181.4, + "25%": 197.9, + "30%": 217.7, + "35%": 241.9, + "40%": 272.1 + } + } + ], + "736725108810": [ + { + "oid": "736725108810", + "id": "184807701682332513", + "name": "秋冬爱心流苏吊坠毛球发夹毛绒抓夹后脑勺发抓顶夹发饰头饰品女", + "cost_cny": 2.5, + "weight_g": 50.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.45, + "total_cost_cny": 8.95, + "price_cny": { + "0%": 11.19, + "13%": 13.36, + "15%": 13.77, + "20%": 14.92, + "25%": 16.27, + "30%": 17.9, + "35%": 19.89, + "40%": 22.37 + }, + "price_rub": { + "0%": 148.5, + "13%": 177.3, + "15%": 182.8, + "20%": 198.0, + "25%": 216.0, + "30%": 237.6, + "35%": 264.0, + "40%": 297.0 + } + } + ], + "867046019862": [ + { + "oid": "867046019862", + "id": "184807701682331251", + "name": "欧美跨境外贸高端豹纹发饰百搭发梳插梳女生简约清新盘发发发卡", + "cost_cny": 3.0, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 7.2, + "price_cny": { + "0%": 9.0, + "13%": 10.75, + "15%": 11.08, + "20%": 12.0, + "25%": 13.09, + "30%": 14.4, + "35%": 16.0, + "40%": 18.0 + }, + "price_rub": { + "0%": 119.5, + "13%": 142.6, + "15%": 147.0, + "20%": 159.3, + "25%": 173.8, + "30%": 191.2, + "35%": 212.4, + "40%": 238.9 + } + } + ], + "890669961812": [ + { + "oid": "890669961812", + "id": "184807701682327431", + "name": "田园风蕾丝发箍新款高炉顶三角巾头箍法式复古格子甜美可爱头巾", + "cost_cny": 2.2, + "weight_g": 50.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.45, + "total_cost_cny": 8.65, + "price_cny": { + "0%": 10.81, + "13%": 12.91, + "15%": 13.31, + "20%": 14.42, + "25%": 15.73, + "30%": 17.3, + "35%": 19.22, + "40%": 21.62 + }, + "price_rub": { + "0%": 143.5, + "13%": 171.4, + "15%": 176.7, + "20%": 191.4, + "25%": 208.8, + "30%": 229.6, + "35%": 255.2, + "40%": 287.1 + } + } + ], + "953176661733": [ + { + "oid": "953176661733", + "id": "184807701682320065", + "name": "跨境新款儿童卡通圣诞节纹身贴防水欧美新年节日派对脸部临时贴纸", + "cost_cny": 6.35, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 10.55, + "price_cny": { + "0%": 13.19, + "13%": 15.75, + "15%": 16.23, + "20%": 17.58, + "25%": 19.18, + "30%": 21.1, + "35%": 23.44, + "40%": 26.38 + }, + "price_rub": { + "0%": 175.1, + "13%": 209.0, + "15%": 215.5, + "20%": 233.4, + "25%": 254.6, + "30%": 280.1, + "35%": 311.2, + "40%": 350.1 + } + } + ], + "748223461944": [ + { + "oid": "748223461944", + "id": "184807701682319391", + "name": "新款10个装儿童bb夹少女彩色刘海夹碎发边夹水滴夹简约百搭侧边夹", + "cost_cny": 2.4, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 6.6, + "price_cny": { + "0%": 8.25, + "13%": 9.85, + "15%": 10.15, + "20%": 11.0, + "25%": 12.0, + "30%": 13.2, + "35%": 14.67, + "40%": 16.5 + }, + "price_rub": { + "0%": 109.5, + "13%": 130.8, + "15%": 134.8, + "20%": 146.0, + "25%": 159.3, + "30%": 175.2, + "35%": 194.7, + "40%": 219.0 + } + } + ], + "1060443922822": [ + { + "oid": "1060443922822", + "id": "184807701682318657", + "name": "温柔粉调火焰爱心印花领带复古艺术感缎面细丝巾通勤穿搭小众领巾", + "cost_cny": 5.3, + "weight_g": 27.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.42, + "total_cost_cny": 10.71, + "price_cny": { + "0%": 13.39, + "13%": 15.99, + "15%": 16.48, + "20%": 17.86, + "25%": 19.48, + "30%": 21.43, + "35%": 23.81, + "40%": 26.79 + }, + "price_rub": { + "0%": 177.8, + "13%": 212.3, + "15%": 218.8, + "20%": 237.1, + "25%": 258.6, + "30%": 284.5, + "35%": 316.1, + "40%": 355.6 + } + } + ], + "817806291088": [ + { + "oid": "817806291088", + "id": "184807701682316827", + "name": "羊绒手感纯色围巾女仿羊绒秋冬氛围感韩系百搭中长款披肩流苏围脖", + "cost_cny": 8.9, + "weight_g": 130.0, + "tier": "extra_small_1-500g", + "freight_cny": 10.05, + "total_cost_cny": 18.95, + "price_cny": { + "0%": 23.69, + "13%": 28.28, + "15%": 29.15, + "20%": 31.58, + "25%": 34.45, + "30%": 37.9, + "35%": 42.11, + "40%": 47.38 + }, + "price_rub": { + "0%": 314.4, + "13%": 375.4, + "15%": 387.0, + "20%": 419.2, + "25%": 457.4, + "30%": 503.1, + "35%": 559.0, + "40%": 628.9 + } + } + ], + "795553244912": [ + { + "oid": "795553244912", + "id": "184807701682316485", + "name": "60挂须棉麻小方巾丝巾女春秋护颈百搭头巾装饰领巾时尚洋气围巾", + "cost_cny": 7.8, + "weight_g": 30.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.55, + "total_cost_cny": 13.35, + "price_cny": { + "0%": 16.69, + "13%": 19.93, + "15%": 20.54, + "20%": 22.25, + "25%": 24.27, + "30%": 26.7, + "35%": 29.67, + "40%": 33.38 + }, + "price_rub": { + "0%": 221.5, + "13%": 264.5, + "15%": 272.6, + "20%": 295.4, + "25%": 322.2, + "30%": 354.4, + "35%": 393.8, + "40%": 443.0 + } + } + ], + "739065006294": [ + { + "oid": "739065006294", + "id": "184807701682313497", + "name": "围巾冬天学生高中女生初中少女秋冬季感格子围脖男款日系加厚保暖", + "cost_cny": 3.47, + "weight_g": 120.0, + "tier": "extra_small_1-500g", + "freight_cny": 9.6, + "total_cost_cny": 13.07, + "price_cny": { + "0%": 16.34, + "13%": 19.51, + "15%": 20.11, + "20%": 21.78, + "25%": 23.76, + "30%": 26.14, + "35%": 29.04, + "40%": 32.67 + }, + "price_rub": { + "0%": 216.9, + "13%": 258.9, + "15%": 266.9, + "20%": 289.2, + "25%": 315.4, + "30%": 347.0, + "35%": 385.5, + "40%": 433.7 + } + } + ], + "654718893690": [ + { + "oid": "654718893690", + "id": "184807701682313229", + "name": "外贸围巾针织毛线围脖秋冬季喜庆圣诞礼品加厚保暖围巾男女情侣潮", + "cost_cny": 15.0, + "weight_g": 180.0, + "tier": "extra_small_1-500g", + "freight_cny": 12.3, + "total_cost_cny": 27.3, + "price_cny": { + "0%": 34.12, + "13%": 40.75, + "15%": 42.0, + "20%": 45.5, + "25%": 49.64, + "30%": 54.6, + "35%": 60.67, + "40%": 68.25 + }, + "price_rub": { + "0%": 453.0, + "13%": 540.9, + "15%": 557.5, + "20%": 604.0, + "25%": 658.9, + "30%": 724.8, + "35%": 805.3, + "40%": 906.0 + } + }, + { + "oid": "654718893690", + "id": "184807701678972195", + "name": "Woman Scarves Knitting Snowflake Elk Thi", + "cost_cny": null, + "weight_g": 210.0, + "tier": "extra_small_1-500g", + "freight_cny": 13.65, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "809049065660": [ + { + "oid": "809049065660", + "id": "184807701682285359", + "name": "Polka Dot Hair Bands for Women Floral Pr", + "cost_cny": null, + "weight_g": 25.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.33, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "711537194126": [ + { + "oid": "711537194126", + "id": "184807701682284335", + "name": "New Fashion Diamond Pearl Disc Hair Bana", + "cost_cny": null, + "weight_g": 12.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.74, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "731447298664": [ + { + "oid": "731447298664", + "id": "184807701682283479", + "name": "10pcs Simple and Practical Buttons Round", + "cost_cny": null, + "weight_g": 20.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.1, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + }, + { + "oid": "731447298664", + "id": "184807701682242795", + "name": "10pcs Simple and Practical Buttons Round", + "cost_cny": null, + "weight_g": 20.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.1, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "985077325612": [ + { + "oid": "985077325612", + "id": "184807701682280189", + "name": "1 PC Cute Cat Bookmark - Double-Sided Ru", + "cost_cny": null, + "weight_g": 20.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.1, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "591595977297": [ + { + "oid": "591595977297", + "id": "184807701682277147", + "name": "New 100pcs Facial Oil Blotting Paper Mat", + "cost_cny": null, + "weight_g": 18.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.01, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "957439307462": [ + { + "oid": "957439307462", + "id": "184807701682276575", + "name": "Autumn Winter Color Matching Striped Wom", + "cost_cny": null, + "weight_g": 40.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.0, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "856095944517": [ + { + "oid": "856095944517", + "id": "184807701682276457", + "name": "Glass Cucumber Pendant Christmas Tree Ha", + "cost_cny": null, + "weight_g": 20.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.1, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "956447152049": [ + { + "oid": "956447152049", + "id": "184807701682273005", + "name": "双面刺绣蝴蝶中秋节礼盒流苏挂件国风服装压襟璎珞吊坠配饰服装辅", + "cost_cny": 1.25, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 5.45, + "price_cny": { + "0%": 6.81, + "13%": 8.13, + "15%": 8.38, + "20%": 9.08, + "25%": 9.91, + "30%": 10.9, + "35%": 12.11, + "40%": 13.62 + }, + "price_rub": { + "0%": 90.4, + "13%": 108.0, + "15%": 111.3, + "20%": 120.6, + "25%": 131.5, + "30%": 144.7, + "35%": 160.8, + "40%": 180.9 + } + } + ], + "848667322491": [ + { + "oid": "848667322491", + "id": "184807701682248743", + "name": "Classic Chinese Retro Hollowed-out Metal", + "cost_cny": null, + "weight_g": 20.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.1, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "800709157069": [ + { + "oid": "800709157069", + "id": "184807701682247723", + "name": "30pcs Japanese Style Cat Bookmarks Cute ", + "cost_cny": null, + "weight_g": 70.0, + "tier": "extra_small_1-500g", + "freight_cny": 7.35, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "748463419052": [ + { + "oid": "748463419052", + "id": "184807701682246957", + "name": "Classical Chinese Bookmark 30pcs Poetic ", + "cost_cny": null, + "weight_g": 70.0, + "tier": "extra_small_1-500g", + "freight_cny": 7.35, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "618434283528": [ + { + "oid": "618434283528", + "id": "184807701682246679", + "name": "40pcs Thicken Kraft Paper Card Retro Dou", + "cost_cny": null, + "weight_g": 250.0, + "tier": "extra_small_1-500g", + "freight_cny": 15.45, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "595432599162": [ + { + "oid": "595432599162", + "id": "184807701682246441", + "name": "24 Pcs/Pack Hand drawn Bookmark Paper Bo", + "cost_cny": null, + "weight_g": 95.0, + "tier": "extra_small_1-500g", + "freight_cny": 8.47, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "850379908816": [ + { + "oid": "850379908816", + "id": "184807701682246183", + "name": "40/80/160 Pages White Small Marking Tabs", + "cost_cny": null, + "weight_g": 15.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.88, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "708156837139": [ + { + "oid": "708156837139", + "id": "184807701682243657", + "name": "10pcs DIY Apparel Sewing Supplies Beauti", + "cost_cny": null, + "weight_g": 20.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.1, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "709306064718": [ + { + "oid": "709306064718", + "id": "184807701682243485", + "name": "10pc Pearl Gold Flatback Buttons 12-21mm", + "cost_cny": null, + "weight_g": 25.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.33, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "957835125228": [ + { + "oid": "957835125228", + "id": "184807701682243111", + "name": "10pcs/bag Black Blue Pink White Kitten B", + "cost_cny": null, + "weight_g": 9.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.61, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "532145218341": [ + { + "oid": "532145218341", + "id": "184807701682242689", + "name": "25 Pcs Wood Buttons Round Two Hole Desig", + "cost_cny": null, + "weight_g": 67.0, + "tier": "extra_small_1-500g", + "freight_cny": 7.21, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "788450892659": [ + { + "oid": "788450892659", + "id": "184807701682156611", + "name": "儿童连裤袜女芭蕾风蝴蝶结长筒袜提花洛丽塔公主儿童夏天薄款打底", + "cost_cny": 7.3, + "weight_g": 38.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.91, + "total_cost_cny": 13.21, + "price_cny": { + "0%": 16.51, + "13%": 19.72, + "15%": 20.32, + "20%": 22.02, + "25%": 24.02, + "30%": 26.42, + "35%": 29.36, + "40%": 33.02 + }, + "price_rub": { + "0%": 219.2, + "13%": 261.7, + "15%": 269.8, + "20%": 292.3, + "25%": 318.8, + "30%": 350.7, + "35%": 389.7, + "40%": 438.4 + } + } + ], + "644678141857": [ + { + "oid": "644678141857", + "id": "184807701682140005", + "name": "1pc Sunflower Lanyard Id Badge Holder Ke", + "cost_cny": null, + "weight_g": 22.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.19, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "556151582718": [ + { + "oid": "556151582718", + "id": "184807701682139475", + "name": "Folding Tote Shopping Bag Women Men Casu", + "cost_cny": null, + "weight_g": 30.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.55, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "975322627425": [ + { + "oid": "975322627425", + "id": "184807701682136833", + "name": "跨境新款创意亚克力小鸡耳环搞怪高跟鞋波点公鸡个性耳饰", + "cost_cny": 1.8, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 6.0, + "price_cny": { + "0%": 7.5, + "13%": 8.96, + "15%": 9.23, + "20%": 10.0, + "25%": 10.91, + "30%": 12.0, + "35%": 13.33, + "40%": 15.0 + }, + "price_rub": { + "0%": 99.6, + "13%": 118.9, + "15%": 122.5, + "20%": 132.7, + "25%": 144.8, + "30%": 159.3, + "35%": 177.0, + "40%": 199.1 + } + } + ], + "699632071446": [ + { + "oid": "699632071446", + "id": "184807701682126725", + "name": "Women Cosmetic Bag, Portable Mini Travel", + "cost_cny": null, + "weight_g": 40.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.0, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "1000912928612": [ + { + "oid": "1000912928612", + "id": "184807701682122025", + "name": "Autumn and Winter Plush Headbands for Wo", + "cost_cny": null, + "weight_g": 62.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.99, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "979358133668": [ + { + "oid": "979358133668", + "id": "184807701682110363", + "name": "秋冬新款时尚豹纹皮质凹凸发箍高级感高颅顶头箍百搭宽边洗脸发卡", + "cost_cny": 5.0, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 9.2, + "price_cny": { + "0%": 11.5, + "13%": 13.73, + "15%": 14.15, + "20%": 15.33, + "25%": 16.73, + "30%": 18.4, + "35%": 20.44, + "40%": 23.0 + }, + "price_rub": { + "0%": 152.7, + "13%": 182.3, + "15%": 187.9, + "20%": 203.5, + "25%": 222.0, + "30%": 244.2, + "35%": 271.4, + "40%": 305.3 + } + } + ], + "875722283077": [ + { + "oid": "875722283077", + "id": "184807701682107409", + "name": "紫色韵味~拼色扭结宽版发箍!减龄气质舒适百搭头箍发卡发饰女", + "cost_cny": 4.55, + "weight_g": 1.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.25, + "total_cost_cny": 8.79, + "price_cny": { + "0%": 10.99, + "13%": 13.13, + "15%": 13.53, + "20%": 14.66, + "25%": 15.99, + "30%": 17.59, + "35%": 19.54, + "40%": 21.99 + }, + "price_rub": { + "0%": 145.9, + "13%": 174.3, + "15%": 179.6, + "20%": 194.6, + "25%": 212.3, + "30%": 233.5, + "35%": 259.4, + "40%": 291.9 + } + } + ], + "870418432014": [ + { + "oid": "870418432014", + "id": "184807701682107185", + "name": "秋冬复古橄榄宝石绿流苏发箍新中式发饰头箍女假耳环古风头饰发卡", + "cost_cny": 11.9, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 16.1, + "price_cny": { + "0%": 20.12, + "13%": 24.03, + "15%": 24.77, + "20%": 26.83, + "25%": 29.27, + "30%": 32.2, + "35%": 35.78, + "40%": 40.25 + }, + "price_rub": { + "0%": 267.1, + "13%": 319.0, + "15%": 328.8, + "20%": 356.2, + "25%": 388.6, + "30%": 427.4, + "35%": 474.9, + "40%": 534.3 + } + } + ], + "827422474212": [ + { + "oid": "827422474212", + "id": "184807701682095175", + "name": "秋冬季儿童毛绒小熊帽子围巾两件套加绒保暖围脖可爱毛绒帽子宝宝", + "cost_cny": 5.99, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 10.19, + "price_cny": { + "0%": 12.74, + "13%": 15.21, + "15%": 15.68, + "20%": 16.98, + "25%": 18.53, + "30%": 20.38, + "35%": 22.64, + "40%": 25.48 + }, + "price_rub": { + "0%": 169.1, + "13%": 201.9, + "15%": 208.1, + "20%": 225.4, + "25%": 245.9, + "30%": 270.5, + "35%": 300.6, + "40%": 338.2 + } + } + ], + "926738154708": [ + { + "oid": "926738154708", + "id": "184807701682094831", + "name": "12格盒装迷你美甲钻混装爆闪彩色平底异形钻星星马眼爱心美甲饰品", + "cost_cny": 2.5, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 6.7, + "price_cny": { + "0%": 8.38, + "13%": 10.0, + "15%": 10.31, + "20%": 11.17, + "25%": 12.18, + "30%": 13.4, + "35%": 14.89, + "40%": 16.75 + }, + "price_rub": { + "0%": 111.2, + "13%": 132.7, + "15%": 136.8, + "20%": 148.2, + "25%": 161.7, + "30%": 177.9, + "35%": 197.6, + "40%": 222.3 + } + } + ], + "1070706733896": [ + { + "oid": "1070706733896", + "id": "184807701682093179", + "name": "新款圣诞装饰品 新款圣诞老人刀叉套 圣诞桌面卡通餐具刀叉袋批发", + "cost_cny": 2.0, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 6.2, + "price_cny": { + "0%": 7.75, + "13%": 9.25, + "15%": 9.54, + "20%": 10.33, + "25%": 11.27, + "30%": 12.4, + "35%": 13.78, + "40%": 15.5 + }, + "price_rub": { + "0%": 102.9, + "13%": 122.8, + "15%": 126.6, + "20%": 137.2, + "25%": 149.6, + "30%": 164.6, + "35%": 182.9, + "40%": 205.8 + } + } + ], + "994706442201": [ + { + "oid": "994706442201", + "id": "184807701682090663", + "name": "桌面收纳盒杂物零食玩具整理篮长方形储物筐化妆品置物盒收纳箱子", + "cost_cny": 1.0, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 5.2, + "price_cny": { + "0%": 6.5, + "13%": 7.76, + "15%": 8.0, + "20%": 8.67, + "25%": 9.45, + "30%": 10.4, + "35%": 11.56, + "40%": 13.0 + }, + "price_rub": { + "0%": 86.3, + "13%": 103.0, + "15%": 106.2, + "20%": 115.0, + "25%": 125.5, + "30%": 138.1, + "35%": 153.4, + "40%": 172.6 + } + } + ], + "748047938749": [ + { + "oid": "748047938749", + "id": "184807701682085307", + "name": "大容量桌面笔筒收纳盒 简约INS风少女贴纸款学生文具收纳盒批发", + "cost_cny": 6.5, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 10.7, + "price_cny": { + "0%": 13.37, + "13%": 15.97, + "15%": 16.46, + "20%": 17.83, + "25%": 19.45, + "30%": 21.4, + "35%": 23.78, + "40%": 26.75 + }, + "price_rub": { + "0%": 177.5, + "13%": 212.0, + "15%": 218.5, + "20%": 236.7, + "25%": 258.2, + "30%": 284.1, + "35%": 315.6, + "40%": 355.1 + } + } + ], + "1078114604480": [ + { + "oid": "1078114604480", + "id": "184807701682084939", + "name": "奶白色竖纹塑料收纳盒家用杂物收纳筐化妆品零食储物盒现货批发", + "cost_cny": 0.95, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 5.15, + "price_cny": { + "0%": 6.44, + "13%": 7.69, + "15%": 7.92, + "20%": 8.58, + "25%": 9.36, + "30%": 10.3, + "35%": 11.44, + "40%": 12.88 + }, + "price_rub": { + "0%": 85.5, + "13%": 102.0, + "15%": 105.2, + "20%": 113.9, + "25%": 124.3, + "30%": 136.7, + "35%": 151.9, + "40%": 170.9 + } + } + ], + "619749650742": [ + { + "oid": "619749650742", + "id": "184807701682074623", + "name": "1PC Travel Portable Toothbrush Holder Ba", + "cost_cny": null, + "weight_g": 30.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.55, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "673194363360": [ + { + "oid": "673194363360", + "id": "184807701682073393", + "name": "Cartoon Mini Transparent Trumpet Magic B", + "cost_cny": null, + "weight_g": 30.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.55, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "808361138385": [ + { + "oid": "808361138385", + "id": "184807701682070677", + "name": "1pcs Clear Pencil Box Large Capacity Pla", + "cost_cny": null, + "weight_g": 130.0, + "tier": "extra_small_1-500g", + "freight_cny": 10.05, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "568877844531": [ + { + "oid": "568877844531", + "id": "184807701682069355", + "name": "Simple Pen Holder Storage Box Organizer ", + "cost_cny": null, + "weight_g": 150.0, + "tier": "extra_small_1-500g", + "freight_cny": 10.95, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "660462376814": [ + { + "oid": "660462376814", + "id": "184807701682069251", + "name": "Simple Frosted Transparent Pen Holder Sl", + "cost_cny": null, + "weight_g": 65.0, + "tier": "extra_small_1-500g", + "freight_cny": 7.12, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "566921187438": [ + { + "oid": "566921187438", + "id": "184807701682068861", + "name": "Portable Toothbrush Case Travel Toiletry", + "cost_cny": null, + "weight_g": 35.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.78, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "866671086362": [ + { + "oid": "866671086362", + "id": "184807701682068197", + "name": "Embroidered Multifunctional Makeup Bag L", + "cost_cny": null, + "weight_g": 105.0, + "tier": "extra_small_1-500g", + "freight_cny": 8.93, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "1037920282135": [ + { + "oid": "1037920282135", + "id": "184807701682067619", + "name": "New Leopard Print Cosmetic Bag Large Cap", + "cost_cny": null, + "weight_g": 80.0, + "tier": "extra_small_1-500g", + "freight_cny": 7.8, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "596778925227": [ + { + "oid": "596778925227", + "id": "184807701682067179", + "name": "1pcs Candy Color Transparent Locking Sto", + "cost_cny": null, + "weight_g": 60.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.9, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "819106993406": [ + { + "oid": "819106993406", + "id": "184807701682064445", + "name": "Bow Pony Round Ring Earrings Box Luxury ", + "cost_cny": null, + "weight_g": 74.0, + "tier": "extra_small_1-500g", + "freight_cny": 7.53, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "825222518877": [ + { + "oid": "825222518877", + "id": "184807701682058743", + "name": "Ins Lace Bow Photocard Organizer Korean ", + "cost_cny": null, + "weight_g": 58.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.81, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "798351121302": [ + { + "oid": "798351121302", + "id": "184807701682051609", + "name": "1Pc Card Storage Business Card Holder Ta", + "cost_cny": null, + "weight_g": 150.0, + "tier": "extra_small_1-500g", + "freight_cny": 10.95, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "676446198861": [ + { + "oid": "676446198861", + "id": "184807701682046079", + "name": "1PC Plastic Transparent Storage Box Coll", + "cost_cny": null, + "weight_g": 40.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.0, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "840334726836": [ + { + "oid": "840334726836", + "id": "184807701682038995", + "name": "1piece Casual Silicone Earphone Case Por", + "cost_cny": null, + "weight_g": 30.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.55, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "878418424862": [ + { + "oid": "878418424862", + "id": "184807701682037227", + "name": "Women Leopard Cosmetic Bag Travel Washin", + "cost_cny": null, + "weight_g": 30.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.55, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "993907848178": [ + { + "oid": "993907848178", + "id": "184807701682027361", + "name": "Women Makeup Handbags Wallet Pouch Make ", + "cost_cny": null, + "weight_g": 50.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.45, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "711537851235": [ + { + "oid": "711537851235", + "id": "184807701682022737", + "name": "INS Simple Double-layer Transparent Colo", + "cost_cny": null, + "weight_g": 100.0, + "tier": "extra_small_1-500g", + "freight_cny": 8.7, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "802560271503": [ + { + "oid": "802560271503", + "id": "184807701682021373", + "name": "Large Capacity Corduroy Cosmetic Bag Pla", + "cost_cny": null, + "weight_g": 80.0, + "tier": "extra_small_1-500g", + "freight_cny": 7.8, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "729456187413": [ + { + "oid": "729456187413", + "id": "184807701682021355", + "name": "Transparent Idol Photo Storage Case Plas", + "cost_cny": null, + "weight_g": 53.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.58, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "852953251785": [ + { + "oid": "852953251785", + "id": "184807701682021055", + "name": "Women Kawaii Cotton Coin Case Bags Bow D", + "cost_cny": null, + "weight_g": 55.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.68, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "650054840718": [ + { + "oid": "650054840718", + "id": "184807701682020333", + "name": "Transparent Pencil Case Large Capacity S", + "cost_cny": null, + "weight_g": 70.0, + "tier": "extra_small_1-500g", + "freight_cny": 7.35, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "735925875810": [ + { + "oid": "735925875810", + "id": "184807701682020125", + "name": "Women Black Cosmetic Case Mesh Makeup Ba", + "cost_cny": null, + "weight_g": 20.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.1, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "961209309015": [ + { + "oid": "961209309015", + "id": "184807701682018377", + "name": "原创ins蝴蝶结收纳盒贴纸小卡桌面文具收纳小铁盒银色韩系铁盒", + "cost_cny": 3.65, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 7.85, + "price_cny": { + "0%": 9.81, + "13%": 11.72, + "15%": 12.08, + "20%": 13.08, + "25%": 14.27, + "30%": 15.7, + "35%": 17.44, + "40%": 19.62 + }, + "price_rub": { + "0%": 130.3, + "13%": 155.5, + "15%": 160.3, + "20%": 173.7, + "25%": 189.5, + "30%": 208.4, + "35%": 231.6, + "40%": 260.5 + } + } + ], + "985029710695": [ + { + "oid": "985029710695", + "id": "184807701682012871", + "name": "suxinaimin羊毛袜子女秋冬季中筒袜保暖冬天日系棱格麻花堆堆长袜", + "cost_cny": 4.4, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 8.6, + "price_cny": { + "0%": 10.75, + "13%": 12.84, + "15%": 13.23, + "20%": 14.33, + "25%": 15.64, + "30%": 17.2, + "35%": 19.11, + "40%": 21.5 + }, + "price_rub": { + "0%": 142.7, + "13%": 170.4, + "15%": 175.6, + "20%": 190.3, + "25%": 207.6, + "30%": 228.3, + "35%": 253.7, + "40%": 285.4 + } + } + ], + "1031653028141": [ + { + "oid": "1031653028141", + "id": "184807701682004547", + "name": "可爱森系布艺立体花朵卡通玩偶挂件复古包包钥匙扣挂绳学生装饰", + "cost_cny": 6.8, + "weight_g": 40.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.0, + "total_cost_cny": 12.8, + "price_cny": { + "0%": 16.0, + "13%": 19.1, + "15%": 19.69, + "20%": 21.33, + "25%": 23.27, + "30%": 25.6, + "35%": 28.44, + "40%": 32.0 + }, + "price_rub": { + "0%": 212.4, + "13%": 253.6, + "15%": 261.4, + "20%": 283.2, + "25%": 308.9, + "30%": 339.8, + "35%": 377.6, + "40%": 424.8 + } + } + ], + "839617022027": [ + { + "oid": "839617022027", + "id": "184807701681849845", + "name": "安可拉红耳饰925银针女2025新款爆款轻奢高级感秋冬复古红色耳环", + "cost_cny": 2.8, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 7.0, + "price_cny": { + "0%": 8.75, + "13%": 10.45, + "15%": 10.77, + "20%": 11.67, + "25%": 12.73, + "30%": 14.0, + "35%": 15.56, + "40%": 17.5 + }, + "price_rub": { + "0%": 116.2, + "13%": 138.7, + "15%": 143.0, + "20%": 154.9, + "25%": 168.9, + "30%": 185.8, + "35%": 206.5, + "40%": 232.3 + } + } + ], + "964438247072": [ + { + "oid": "964438247072", + "id": "184807701681846745", + "name": "跨境3D打印圣诞节可爱桌面摆件圣诞树多彩关节可活动造型礼物装饰", + "cost_cny": 2.47, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 6.67, + "price_cny": { + "0%": 8.34, + "13%": 9.96, + "15%": 10.26, + "20%": 11.12, + "25%": 12.13, + "30%": 13.34, + "35%": 14.82, + "40%": 16.67 + }, + "price_rub": { + "0%": 110.7, + "13%": 132.1, + "15%": 136.2, + "20%": 147.6, + "25%": 161.0, + "30%": 177.1, + "35%": 196.8, + "40%": 221.3 + } + } + ], + "947762708274": [ + { + "oid": "947762708274", + "id": "184807701681836231", + "name": "Beautiful Golden Flower Toilet Sticker B", + "cost_cny": null, + "weight_g": 70.0, + "tier": "extra_small_1-500g", + "freight_cny": 7.35, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "620622313939": [ + { + "oid": "620622313939", + "id": "184807701681824665", + "name": "1 Sheet 1. Round Self‑Adhesive Christmas", + "cost_cny": null, + "weight_g": 20.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.1, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "822933087658": [ + { + "oid": "822933087658", + "id": "184807701681821531", + "name": "真金电镀银针淡水珍珠花朵耳环时尚高级感耳坠法式轻奢优雅耳饰女", + "cost_cny": 2.5, + "weight_g": 30.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.55, + "total_cost_cny": 8.05, + "price_cny": { + "0%": 10.06, + "13%": 12.01, + "15%": 12.38, + "20%": 13.42, + "25%": 14.64, + "30%": 16.1, + "35%": 17.89, + "40%": 20.12 + }, + "price_rub": { + "0%": 133.6, + "13%": 159.5, + "15%": 164.4, + "20%": 178.1, + "25%": 194.3, + "30%": 213.7, + "35%": 237.5, + "40%": 267.1 + } + } + ], + "956252674301": [ + { + "oid": "956252674301", + "id": "184807701681820871", + "name": "欧美跨境银针圆圈耳环金属冷淡风耳圈时尚百搭简约耳饰设计感小众", + "cost_cny": 4.9, + "weight_g": 36.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.82, + "total_cost_cny": 10.72, + "price_cny": { + "0%": 13.4, + "13%": 16.0, + "15%": 16.49, + "20%": 17.87, + "25%": 19.49, + "30%": 21.44, + "35%": 23.82, + "40%": 26.8 + }, + "price_rub": { + "0%": 177.9, + "13%": 212.4, + "15%": 218.9, + "20%": 237.2, + "25%": 258.7, + "30%": 284.6, + "35%": 316.2, + "40%": 355.8 + } + } + ], + "657795566856": [ + { + "oid": "657795566856", + "id": "184807701681819177", + "name": "韩国ins复古小众黑白棋盘格耳环新款个性气质简约耳钉耳饰批发女", + "cost_cny": 3.5, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 7.7, + "price_cny": { + "0%": 9.62, + "13%": 11.49, + "15%": 11.85, + "20%": 12.83, + "25%": 14.0, + "30%": 15.4, + "35%": 17.11, + "40%": 19.25 + }, + "price_rub": { + "0%": 127.8, + "13%": 152.6, + "15%": 157.2, + "20%": 170.4, + "25%": 185.8, + "30%": 204.4, + "35%": 227.1, + "40%": 255.5 + } + } + ], + "732651829303": [ + { + "oid": "732651829303", + "id": "184807701681818877", + "name": "学院风长筒袜子女日系jk高筒过膝袜二杠英伦ins潮流网红大腿女袜", + "cost_cny": 7.0, + "weight_g": 100.0, + "tier": "extra_small_1-500g", + "freight_cny": 8.7, + "total_cost_cny": 15.7, + "price_cny": { + "0%": 19.62, + "13%": 23.43, + "15%": 24.15, + "20%": 26.17, + "25%": 28.55, + "30%": 31.4, + "35%": 34.89, + "40%": 39.25 + }, + "price_rub": { + "0%": 260.5, + "13%": 311.1, + "15%": 320.6, + "20%": 347.3, + "25%": 378.9, + "30%": 416.8, + "35%": 463.1, + "40%": 521.0 + } + } + ], + "841631686985": [ + { + "oid": "841631686985", + "id": "184807701681813193", + "name": "美食便利贴小学生初中生专用错题便签贴纸有粘性记事贴办公N次贴", + "cost_cny": 3.35, + "weight_g": 12.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.74, + "total_cost_cny": 8.09, + "price_cny": { + "0%": 10.11, + "13%": 12.07, + "15%": 12.45, + "20%": 13.48, + "25%": 14.71, + "30%": 16.18, + "35%": 17.98, + "40%": 20.22 + }, + "price_rub": { + "0%": 134.2, + "13%": 160.3, + "15%": 165.2, + "20%": 179.0, + "25%": 195.3, + "30%": 214.8, + "35%": 238.6, + "40%": 268.5 + } + } + ], + "663342091242": [ + { + "oid": "663342091242", + "id": "184807701681778231", + "name": "原宿奶牛纹斑马中筒袜学生保暖显瘦腿袜套日系堆堆袜JK软妹lolita", + "cost_cny": 11.5, + "weight_g": 40.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.0, + "total_cost_cny": 17.5, + "price_cny": { + "0%": 21.88, + "13%": 26.12, + "15%": 26.92, + "20%": 29.17, + "25%": 31.82, + "30%": 35.0, + "35%": 38.89, + "40%": 43.75 + }, + "price_rub": { + "0%": 290.4, + "13%": 346.7, + "15%": 357.4, + "20%": 387.2, + "25%": 422.4, + "30%": 464.6, + "35%": 516.2, + "40%": 580.8 + } + } + ], + "846839963104": [ + { + "oid": "846839963104", + "id": "184807701681736141", + "name": "日韩甜酷风黑丝带蝴蝶结玻璃珍珠爱心项链饰品女百搭小众高级感", + "cost_cny": 3.6, + "weight_g": 12.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.74, + "total_cost_cny": 8.34, + "price_cny": { + "0%": 10.42, + "13%": 12.45, + "15%": 12.83, + "20%": 13.9, + "25%": 15.16, + "30%": 16.68, + "35%": 18.53, + "40%": 20.85 + }, + "price_rub": { + "0%": 138.4, + "13%": 165.2, + "15%": 170.3, + "20%": 184.5, + "25%": 201.3, + "30%": 221.4, + "35%": 246.0, + "40%": 276.8 + } + } + ], + "1046505974778": [ + { + "oid": "1046505974778", + "id": "184807701681639027", + "name": "跨境圣诞天使挂件毛绒帽女孩娃娃圣诞树玩具挂饰圣诞用品派对装饰", + "cost_cny": 6.9, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 11.1, + "price_cny": { + "0%": 13.88, + "13%": 16.57, + "15%": 17.08, + "20%": 18.5, + "25%": 20.18, + "30%": 22.2, + "35%": 24.67, + "40%": 27.75 + }, + "price_rub": { + "0%": 184.2, + "13%": 219.9, + "15%": 226.7, + "20%": 245.6, + "25%": 267.9, + "30%": 294.7, + "35%": 327.4, + "40%": 368.4 + } + } + ], + "850507767625": [ + { + "oid": "850507767625", + "id": "184807701681592385", + "name": "跨境户外急救睡袋应急露营徒步爬山野外失温保温保暖装备求生毯子", + "cost_cny": 7.5, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 11.7, + "price_cny": { + "0%": 14.62, + "13%": 17.46, + "15%": 18.0, + "20%": 19.5, + "25%": 21.27, + "30%": 23.4, + "35%": 26.0, + "40%": 29.25 + }, + "price_rub": { + "0%": 194.1, + "13%": 231.8, + "15%": 238.9, + "20%": 258.8, + "25%": 282.4, + "30%": 310.6, + "35%": 345.1, + "40%": 388.3 + } + } + ], + "598088414716": [ + { + "oid": "598088414716", + "id": "184807701681550481", + "name": "Women White Black Banana Clip Hair Styli", + "cost_cny": null, + "weight_g": 9.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.61, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "653959708671": [ + { + "oid": "653959708671", + "id": "184807701681550007", + "name": "Women Comb Clip Hairpins Rhinestone Pear", + "cost_cny": null, + "weight_g": 48.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.36, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "1130202051": [ + { + "oid": "1130202051", + "id": "184807701681549127", + "name": "5/7 Teeth Plastic Hair Clip for Women Vi", + "cost_cny": null, + "weight_g": 13.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.79, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "45532273839": [ + { + "oid": "45532273839", + "id": "184807701681544671", + "name": "New Korean Jewelry Hair Accessories Wavy", + "cost_cny": null, + "weight_g": 12.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.74, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "816860761580": [ + { + "oid": "816860761580", + "id": "184807701681543317", + "name": "Rhinestone Pentagram Broken Hair Comb Ko", + "cost_cny": null, + "weight_g": 20.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.1, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "1007682859878": [ + { + "oid": "1007682859878", + "id": "184807701681541009", + "name": "Fashionable Large Rhinestone Hair Clips ", + "cost_cny": null, + "weight_g": 10.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.65, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "948008461013": [ + { + "oid": "948008461013", + "id": "184807701681540203", + "name": "Hair Comb Upside Down Woman's Head, Bang", + "cost_cny": null, + "weight_g": 25.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.33, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "944081295925": [ + { + "oid": "944081295925", + "id": "184807701681538909", + "name": "4-Piece Set HD Transparent Plastic Ruler", + "cost_cny": null, + "weight_g": 40.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.0, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "608974635986": [ + { + "oid": "608974635986", + "id": "184807701681538309", + "name": "Animal Tiger Elk Scratch Art Paper A4 Ho", + "cost_cny": null, + "weight_g": 22.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.19, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "821806164154": [ + { + "oid": "821806164154", + "id": "184807701681512121", + "name": "梳子女士气囊梳梳头专用长发卷发防静电蓬松梳家用头皮经络按摩梳", + "cost_cny": 4.55, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 8.75, + "price_cny": { + "0%": 10.94, + "13%": 13.06, + "15%": 13.46, + "20%": 14.58, + "25%": 15.91, + "30%": 17.5, + "35%": 19.44, + "40%": 21.88 + }, + "price_rub": { + "0%": 145.2, + "13%": 173.4, + "15%": 178.7, + "20%": 193.6, + "25%": 211.2, + "30%": 232.3, + "35%": 258.1, + "40%": 290.4 + } + } + ], + "744709937071": [ + { + "oid": "744709937071", + "id": "184807701681509419", + "name": "X11日式硅胶家用洗头刷清洁头皮按摩刷 干湿两用手持抓头洗发梳", + "cost_cny": 4.68, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 8.88, + "price_cny": { + "0%": 11.1, + "13%": 13.25, + "15%": 13.66, + "20%": 14.8, + "25%": 16.15, + "30%": 17.76, + "35%": 19.73, + "40%": 22.2 + }, + "price_rub": { + "0%": 147.3, + "13%": 175.9, + "15%": 181.3, + "20%": 196.5, + "25%": 214.3, + "30%": 235.8, + "35%": 261.9, + "40%": 294.7 + } + } + ], + "802557492231": [ + { + "oid": "802557492231", + "id": "184807701681348253", + "name": "New Bling Car Phone Holder Rhinestones A", + "cost_cny": null, + "weight_g": 80.0, + "tier": "extra_small_1-500g", + "freight_cny": 7.8, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "898922029070": [ + { + "oid": "898922029070", + "id": "184807701681339611", + "name": "10pcs/set Silver Star Paper Clips Aesthe", + "cost_cny": null, + "weight_g": 20.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.1, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "845124235207": [ + { + "oid": "845124235207", + "id": "184807701681339485", + "name": "20Pcs Y2k Black White Pink Cross Papercl", + "cost_cny": null, + "weight_g": 20.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.1, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "745821362883": [ + { + "oid": "745821362883", + "id": "184807701681339271", + "name": "30pcs/set Ins Simplicity Retro Paper Cli", + "cost_cny": null, + "weight_g": 25.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.33, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "835984175579": [ + { + "oid": "835984175579", + "id": "184807701681339143", + "name": "30Pcs Ins-style Cute Macaron-colored Pap", + "cost_cny": null, + "weight_g": 35.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.78, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "619501447347": [ + { + "oid": "619501447347", + "id": "184807701681338697", + "name": "30pcs/bag Cartoon Animal Paper Clips Cut", + "cost_cny": null, + "weight_g": 50.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.45, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + }, + { + "oid": "619501447347", + "id": "184807701681338431", + "name": "30 PCS Cute Desk Organizer Paper Clips -", + "cost_cny": null, + "weight_g": 35.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.78, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "980567787435": [ + { + "oid": "980567787435", + "id": "184807701681211811", + "name": "跨境爆款酒红色植绒花环蝴蝶结麋鹿圣诞节吊坠圣诞树装饰品挂件", + "cost_cny": 5.0, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 9.2, + "price_cny": { + "0%": 11.5, + "13%": 13.73, + "15%": 14.15, + "20%": 15.33, + "25%": 16.73, + "30%": 18.4, + "35%": 20.44, + "40%": 23.0 + }, + "price_rub": { + "0%": 152.7, + "13%": 182.3, + "15%": 187.9, + "20%": 203.5, + "25%": 222.0, + "30%": 244.2, + "35%": 271.4, + "40%": 305.3 + } + } + ], + "918172251153": [ + { + "oid": "918172251153", + "id": "184807701681176581", + "name": "HS3748F小兔子叠罗汉迎宾英文自粘墙贴卧室厨房玄关房门装饰贴纸", + "cost_cny": 5.0, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 9.2, + "price_cny": { + "0%": 11.5, + "13%": 13.73, + "15%": 14.15, + "20%": 15.33, + "25%": 16.73, + "30%": 18.4, + "35%": 20.44, + "40%": 23.0 + }, + "price_rub": { + "0%": 152.7, + "13%": 182.3, + "15%": 187.9, + "20%": 203.5, + "25%": 222.0, + "30%": 244.2, + "35%": 271.4, + "40%": 305.3 + } + } + ], + "790047199077": [ + { + "oid": "790047199077", + "id": "184807701681173873", + "name": "BR0296E 涂鸦墙贴儿童房间装饰贴纸少儿英语教室墙贴", + "cost_cny": 4.2, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 8.4, + "price_cny": { + "0%": 10.5, + "13%": 12.54, + "15%": 12.92, + "20%": 14.0, + "25%": 15.27, + "30%": 16.8, + "35%": 18.67, + "40%": 21.0 + }, + "price_rub": { + "0%": 139.4, + "13%": 166.4, + "15%": 171.5, + "20%": 185.8, + "25%": 202.7, + "30%": 223.0, + "35%": 247.8, + "40%": 278.8 + } + } + ], + "887978665274": [ + { + "oid": "887978665274", + "id": "184807701681172749", + "name": "BR3448M 仿真创意立体绿植盆栽自粘墙贴客厅卧室阳台遮瑕装饰贴纸", + "cost_cny": 6.5, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 10.7, + "price_cny": { + "0%": 13.37, + "13%": 15.97, + "15%": 16.46, + "20%": 17.83, + "25%": 19.45, + "30%": 21.4, + "35%": 23.78, + "40%": 26.75 + }, + "price_rub": { + "0%": 177.5, + "13%": 212.0, + "15%": 218.5, + "20%": 236.7, + "25%": 258.2, + "30%": 284.1, + "35%": 315.6, + "40%": 355.1 + } + } + ], + "1046172728913": [ + { + "oid": "1046172728913", + "id": "184807701681171419", + "name": "BRUP油箱盖车贴抱加油枪猫咪猫奴趣味汽车个性装饰贴纸ZN-UV4759C", + "cost_cny": 1.6, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 5.8, + "price_cny": { + "0%": 7.25, + "13%": 8.66, + "15%": 8.92, + "20%": 9.67, + "25%": 10.55, + "30%": 11.6, + "35%": 12.89, + "40%": 14.5 + }, + "price_rub": { + "0%": 96.2, + "13%": 114.9, + "15%": 118.4, + "20%": 128.3, + "25%": 140.0, + "30%": 154.0, + "35%": 171.1, + "40%": 192.5 + } + } + ], + "982032178063": [ + { + "oid": "982032178063", + "id": "184807701681135343", + "name": "HS1787Q立体破墙效果圣诞老人雪中送礼自粘墙贴家居节日装饰贴纸", + "cost_cny": 4.0, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 8.2, + "price_cny": { + "0%": 10.25, + "13%": 12.24, + "15%": 12.62, + "20%": 13.67, + "25%": 14.91, + "30%": 16.4, + "35%": 18.22, + "40%": 20.5 + }, + "price_rub": { + "0%": 136.1, + "13%": 162.5, + "15%": 167.5, + "20%": 181.4, + "25%": 197.9, + "30%": 217.7, + "35%": 241.9, + "40%": 272.1 + } + } + ], + "994274929201": [ + { + "oid": "994274929201", + "id": "184807701681114405", + "name": "外贸新款亚克力贴钻水钻脸部钻贴眉心钻石贴装饰派对舞会妆容欧美", + "cost_cny": 1.58, + "weight_g": 14.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.83, + "total_cost_cny": 6.41, + "price_cny": { + "0%": 8.01, + "13%": 9.57, + "15%": 9.86, + "20%": 10.68, + "25%": 11.65, + "30%": 12.82, + "35%": 14.24, + "40%": 16.02 + }, + "price_rub": { + "0%": 106.4, + "13%": 127.0, + "15%": 130.9, + "20%": 141.8, + "25%": 154.7, + "30%": 170.2, + "35%": 189.1, + "40%": 212.7 + } + } + ], + "816842803172": [ + { + "oid": "816842803172", + "id": "184807701681113715", + "name": "脸部纹身贴水晶钻贴眉心贴面部脸贴钻水钻装饰亚克力欧美风", + "cost_cny": 4.1, + "weight_g": 42.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.09, + "total_cost_cny": 10.19, + "price_cny": { + "0%": 12.74, + "13%": 15.21, + "15%": 15.68, + "20%": 16.98, + "25%": 18.53, + "30%": 20.38, + "35%": 22.64, + "40%": 25.47 + }, + "price_rub": { + "0%": 169.1, + "13%": 201.9, + "15%": 208.1, + "20%": 225.4, + "25%": 245.9, + "30%": 270.5, + "35%": 300.6, + "40%": 338.2 + } + } + ], + "772686549391": [ + { + "oid": "772686549391", + "id": "184807701681104549", + "name": "New Cartoon Cute Wall Breaking Cat Bedro", + "cost_cny": null, + "weight_g": 40.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.0, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "672596389728": [ + { + "oid": "672596389728", + "id": "184807701681027121", + "name": "宠物指甲剪厂家批发幼猫狗狗专用猫咪指甲钳宠物清洁不锈钢指甲剪", + "cost_cny": 5.09, + "weight_g": 130.0, + "tier": "extra_small_1-500g", + "freight_cny": 10.05, + "total_cost_cny": 15.14, + "price_cny": { + "0%": 18.93, + "13%": 22.6, + "15%": 23.29, + "20%": 25.23, + "25%": 27.53, + "30%": 30.28, + "35%": 33.64, + "40%": 37.85 + }, + "price_rub": { + "0%": 251.2, + "13%": 300.0, + "15%": 309.2, + "20%": 335.0, + "25%": 365.4, + "30%": 401.9, + "35%": 446.6, + "40%": 502.4 + } + } + ], + "955365145714": [ + { + "oid": "955365145714", + "id": "184807701681026015", + "name": "秋冬新款斑马纹仿羊绒围巾欧美复古加厚保暖流苏护颈围脖防寒披肩", + "cost_cny": 13.5, + "weight_g": 220.0, + "tier": "extra_small_1-500g", + "freight_cny": 14.1, + "total_cost_cny": 27.6, + "price_cny": { + "0%": 34.5, + "13%": 41.19, + "15%": 42.46, + "20%": 46.0, + "25%": 50.18, + "30%": 55.2, + "35%": 61.33, + "40%": 69.0 + }, + "price_rub": { + "0%": 458.0, + "13%": 546.8, + "15%": 563.6, + "20%": 610.6, + "25%": 666.1, + "30%": 732.7, + "35%": 814.2, + "40%": 915.9 + } + } + ], + "883462360265": [ + { + "oid": "883462360265", + "id": "184807701681020941", + "name": "Floral Striped Cute Student Coin Purse K", + "cost_cny": null, + "weight_g": 25.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.33, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "786814996716": [ + { + "oid": "786814996716", + "id": "184807701681016921", + "name": "Large Women Sequins Cosmetic Bag Portabl", + "cost_cny": null, + "weight_g": 50.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.45, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "1000405059963": [ + { + "oid": "1000405059963", + "id": "184807701681016095", + "name": "Cute Winter Girl Portable Sanitary Cotto", + "cost_cny": null, + "weight_g": 40.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.0, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "957739225338": [ + { + "oid": "957739225338", + "id": "184807701681000969", + "name": "经典圣诞节节日装饰静电窗贴可爱Q萌童话温馨贴纸Merry Christmas", + "cost_cny": 5.7, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 9.9, + "price_cny": { + "0%": 12.38, + "13%": 14.78, + "15%": 15.23, + "20%": 16.5, + "25%": 18.0, + "30%": 19.8, + "35%": 22.0, + "40%": 24.75 + }, + "price_rub": { + "0%": 164.3, + "13%": 196.1, + "15%": 202.2, + "20%": 219.0, + "25%": 238.9, + "30%": 262.8, + "35%": 292.0, + "40%": 328.5 + } + } + ], + "964398450081": [ + { + "oid": "964398450081", + "id": "184807701680995191", + "name": "DH025圣诞老人驯鹿窗贴雪花点缀卡通风圣诞节静电贴店铺橱窗贴纸", + "cost_cny": 3.0, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 7.2, + "price_cny": { + "0%": 9.0, + "13%": 10.75, + "15%": 11.08, + "20%": 12.0, + "25%": 13.09, + "30%": 14.4, + "35%": 16.0, + "40%": 18.0 + }, + "price_rub": { + "0%": 119.5, + "13%": 142.6, + "15%": 147.0, + "20%": 159.3, + "25%": 173.8, + "30%": 191.2, + "35%": 212.4, + "40%": 238.9 + } + } + ], + "982780151499": [ + { + "oid": "982780151499", + "id": "184807701680991645", + "name": "跨境热款圣诞老人驯鹿卡通风静电贴圣诞节派对橱窗玻璃窗装饰窗贴", + "cost_cny": 4.5, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 8.7, + "price_cny": { + "0%": 10.87, + "13%": 12.99, + "15%": 13.38, + "20%": 14.5, + "25%": 15.82, + "30%": 17.4, + "35%": 19.33, + "40%": 21.75 + }, + "price_rub": { + "0%": 144.4, + "13%": 172.4, + "15%": 177.7, + "20%": 192.5, + "25%": 210.0, + "30%": 231.0, + "35%": 256.6, + "40%": 288.7 + } + } + ], + "849468594641": [ + { + "oid": "849468594641", + "id": "184807701680990095", + "name": "Christmas Snow House Window Decals Doubl", + "cost_cny": null, + "weight_g": 60.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.9, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "826663627286": [ + { + "oid": "826663627286", + "id": "184807701680988499", + "name": "fun-a013简约创意咖啡杯咖啡厅厨房背景美化装饰墙贴纸批发", + "cost_cny": 2.5, + "weight_g": 30.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.55, + "total_cost_cny": 8.05, + "price_cny": { + "0%": 10.06, + "13%": 12.01, + "15%": 12.38, + "20%": 13.42, + "25%": 14.64, + "30%": 16.1, + "35%": 17.89, + "40%": 20.12 + }, + "price_rub": { + "0%": 133.6, + "13%": 159.5, + "15%": 164.4, + "20%": 178.1, + "25%": 194.3, + "30%": 213.7, + "35%": 237.5, + "40%": 267.1 + } + } + ], + "1062395367032": [ + { + "oid": "1062395367032", + "id": "184807701680986579", + "name": "Christmas Painted Branch Bird Window Sti", + "cost_cny": null, + "weight_g": 35.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.78, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "1065005932744": [ + { + "oid": "1065005932744", + "id": "184807701680985571", + "name": "Santa Claus Christmas Window Decals, Viv", + "cost_cny": null, + "weight_g": 25.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.33, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "903273037929": [ + { + "oid": "903273037929", + "id": "184807701680985481", + "name": "PVC Christmas Window Stickers Snow Desig", + "cost_cny": null, + "weight_g": 70.0, + "tier": "extra_small_1-500g", + "freight_cny": 7.35, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "1064370824301": [ + { + "oid": "1064370824301", + "id": "184807701680985337", + "name": "Colorful Candle Bow Pine Cone Christmas ", + "cost_cny": null, + "weight_g": 25.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.33, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "941706525512": [ + { + "oid": "941706525512", + "id": "184807701680984449", + "name": "2025年新款可拆卸加厚擦手巾围裙防水防油男女高级感年轻家用厨房", + "cost_cny": 5.8, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 10.0, + "price_cny": { + "0%": 12.5, + "13%": 14.93, + "15%": 15.38, + "20%": 16.67, + "25%": 18.18, + "30%": 20.0, + "35%": 22.22, + "40%": 25.0 + }, + "price_rub": { + "0%": 165.9, + "13%": 198.1, + "15%": 204.2, + "20%": 221.2, + "25%": 241.4, + "30%": 265.5, + "35%": 295.0, + "40%": 331.9 + } + } + ], + "742188279456": [ + { + "oid": "742188279456", + "id": "184807701680982257", + "name": "医用纱布绷带非无菌伤口包扎固定绑带医疗医药脱脂棉沙布卷敷料包", + "cost_cny": 0.49, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 4.69, + "price_cny": { + "0%": 5.86, + "13%": 7.0, + "15%": 7.22, + "20%": 7.82, + "25%": 8.53, + "30%": 9.38, + "35%": 10.42, + "40%": 11.72 + }, + "price_rub": { + "0%": 77.8, + "13%": 92.9, + "15%": 95.8, + "20%": 103.8, + "25%": 113.2, + "30%": 124.5, + "35%": 138.3, + "40%": 155.6 + } + } + ], + "765567703630": [ + { + "oid": "765567703630", + "id": "184807701680980753", + "name": "新款运动手臂包户外健身跑步手机臂包男女健身骑行腕包手机臂带包", + "cost_cny": 12.0, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 16.2, + "price_cny": { + "0%": 20.25, + "13%": 24.18, + "15%": 24.92, + "20%": 27.0, + "25%": 29.45, + "30%": 32.4, + "35%": 36.0, + "40%": 40.5 + }, + "price_rub": { + "0%": 268.8, + "13%": 321.0, + "15%": 330.8, + "20%": 358.4, + "25%": 391.0, + "30%": 430.1, + "35%": 477.9, + "40%": 537.6 + } + } + ], + "767815032813": [ + { + "oid": "767815032813", + "id": "184807701680980567", + "name": "新款运动手臂包户外健身跑步手机臂包男女骑行腕包臂带包轻量", + "cost_cny": 11.0, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 15.2, + "price_cny": { + "0%": 19.0, + "13%": 22.69, + "15%": 23.38, + "20%": 25.33, + "25%": 27.64, + "30%": 30.4, + "35%": 33.78, + "40%": 38.0 + }, + "price_rub": { + "0%": 252.2, + "13%": 301.1, + "15%": 310.4, + "20%": 336.3, + "25%": 366.9, + "30%": 403.5, + "35%": 448.4, + "40%": 504.4 + } + } + ], + "993777204256": [ + { + "oid": "993777204256", + "id": "184807701680979329", + "name": "婴儿帽子秋冬季可爱超萌针织卡通保暖奶嘴男女月龄套头宝宝毛线帽", + "cost_cny": 9.84, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 14.04, + "price_cny": { + "0%": 17.55, + "13%": 20.96, + "15%": 21.6, + "20%": 23.4, + "25%": 25.53, + "30%": 28.08, + "35%": 31.2, + "40%": 35.1 + }, + "price_rub": { + "0%": 233.0, + "13%": 278.2, + "15%": 286.7, + "20%": 310.6, + "25%": 338.9, + "30%": 372.7, + "35%": 414.2, + "40%": 465.9 + } + } + ], + "1064673933974": [ + { + "oid": "1064673933974", + "id": "184807701680978837", + "name": "跨境热卖圣诞印花桌旗节日餐桌布艺装饰桌旗家居装饰一件代发", + "cost_cny": 6.9, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 11.1, + "price_cny": { + "0%": 13.88, + "13%": 16.57, + "15%": 17.08, + "20%": 18.5, + "25%": 20.18, + "30%": 22.2, + "35%": 24.67, + "40%": 27.75 + }, + "price_rub": { + "0%": 184.2, + "13%": 219.9, + "15%": 226.7, + "20%": 245.6, + "25%": 267.9, + "30%": 294.7, + "35%": 327.4, + "40%": 368.4 + } + } + ], + "960850984740": [ + { + "oid": "960850984740", + "id": "184807701680978477", + "name": "25新生婴儿春秋款长筒过膝宝宝松口卡通学步地板袜子跨境专供批发", + "cost_cny": 6.8, + "weight_g": 43.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.13, + "total_cost_cny": 12.93, + "price_cny": { + "0%": 16.17, + "13%": 19.31, + "15%": 19.9, + "20%": 21.56, + "25%": 23.52, + "30%": 25.87, + "35%": 28.74, + "40%": 32.34 + }, + "price_rub": { + "0%": 214.6, + "13%": 256.3, + "15%": 264.2, + "20%": 286.2, + "25%": 312.2, + "30%": 343.4, + "35%": 381.6, + "40%": 429.3 + } + } + ], + "859399145790": [ + { + "oid": "859399145790", + "id": "184807701680977727", + "name": "婴儿袜子批发外贸跨境春秋中筒公主袜不勒腿新生儿宝宝女童花边袜", + "cost_cny": 2.3, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 6.5, + "price_cny": { + "0%": 8.12, + "13%": 9.7, + "15%": 10.0, + "20%": 10.83, + "25%": 11.82, + "30%": 13.0, + "35%": 14.44, + "40%": 16.25 + }, + "price_rub": { + "0%": 107.9, + "13%": 128.8, + "15%": 132.7, + "20%": 143.8, + "25%": 156.9, + "30%": 172.6, + "35%": 191.7, + "40%": 215.7 + } + } + ], + "1048004948529": [ + { + "oid": "1048004948529", + "id": "184807701680977615", + "name": "26新生婴儿春夏薄款a类棉宝宝0-1-3岁一体无骨松口不勒脚中筒袜子", + "cost_cny": 6.3, + "weight_g": 25.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.33, + "total_cost_cny": 11.62, + "price_cny": { + "0%": 14.53, + "13%": 17.35, + "15%": 17.88, + "20%": 19.37, + "25%": 21.14, + "30%": 23.25, + "35%": 25.83, + "40%": 29.06 + }, + "price_rub": { + "0%": 192.9, + "13%": 230.3, + "15%": 237.4, + "20%": 257.2, + "25%": 280.6, + "30%": 308.6, + "35%": 342.9, + "40%": 385.8 + } + } + ], + "613988236711": [ + { + "oid": "613988236711", + "id": "184807701680977497", + "name": "婴儿袜子春秋款纯色无骨男女童宝宝短筒袜不勒百搭新生儿棉袜批发", + "cost_cny": 8.64, + "weight_g": 25.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.33, + "total_cost_cny": 13.96, + "price_cny": { + "0%": 17.46, + "13%": 20.84, + "15%": 21.48, + "20%": 23.27, + "25%": 25.39, + "30%": 27.93, + "35%": 31.03, + "40%": 34.91 + }, + "price_rub": { + "0%": 231.7, + "13%": 276.7, + "15%": 285.2, + "20%": 309.0, + "25%": 337.0, + "30%": 370.8, + "35%": 411.9, + "40%": 463.4 + } + } + ], + "825419420996": [ + { + "oid": "825419420996", + "id": "184807701680977151", + "name": "新生男女宝宝婴儿0-3岁a类棉质夏季薄款网眼透气中筒松口公仔袜子", + "cost_cny": 3.3, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 7.5, + "price_cny": { + "0%": 9.38, + "13%": 11.19, + "15%": 11.54, + "20%": 12.5, + "25%": 13.64, + "30%": 15.0, + "35%": 16.67, + "40%": 18.75 + }, + "price_rub": { + "0%": 124.4, + "13%": 148.6, + "15%": 153.2, + "20%": 165.9, + "25%": 181.0, + "30%": 199.1, + "35%": 221.2, + "40%": 248.9 + } + } + ], + "1004413798502": [ + { + "oid": "1004413798502", + "id": "184807701680970867", + "name": "一次性围兜儿童吃饭罩衣1岁以上3幼儿园宝宝大号用餐饭兜免洗防脏", + "cost_cny": 4.36, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 8.56, + "price_cny": { + "0%": 10.7, + "13%": 12.78, + "15%": 13.17, + "20%": 14.27, + "25%": 15.56, + "30%": 17.12, + "35%": 19.02, + "40%": 21.4 + }, + "price_rub": { + "0%": 142.0, + "13%": 169.6, + "15%": 174.8, + "20%": 189.4, + "25%": 206.6, + "30%": 227.3, + "35%": 252.5, + "40%": 284.1 + } + } + ], + "1019454539302": [ + { + "oid": "1019454539302", + "id": "184807701680970445", + "name": "26严选新生婴幼儿春秋款点胶防滑宝宝松口0-6-12个月地板袜子批发", + "cost_cny": 6.7, + "weight_g": 35.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.78, + "total_cost_cny": 12.48, + "price_cny": { + "0%": 15.59, + "13%": 18.62, + "15%": 19.19, + "20%": 20.79, + "25%": 22.68, + "30%": 24.95, + "35%": 27.72, + "40%": 31.19 + }, + "price_rub": { + "0%": 207.0, + "13%": 247.2, + "15%": 254.8, + "20%": 276.0, + "25%": 301.1, + "30%": 331.2, + "35%": 368.0, + "40%": 414.0 + } + } + ], + "1069058901848": [ + { + "oid": "1069058901848", + "id": "184807701680970187", + "name": "婴儿袜子春秋木耳边松口不勒女童公主秋冬小碎花婴儿无骨宝宝袜子", + "cost_cny": 3.9, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 8.1, + "price_cny": { + "0%": 10.12, + "13%": 12.09, + "15%": 12.46, + "20%": 13.5, + "25%": 14.73, + "30%": 16.2, + "35%": 18.0, + "40%": 20.25 + }, + "price_rub": { + "0%": 134.4, + "13%": 160.5, + "15%": 165.4, + "20%": 179.2, + "25%": 195.5, + "30%": 215.0, + "35%": 238.9, + "40%": 268.8 + } + } + ], + "978663255251": [ + { + "oid": "978663255251", + "id": "184807701680970089", + "name": "初新生婴幼儿秋冬加绒加厚男女宝宝a类棉松口不勒脚地板袜子批发1", + "cost_cny": 6.5, + "weight_g": 30.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.55, + "total_cost_cny": 12.05, + "price_cny": { + "0%": 15.06, + "13%": 17.99, + "15%": 18.54, + "20%": 20.08, + "25%": 21.91, + "30%": 24.1, + "35%": 26.78, + "40%": 30.12 + }, + "price_rub": { + "0%": 199.9, + "13%": 238.7, + "15%": 246.1, + "20%": 266.6, + "25%": 290.8, + "30%": 319.9, + "35%": 355.5, + "40%": 399.9 + } + } + ], + "959891163026": [ + { + "oid": "959891163026", + "id": "184807701680969823", + "name": "宝宝罩衣吃饭儿童防水反穿衣围兜宝宝吃饭围嘴超软防水婴儿饭兜", + "cost_cny": 5.5, + "weight_g": 130.0, + "tier": "extra_small_1-500g", + "freight_cny": 10.05, + "total_cost_cny": 15.55, + "price_cny": { + "0%": 19.44, + "13%": 23.21, + "15%": 23.92, + "20%": 25.92, + "25%": 28.27, + "30%": 31.1, + "35%": 34.56, + "40%": 38.88 + }, + "price_rub": { + "0%": 258.0, + "13%": 308.1, + "15%": 317.6, + "20%": 344.0, + "25%": 375.3, + "30%": 412.8, + "35%": 458.7, + "40%": 516.0 + } + } + ], + "971467359603": [ + { + "oid": "971467359603", + "id": "184807701680969109", + "name": "25婴儿袜子a类婴幼儿宝宝袜子松口宽口新生儿青蛙卡通婴儿童棉袜", + "cost_cny": 2.5, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 6.7, + "price_cny": { + "0%": 8.38, + "13%": 10.0, + "15%": 10.31, + "20%": 11.17, + "25%": 12.18, + "30%": 13.4, + "35%": 14.89, + "40%": 16.75 + }, + "price_rub": { + "0%": 111.2, + "13%": 132.7, + "15%": 136.8, + "20%": 148.2, + "25%": 161.7, + "30%": 177.9, + "35%": 197.6, + "40%": 222.3 + } + } + ], + "802446956636": [ + { + "oid": "802446956636", + "id": "184807701680965005", + "name": "2024新款透气围裙春夏棉麻薄款家用做饭防油污餐饮工作耐脏印制字", + "cost_cny": 8.5, + "weight_g": 1000.0, + "tier": "budget_500-2500g", + "freight_cny": 49.2, + "total_cost_cny": 57.7, + "price_cny": { + "0%": 72.12, + "13%": 86.12, + "15%": 88.77, + "20%": 96.17, + "25%": 104.91, + "30%": 115.4, + "35%": 128.22, + "40%": 144.25 + }, + "price_rub": { + "0%": 957.4, + "13%": 1143.2, + "15%": 1178.4, + "20%": 1276.5, + "25%": 1392.6, + "30%": 1531.9, + "35%": 1702.1, + "40%": 1914.8 + } + } + ], + "1082991698493": [ + { + "oid": "1082991698493", + "id": "184807701680964105", + "name": "JY批发围裙夏季透气家用厨房围腰定印字制做logo碎花工作服一件代", + "cost_cny": 3.21, + "weight_g": 300.0, + "tier": "extra_small_1-500g", + "freight_cny": 17.7, + "total_cost_cny": 20.91, + "price_cny": { + "0%": 26.14, + "13%": 31.21, + "15%": 32.17, + "20%": 34.85, + "25%": 38.02, + "30%": 41.82, + "35%": 46.47, + "40%": 52.27 + }, + "price_rub": { + "0%": 347.0, + "13%": 414.3, + "15%": 427.0, + "20%": 462.6, + "25%": 504.7, + "30%": 555.1, + "35%": 616.8, + "40%": 693.9 + } + } + ], + "1071052791931": [ + { + "oid": "1071052791931", + "id": "184807701680961257", + "name": "女宝袜秋冬宝宝袜子木耳边花边袜春秋婴儿袜子纯色碎花新生儿袜子", + "cost_cny": 4.2, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 8.4, + "price_cny": { + "0%": 10.5, + "13%": 12.54, + "15%": 12.92, + "20%": 14.0, + "25%": 15.27, + "30%": 16.8, + "35%": 18.67, + "40%": 21.0 + }, + "price_rub": { + "0%": 139.4, + "13%": 166.4, + "15%": 171.5, + "20%": 185.8, + "25%": 202.7, + "30%": 223.0, + "35%": 247.8, + "40%": 278.8 + } + } + ], + "1066921350243": [ + { + "oid": "1066921350243", + "id": "184807701680959395", + "name": "女宝宝帽子秋冬款韩版洋气婴儿针织水桶帽冬季女童时尚加厚渔夫帽", + "cost_cny": 6.25, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 10.45, + "price_cny": { + "0%": 13.06, + "13%": 15.6, + "15%": 16.08, + "20%": 17.42, + "25%": 19.0, + "30%": 20.9, + "35%": 23.22, + "40%": 26.12 + }, + "price_rub": { + "0%": 173.4, + "13%": 207.0, + "15%": 213.4, + "20%": 231.2, + "25%": 252.2, + "30%": 277.4, + "35%": 308.3, + "40%": 346.8 + } + } + ], + "1079720365302": [ + { + "oid": "1079720365302", + "id": "184807701680958909", + "name": "儿童帽子秋冬户外骑车防风面罩男女童护耳一体可爱保暖毛绒套头帽", + "cost_cny": 9.99, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 14.19, + "price_cny": { + "0%": 17.74, + "13%": 21.18, + "15%": 21.83, + "20%": 23.65, + "25%": 25.8, + "30%": 28.38, + "35%": 31.53, + "40%": 35.48 + }, + "price_rub": { + "0%": 235.5, + "13%": 281.1, + "15%": 289.8, + "20%": 313.9, + "25%": 342.5, + "30%": 376.7, + "35%": 418.6, + "40%": 470.9 + } + } + ], + "829754590539": [ + { + "oid": "829754590539", + "id": "184807701680958631", + "name": "儿童帽子防风帽防风面罩一体帽冬季骑车电动车全脸加厚宝宝套头帽", + "cost_cny": 9.0, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 13.2, + "price_cny": { + "0%": 16.5, + "13%": 19.7, + "15%": 20.31, + "20%": 22.0, + "25%": 24.0, + "30%": 26.4, + "35%": 29.33, + "40%": 33.0 + }, + "price_rub": { + "0%": 219.0, + "13%": 261.5, + "15%": 269.6, + "20%": 292.0, + "25%": 318.6, + "30%": 350.4, + "35%": 389.4, + "40%": 438.1 + } + } + ], + "606579704061": [ + { + "oid": "606579704061", + "id": "184807701680942639", + "name": "儿童圣诞袜春秋款百搭儿童袜可爱中筒袜男女宝宝袜童袜socks薄款", + "cost_cny": 10.0, + "weight_g": 100.0, + "tier": "extra_small_1-500g", + "freight_cny": 8.7, + "total_cost_cny": 18.7, + "price_cny": { + "0%": 23.37, + "13%": 27.91, + "15%": 28.77, + "20%": 31.17, + "25%": 34.0, + "30%": 37.4, + "35%": 41.56, + "40%": 46.75 + }, + "price_rub": { + "0%": 310.3, + "13%": 370.5, + "15%": 381.9, + "20%": 413.7, + "25%": 451.3, + "30%": 496.5, + "35%": 551.6, + "40%": 620.6 + } + } + ], + "834501121805": [ + { + "oid": "834501121805", + "id": "184807701680939287", + "name": "初新生婴幼儿春秋款a类棉宝宝双针点胶防滑松口地板袜子跨境批发1", + "cost_cny": 5.25, + "weight_g": 23.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.24, + "total_cost_cny": 10.48, + "price_cny": { + "0%": 13.11, + "13%": 15.65, + "15%": 16.13, + "20%": 17.47, + "25%": 19.06, + "30%": 20.97, + "35%": 23.3, + "40%": 26.21 + }, + "price_rub": { + "0%": 174.0, + "13%": 207.7, + "15%": 214.1, + "20%": 232.0, + "25%": 253.1, + "30%": 278.4, + "35%": 309.3, + "40%": 348.0 + } + } + ], + "1064858625759": [ + { + "oid": "1064858625759", + "id": "184807701680750993", + "name": "精致立体蓝色圣诞老人贴纸雪花雪屋玻璃贴卡通圣诞树雪人静电窗花", + "cost_cny": 6.3, + "weight_g": 108.0, + "tier": "extra_small_1-500g", + "freight_cny": 9.06, + "total_cost_cny": 15.36, + "price_cny": { + "0%": 19.2, + "13%": 22.93, + "15%": 23.63, + "20%": 25.6, + "25%": 27.93, + "30%": 30.72, + "35%": 34.13, + "40%": 38.4 + }, + "price_rub": { + "0%": 254.9, + "13%": 304.3, + "15%": 313.7, + "20%": 339.8, + "25%": 370.7, + "30%": 407.8, + "35%": 453.1, + "40%": 509.7 + } + } + ], + "675714128773": [ + { + "oid": "675714128773", + "id": "184807701680748989", + "name": "跨境热销创意双色圣诞S钩 金属多色圣诞树装饰挂钩子支持少量定色", + "cost_cny": 0.73, + "weight_g": 1.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.25, + "total_cost_cny": 4.97, + "price_cny": { + "0%": 6.22, + "13%": 7.43, + "15%": 7.65, + "20%": 8.29, + "25%": 9.05, + "30%": 9.95, + "35%": 11.06, + "40%": 12.44 + }, + "price_rub": { + "0%": 82.5, + "13%": 98.6, + "15%": 101.6, + "20%": 110.1, + "25%": 120.1, + "30%": 132.1, + "35%": 146.8, + "40%": 165.1 + } + } + ], + "654696738981": [ + { + "oid": "654696738981", + "id": "184807701680747279", + "name": "圣诞节耳环 欧美圣诞新品圣诞树雪花小鹿合金滴油耳饰品厂家直供", + "cost_cny": 1.8, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 6.0, + "price_cny": { + "0%": 7.5, + "13%": 8.96, + "15%": 9.23, + "20%": 10.0, + "25%": 10.91, + "30%": 12.0, + "35%": 13.33, + "40%": 15.0 + }, + "price_rub": { + "0%": 99.6, + "13%": 118.9, + "15%": 122.5, + "20%": 132.7, + "25%": 144.8, + "30%": 159.3, + "35%": 177.0, + "40%": 199.1 + } + } + ], + "830733983706": [ + { + "oid": "830733983706", + "id": "184807701680733907", + "name": "TPU免洗长袖儿童画画衣服罩衣防水防脏幼儿园卡通美术围裙反穿衣", + "cost_cny": 12.0, + "weight_g": 100.0, + "tier": "extra_small_1-500g", + "freight_cny": 8.7, + "total_cost_cny": 20.7, + "price_cny": { + "0%": 25.87, + "13%": 30.9, + "15%": 31.85, + "20%": 34.5, + "25%": 37.64, + "30%": 41.4, + "35%": 46.0, + "40%": 51.75 + }, + "price_rub": { + "0%": 343.5, + "13%": 410.1, + "15%": 422.7, + "20%": 458.0, + "25%": 499.6, + "30%": 549.6, + "35%": 610.6, + "40%": 686.9 + } + } + ], + "824335318999": [ + { + "oid": "824335318999", + "id": "184807701680692483", + "name": "Cappuvini花漾碟语唇蜜 镜面唇蜜嘟嘟唇水光化妆品学生党跨境彩妆", + "cost_cny": 5.1, + "weight_g": 19.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.05, + "total_cost_cny": 10.15, + "price_cny": { + "0%": 12.69, + "13%": 15.16, + "15%": 15.62, + "20%": 16.92, + "25%": 18.46, + "30%": 20.31, + "35%": 22.57, + "40%": 25.39 + }, + "price_rub": { + "0%": 168.5, + "13%": 201.2, + "15%": 207.4, + "20%": 224.7, + "25%": 245.1, + "30%": 269.6, + "35%": 299.6, + "40%": 337.0 + } + } + ], + "996704124890": [ + { + "oid": "996704124890", + "id": "184807701680682773", + "name": "万昌圣诞星星庭院灯室内外雪花窗帘灯圣诞树灯串可充电圣诞造型灯", + "cost_cny": 12.0, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 16.2, + "price_cny": { + "0%": 20.25, + "13%": 24.18, + "15%": 24.92, + "20%": 27.0, + "25%": 29.45, + "30%": 32.4, + "35%": 36.0, + "40%": 40.5 + }, + "price_rub": { + "0%": 268.8, + "13%": 321.0, + "15%": 330.8, + "20%": 358.4, + "25%": 391.0, + "30%": 430.1, + "35%": 477.9, + "40%": 537.6 + } + } + ], + "1063555253950": [ + { + "oid": "1063555253950", + "id": "184807701680667867", + "name": "Mini Fruit Banana PU Key Case With Metal", + "cost_cny": null, + "weight_g": 30.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.55, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "856365924042": [ + { + "oid": "856365924042", + "id": "184807701680667703", + "name": "星空印花零钱包人造革防水仿皮拉链收纳袋多功能迷你耳机包", + "cost_cny": 4.3, + "weight_g": 20.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.1, + "total_cost_cny": 9.4, + "price_cny": { + "0%": 11.75, + "13%": 14.03, + "15%": 14.46, + "20%": 15.67, + "25%": 17.09, + "30%": 18.8, + "35%": 20.89, + "40%": 23.5 + }, + "price_rub": { + "0%": 156.0, + "13%": 186.2, + "15%": 192.0, + "20%": 208.0, + "25%": 226.9, + "30%": 249.6, + "35%": 277.3, + "40%": 311.9 + } + } + ], + "625801094732": [ + { + "oid": "625801094732", + "id": "184807701680655115", + "name": "2pcs/set Women Cross Crystal Hairpins Rh", + "cost_cny": null, + "weight_g": 10.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.65, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "1053769060957": [ + { + "oid": "1053769060957", + "id": "184807701680653579", + "name": "仿手钩刺绣桌布圆形多用途桌垫镂空绣花垫彩色重工蕾丝装饰垫片", + "cost_cny": 4.9, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 9.1, + "price_cny": { + "0%": 11.38, + "13%": 13.58, + "15%": 14.0, + "20%": 15.17, + "25%": 16.55, + "30%": 18.2, + "35%": 20.22, + "40%": 22.75 + }, + "price_rub": { + "0%": 151.0, + "13%": 180.3, + "15%": 185.8, + "20%": 201.3, + "25%": 219.6, + "30%": 241.6, + "35%": 268.4, + "40%": 302.0 + } + } + ], + "596800703083": [ + { + "oid": "596800703083", + "id": "184807701680642329", + "name": "Anti-static Head Massage Combs Portable ", + "cost_cny": null, + "weight_g": 40.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.0, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "1292652608": [ + { + "oid": "1292652608", + "id": "184807701680499843", + "name": "Winter Warm Knitted Leg Warmers Loose St", + "cost_cny": null, + "weight_g": 75.0, + "tier": "extra_small_1-500g", + "freight_cny": 7.58, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "668703401360": [ + { + "oid": "668703401360", + "id": "184807701680454593", + "name": "Non-slip Broken Hair Pins for Women Girl", + "cost_cny": null, + "weight_g": 15.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.88, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "727662958827": [ + { + "oid": "727662958827", + "id": "184807701680282391", + "name": "圣诞节贴纸批发不干胶防水礼品派对装饰文具贴画卡通镭射圣诞贴纸", + "cost_cny": 4.0, + "weight_g": 42.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.09, + "total_cost_cny": 10.09, + "price_cny": { + "0%": 12.61, + "13%": 15.06, + "15%": 15.52, + "20%": 16.82, + "25%": 18.35, + "30%": 20.18, + "35%": 22.42, + "40%": 25.22 + }, + "price_rub": { + "0%": 167.4, + "13%": 199.9, + "15%": 206.1, + "20%": 223.2, + "25%": 243.5, + "30%": 267.9, + "35%": 297.6, + "40%": 334.8 + } + } + ], + "580942940945": [ + { + "oid": "580942940945", + "id": "184807701680163971", + "name": "Women's Mini Clutch Key Case Soft Plush", + "cost_cny": null, + "weight_g": 30.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.55, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "772716669757": [ + { + "oid": "772716669757", + "id": "184807701680163839", + "name": "Women Mini Wallet Credit Card Holder Thr", + "cost_cny": null, + "weight_g": 70.0, + "tier": "extra_small_1-500g", + "freight_cny": 7.35, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "642282396254": [ + { + "oid": "642282396254", + "id": "184807701680163357", + "name": "Black Mesh Metal Business Card Storage B", + "cost_cny": null, + "weight_g": 35.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.78, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "889413011895": [ + { + "oid": "889413011895", + "id": "184807701680163351", + "name": "Women Leopard Print PU Leather Card Wall", + "cost_cny": null, + "weight_g": 18.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.01, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "808413616725": [ + { + "oid": "808413616725", + "id": "184807701680163331", + "name": "2pcs Cartoon Cat Car Seat Headrest Hook ", + "cost_cny": null, + "weight_g": 60.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.9, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "543746445581": [ + { + "oid": "543746445581", + "id": "184807701680163291", + "name": "5Pcs Transparent Electric Toothbrush Hea", + "cost_cny": null, + "weight_g": 25.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.33, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "823069883197": [ + { + "oid": "823069883197", + "id": "184807701680163255", + "name": "Chic Simplicity Double Side Glue for Stu", + "cost_cny": null, + "weight_g": 30.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.55, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "591586136424": [ + { + "oid": "591586136424", + "id": "184807701680163125", + "name": "Portable Travel Outdoor Reusable Tablewa", + "cost_cny": null, + "weight_g": 35.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.78, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "682050203425": [ + { + "oid": "682050203425", + "id": "184807701680163065", + "name": "Newborn Baby Mittens 0-12 Months,Winter ", + "cost_cny": null, + "weight_g": 30.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.55, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + }, + { + "oid": "682050203425", + "id": "184807701680163063", + "name": "Newborn Baby Mittens 0-12 Months,Winter ", + "cost_cny": null, + "weight_g": 30.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.55, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "859949555853": [ + { + "oid": "859949555853", + "id": "184807701679167053", + "name": "S925银针美拉德咖色琥珀系耳钉女轻奢高级感耳环小众设计珍珠耳饰", + "cost_cny": 3.58, + "weight_g": 1.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.25, + "total_cost_cny": 7.83, + "price_cny": { + "0%": 9.78, + "13%": 11.68, + "15%": 12.04, + "20%": 13.04, + "25%": 14.23, + "30%": 15.65, + "35%": 17.39, + "40%": 19.56 + }, + "price_rub": { + "0%": 129.8, + "13%": 155.0, + "15%": 159.8, + "20%": 173.1, + "25%": 188.9, + "30%": 207.7, + "35%": 230.8, + "40%": 259.7 + } + } + ], + "671305662299": [ + { + "oid": "671305662299", + "id": "184807701679104729", + "name": "儿童项链手链套装独角兽项链女孩宝宝配饰儿童项链儿童饰品批发", + "cost_cny": null, + "weight_g": 15.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.88, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "775445836053": [ + { + "oid": "775445836053", + "id": "184807701679018265", + "name": "Sweet Braided Ponytail Hair Tie Cute Pri", + "cost_cny": null, + "weight_g": 30.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.55, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "695101354956": [ + { + "oid": "695101354956", + "id": "184807701679008839", + "name": "厂家货源汽车头枕靠枕车上护颈枕车用记忆棉颈椎枕内饰用品批发", + "cost_cny": 8.5, + "weight_g": 200.0, + "tier": "extra_small_1-500g", + "freight_cny": 13.2, + "total_cost_cny": 21.7, + "price_cny": { + "0%": 27.12, + "13%": 32.39, + "15%": 33.38, + "20%": 36.17, + "25%": 39.45, + "30%": 43.4, + "35%": 48.22, + "40%": 54.25 + }, + "price_rub": { + "0%": 360.1, + "13%": 429.9, + "15%": 443.2, + "20%": 480.1, + "25%": 523.7, + "30%": 576.1, + "35%": 640.1, + "40%": 720.1 + } + } + ], + "685052879733": [ + { + "oid": "685052879733", + "id": "184807701679008521", + "name": "NOS Bottle Car Neck Pillow Plush Headres", + "cost_cny": null, + "weight_g": 160.0, + "tier": "extra_small_1-500g", + "freight_cny": 11.4, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "679998486592": [ + { + "oid": "679998486592", + "id": "184807701679008187", + "name": "1PC New Car Ice Silk Headrest Summer Com", + "cost_cny": null, + "weight_g": 320.0, + "tier": "extra_small_1-500g", + "freight_cny": 18.6, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "666161995885": [ + { + "oid": "666161995885", + "id": "184807701679008105", + "name": "Car Headrest Neck Pillow Ins Girl Heart ", + "cost_cny": null, + "weight_g": 163.0, + "tier": "extra_small_1-500g", + "freight_cny": 11.54, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "643271782579": [ + { + "oid": "643271782579", + "id": "184807701679007249", + "name": "Car Bone Shaped Neck Support Pillow Brea", + "cost_cny": null, + "weight_g": 250.0, + "tier": "extra_small_1-500g", + "freight_cny": 15.45, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "536124890969": [ + { + "oid": "536124890969", + "id": "184807701679005177", + "name": "建腾A4足球纹文件袋 防水加厚帆布拉链袋 资料袋 学生档案文具袋", + "cost_cny": 6.68, + "weight_g": 68.0, + "tier": "extra_small_1-500g", + "freight_cny": 7.26, + "total_cost_cny": 13.94, + "price_cny": { + "0%": 17.42, + "13%": 20.81, + "15%": 21.45, + "20%": 23.23, + "25%": 25.35, + "30%": 27.88, + "35%": 30.98, + "40%": 34.85 + }, + "price_rub": { + "0%": 231.3, + "13%": 276.2, + "15%": 284.7, + "20%": 308.4, + "25%": 336.4, + "30%": 370.1, + "35%": 411.2, + "40%": 462.6 + } + } + ], + "682206242421": [ + { + "oid": "682206242421", + "id": "184807701678999783", + "name": "2027新款圣诞节静电贴可移除窗贴 防水墙贴雪人雪花玻璃装饰贴纸", + "cost_cny": 7.0, + "weight_g": 150.0, + "tier": "extra_small_1-500g", + "freight_cny": 10.95, + "total_cost_cny": 17.95, + "price_cny": { + "0%": 22.44, + "13%": 26.79, + "15%": 27.62, + "20%": 29.92, + "25%": 32.64, + "30%": 35.9, + "35%": 39.89, + "40%": 44.87 + }, + "price_rub": { + "0%": 297.8, + "13%": 355.6, + "15%": 366.6, + "20%": 397.1, + "25%": 433.2, + "30%": 476.5, + "35%": 529.5, + "40%": 595.7 + } + } + ], + "959814476181": [ + { + "oid": "959814476181", + "id": "184807701678992967", + "name": "MIYUELENI全英文圣诞5支护手霜礼盒30g彩盒果香补水清爽跨境外贸", + "cost_cny": 3.3, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 7.5, + "price_cny": { + "0%": 9.38, + "13%": 11.19, + "15%": 11.54, + "20%": 12.5, + "25%": 13.64, + "30%": 15.0, + "35%": 16.67, + "40%": 18.75 + }, + "price_rub": { + "0%": 124.4, + "13%": 148.6, + "15%": 153.2, + "20%": 165.9, + "25%": 181.0, + "30%": 199.1, + "35%": 221.2, + "40%": 248.9 + } + } + ], + "940510107832": [ + { + "oid": "940510107832", + "id": "184807701678979189", + "name": "跨境新款2027圣诞彩条发箍儿童圣诞派对氛围拍照道具新年星星头箍", + "cost_cny": 1.95, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 6.15, + "price_cny": { + "0%": 7.69, + "13%": 9.18, + "15%": 9.46, + "20%": 10.25, + "25%": 11.18, + "30%": 12.3, + "35%": 13.67, + "40%": 15.38 + }, + "price_rub": { + "0%": 102.0, + "13%": 121.8, + "15%": 125.6, + "20%": 136.1, + "25%": 148.4, + "30%": 163.3, + "35%": 181.4, + "40%": 204.1 + } + } + ], + "1060229439447": [ + { + "oid": "1060229439447", + "id": "184807701678973241", + "name": "欧美跨境圣诞节迷你抓夹圣诞树圣诞老人发夹时尚简约节庆派对发饰", + "cost_cny": 1.8, + "weight_g": 20.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.1, + "total_cost_cny": 6.9, + "price_cny": { + "0%": 8.62, + "13%": 10.3, + "15%": 10.62, + "20%": 11.5, + "25%": 12.55, + "30%": 13.8, + "35%": 15.33, + "40%": 17.25 + }, + "price_rub": { + "0%": 114.5, + "13%": 136.7, + "15%": 140.9, + "20%": 152.7, + "25%": 166.5, + "30%": 183.2, + "35%": 203.5, + "40%": 229.0 + } + } + ], + "847604759395": [ + { + "oid": "847604759395", + "id": "184807701678972689", + "name": "Winter Warm Knitted Wool Soft Scarf Wome", + "cost_cny": null, + "weight_g": 260.0, + "tier": "extra_small_1-500g", + "freight_cny": 15.9, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "737092925273": [ + { + "oid": "737092925273", + "id": "184807701678971769", + "name": "Leopard Scarf Winter Warm Pashmina Shawl", + "cost_cny": null, + "weight_g": 245.0, + "tier": "extra_small_1-500g", + "freight_cny": 15.23, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "992722096204": [ + { + "oid": "992722096204", + "id": "184807701678969177", + "name": "100%纯羊毛美拉德纯色围巾女冬季长款保暖披肩两用高级感百搭围脖", + "cost_cny": 29.9, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 34.1, + "price_cny": { + "0%": 42.62, + "13%": 50.9, + "15%": 52.46, + "20%": 56.83, + "25%": 62.0, + "30%": 68.2, + "35%": 75.78, + "40%": 85.25 + }, + "price_rub": { + "0%": 565.8, + "13%": 675.6, + "15%": 696.4, + "20%": 754.4, + "25%": 823.0, + "30%": 905.3, + "35%": 1005.9, + "40%": 1131.6 + } + } + ], + "1080004257120": [ + { + "oid": "1080004257120", + "id": "184807701678943741", + "name": "冬日温馨圣诞主题组合套装静电窗贴免胶不伤玻璃客厅窗户节日装饰", + "cost_cny": 3.0, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 7.2, + "price_cny": { + "0%": 9.0, + "13%": 10.75, + "15%": 11.08, + "20%": 12.0, + "25%": 13.09, + "30%": 14.4, + "35%": 16.0, + "40%": 18.0 + }, + "price_rub": { + "0%": 119.5, + "13%": 142.6, + "15%": 147.0, + "20%": 159.3, + "25%": 173.8, + "30%": 191.2, + "35%": 212.4, + "40%": 238.9 + } + } + ], + "1029339293005": [ + { + "oid": "1029339293005", + "id": "184807701678942071", + "name": "粉色卡通小熊墙贴可爱气球云朵星星贴儿童房温馨装饰贴纸可移除", + "cost_cny": 5.5, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 9.7, + "price_cny": { + "0%": 12.12, + "13%": 14.48, + "15%": 14.92, + "20%": 16.17, + "25%": 17.64, + "30%": 19.4, + "35%": 21.56, + "40%": 24.25 + }, + "price_rub": { + "0%": 161.0, + "13%": 192.2, + "15%": 198.1, + "20%": 214.6, + "25%": 234.1, + "30%": 257.5, + "35%": 286.1, + "40%": 321.9 + } + } + ], + "1058269215912": [ + { + "oid": "1058269215912", + "id": "184807701678938411", + "name": "圣诞节贴纸梦幻吊球麋鹿玻璃贴纸跨境热卖创意雪花圣诞老人静电贴", + "cost_cny": 0.9, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 5.1, + "price_cny": { + "0%": 6.38, + "13%": 7.61, + "15%": 7.85, + "20%": 8.5, + "25%": 9.27, + "30%": 10.2, + "35%": 11.33, + "40%": 12.75 + }, + "price_rub": { + "0%": 84.6, + "13%": 101.0, + "15%": 104.2, + "20%": 112.8, + "25%": 123.1, + "30%": 135.4, + "35%": 150.4, + "40%": 169.2 + } + } + ], + "1072437761471": [ + { + "oid": "1072437761471", + "id": "184807701678937909", + "name": "仿真破墙圣诞老人圣诞墙贴自粘背胶可移除居家客厅卧室墙面装饰", + "cost_cny": 4.0, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 8.2, + "price_cny": { + "0%": 10.25, + "13%": 12.24, + "15%": 12.62, + "20%": 13.67, + "25%": 14.91, + "30%": 16.4, + "35%": 18.22, + "40%": 20.5 + }, + "price_rub": { + "0%": 136.1, + "13%": 162.5, + "15%": 167.5, + "20%": 181.4, + "25%": 197.9, + "30%": 217.7, + "35%": 241.9, + "40%": 272.1 + } + } + ], + "822032752601": [ + { + "oid": "822032752601", + "id": "184807701678936811", + "name": "3-12 Year Sweet Korean Calf Sock for Kid", + "cost_cny": null, + "weight_g": 50.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.45, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "712268408294": [ + { + "oid": "712268408294", + "id": "184807701678934835", + "name": "美好的一天 黑利亚的日常系列 PET书签黑猫咪文艺手账创意书夹6款", + "cost_cny": 3.1, + "weight_g": 20.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.1, + "total_cost_cny": 8.2, + "price_cny": { + "0%": 10.25, + "13%": 12.24, + "15%": 12.62, + "20%": 13.67, + "25%": 14.91, + "30%": 16.4, + "35%": 18.22, + "40%": 20.5 + }, + "price_rub": { + "0%": 136.1, + "13%": 162.5, + "15%": 167.5, + "20%": 181.4, + "25%": 197.9, + "30%": 217.7, + "35%": 241.9, + "40%": 272.1 + } + } + ], + "1029666203745": [ + { + "oid": "1029666203745", + "id": "184807701678932535", + "name": "Lyocell Leg Warmers Women Summer Ice Sil", + "cost_cny": null, + "weight_g": 40.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.0, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "682051008116": [ + { + "oid": "682051008116", + "id": "184807701678919761", + "name": "Letter Embroidery Cotton Women Socks Per", + "cost_cny": null, + "weight_g": 42.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.09, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "695518467656": [ + { + "oid": "695518467656", + "id": "184807701678919509", + "name": "Rhinestone Rose Adjustable Cuff Clip for", + "cost_cny": null, + "weight_g": 13.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.79, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "709371273495": [ + { + "oid": "709371273495", + "id": "184807701678919323", + "name": "Cat Line Eyeliners Stencils Model Easy T", + "cost_cny": null, + "weight_g": 20.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.1, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "711689595813": [ + { + "oid": "711689595813", + "id": "184807701678919169", + "name": "Manual Foaming Net Body Wash Soaps Foami", + "cost_cny": null, + "weight_g": 16.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.92, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "630455356780": [ + { + "oid": "630455356780", + "id": "184807701678919055", + "name": "Men's Socks Hiking Recovery Running Fitn", + "cost_cny": null, + "weight_g": 70.0, + "tier": "extra_small_1-500g", + "freight_cny": 7.35, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "594726785877": [ + { + "oid": "594726785877", + "id": "184807701678919021", + "name": "5pcs/bag Hair Braid Dreadlock Beads Clip", + "cost_cny": null, + "weight_g": 10.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.65, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "693583167732": [ + { + "oid": "693583167732", + "id": "184807701678918775", + "name": "6pcs/bag Mini Makeup Sponge Powder Puff ", + "cost_cny": null, + "weight_g": 16.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.92, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "738008774999": [ + { + "oid": "738008774999", + "id": "184807701678918603", + "name": "5Pairs Organic Cotton Men Socks Ankle Br", + "cost_cny": null, + "weight_g": 140.0, + "tier": "extra_small_1-500g", + "freight_cny": 10.5, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "687635685969": [ + { + "oid": "687635685969", + "id": "184807701678918535", + "name": "Hot Sale Hollow Out Hair Brushes Scalp M", + "cost_cny": null, + "weight_g": 74.0, + "tier": "extra_small_1-500g", + "freight_cny": 7.53, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "675459975523": [ + { + "oid": "675459975523", + "id": "184807701678918377", + "name": "Ultra Fine Liquid Lying Silkworm Eyelash", + "cost_cny": null, + "weight_g": 13.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.79, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "702899230548": [ + { + "oid": "702899230548", + "id": "184807701678917921", + "name": "Matte Lip Gloss Cute Bears Matte Lip Mud", + "cost_cny": null, + "weight_g": 26.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.37, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "649715846255": [ + { + "oid": "649715846255", + "id": "184807701678917607", + "name": "Soft Mesh Bath Ball Body Cleaner Exfolia", + "cost_cny": null, + "weight_g": 44.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.18, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "715320738714": [ + { + "oid": "715320738714", + "id": "184807701678917373", + "name": "Hollow Out Metal Bangs Side Hairpins Wom", + "cost_cny": null, + "weight_g": 11.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.7, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "708162866700": [ + { + "oid": "708162866700", + "id": "184807701678917251", + "name": "85CM Hip-hop Ponytail Braids Blue Hair B", + "cost_cny": null, + "weight_g": 20.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.1, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "626974408269": [ + { + "oid": "626974408269", + "id": "184807701678917153", + "name": "10Pcs/Box Mini Liquid Lip Gloss Waterpro", + "cost_cny": null, + "weight_g": 128.0, + "tier": "extra_small_1-500g", + "freight_cny": 9.96, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "850214746670": [ + { + "oid": "850214746670", + "id": "184807701678916937", + "name": "Women's Hair Comb Hollow Shaped Curly Ha", + "cost_cny": null, + "weight_g": 96.0, + "tier": "extra_small_1-500g", + "freight_cny": 8.52, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "753333789006": [ + { + "oid": "753333789006", + "id": "184807701678916549", + "name": "14 Colors Matte Lipstick Pencil Long-las", + "cost_cny": null, + "weight_g": 12.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.74, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "717265023739": [ + { + "oid": "717265023739", + "id": "184807701678915187", + "name": "Black Round Head Nose Hair Scissors Stor", + "cost_cny": null, + "weight_g": 15.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.88, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "687709249247": [ + { + "oid": "687709249247", + "id": "184807701678914335", + "name": "Double Head Pearlescent Eyeshadow Pencil", + "cost_cny": null, + "weight_g": 18.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.01, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "749944677389": [ + { + "oid": "749944677389", + "id": "184807701678913945", + "name": "1Pc Salon Barber Soft Neck and Face Dust", + "cost_cny": null, + "weight_g": 50.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.45, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "891262625717": [ + { + "oid": "891262625717", + "id": "184807701678913647", + "name": "3D Design Red Collection! Large Grip Let", + "cost_cny": null, + "weight_g": 32.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.64, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "719201289990": [ + { + "oid": "719201289990", + "id": "184807701678913513", + "name": "Peel Off Lip Gloss Matte Outline Contour", + "cost_cny": null, + "weight_g": 22.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.19, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "776527275120": [ + { + "oid": "776527275120", + "id": "184807701678913443", + "name": "Mirror Jelly Lipstick Pearlescent Waterp", + "cost_cny": null, + "weight_g": 25.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.33, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "986915352588": [ + { + "oid": "986915352588", + "id": "184807701678906753", + "name": "Aesthetic Corduroy Floral Print Cosmetic", + "cost_cny": null, + "weight_g": 80.0, + "tier": "extra_small_1-500g", + "freight_cny": 7.8, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "945017994757": [ + { + "oid": "945017994757", + "id": "184807701678906437", + "name": "Large Capacity Zipper Cosmetic Organizer", + "cost_cny": null, + "weight_g": 120.0, + "tier": "extra_small_1-500g", + "freight_cny": 9.6, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "854727666203": [ + { + "oid": "854727666203", + "id": "184807701678901117", + "name": "毛绒耳罩冬女冬季保暖耳包护耳朵耳捂子时尚学生防冻耳暖套可折叠", + "cost_cny": 3.8, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 8.0, + "price_cny": { + "0%": 10.0, + "13%": 11.94, + "15%": 12.31, + "20%": 13.33, + "25%": 14.55, + "30%": 16.0, + "35%": 17.78, + "40%": 20.0 + }, + "price_rub": { + "0%": 132.7, + "13%": 158.5, + "15%": 163.4, + "20%": 177.0, + "25%": 193.1, + "30%": 212.4, + "35%": 236.0, + "40%": 265.5 + } + } + ], + "809458320384": [ + { + "oid": "809458320384", + "id": "184807701678594137", + "name": "Shop Home Display Party Supplies Xmas El", + "cost_cny": null, + "weight_g": 25.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.33, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "757698032654": [ + { + "oid": "757698032654", + "id": "184807701678540059", + "name": "金属粉色镶钻桃心纽扣爱心形衬衫扣子名媛风上衣针织开衫装饰扣", + "cost_cny": 0.56, + "weight_g": 1.0, + "tier": "extra_small_1-500g", + "freight_cny": 4.25, + "total_cost_cny": 4.8, + "price_cny": { + "0%": 6.01, + "13%": 7.17, + "15%": 7.39, + "20%": 8.01, + "25%": 8.74, + "30%": 9.61, + "35%": 10.68, + "40%": 12.01 + }, + "price_rub": { + "0%": 79.7, + "13%": 95.2, + "15%": 98.1, + "20%": 106.3, + "25%": 116.0, + "30%": 127.6, + "35%": 141.7, + "40%": 159.5 + } + } + ], + "844379856745": [ + { + "oid": "844379856745", + "id": "184807701678479891", + "name": "可裁剪运动鞋垫男女吸汗防臭儿童小孩专用超软减震加厚踩屎感舒适", + "cost_cny": 2.7, + "weight_g": 60.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.9, + "total_cost_cny": 9.6, + "price_cny": { + "0%": 12.0, + "13%": 14.33, + "15%": 14.77, + "20%": 16.0, + "25%": 17.45, + "30%": 19.2, + "35%": 21.33, + "40%": 24.0 + }, + "price_rub": { + "0%": 159.3, + "13%": 190.2, + "15%": 196.1, + "20%": 212.4, + "25%": 231.7, + "30%": 254.9, + "35%": 283.2, + "40%": 318.6 + } + } + ], + "955567527445": [ + { + "oid": "955567527445", + "id": "184807701678433617", + "name": "A4文件袋多层风琴包试卷整理神器学生透明插页初中高中生分类试卷", + "cost_cny": 2.0, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 6.2, + "price_cny": { + "0%": 7.75, + "13%": 9.25, + "15%": 9.54, + "20%": 10.33, + "25%": 11.27, + "30%": 12.4, + "35%": 13.78, + "40%": 15.5 + }, + "price_rub": { + "0%": 102.9, + "13%": 122.8, + "15%": 126.6, + "20%": 137.2, + "25%": 149.6, + "30%": 164.6, + "35%": 182.9, + "40%": 205.8 + } + } + ], + "913810483281": [ + { + "oid": "913810483281", + "id": "184807701678410831", + "name": "Cute Cartoon Planet Rocket Astronaut Sel", + "cost_cny": null, + "weight_g": 50.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.45, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "673193287163": [ + { + "oid": "673193287163", + "id": "184807701678409121", + "name": "Children's Color Sequins Three-dimension", + "cost_cny": null, + "weight_g": 25.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.33, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "949934981679": [ + { + "oid": "949934981679", + "id": "184807701678346665", + "name": "ZT1019猫咪桌边挂钩便携塑料粘钩背包书桌专用挂包钩子收纳神器", + "cost_cny": 1.13, + "weight_g": 0.0, + "tier": "UNKNOWN_w0", + "freight_cny": 4.2, + "total_cost_cny": 5.33, + "price_cny": { + "0%": 6.66, + "13%": 7.96, + "15%": 8.2, + "20%": 8.88, + "25%": 9.69, + "30%": 10.66, + "35%": 11.84, + "40%": 13.32 + }, + "price_rub": { + "0%": 88.4, + "13%": 105.6, + "15%": 108.8, + "20%": 117.9, + "25%": 128.6, + "30%": 141.5, + "35%": 157.2, + "40%": 176.9 + } + } + ], + "784560838168": [ + { + "oid": "784560838168", + "id": "184807701678338485", + "name": "Fairy Ribbon Bows Hairpins for Kids Long", + "cost_cny": null, + "weight_g": 20.0, + "tier": "extra_small_1-500g", + "freight_cny": 5.1, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "895016263107": [ + { + "oid": "895016263107", + "id": "184807701678336931", + "name": "2pcs Double Ponytail Braid Hairpin Premi", + "cost_cny": null, + "weight_g": 40.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.0, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ], + "917492416883": [ + { + "oid": "917492416883", + "id": "184807701678336655", + "name": "1Pc Synthetic Bow Claw Clip High Ponytai", + "cost_cny": null, + "weight_g": 40.0, + "tier": "extra_small_1-500g", + "freight_cny": 6.0, + "total_cost_cny": null, + "price_cny": null, + "price_rub": null + } + ] +} \ No newline at end of file diff --git a/ozon定价/ozprice500.py b/ozon定价/ozprice500.py new file mode 100644 index 0000000..eab80cb --- /dev/null +++ b/ozon定价/ozprice500.py @@ -0,0 +1,37 @@ +import json, collections +j=json.load(open('/tmp/oz_draft_all.json')); items=j['items'] +RATE=1500/113.0 +MARGINS=[0,0.13,0.15,0.20,0.25,0.30,0.35,0.40] +def F(g): return 4.2+0.045*g +def price(b,g,r): return (b+F(g))/(1-0.2-r) if r<0.8 else None +out={} +stats=collections.Counter() +for p in items: + sp=p['vars'][0].get('sp'); eu=p['eu'] + b=float(sp) if sp else (float(eu)*6.68 if eu else None) + w=max([float(v.get('w') or 0) for v in p['vars']] or [0]) + key=p['oid'] or p['id'] + tier = 'extra_small_1-500g' if 03}%' for r in MARGINS)) + for g in (50,100,200,300,400,500): + cells=' | '.join(f'{price(b,g,r):5.1f}' for r in MARGINS) + print(f' {g:>4}g | {cells} → 25%档 {price(b,g,0.25)*RATE:6.0f}₽') diff --git a/ozon改价/oz_done.json b/ozon改价/oz_done.json new file mode 100644 index 0000000..c5bbf1c --- /dev/null +++ b/ozon改价/oz_done.json @@ -0,0 +1,320 @@ +{ + "708420302844": { + "price": "36.45", + "readback": "API 回读: {\"n\":12,\"prices\":[43.74,43.74,43.74],\"sales\":[36.45,36.45,36.45]}", + "save": "保存请求: [\"POST\"]", + "ok": true, + "sales": [ + 36.45, + 36.45, + 36.45 + ] + }, + "547183997437": { + "price": "36.45", + "readback": "API 回读: {\"n\":1,\"prices\":[43.74],\"sales\":[36.45]}", + "save": "保存请求: [\"POST\"]", + "ok": true, + "sales": [ + 36.45 + ] + }, + "657617635303": { + "price": "36.45", + "readback": "API 回读: {\"n\":5,\"prices\":[43.74,43.74,43.74],\"sales\":[36.45,36.45,36.45]}", + "save": "保存请求: [\"POST\"]", + "ok": true, + "sales": [ + 36.45, + 36.45, + 36.45 + ] + }, + "641673262387": { + "price": "36.45", + "readback": "API 回读: {\"n\":32,\"prices\":[43.74,43.74,43.74],\"sales\":[36.45,36.45,36.45]}", + "save": "保存请求: [\"POST\"]", + "ok": true, + "sales": [ + 36.45, + 36.45, + 36.45 + ] + }, + "764423265986": { + "price": "34.0", + "readback": "{\"n\":2,\"prices\":[2.81,2.81],\"sales\":[2.81,2.81]}", + "save": "[]", + "ok": false, + "sales": [ + 2.81, + 2.81 + ] + }, + "735147938123": { + "price": "34.0", + "readback": "API 回读: {\"n\":1,\"prices\":[40.8],\"sales\":[34]}", + "save": "保存请求: [\"POST\"]", + "ok": true, + "sales": [ + 34.0 + ] + }, + "548459586741": { + "price": "34.0", + "readback": "API 回读: {\"n\":1,\"prices\":[40.8],\"sales\":[34]}", + "save": "保存请求: [\"POST\"]", + "ok": true, + "sales": [ + 34.0 + ] + }, + "610164857063": { + "price": "34.0", + "readback": "API 回读: {\"n\":10,\"prices\":[40.8,40.8,40.8],\"sales\":[34,34,34]}", + "save": "保存请求: [\"POST\"]", + "ok": true, + "sales": [ + 34.0, + 34.0, + 34.0 + ] + }, + "676236596821": { + "price": "34.0", + "readback": "API 回读: {\"n\":1,\"prices\":[40.8],\"sales\":[34]}", + "save": "保存请求: [\"POST\"]", + "ok": true, + "sales": [ + 34.0 + ] + }, + "866537106657": { + "price": "34.0", + "readback": "{\"n\":9,\"prices\":[1.14,1.27,1.27],\"sales\":[1.14,1.27,1.27]}", + "save": "[]", + "ok": false + }, + "591994902720": { + "price": "31.91", + "readback": "API 回读: {\"n\":4,\"prices\":[38.3,38.3,38.3],\"sales\":[31.91,31.91,31.91]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "836512561982": { + "price": "30.2", + "readback": "API 回读: {\"n\":4,\"prices\":[36.24,36.24,36.24],\"sales\":[30.2,30.2,30.2]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "714492799386": { + "price": "28.36", + "readback": "API 回读: {\"n\":7,\"prices\":[34.04,34.04,34.04],\"sales\":[28.36,28.36,28.36]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "902440558099": { + "price": "27.27", + "readback": "API 回读: {\"n\":1,\"prices\":[32.73],\"sales\":[27.27]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "823838532886": { + "price": "27.0", + "readback": "API 回读: {\"n\":6,\"prices\":[32.4,32.4,32.4],\"sales\":[27,27,27]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "661190598139": { + "price": "26.64", + "readback": "API 回读: {\"n\":28,\"prices\":[31.97,31.97,31.97],\"sales\":[26.64,26.64,26.64]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "685456757807": { + "price": "26.64", + "readback": "API 回读: {\"n\":26,\"prices\":[31.97,31.97,31.97],\"sales\":[26.64,26.64,26.64]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "893592264148": { + "price": "26.45", + "readback": "API 回读: {\"n\":6,\"prices\":[31.74,31.74,31.74],\"sales\":[26.45,26.45,26.45]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "639409307567": { + "price": "25.82", + "readback": "{\"n\":2,\"prices\":[5.48,5.48],\"sales\":[5.48,5.48]}", + "save": "[]", + "ok": false + }, + "896469995553": { + "price": "25.18", + "readback": "API 回读: {\"n\":2,\"prices\":[30.22,30.22],\"sales\":[25.18,25.18]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "719391062058": { + "price": "23.71", + "readback": "API 回读: {\"n\":6,\"prices\":[28.46,28.46,28.46],\"sales\":[23.71,23.71,23.71]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "698782391248": { + "price": "23.6", + "readback": "API 回读: {\"n\":1,\"prices\":[28.32],\"sales\":[23.6]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "823560564174": { + "price": "23.11", + "readback": "API 回读: {\"n\":9,\"prices\":[27.74,27.74,27.74],\"sales\":[23.11,23.11,23.11]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "857781294719": { + "price": "22.73", + "readback": "API 回读: {\"n\":3,\"prices\":[27.28,27.28,27.28],\"sales\":[22.73,22.73,22.73]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "707826905566": { + "price": "22.55", + "readback": "API 回读: {\"n\":4,\"prices\":[27.06,27.06,27.06],\"sales\":[22.55,22.55,22.55]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "1027332215847": { + "price": "22.55", + "readback": "API 回读: {\"n\":10,\"prices\":[27.06,27.06,27.06],\"sales\":[22.55,22.55,22.55]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "607330049419": { + "price": "22.24", + "readback": "API 回读: {\"n\":9,\"prices\":[26.69,26.69,26.69],\"sales\":[22.24,22.24,22.24]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "944470567338": { + "price": "22.18", + "readback": "API 回读: {\"n\":2,\"prices\":[26.62,26.62],\"sales\":[22.18,22.18]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "787261097583": { + "price": "22.18", + "readback": "{\"n\":12,\"prices\":[3.48,3.48,3.48],\"sales\":[3.48,3.48,3.48]}", + "save": "[]", + "ok": false + }, + "694637537727": { + "price": "22.18", + "readback": "API 回读: {\"n\":5,\"prices\":[26.62,26.62,26.62],\"sales\":[22.18,22.18,22.18]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "621300323670": { + "price": "21.89", + "readback": "API 回读: {\"n\":1,\"prices\":[26.27],\"sales\":[21.89]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "682195499823": { + "price": "21.35", + "readback": "{\"n\":3,\"prices\":[3.01,3.01,3.01],\"sales\":[3.01,3.01,3.01]}", + "save": "[]", + "ok": false + }, + "623011262210": { + "price": "21.27", + "readback": "API 回读: {\"n\":1,\"prices\":[25.53],\"sales\":[21.27]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "833753630925": { + "price": "21.27", + "readback": "API 回读: {\"n\":1,\"prices\":[25.53],\"sales\":[21.27]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "854003999648": { + "price": "21.15", + "readback": "API 回读: {\"n\":27,\"prices\":[25.38,25.38,25.38],\"sales\":[21.15,21.15,21.15]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "703822717997": { + "price": "20.77", + "readback": "API 回读: {\"n\":2,\"prices\":[24.93,24.93],\"sales\":[20.77,20.77]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "863524134410": { + "price": "20.73", + "readback": "API 回读: {\"n\":1,\"prices\":[24.88],\"sales\":[20.73]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "853414558425": { + "price": "20.45", + "readback": "API 回读: {\"n\":22,\"prices\":[24.54,24.54,24.54],\"sales\":[20.45,20.45,20.45]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "750271307455": { + "price": "20.18", + "readback": "API 回读: {\"n\":3,\"prices\":[24.22,24.22,24.22],\"sales\":[20.18,20.18,20.18]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "726442972676": { + "price": "20.09", + "readback": "API 回读: {\"n\":24,\"prices\":[24.11,24.11,24.11],\"sales\":[20.09,20.09,20.09]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "953869908708": { + "price": "19.91", + "readback": "API 回读: {\"n\":21,\"prices\":[23.9,23.9,23.9],\"sales\":[19.91,19.91,19.91]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "775057912118": { + "price": "19.84", + "readback": "API 回读: {\"n\":26,\"prices\":[23.81,23.81,23.81],\"sales\":[19.84,19.84,19.84]}", + "save": "保存请求: [\"POST\"]", + "ok": true + }, + "863384503032": { + "price": "19.82", + "readback": "{\"n\":1,\"prices\":[2.21],\"sales\":[2.21]}", + "save": "[]", + "ok": false + }, + "739147684759": { + "price": "19.64", + "readback": "{\"n\":3,\"prices\":[2.07,2.07,2.07],\"sales\":[2.07,2.07,2.07]}", + "save": "[]", + "ok": false + }, + "774494945453": { + "price": "19.45", + "readback": "{\"n\":1,\"prices\":[23.34],\"sales\":[19.45]}", + "save": "[\"POST\"]", + "ok": true + }, + "997450831819": { + "price": "18.07", + "readback": "{\"n\":1,\"prices\":[21.69],\"sales\":[18.07]}", + "save": "[\"POST\"]", + "ok": true + }, + "601964534137": { + "price": "17.91", + "readback": "API 回读: {\"n\":5,\"prices\":[21.5,21.5,21.5],\"sales\":[17.91,17.91,17.91]}", + "save": "保存请求: [\"POST\"]", + "ok": true + } +} \ No newline at end of file diff --git a/ozon改价/oz_fail_reasons.json b/ozon改价/oz_fail_reasons.json new file mode 100644 index 0000000..25ba5a8 --- /dev/null +++ b/ozon改价/oz_fail_reasons.json @@ -0,0 +1,74 @@ +[ + { + "oid": "866537106657", + "red": [ + "变种图片", + "请视频上传7天内完成产品发布", + "请填写SKU", + "请填写售价", + "包装尺寸请输入1~13500之间的数值!", + "重量请输入1~1000000之间的数值!", + "变种图不能为空" + ] + }, + { + "oid": "639409307567", + "red": [ + "变种图片", + "请视频上传7天内完成产品发布", + "请填写SKU", + "请填写售价", + "包装尺寸请输入1~13500之间的数值!", + "重量请输入1~1000000之间的数值!", + "变种图不能为空" + ] + }, + { + "oid": "787261097583", + "red": [ + "变种图片", + "请视频上传7天内完成产品发布", + "请填写SKU", + "请填写售价", + "包装尺寸请输入1~13500之间的数值!", + "重量请输入1~1000000之间的数值!", + "变种图不能为空" + ] + }, + { + "oid": "682195499823", + "red": [ + "变种图片", + "请视频上传7天内完成产品发布", + "请填写SKU", + "请填写售价", + "包装尺寸请输入1~13500之间的数值!", + "重量请输入1~1000000之间的数值!", + "变种图不能为空" + ] + }, + { + "oid": "863384503032", + "red": [ + "变种图片", + "请视频上传7天内完成产品发布", + "请填写SKU", + "请填写售价", + "包装尺寸请输入1~13500之间的数值!", + "重量请输入1~1000000之间的数值!", + "变种图不能为空" + ] + }, + { + "oid": "739147684759", + "red": [ + "变种图片", + "请视频上传7天内完成产品发布", + "请填写SKU", + "请填写售价", + "包装尺寸请输入1~13500之间的数值!", + "重量请输入1~1000000之间的数值!", + "变种图不能为空" + ] + } +] \ No newline at end of file diff --git a/ozon改价/oz_mine_targets.json b/ozon改价/oz_mine_targets.json new file mode 100644 index 0000000..6b19f41 --- /dev/null +++ b/ozon改价/oz_mine_targets.json @@ -0,0 +1,331 @@ +[ + { + "oid": "708420302844", + "pid": "184807701684297335", + "price": 36.45, + "w": 130, + "cost": 10.0 + }, + { + "oid": "547183997437", + "pid": "184807701684297331", + "price": 36.45, + "w": 130, + "cost": 10.0 + }, + { + "oid": "657617635303", + "pid": "184807701684297329", + "price": 36.45, + "w": 130, + "cost": 10.0 + }, + { + "oid": "641673262387", + "pid": "184807701684297327", + "price": 36.45, + "w": 130, + "cost": 10.0 + }, + { + "oid": "764423265986", + "pid": "184807701684297353", + "price": 34.0, + "w": 100, + "cost": 10.0 + }, + { + "oid": "735147938123", + "pid": "184807701684297347", + "price": 34.0, + "w": 100, + "cost": 10.0 + }, + { + "oid": "548459586741", + "pid": "184807701684297343", + "price": 34.0, + "w": 100, + "cost": 10.0 + }, + { + "oid": "610164857063", + "pid": "184807701684297341", + "price": 34.0, + "w": 100, + "cost": 10.0 + }, + { + "oid": "676236596821", + "pid": "184807701684297339", + "price": 34.0, + "w": 100, + "cost": 10.0 + }, + { + "oid": "866537106657", + "pid": "184807701684297333", + "price": 34.0, + "w": 100, + "cost": 10.0 + }, + { + "oid": "591994902720", + "pid": "184807701684307653", + "price": 31.91, + "w": 130, + "cost": 7.5 + }, + { + "oid": "836512561982", + "pid": "184807701684307649", + "price": 30.2, + "w": 130, + "cost": 6.56 + }, + { + "oid": "714492799386", + "pid": "184807701684307651", + "price": 28.36, + "w": 100, + "cost": 6.9 + }, + { + "oid": "902440558099", + "pid": "184807701684308549", + "price": 27.27, + "w": 130, + "cost": 4.95 + }, + { + "oid": "823838532886", + "pid": "184807701684308547", + "price": 27.0, + "w": 130, + "cost": 4.8 + }, + { + "oid": "661190598139", + "pid": "184807701684297355", + "price": 26.64, + "w": 10, + "cost": 10.0 + }, + { + "oid": "685456757807", + "pid": "184807701684297349", + "price": 26.64, + "w": 10, + "cost": 10.0 + }, + { + "oid": "893592264148", + "pid": "184807701684308575", + "price": 26.45, + "w": 130, + "cost": 4.5 + }, + { + "oid": "639409307567", + "pid": "184807701684308551", + "price": 25.82, + "w": 100, + "cost": 5.5 + }, + { + "oid": "896469995553", + "pid": "184807701684308597", + "price": 25.18, + "w": 130, + "cost": 3.8 + }, + { + "oid": "719391062058", + "pid": "184807701684308589", + "price": 23.71, + "w": 130, + "cost": 2.99 + }, + { + "oid": "698782391248", + "pid": "184807701684308545", + "price": 23.6, + "w": 100, + "cost": 4.28 + }, + { + "oid": "823560564174", + "pid": "184807701684308537", + "price": 23.11, + "w": 130, + "cost": 2.66 + }, + { + "oid": "857781294719", + "pid": "184807701684308587", + "price": 22.73, + "w": 130, + "cost": 2.45 + }, + { + "oid": "707826905566", + "pid": "184807701684308543", + "price": 22.55, + "w": 100, + "cost": 3.7 + }, + { + "oid": "1027332215847", + "pid": "184807701684308541", + "price": 22.55, + "w": 100, + "cost": 3.7 + }, + { + "oid": "607330049419", + "pid": "184807701684308573", + "price": 22.24, + "w": 130, + "cost": 2.18 + }, + { + "oid": "944470567338", + "pid": "184807701684308595", + "price": 22.18, + "w": 100, + "cost": 3.5 + }, + { + "oid": "787261097583", + "pid": "184807701684308593", + "price": 22.18, + "w": 100, + "cost": 3.5 + }, + { + "oid": "694637537727", + "pid": "184807701684307645", + "price": 22.18, + "w": 130, + "cost": 2.15 + }, + { + "oid": "621300323670", + "pid": "184807701684308533", + "price": 21.89, + "w": 130, + "cost": 1.99 + }, + { + "oid": "682195499823", + "pid": "184807701684308539", + "price": 21.35, + "w": 100, + "cost": 3.04 + }, + { + "oid": "623011262210", + "pid": "184807701684307647", + "price": 21.27, + "w": 100, + "cost": 3.0 + }, + { + "oid": "833753630925", + "pid": "184807701684308591", + "price": 21.27, + "w": 100, + "cost": 3.0 + }, + { + "oid": "854003999648", + "pid": "184807701684308571", + "price": 21.15, + "w": 130, + "cost": 1.58 + }, + { + "oid": "703822717997", + "pid": "184807701684307641", + "price": 20.77, + "w": 130, + "cost": 1.375 + }, + { + "oid": "863524134410", + "pid": "184807701684307643", + "price": 20.73, + "w": 100, + "cost": 2.7 + }, + { + "oid": "853414558425", + "pid": "184807701684307655", + "price": 20.45, + "w": 130, + "cost": 1.2 + }, + { + "oid": "750271307455", + "pid": "184807701684308581", + "price": 20.18, + "w": 130, + "cost": 1.05 + }, + { + "oid": "726442972676", + "pid": "184807701684308579", + "price": 20.09, + "w": 130, + "cost": 1.0 + }, + { + "oid": "953869908708", + "pid": "184807701684307639", + "price": 19.91, + "w": 130, + "cost": 0.9 + }, + { + "oid": "775057912118", + "pid": "184807701684308577", + "price": 19.84, + "w": 130, + "cost": 0.86 + }, + { + "oid": "863384503032", + "pid": "184807701684308585", + "price": 19.82, + "w": 100, + "cost": 2.2 + }, + { + "oid": "739147684759", + "pid": "184807701684308535", + "price": 19.64, + "w": 100, + "cost": 2.1 + }, + { + "oid": "774494945453", + "pid": "184807701684308583", + "price": 19.45, + "w": 100, + "cost": 2.0 + }, + { + "oid": "997450831819", + "pid": "184807701684307657", + "price": 18.07, + "w": 100, + "cost": 1.24 + }, + { + "oid": "601964534137", + "pid": "184807701684308531", + "price": 17.91, + "w": 100, + "cost": 1.15 + } +] \ No newline at end of file diff --git a/ozon改价/ozprice_set.mjs b/ozon改价/ozprice_set.mjs new file mode 100644 index 0000000..ba98e4b --- /dev/null +++ b/ozon改价/ozprice_set.mjs @@ -0,0 +1,100 @@ +import { newTarget, CDP, SAN } from '/tmp/cdp3.mjs'; +import fs from 'fs'; + +/* ── Ozon 改价(≤500g 档,售价 = 合计成本 ÷ (1 − 20% − 利润率))── + node ozprice_set.mjs [dry] + dry = 只填不保存 */ + +const PID = process.argv[2]; +const PRICE = process.argv[3]; +const DRY = process.argv[4] === 'dry'; +if (!PID || !PRICE) { console.log('用法: node ozprice_set.mjs [dry]'); process.exit(1); } + +const wait = ms => new Promise(z => setTimeout(z, ms)); +const log = (...a) => console.log(' ', ...a); + +const tl = await (await fetch('http://127.0.0.1:9223/json/list')).json(); +let k = 0; +for (const t of tl.filter(x => x.type === 'page' && x.url.includes('ozonProduct/edit'))) { await fetch(`http://127.0.0.1:9223/json/close/${t.id}`).catch(() => {}); k++; } +if (k) { log(`清理残留编辑页 ${k} 个`); await wait(1100); } + +const t = await newTarget('about:blank'); +const c = await CDP.connect(t.webSocketDebuggerUrl); +await c.send('Page.enable'); await c.send('Runtime.enable'); +await c.send('Page.navigate', { url: `https://www.dianxiaomi.com/web/ozonProduct/edit?id=${PID}` }); +await wait(32000); +for (let i = 0; i < 8; i++) { + const x = await c.evalJS(`(()=>{const ms=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null); + if(!ms.length)return'n'; ms.forEach(m=>{const cb=m.querySelector('.ant-modal-close'); if(cb&&cb.offsetParent!==null)cb.click();}); return 'c';})()`); + if (x === 'n') break; await wait(1000); +} +await wait(2000); + +// 1. 找 SKU 表 + 价格列 +const map = await c.evalJS(`(()=>{ + const tbls=[...document.querySelectorAll('table')].filter(t=>t.offsetParent!==null); + for(let ti=0;ti(e.innerText||'').replace(/\\s+/g,' ').trim()); + if(!ths.some(h=>/价格|售价|₽|RUB/i.test(h))) continue; + const rows=[...tbls[ti].querySelectorAll('tbody tr')].filter(x=>x.querySelectorAll('input').length); + if(!rows.length) continue; + return JSON.stringify({ti, ths, rowCount: rows.length, + vals: rows.slice(0,3).map(tr=>[...tr.querySelectorAll('input')].map(i=>(i.value||'').slice(0,12)))}); + } + return 'no-table';})()`); +log('SKU 表:', SAN(String(map)).slice(0, 500)); +if (map === 'no-table') { log('❌ 找不到价格表'); process.exit(1); } +const M = JSON.parse(String(map)); + +const IDX_PRICE = M.ths.findIndex(h => /价格|售价|₽|RUB/i.test(h) && !/划线|原价|市场价|最低/i.test(h)); +const IDX_OLD = M.ths.findIndex(h => /划线|原价|市场价/i.test(h)); +const OLD_PRICE = (Math.ceil(Number(PRICE) * 1.2 * 100) / 100).toFixed(2); +log('价格列:', IDX_PRICE, JSON.stringify(M.ths[IDX_PRICE]), '| 原价列:', IDX_OLD, IDX_OLD >= 0 ? JSON.stringify(M.ths[IDX_OLD]) : '(无)', '→ 原价设为', OLD_PRICE); + +// 2. 填价 +const r = await c.evalJS(`(()=>{ + const setV=(el,v)=>{ Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,'value').set.call(el,String(v)); + el.dispatchEvent(new Event('input',{bubbles:true})); el.dispatchEvent(new Event('change',{bubbles:true})); el.dispatchEvent(new Event('blur',{bubbles:true})); }; + const tbls=[...document.querySelectorAll('table')].filter(t=>t.offsetParent!==null); + const tbl=tbls[${M.ti}]; if(!tbl)return'no-table'; + const rows=[...tbl.querySelectorAll('tbody tr')].filter(x=>x.querySelectorAll('input').length); + let n=0; + rows.forEach(tr=>{ const tds=[...tr.querySelectorAll('td')]; const td=tds[${IDX_PRICE}]; if(!td)return; + const inp=td.querySelector('input'); if(!inp)return; setV(inp,${JSON.stringify(PRICE)}); n++; + const od=tds[${IDX_OLD}]; if(od){ const oi=od.querySelector('input'); if(oi) setV(oi, ${JSON.stringify(OLD_PRICE)}); } }); + return 'set:'+n+'/'+rows.length;})()`); +log('填价:', r); +await wait(2500); + +// 3. 回读 +const back = await c.evalJS(`(()=>{const tbls=[...document.querySelectorAll('table')].filter(t=>t.offsetParent!==null); + const tbl=tbls[${M.ti}]; const rows=[...tbl.querySelectorAll('tbody tr')].filter(x=>x.querySelectorAll('input').length); + return JSON.stringify(rows.slice(0,5).map(tr=>[...tr.querySelectorAll('td')].map(td=>{const i=td.querySelector('input'); return i?i.value:'';})));})()`); +log('回读:', SAN(String(back)).slice(0, 300)); + +if (DRY) { log('dry-run,不保存'); process.exit(0); } + +// 4. 保存(优先「保存并移入待发布」,与 fixone3 一致) +await c.evalJS(`window.scrollTo(0,0)`); await wait(700); +const reqs = []; +c.on(m => { if (m.method === 'Network.requestWillBeSent') { const u = m.params.request.url; if (/ozonProduct\/add\.json/.test(u)) reqs.push(m.params.request.method); } }); +await c.send('Network.enable').catch(()=>{}); +const sv = await c.evalJS(`(()=>{const xs=[...document.querySelectorAll('button')].filter(e=>e.offsetParent!==null); + let x=xs.find(e=>/保存并移入待发布/.test((e.innerText||'').trim())); let tag='保存并移入待发布'; + if(!x){ x=xs.find(e=>/^保\\s*存$/.test((e.innerText||'').trim())); tag='保存'; } + if(!x) return 'nf'; + for(const ev of ['mousedown','mouseup','click']) x.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return tag;})()`); +log('保存按钮:', sv); +await wait(13000); +await c.evalJS(`(()=>{const ms=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null); + for(const m of ms){const b=[...m.querySelectorAll('button')].find(x=>/确定|确认/.test(x.innerText||'')); if(b)b.click();} return 1;})()`); +await wait(5000); +log('保存请求:', JSON.stringify(reqs)); + +// 5. API 回读(权威) +const back2 = await c.evalJS(`(async()=>{const rr=await fetch('/api/ozonProduct/add.json?id=${PID}&_t='+Date.now(),{headers:{'X-Requested-With':'XMLHttpRequest','Cache-Control':'no-cache'}}); + const tx=await rr.text(); if(!tx.startsWith('{'))return'(err)'; + const p=(JSON.parse(tx).data||{}).product||{}; const vl=p.variantList||[]; + return JSON.stringify({n:vl.length, prices:vl.slice(0,3).map(v=>v.price), sales:vl.slice(0,3).map(v=>v.salePrice)});})()`, true); +log('★ API 回读:', SAN(String(back2)).slice(0, 260)); +process.exit(0); diff --git a/shein建品/RECIPE.md b/shein建品/RECIPE.md new file mode 100644 index 0000000..c533e9d --- /dev/null +++ b/shein建品/RECIPE.md @@ -0,0 +1,25 @@ +# SHEIN 建品配方(已跑通第一条) + +## 完整流程 +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`,逐条跑 diff --git a/shein建品/shadd.mjs b/shein建品/shadd.mjs new file mode 100644 index 0000000..1640ff8 --- /dev/null +++ b/shein建品/shadd.mjs @@ -0,0 +1,22 @@ +import { attach } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/sheinProduct/add') || await attach('dianxiaomi.com'); +const r = await c.evalJS(`(()=>{const box=[...document.querySelectorAll('.theme-select-box')].filter(e=>e.offsetParent!==null).pop(); + if(!box)return'nf'; + const chips=[...box.querySelectorAll('*')].filter(e=>e.offsetParent!==null&&/^\\s*尺寸\\(Size\\)\\s*$/.test((e.innerText||'').trim())); + if(!chips.length)return'no-chip'; + const el=chips[chips.length-1]; + for(const ev of ['mousedown','mouseup','click']) el.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); + return 'clicked';})()`); +console.log('点尺寸:', String(r)); +await wait(4000); +const o = await c.evalJS(`(()=>{const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const a=JSON.parse(JSON.stringify(p._s.get('sheinSkuAttrStore').$state)); + const boxes=[...document.querySelectorAll('.sku-info-box')].filter(e=>e.offsetParent!==null).map((b,i)=>({ + i, txt:(b.innerText||'').replace(/\\s+/g,' ').slice(0,90), opts:b.querySelectorAll('.sku-option').length, + sels:[...b.querySelectorAll('.ant-select')].map(s=>(s.innerText||'').replace(/\\s+/g,' ').slice(0,16)), + ins:[...b.querySelectorAll('input')].filter(i=>i.offsetParent!==null&&i.type!=='checkbox').map(i=>({ph:i.placeholder||'',cls:String(i.className||'').slice(0,40)})).slice(0,4)})); + const btns=[...document.querySelectorAll('button')].filter(b=>b.offsetParent!==null&&/添加/.test(b.innerText||'')).map(b=>({t:(b.innerText||'').trim(),dis:b.disabled})); + return JSON.stringify({attrs:(a.formState.skuAttrs||[]).map(x=>({n:x.name, opts:(x.options||[]).length})), boxes, btns},null,1);})()`); +console.log(String(o).slice(0,1400)); +process.exit(0); diff --git a/shein建品/shbtns.mjs b/shein建品/shbtns.mjs new file mode 100644 index 0000000..a1cc2e7 --- /dev/null +++ b/shein建品/shbtns.mjs @@ -0,0 +1,21 @@ +import { attach } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/sheinProduct/add') || await attach('dianxiaomi.com'); +const reqs=[]; +c.on(m=>{ if(m.method==='Network.requestWillBeSent'){const r=m.params.request; + if(/shein/i.test(r.url)&&/\.json/.test(r.url)&&r.method==='POST') reqs.push(r.url.replace('https://www.dianxiaomi.com','')); }}); +await c.send('Network.enable').catch(()=>{}); +const btns = await c.evalJS(`(()=>[...document.querySelectorAll('button')].filter(e=>e.offsetParent!==null).map((b,i)=>{ + const r=b.getBoundingClientRect(); return {i, t:(b.innerText||'').replace(/\\s+/g,' ').trim().slice(0,14), y:Math.round(r.y), dis:b.disabled};}).filter(x=>x.t))()`); +console.log('按钮:', JSON.stringify(btns).slice(0,700)); +// 点“保存”并立刻轮询任何反馈 +await c.evalJS(`(()=>{const x=[...document.querySelectorAll('button')].filter(e=>e.offsetParent!==null).find(e=>/^\\s*保存\\s*$/.test((e.innerText||'').trim())); + if(x){ for(const ev of ['mousedown','mouseup','click']) x.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); } return 1;})()`); +const seen=[]; +for(let i=0;i<18;i++){ await wait(700); + const m=await c.evalJS(`(()=>{const a=[...document.querySelectorAll('.ant-message-notice,.ant-notification-notice,.ant-modal-confirm,.ant-modal')].filter(e=>e.offsetParent!==null) + .map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim().slice(0,130)).filter(Boolean); return JSON.stringify(a.slice(0,3));})()`); + JSON.parse(String(m)).forEach(x=>seen.push(x)); } +console.log('反馈:', [...new Set(seen)].slice(0,4).join(' || ').slice(0,400)); +console.log('POST:', JSON.stringify([...new Set(reqs)].slice(0,4))); +process.exit(0); diff --git a/shein建品/shcat.mjs b/shein建品/shcat.mjs new file mode 100644 index 0000000..bb08960 --- /dev/null +++ b/shein建品/shcat.mjs @@ -0,0 +1,22 @@ +import { attach } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/sheinProduct/add') || await attach('dianxiaomi.com'); +const o = await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/产品分类/.test(l.innerText||'');}); + if(!it)return'nf'; return JSON.stringify({txt:(it.innerText||'').replace(/\\s+/g,' ').slice(0,120), html:it.innerHTML.slice(0,600)});})()`); +console.log('分类控件:', String(o).slice(0,900)); +const pos = JSON.parse(String(await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/产品分类/.test(l.innerText||'');}); + if(!it)return'[]'; const el=it.querySelector('.ant-select-selector')||it.querySelector('input'); + if(!el)return'[]'; el.scrollIntoView({block:'center'}); const r=el.getBoundingClientRect(); + return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); +if(pos.length){ for(const type of ['mousePressed','mouseReleased']) await c.send('Input.dispatchMouseEvent',{type,x:pos[0],y:pos[1],button:'left',clickCount:1}); await wait(4000); } +const o2 = await c.evalJS(`(()=>{ + const ms=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null).map(m=>({t:(m.querySelector('.ant-modal-title')||{}).innerText||'', + inputs:[...m.querySelectorAll('input')].map(i=>i.placeholder||i.type).slice(0,5), + btns:[...m.querySelectorAll('button')].map(b=>(b.innerText||'').trim()).slice(0,6), + txt:(m.innerText||'').replace(/\\s+/g,' ').slice(0,300)})); + const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).map(d=>(d.innerText||'').replace(/\\s+/g,' ').slice(0,260)); + return JSON.stringify({modals:ms, dropdowns:dd},null,1);})()`); +console.log(String(o2).slice(0,1400)); +process.exit(0); diff --git a/shein建品/shchk.mjs b/shein建品/shchk.mjs new file mode 100644 index 0000000..6427f72 --- /dev/null +++ b/shein建品/shchk.mjs @@ -0,0 +1,26 @@ +import { attach } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/sheinProduct/add') || await attach('dianxiaomi.com'); +const pick = await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/主规格/.test(l.innerText||'');}); + if(!it)return'nf'; const box=it.querySelector('.sku-info-box')||it; + const opts=[...box.querySelectorAll('.sku-option')].filter(e=>e.offsetParent!==null); + const hit=opts.find(e=>/Black\\(/.test(e.innerText||''))||opts[0]; + if(!hit)return'no-opt'; + const lab=hit.querySelector('label'); const inp=hit.querySelector('input[type=checkbox]'); + if(lab) for(const ev of ['mousedown','mouseup','click']) lab.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); + if(inp && !inp.checked) inp.click(); + return 'clicked:'+(hit.innerText||'').trim()+' checked='+(inp?inp.checked:'?');})()`); +console.log('点色:', pick); +await wait(7000); +const o = await c.evalJS(`(()=>{ + const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const tbls=[...document.querySelectorAll('table')].filter(t=>t.offsetParent!==null).map(t=>({ + th:[...t.querySelectorAll('th')].map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim()).slice(0,15), + rows:[...t.querySelectorAll('tbody tr')].filter(x=>x.querySelectorAll('input').length).length})); + const d=JSON.parse(JSON.stringify(p._s.get('sheinSkuDataStore').$state)); + const a=JSON.parse(JSON.stringify(p._s.get('sheinSkuAttrStore').$state)); + return JSON.stringify({tbls, n:(d.formState.skuDataList||[]).length, row0:(d.formState.skuDataList||[])[0], + chosen:(a.formState.skuAttrs||[]).map(x=>({name:x.name, vals:(x.attributeValues||[]).map(v=>v.attribute_value||v)}))},null,1);})()`); +console.log(String(o).slice(0,1800)); +process.exit(0); diff --git a/shein建品/shcolor.mjs b/shein建品/shcolor.mjs new file mode 100644 index 0000000..baa716f --- /dev/null +++ b/shein建品/shcolor.mjs @@ -0,0 +1,34 @@ +import { attach } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/sheinProduct/add') || await attach('dianxiaomi.com'); +// 打开主规格颜色下拉 +const pos = JSON.parse(String(await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/主规格/.test(l.innerText||'');}); + const s=it.querySelector('.ant-select-selector'); s.scrollIntoView({block:'center'}); + const r=s.getBoundingClientRect(); return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); +for(const t of ['mousePressed','mouseReleased']) await c.send('Input.dispatchMouseEvent',{type:t,x:pos[0],y:pos[1],button:'left',clickCount:1}); +await wait(3000); +const opts = await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop(); + if(!dd)return'no-dd'; const its=[...dd.querySelectorAll('.ant-select-item-option')]; + return JSON.stringify({n:its.length, first:its.slice(0,6).map(e=>(e.innerText||'').trim())});})()`); +console.log('颜色选项:', String(opts).slice(0,400)); +// 选 Multicolor / Black(找不到就第一个) +const pick = await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop(); + if(!dd)return'no-dd'; const its=[...dd.querySelectorAll('.ant-select-item-option')]; + let hit=its.find(o=>/Multicolor|Multi-color/i.test(o.innerText||'')) || its.find(o=>/^\\s*Black\\(/.test((o.innerText||'').trim())) || its[0]; + if(!hit)return'no-opt'; + for(const ev of ['mousedown','mouseup','click']) hit.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); + return 'picked:'+(hit.innerText||'').trim();})()`); +console.log('选择:', pick); +await wait(6000); +const o = await c.evalJS(`(()=>{ + const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const tbls=[...document.querySelectorAll('table')].filter(t=>t.offsetParent!==null).map(t=>({ + th:[...t.querySelectorAll('th')].map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim()).slice(0,14), + rows:[...t.querySelectorAll('tbody tr')].filter(x=>x.querySelectorAll('input').length).length})); + const d=JSON.parse(JSON.stringify(p._s.get('sheinSkuDataStore').$state)); + const a=JSON.parse(JSON.stringify(p._s.get('sheinSkuAttrStore').$state)); + return JSON.stringify({tbls, skuDataList:(d.formState.skuDataList||[]).slice(0,2), n:(d.formState.skuDataList||[]).length, + chosen:(a.formState.skuAttrs||[]).map(x=>({name:x.name, n:(x.attributeValues||x._chosen||[]).length}))},null,1);})()`); +console.log(String(o).slice(0,1800)); +process.exit(0); diff --git a/shein建品/shdeep.mjs b/shein建品/shdeep.mjs new file mode 100644 index 0000000..c5fb448 --- /dev/null +++ b/shein建品/shdeep.mjs @@ -0,0 +1,62 @@ +import { newTarget, CDP } from '/tmp/cdp3.mjs'; +import fs from 'fs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const SHOP = process.argv[2] || '③shein-易捷天宇-美妆'; +const CATKW = process.argv[3] || '发夹'; +const tl = await (await fetch('http://127.0.0.1:9223/json/list')).json(); +for (const t of tl.filter(x=>x.type==='page'&&/shein/i.test(x.url))) await fetch(`http://127.0.0.1:9223/json/close/${t.id}`).catch(()=>{}); +await wait(1000); +const t = await newTarget('about:blank'); +const c = await CDP.connect(t.webSocketDebuggerUrl); +await c.send('Page.enable'); await c.send('Runtime.enable'); +await c.send('Page.navigate',{url:'https://www.dianxiaomi.com/web/sheinProduct/add'}); +await wait(21000); +// 店铺 +const pos = JSON.parse(String(await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/店铺/.test(l.innerText||'');}); + const s=(it||document).querySelector('.ant-select-selector'); s.scrollIntoView({block:'center'}); + const r=s.getBoundingClientRect(); return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); +for (const type of ['mousePressed','mouseReleased']) await c.send('Input.dispatchMouseEvent',{type,x:pos[0],y:pos[1],button:'left',clickCount:1}); +await wait(2500); +await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop(); + const hit=[...dd.querySelectorAll('.ant-select-item-option')].find(o=>(o.innerText||'').trim()===${JSON.stringify(SHOP)}); + if(hit) for(const ev of ['mousedown','mouseup','click']) hit.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return 1;})()`); +await wait(8000); +// 开分类下拉并选目标 +const cp = JSON.parse(String(await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/产品分类/.test(l.innerText||'');}); + const s=it.querySelector('.ant-select-selector'); s.scrollIntoView({block:'center'}); + const r=s.getBoundingClientRect(); return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); +for (const type of ['mousePressed','mouseReleased']) await c.send('Input.dispatchMouseEvent',{type,x:cp[0],y:cp[1],button:'left',clickCount:1}); +await wait(3500); +const pk = await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop(); + if(!dd)return'no-dd'; const its=[...dd.querySelectorAll('.ant-select-item-option')]; + const hit=its.find(o=>new RegExp('^\\\\s*'+${JSON.stringify(CATKW)}).test((o.innerText||'').trim())); + if(!hit)return'no-hit:'+its.slice(0,5).map(o=>o.innerText.trim()).join(','); + for(const ev of ['mousedown','mouseup','click']) hit.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); + return 'picked:'+(hit.innerText||'').trim();})()`); +console.log('类目:', pk); +await wait(12000); +const o = await c.evalJS(`(()=>{ + const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const items=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null).map(x=>{ + const l=x.querySelector('label'); const lab=l?(l.innerText||'').replace(/\\s+/g,' ').trim():''; + const req=!!x.querySelector('.ant-form-item-required'); + const inp=x.querySelector('input:not([type=hidden])'); const ta=x.querySelector('textarea'); const sel=x.querySelector('.ant-select-selection-item'); + return (req?'* ':' ')+lab.slice(0,24).padEnd(25)+'['+(ta?'ta':(sel?'select':(inp?'input':'-')))+'] '+(sel?sel.innerText.trim():(inp?inp.value:(ta?ta.value:''))).slice(0,22); + }).filter(x=>x.trim().length>4); + const tables=[...document.querySelectorAll('table')].filter(t=>t.offsetParent!==null).map(t=>({ + th:[...t.querySelectorAll('th')].map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim()).slice(0,12), + rows:[...t.querySelectorAll('tbody tr')].filter(x=>x.querySelectorAll('input').length).length})); + const cut=(x,d=0)=>(d>3?'…':(Array.isArray(x)?(x.length?'['+x.length+'] '+JSON.stringify(x[0]).slice(0,220):'[]'):(x&&typeof x==='object'?Object.fromEntries(Object.entries(x).map(([k,v])=>[k,cut(v,d+1)])):x))); + const dump={}; + for(const n of ['sheinAddProductStore','sheinSkuDataStore','sheinSkuAttrStore','sheinAddBasicStore','sheinImgStore']) + { try{dump[n]=cut(JSON.parse(JSON.stringify(p._s.get(n).$state)));}catch(e){dump[n]='ERR';} } + return JSON.stringify({items, tables, dump},null,1);})()`); +fs.writeFileSync('/tmp/shein_deep.json', String(o)); +const j=JSON.parse(String(o)); +console.log('=== form ==='); j.items.forEach(x=>console.log(' '+x)); +console.log('=== tables ==='); console.log(JSON.stringify(j.tables)); +console.log('=== stores ==='); +for(const [n,v] of Object.entries(j.dump)) console.log(' ##',n,JSON.stringify(v).slice(0,520)); +process.exit(0); diff --git a/shein建品/shein_deep.json b/shein建品/shein_deep.json new file mode 100644 index 0000000..3143b70 --- /dev/null +++ b/shein建品/shein_deep.json @@ -0,0 +1,189 @@ +{ + "items": [ + "* 店铺账号 [select] ③shein-易捷天宇-美妆", + "* 产品分类 [select] 发夹(Hair Clips)", + " 产品属性 [select] No(否)", + " 品牌 [input] ", + " 是否含木质材料 (Whether it cont [select] No(否)", + " 敏感类别 (Hazard Category) [input] ", + " 关税种类 (Tariff Type) [select] Hairpin(发夹)", + " 材质 (Material) [select] Zinc Alloy(锌合金)", + " 风格 (Style) [input] ", + " 数量 (Quantity) [select] piece(s)(件)", + " 季节 (Season) [input] ", + " 细化图案 (Specific Pattern) [input] ", + " 类型 (Type) [input] ", + " 特征 (Features) [input] ", + " 证书编号/检测机构 (Certificate N [input] ", + " 是否有型号 (Is there a Model [input] ", + " 电池使用方式 (Battery Usage Ty [input] ", + " 版型 (Version) [input] ", + " 包装类型 (type of packaging) [input] ", + " 成分 (Composition) [input] ", + " 次要材质 (Other Material) [input] ", + " 发圈类型 (hair tie type) [input] ", + " 元素 (Element) [select] None(无)", + " 制作工艺 (Craftsmanship Type [input] ", + " 企划风格 (Design Style) [input] ", + " 产品型号 (Product Model) [input] ", + " 镀贵金属类型 (Plating) [input] ", + " 镶嵌类型 (Inlay type) [input] ", + " 织造方式 (Fabric Weave Type) [input] ", + " NCM-BR专属 (Ncm-Br Exclusi [input] ", + " 系列 (Series) [input] ", + " 是否多套件 [-] ", + " 店小秘分类 [-] ", + " 来源URL [input] ", + " [input] ", + "* 产品标题: [input] ", + " 商品IP [input] ", + " 图片模式 [input] 1", + " 产品视频 [select] SHEIN国际站", + "* 主规格 [select] 颜色(Color)", + " 其他规格 [-] ", + "* 尺码表 [-] " + ], + "tables": [], + "dump": { + "sheinAddProductStore": { + "formState": { + "imageType": 0, + "productName": "" + }, + "dataState": { + "newSizeGroups": "[]", + "newBootSizeGroups": "[]" + } + }, + "sheinSkuDataStore": { + "formState": { + "identifierCodeType": 1, + "supplierType": "EAN", + "skuDataList": "[]", + "deleteCombinationSkus": "[]", + "siteTableInfoData": "[]", + "sampleInfoObj": { + "sampleJudgeType": "2", + "reserveSampleFlag": "2", + "spotFlag": "1" + } + }, + "dataState": { + "skcRetailPriceEdit": true, + "stockEdit": true, + "specialPriceEdit": true, + "supplyPriceEdit": true, + "priceEdit": true + }, + "siteStockStr": "_stock", + "recordMainVariant": {} + }, + "sheinSkuAttrStore": { + "formState": { + "skuAttrs": "[1] {\"attributeId\":27,\"name\":\"颜色\",\"nameEn\":\"Color\",\"_options\":[{\"attribute_value\":\"Apricot\",\"attribute_value_en\":\"Apricot\",\"attribute_value_id\":78,\"is_show\":1,\"supplier_id\":0,\"attribute_value_cn\":\"杏色\"},{\"attribute_value\":\"Be", + "sizeTableInfo": "[]" + }, + "dataState": { + "mainVariantId": 27, + "mainVariantList": "[1] {\"id\":4810372362706115,\"puid\":70000,\"shopId\":6226408,\"categoryId\":0,\"productTypeId\":603,\"businessMode\":\"5\",\"attributeId\":27,\"name\":\"颜色\",\"nameEn\":\"Color\",\"show\":1,\"label\":1,\"mode\":2,\"source\":1,\"status\":3,\"type\":1,\"dimensi", + "variantList": "[3] {\"id\":4810372362706123,\"puid\":70000,\"shopId\":6226408,\"categoryId\":0,\"productTypeId\":603,\"businessMode\":\"5\",\"attributeId\":87,\"name\":\"尺寸\",\"nameEn\":\"Size\",\"show\":1,\"label\":0,\"mode\":2,\"source\":1,\"status\":3,\"type\":1,\"dimensio", + "isHasSizeChart": true, + "cacheIsHasSizeChart": true, + "sizeTableData": "[6] {\"id\":4810372362706189,\"puid\":70000,\"shopId\":6226408,\"categoryId\":0,\"productTypeId\":603,\"businessMode\":\"5\",\"attributeId\":55,\"name\":\"长度 (cm)\",\"nameEn\":\"Length (cm)\",\"show\":1,\"label\":0,\"mode\":0,\"source\":1,\"status\":3,\"type\"", + "isAllowEditSkcData": "[]", + "collectDetailImages": "" + }, + "customAttrOptions": { + "27": "[]" + }, + "recordData": { + "oldOption": "[]", + "newOption": "[]" + } + }, + "sheinAddBasicStore": { + "formState": { + "shopId": "6226408", + "categoryId": 2734 + }, + "shopList": "[11] {\"id\":5986682,\"puid\":70000,\"name\":\"⑧Shein-易世通达-文具\",\"apiKey\":null,\"merchantId\":\"14349C4899B04FE59CECE6A4EA6CDB9C\",\"merchantUserName\":\"2\",\"awsAccessKeyId\":\"zh-cn|CNY\",\"marketPlaceId\":\"4328424\",\"lastSyncTimeProduct\":null,\"l", + "dataState": { + "categories": "[67] {\"id\":4810372411213177,\"puid\":70000,\"shopId\":6226408,\"categoryId\":2735,\"productTypeId\":604,\"parentId\":2732,\"name\":\"发爪\",\"nameEn\":\"Hair Claws\",\"nodePath\":\"服饰装饰品(Apparel Accessories)/女士配饰(Women Accessories)/女士发饰(Women Hair ", + "categoryPathName": "服饰装饰品(Apparel Accessories) > 女士配饰(Women Accessories) > 女士发饰(Women Hair Accessories) > 发夹(Hair Clips)", + "shopIds": "[1] \"6226408\"", + "euSiteList": "[]", + "shopSiteList": "[57] {\"id\":4810364349509615,\"puid\":70000,\"shopId\":6226408,\"currency\":\"USD\",\"siteAbbr\":\"shein-www\",\"siteName\":\"SHEIN国际站\",\"mainSite\":\"shein\",\"mainSiteName\":\"SHEIN\",\"storeType\":0,\"symbolLeft\":\"$\",\"symbolRight\":\"\",\"rateInfo\":\"[{\\", + "warehouseList": "[]", + "euSiteStockShopList": "[]", + "categoryUpdated": false + }, + "currencyCode": "CNY", + "isEurSite": false, + "isAllowEditOnlineProductFlag": false, + "infoDisplayRules": { + "image_module_show": true, + "reference_module_show": false, + "allow_switch_spu_picture": true, + "sample_spec_show": false, + "sample_spec_required": false, + "minimum_stock_quantity_show": false, + "minimum_stock_quantity_required": false, + "reference_product_link_show": false, + "reference_product_link_required": false, + "proof_of_stock_show": false, + "proof_of_stock_required": false, + "skc_retail_price_show": true, + "skc_retail_price_required": false, + "quantity_info_show": true, + "quantity_info_required": false, + "package_type_show": true, + "package_type_required": false, + "supplier_barcode_show": false, + "supplier_barcode_required": false, + "goods_ip_show": true, + "goods_ip_required": false, + "product_video_show": true, + "product_video_required": false, + "shelf_require_show": true, + "shelf_require_required": false, + "title_max_length": 150 + }, + "imageDisplayRules": { + "switch_spu_picture": false, + "spu_image_detail_show": false, + "spu_image_detail_required": false, + "spu_image_detail_single": false, + "spu_image_square_show": false, + "spu_image_square_required": false, + "skc_image_detail_show": true, + "skc_image_detail_required": true, + "skc_image_detail_single": false, + "skc_image_square_show": true, + "skc_image_square_required": true, + "sku_image_detail_show": true, + "sku_image_detail_required": false, + "package_type_show": false, + "package_type_required": false, + "supplier_barcode_show": false, + "supplier_barcode_required": false, + "shelf_require_show": false, + "shelf_require_required": false, + "title_max_length": 1000 + }, + "isMxSite": false, + "isJapanSite": false, + "isKoreanSite": false + }, + "sheinImgStore": { + "formState": { + "mainImgData": { + "multipleSpuImgs": "[]" + } + }, + "dataState": { + "newSizeGroups": "[]", + "newBootSizeGroups": "[]" + } + } + } +} \ No newline at end of file diff --git a/shein建品/shein_map.json b/shein建品/shein_map.json new file mode 100644 index 0000000..5e08f7d --- /dev/null +++ b/shein建品/shein_map.json @@ -0,0 +1,114 @@ +{ + "stores": [ + "sheinAddStore", + "sheinAddProductStore", + "sheinSkuDataStore", + "sheinSkuAttrStore", + "sheinAddBasicStore", + "sheinAddOtherStore", + "sheinQualoficaStore", + "sheinProductVideoStore", + "sheinImgStore" + ], + "items": [ + "* 店铺账号 [select] ①Shein-武汉九个网-箱包", + "* 产品分类 [input] ", + " 是否多套件 [-] ", + " 店小秘分类 [-] ", + " 来源URL [input] ", + " [input] ", + "* 产品标题: [input] ", + " 图片模式 [input] 1" + ], + "dump": { + "sheinAddStore": { + "attrsInfo.showSizeAttr": "false", + "sharedData.isFeedBacking": "false", + "sharedData.isAllowEditOnline": "false", + "sharedData.variantImageNum": "0", + "dataState.isVip": "true" + }, + "sheinAddProductStore": { + "formState.imageType": "0" + }, + "sheinSkuDataStore": { + "formState.identifierCodeType": "1", + "formState.supplierType": "EAN", + "dataState.skcRetailPriceEdit": "true", + "dataState.stockEdit": "true", + "dataState.specialPriceEdit": "true", + "dataState.supplyPriceEdit": "true", + "dataState.priceEdit": "true", + "siteStockStr": "_stock" + }, + "sheinSkuAttrStore": { + "dataState.isHasSizeChart": "false", + "dataState.cacheIsHasSizeChart": "false" + }, + "sheinAddBasicStore": { + "formState.shopId": "6229819", + "dataState.categoryUpdated": "false", + "currencyCode": "CNY", + "isEurSite": "false", + "isAllowEditOnlineProductFlag": "false", + "infoDisplayRules.image_module_show": "false", + "infoDisplayRules.reference_module_show": "false", + "infoDisplayRules.allow_switch_spu_picture": "false", + "infoDisplayRules.sample_spec_show": "false", + "infoDisplayRules.sample_spec_required": "false", + "infoDisplayRules.minimum_stock_quantity_show": "false", + "infoDisplayRules.minimum_stock_quantity_required": "false", + "infoDisplayRules.reference_product_link_show": "false", + "infoDisplayRules.reference_product_link_required": "false", + "infoDisplayRules.proof_of_stock_show": "false", + "infoDisplayRules.proof_of_stock_required": "false", + "infoDisplayRules.skc_retail_price_show": "false", + "infoDisplayRules.skc_retail_price_required": "false", + "infoDisplayRules.quantity_info_show": "false", + "infoDisplayRules.quantity_info_required": "false", + "infoDisplayRules.package_type_show": "false", + "infoDisplayRules.package_type_required": "false", + "infoDisplayRules.supplier_barcode_show": "false", + "infoDisplayRules.supplier_barcode_required": "false", + "infoDisplayRules.goods_ip_show": "false", + "infoDisplayRules.goods_ip_required": "false", + "infoDisplayRules.product_video_show": "false", + "infoDisplayRules.product_video_required": "false", + "infoDisplayRules.shelf_require_show": "false", + "infoDisplayRules.shelf_require_required": "false", + "infoDisplayRules.title_max_length": "1000", + "imageDisplayRules.switch_spu_picture": "false", + "imageDisplayRules.spu_image_detail_show": "false", + "imageDisplayRules.spu_image_detail_required": "false", + "imageDisplayRules.spu_image_detail_single": "false", + "imageDisplayRules.spu_image_square_show": "false", + "imageDisplayRules.spu_image_square_required": "false", + "imageDisplayRules.skc_image_detail_show": "true", + "imageDisplayRules.skc_image_detail_required": "true", + "imageDisplayRules.skc_image_detail_single": "false", + "imageDisplayRules.skc_image_square_show": "true", + "imageDisplayRules.skc_image_square_required": "true", + "imageDisplayRules.sku_image_detail_show": "true", + "imageDisplayRules.sku_image_detail_required": "false", + "imageDisplayRules.package_type_show": "false", + "imageDisplayRules.package_type_required": "false", + "imageDisplayRules.supplier_barcode_show": "false", + "imageDisplayRules.supplier_barcode_required": "false", + "imageDisplayRules.shelf_require_show": "false", + "imageDisplayRules.shelf_require_required": "false", + "imageDisplayRules.title_max_length": "1000", + "isMxSite": "false", + "isJapanSite": "false", + "isKoreanSite": "false" + }, + "sheinAddOtherStore": {}, + "sheinQualoficaStore": { + "formData.isGrayShow": "false", + "formData.isShow": "false" + }, + "sheinProductVideoStore": { + "dataState.supported": "false" + }, + "sheinImgStore": {} + } +} \ No newline at end of file diff --git a/shein建品/shein_route.json b/shein建品/shein_route.json new file mode 100644 index 0000000..67eed60 --- /dev/null +++ b/shein建品/shein_route.json @@ -0,0 +1,62 @@ +{ + "美妆": { + "shop": "③shein-易捷天宇-美妆", + "kw": { + "661190598139": "大肠圈", + "902440558099": "大肠圈", + "823560564174": "大肠圈", + "607330049419": "大肠圈", + "854003999648": "大肠圈", + "735147938123": "发箍", + "610164857063": "发箍", + "833753630925": "发箍", + "676236596821": "发夹", + "944470567338": "发夹", + "787261097583": "发夹", + "857781294719": "发夹", + "863384503032": "发夹", + "726442972676": "发夹", + "893592264148": "发夹", + "836512561982": "化妆包", + "714492799386": "化妆包", + "719391062058": "化妆包" + } + }, + "文具": { + "shop": "⑥Shein-南京亿千-文具", + "kw": { + "953869908708": "涂鸦贴纸", + "863524134410": "涂鸦贴纸", + "623011262210": "涂鸦贴纸", + "997450831819": "涂鸦贴纸", + "639409307567": "涂鸦贴纸", + "698782391248": "涂鸦贴纸", + "591994902720": "笔袋", + "682195499823": "笔袋", + "657617635303": "回形针", + "703822717997": "回形针", + "621300323670": "桌面摆件", + "823838532886": "卡套", + "1027332215847": "文具收纳盒" + } + }, + "箱包": { + "shop": "①Shein-武汉九个网-箱包", + "kw": { + "641673262387": "其他收纳包", + "707826905566": "卡包", + "694637537727": "保温午餐包", + "708420302844": "包包挂件", + "750271307455": "包包挂件", + "774494945453": "包包挂件", + "775057912118": "包包挂件", + "896469995553": "包包挂件" + } + }, + "内睡袜子": { + "shop": "⑤Shein-惠州九衢-内睡(袜子)", + "kw": { + "627879474686": "袜子" + } + } +} \ No newline at end of file diff --git a/shein建品/shfill.mjs b/shein建品/shfill.mjs new file mode 100644 index 0000000..30f4af3 --- /dev/null +++ b/shein建品/shfill.mjs @@ -0,0 +1,42 @@ +import { attach } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/sheinProduct/add') || await attach('dianxiaomi.com'); +const reqs=[]; +c.on(m=>{ if(m.method==='Network.requestWillBeSent'){const r=m.params.request; + if(/shein/i.test(r.url)&&/\.json/.test(r.url)&&r.method==='POST') reqs.push(r.url.replace('https://www.dianxiaomi.com','')); }}); +await c.send('Network.enable').catch(()=>{}); +const IMGS=['https://cbu01.alicdn.com/img/ibank/O1CN01IHtNAHKMzNC1chua_!!2222444614399-0-cib.jpg', +'https://cbu01.alicdn.com/img/ibank/O1CN01UGEWafTzqTH1chua_!!2222444614399-0-cib.jpg', +'https://cbu01.alicdn.com/img/ibank/O1CN01d0hA4N72jzD1chua_!!2222444614399-0-cib.jpg', +'https://cbu01.alicdn.com/img/ibank/O1CN01edgGxIlmdtJ1chua_!!2222444614399-0-cib.jpg']; +const r = await c.evalJS(`(()=>{const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const d=p._s.get('sheinSkuDataStore').$state.formState; + const rows=d.skuDataList||[]; let n=0; + rows.forEach((x,i)=>{ x.skcSupplierCode='SHEIN-TEST-'+(i+1); x.skcRetailPrice='12.90'; x.supplyPrice='8.50'; + x.stockVariety='999'; x.weight='100'; x.length='200'; x.width='150'; x.height='30'; n++; }); + const im=p._s.get('sheinImgStore').$state.formState; + im.mainImgData.multipleSpuImgs=${JSON.stringify(IMGS.map((u,i)=>({url:u,imgUrl:u,name:'img'+(i+1)+'.jpg',width:800,height:800})))}; + return JSON.stringify({rows:n, imgs:im.mainImgData.multipleSpuImgs.length, imgType:Array.isArray(im.mainImgData.multipleSpuImgs)?'array':typeof im.mainImgData.multipleSpuImgs});})()`); +console.log('填充:', r); +await wait(3500); +const chk = await c.evalJS(`(()=>{const it=[...document.querySelectorAll('*')].filter(e=>e.offsetParent!==null&&/图片/.test(e.innerText||'')&&e.querySelectorAll('img').length>0); + return JSON.stringify({domImgs:it.length?it[0].querySelectorAll('img').length:0});})()`); +console.log('UI 图片:', String(chk)); +await c.evalJS(`window.scrollTo(0,0)`); await wait(600); +const sv = await c.evalJS(`(()=>{const xs=[...document.querySelectorAll('button')].filter(e=>e.offsetParent!==null); + let x=xs.find(e=>/^\\s*保存\\s*$/.test((e.innerText||'').trim()))||xs.find(e=>/保存/.test(e.innerText||'')); + if(!x)return'nf'; for(const ev of ['mousedown','mouseup','click']) x.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return (x.innerText||'').trim();})()`); +console.log('保存按钮:', sv); +await wait(13000); +await c.evalJS(`(()=>{const ms=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null); + for(const m of ms){const b=[...m.querySelectorAll('button')].find(x=>/确定|确认/.test(x.innerText||'')); if(b)b.click();} return 1;})()`); +await wait(4000); +console.log('POST 请求:', JSON.stringify([...new Set(reqs)].slice(0,5))); +const red = await c.evalJS(`(()=>{const red=[]; document.querySelectorAll('*').forEach(el=>{ if(el.offsetParent===null||el.children.length)return; + const t=(el.innerText||'').trim(); if(!t||t.length>60)return; + const s=getComputedStyle(el); const m=(s.color||'').match(/rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)/); if(!m)return; + if(+m[1]>160&&+m[2]<140&&+m[3]<140) red.push(t); }); + const toasts=[...document.querySelectorAll('.ant-message-notice,.ant-notification-notice')].map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim()); + return JSON.stringify({red:[...new Set(red)].slice(0,10), toasts:[...new Set(toasts)].slice(0,3)});})()`); +console.log('红字/提示:', String(red).slice(0,600)); +process.exit(0); diff --git a/shein建品/shfinal.mjs b/shein建品/shfinal.mjs new file mode 100644 index 0000000..fef2fe8 --- /dev/null +++ b/shein建品/shfinal.mjs @@ -0,0 +1,38 @@ +import { attach } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/sheinProduct/add') || await attach('dianxiaomi.com'); +const reqs=[]; +c.on(m=>{ if(m.method==='Network.requestWillBeSent'){const r=m.params.request; + if(/shein/i.test(r.url)&&/\.json/.test(r.url)&&r.method==='POST') reqs.push(r.url.replace('https://www.dianxiaomi.com','')); }}); +await c.send('Network.enable').catch(()=>{}); +// 两个规格组各点一个 .sku-option +const r = await c.evalJS(`(()=>{const boxes=[...document.querySelectorAll('.sku-info-box')].filter(e=>e.offsetParent!==null); + const done=[]; + boxes.forEach((b,i)=>{ const opts=[...b.querySelectorAll('.sku-option')].filter(e=>e.offsetParent!==null); + if(!opts.length){done.push(i+':no-opt');return;} + const inp=opts[0].querySelector('input[type=checkbox]'); + if(inp&&inp.checked){done.push(i+':already');return;} + const lab=opts[0].querySelector('label')||opts[0]; + for(const ev of ['mousedown','mouseup','click']) lab.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); + if(inp&&!inp.checked) inp.click(); + done.push(i+':'+(opts[0].innerText||'').trim().slice(0,18)); }); + return done.join(' | ');})()`); +console.log('选规格值:', String(r)); +await wait(7000); +const st = await c.evalJS(`(()=>{const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const a=JSON.parse(JSON.stringify(p._s.get('sheinSkuAttrStore').$state)); + const d=JSON.parse(JSON.stringify(p._s.get('sheinSkuDataStore').$state)); + return JSON.stringify({attrs:(a.formState.skuAttrs||[]).map(x=>({n:x.name, chosen:(x.options||[]).length})), + skuRows:(d.formState.skuDataList||[]).length});})()`); +console.log('状态:', String(st)); +// 保存 +await c.evalJS(`window.scrollTo(0,0)`); await wait(600); +await c.evalJS(`(()=>{const x=[...document.querySelectorAll('button')].filter(e=>e.offsetParent!==null).find(e=>/^\\s*保存\\s*$/.test((e.innerText||'').trim())); + if(x) for(const ev of ['mousedown','mouseup','click']) x.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return 1;})()`); +await wait(12000); +const cap = await c.evalJS(`JSON.stringify(window.__cap||[])`); +console.log('捕获:', String(cap).slice(0,300)); +console.log('POST:', JSON.stringify([...new Set(reqs)].slice(0,3))); +const t = await c.evalJS(`JSON.stringify([...document.querySelectorAll('.ant-message-notice,.ant-notification-notice,.ant-modal')].filter(e=>e.offsetParent!==null).map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim().slice(0,130)).filter(Boolean).slice(0,3))`); +console.log('提示:', String(t).slice(0,400)); +process.exit(0); diff --git a/shein建品/shfinish.mjs b/shein建品/shfinish.mjs new file mode 100644 index 0000000..5fff4fe --- /dev/null +++ b/shein建品/shfinish.mjs @@ -0,0 +1,60 @@ +import { newTarget, CDP } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const SHOP='③shein-易捷天宇-美妆', CATKW='发夹'; +const tl = await (await fetch('http://127.0.0.1:9223/json/list')).json(); +for (const x of tl.filter(y=>y.type==='page'&&/shein/i.test(y.url))) await fetch(`http://127.0.0.1:9223/json/close/${x.id}`).catch(()=>{}); +await wait(900); +const nt = await newTarget('about:blank'); +const c = await CDP.connect(nt.webSocketDebuggerUrl); +await c.send('Page.enable'); await c.send('Runtime.enable'); +await c.send('Page.navigate',{url:'https://www.dianxiaomi.com/web/sheinProduct/add'}); +await wait(21000); +// 店铺 +const sp=JSON.parse(String(await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/店铺/.test(l.innerText||'');}); + const s=(it||document).querySelector('.ant-select-selector'); s.scrollIntoView({block:'center'}); + const r=s.getBoundingClientRect(); return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); +for(const t of ['mousePressed','mouseReleased']) await c.send('Input.dispatchMouseEvent',{type:t,x:sp[0],y:sp[1],button:'left',clickCount:1}); +await wait(2400); +await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop(); + const hit=[...dd.querySelectorAll('.ant-select-item-option')].find(o=>(o.innerText||'').trim()===${JSON.stringify(SHOP)}); + if(hit) for(const ev of ['mousedown','mouseup','click']) hit.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return 1;})()`); +await wait(8000); +// 类目 +const cp=JSON.parse(String(await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/产品分类/.test(l.innerText||'');}); + const s=it.querySelector('.ant-select-selector'); s.scrollIntoView({block:'center'}); + const r=s.getBoundingClientRect(); return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); +for(const t of ['mousePressed','mouseReleased']) await c.send('Input.dispatchMouseEvent',{type:t,x:cp[0],y:cp[1],button:'left',clickCount:1}); +await wait(3500); +console.log('类目:', String(await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop(); + if(!dd)return'no-dd'; const its=[...dd.querySelectorAll('.ant-select-item-option')]; + const hit=its.find(o=>new RegExp('^\\\\s*'+${JSON.stringify(CATKW)}).test((o.innerText||'').trim())); + if(!hit)return'no-hit'; for(const ev of ['mousedown','mouseup','click']) hit.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); + return (hit.innerText||'').trim();})()`))); +await wait(12000); +// 标题 +await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/产品标题/.test(l.innerText||'');}); + const el=it.querySelector('input:not([type=hidden])'); el.focus(); + Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,'value').set.call(el,'Test Hair Clip Set for Women Girls Daily Use Fashion Accessory'); + el.dispatchEvent(new Event('input',{bubbles:true})); el.dispatchEvent(new Event('change',{bubbles:true})); + const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + p._s.get('sheinAddProductStore').$state.formState.productName='Test Hair Clip Set for Women Girls Daily Use Fashion Accessory'; + return 1;})()`); +await wait(1500); +// 选主规格颜色(取第一个可选值)—— 先看控件结构 +const mg = await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/主规格/.test(l.innerText||'');}); + if(!it)return'nf'; + const sels=[...it.querySelectorAll('.ant-select')].map(s=>({txt:(s.innerText||'').replace(/\\s+/g,' ').slice(0,40), cls:String(s.className).slice(0,50)})); + const cbs=[...it.querySelectorAll('.ant-checkbox-wrapper,.ant-tag,[class*=tag]')].slice(0,6).map(e=>(e.innerText||'').trim().slice(0,16)); + return JSON.stringify({sels, cbs, html:it.innerHTML.slice(0,400)});})()`); +console.log('主规格控件:', String(mg).slice(0,800)); +// 图片字段测试:数组 vs 字符串 +const imgTest = await c.evalJS(`(()=>{const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const im=p._s.get('sheinImgStore').$state.formState; + const before=JSON.stringify(im).slice(0,120); + return JSON.stringify({before});})()`); +console.log('图片字段现状:', String(imgTest).slice(0,300)); +process.exit(0); diff --git a/shein建品/shmapshein.mjs b/shein建品/shmapshein.mjs new file mode 100644 index 0000000..86ee65a --- /dev/null +++ b/shein建品/shmapshein.mjs @@ -0,0 +1,50 @@ +import { newTarget, CDP } from '/tmp/cdp3.mjs'; +import fs from 'fs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const SHOP = process.argv[2] || '①Shein-武汉九个网-箱包'; +const tl = await (await fetch('http://127.0.0.1:9223/json/list')).json(); +for (const t of tl.filter(x=>x.type==='page'&&/shein/i.test(x.url))) await fetch(`http://127.0.0.1:9223/json/close/${t.id}`).catch(()=>{}); +await wait(1200); +const t = await newTarget('about:blank'); +const c = await CDP.connect(t.webSocketDebuggerUrl); +await c.send('Page.enable'); await c.send('Runtime.enable'); +await c.send('Page.navigate',{url:'https://www.dianxiaomi.com/web/sheinProduct/add'}); +await wait(22000); +// 选店铺 +const pos = JSON.parse(String(await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/店铺/.test(l.innerText||'');}); + const s=(it||document).querySelector('.ant-select-selector'); + if(!s)return'[]'; s.scrollIntoView({block:'center'}); const r=s.getBoundingClientRect(); + return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); +for (const type of ['mousePressed','mouseReleased']) await c.send('Input.dispatchMouseEvent',{type,x:pos[0],y:pos[1],button:'left',clickCount:1}); +await wait(2500); +const pk = await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop(); + if(!dd)return'no-dd'; const hit=[...dd.querySelectorAll('.ant-select-item-option')].find(o=>(o.innerText||'').trim()===${JSON.stringify(SHOP)}); + if(!hit)return'no-hit'; for(const ev of ['mousedown','mouseup','click']) hit.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return 'ok';})()`); +console.log('选店铺:', pk, SHOP); +await wait(9000); +const o = await c.evalJS(`(()=>{ + const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const stores=[...p._s.keys()].filter(k=>/shein/i.test(k)); + const items=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null).map(x=>{ + const l=x.querySelector('label'); const lab=l?(l.innerText||'').replace(/\\s+/g,' ').trim():''; + const req=!!x.querySelector('.ant-form-item-required'); + const inp=x.querySelector('input:not([type=hidden])'); const ta=x.querySelector('textarea'); const sel=x.querySelector('.ant-select-selection-item'); + return (req?'* ':' ')+lab.slice(0,26).padEnd(27)+'['+(ta?'ta':(sel?'select':(inp?'input':'-')))+'] '+(sel?sel.innerText.trim():(inp?inp.value:(ta?ta.value:''))).slice(0,26); + }).filter(x=>x.trim().length>4); + const dump={}; + for(const n of stores){ try{ const s=p._s.get(n).$state; const o2={}; + for(const k of Object.keys(s)){ const v=s[k]; + if(v===null||['string','number','boolean'].includes(typeof v)){ if(v!==''&&v!==null&&String(v).length<55) o2[k]=String(v); } + else if(v&&typeof v==='object'&&!Array.isArray(v)){ for(const k2 of Object.keys(v)){ const v2=v[k2]; + if(v2===null||['string','number','boolean'].includes(typeof v2)){ if(v2!==''&&v2!==null&&String(v2).length<45) o2[k+'.'+k2]=String(v2); } } } } + dump[n]=o2; }catch(e){ dump[n]='ERR'; } } + return JSON.stringify({stores, items, dump},null,1);})()`); +fs.writeFileSync('/tmp/shein_map.json', String(o)); +const j=JSON.parse(String(o)); +console.log('stores:', j.stores.join(', ')); +console.log('--- form ---'); j.items.forEach(x=>console.log(' '+x)); +console.log('--- store 关键字段 ---'); +for(const [n,v] of Object.entries(j.dump)){ const hit=Object.entries(v||{}).filter(([k])=>/shop|site|currency|cat|brand|price|weight/i.test(k)); + if(hit.length) console.log(' ##',n,hit.map(([k,val])=>k+'='+val).join(' | ').slice(0,320)); } +process.exit(0); diff --git a/shein建品/shopcap.mjs b/shein建品/shopcap.mjs new file mode 100644 index 0000000..bcc2986 --- /dev/null +++ b/shein建品/shopcap.mjs @@ -0,0 +1,27 @@ +import { newTarget, CDP, SAN } from '/tmp/cdp3.mjs'; +const t=await newTarget('about:blank'); +const c=await CDP.connect(t.webSocketDebuggerUrl); +await c.send('Page.enable'); await c.send('Runtime.enable'); await c.send('Network.enable'); +const caps=[]; +c.on(m=>{ if(m.method==='Network.requestWillBeSent' && /shop/i.test(m.params.request.url)) + caps.push({m:m.params.request.method,u:m.params.request.url.replace('https://www.dianxiaomi.com',''),p:String(m.params.request.postData||'').slice(0,150)}); }); +await c.send('Page.navigate',{url:'https://www.dianxiaomi.com/web/ozonProduct/draft'}); +await new Promise(r=>setTimeout(r,24000)); +for(let i=0;i<8;i++){ + const x=await c.evalJS(`(()=>{const v=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null); + if(!v.length)return'n'; const b=v[0].querySelector('.ant-modal-close'); if(b){b.click();return'c';} return's';})()`); + if(x==='n'){await new Promise(z=>setTimeout(z,900));continue;} if(x==='s')break; + await new Promise(z=>setTimeout(z,1200)); +} +console.log(' ══ 含 shop 的接口 ══'); +[...new Set(caps.map(x=>x.m+' '+x.u))].slice(0,10).forEach(x=>console.log(' '+x)); +// 直接调最可能的那个拿映射 +const r=await c.evalJS(`(async()=>{ + const u=( ${JSON.stringify(caps.map(x=>x.u).filter(x=>/shop/i.test(x)))} )[0]; + if(!u) return 'no-url'; + const res=await fetch(u,{headers:{'X-Requested-With':'XMLHttpRequest'}}); + const tx=await res.text(); + return u+' -> '+tx.slice(0,900);})()`, true); +console.log('\n ══ 店铺列表内容 ══'); +console.log(' '+SAN(String(r)).slice(0,900)); +c.close(); diff --git a/shein建品/shoplist.mjs b/shein建品/shoplist.mjs new file mode 100644 index 0000000..5109cf3 --- /dev/null +++ b/shein建品/shoplist.mjs @@ -0,0 +1,45 @@ +import { newTarget, CDP } from '/tmp/cdp3.mjs'; +import fs from 'fs'; +const URLX = process.argv[2]; +const TAG = process.argv[3] || 'x'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const tl = await (await fetch('http://127.0.0.1:9223/json/list')).json(); +for (const t of tl.filter(x => x.type==='page' && x.url.includes(TAG))) await fetch(`http://127.0.0.1:9223/json/close/${t.id}`).catch(()=>{}); +await wait(1000); +const t = await newTarget('about:blank'); +const c = await CDP.connect(t.webSocketDebuggerUrl); +await c.send('Page.enable'); await c.send('Runtime.enable'); +await c.send('Page.navigate',{url:URLX}); +await wait(22000); +console.log('URL:', await c.evalJS('location.href')); +const loc = await c.evalJS(`(()=>{ + const items=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null); + for(let i=0;ie.offsetParent!==null)[0]; + if(!s) return 'no-select'; const r=s.getBoundingClientRect(); + return JSON.stringify({i:-1, label:'(第一个)', x:Math.round(r.x+r.width/2), y:Math.round(r.y+r.height/2), cur:''});})()`); +console.log('店铺选择器:', loc); +const L = JSON.parse(String(loc)); +if (L.x) { + for (const type of ['mousePressed','mouseReleased']) await c.send('Input.dispatchMouseEvent',{type,x:L.x,y:L.y,button:'left',clickCount:1}); + await wait(2500); + const all = new Set(); + for (let i=0;i<20;i++){ + const got = await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null); + if(!dd.length)return'[]'; const d=dd[dd.length-1]; + return JSON.stringify([...d.querySelectorAll('.ant-select-item-option')].map(e=>(e.innerText||'').trim()).filter(Boolean));})()`); + const arr=JSON.parse(String(got)); const before=all.size; arr.forEach(x=>all.add(x)); + await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null); + if(!dd.length)return 0; const d=dd[dd.length-1]; + const rc=d.querySelector('.rc-virtual-list-holder')||d; rc.scrollTop=rc.scrollTop+800; return rc.scrollTop;})()`); + await wait(700); + if (all.size===before && i>2) break; + } + const list=[...all]; + fs.writeFileSync('/tmp/shops_'+TAG+'.json', JSON.stringify(list,null,1)); + console.log('店铺数:', list.length); + list.sort((a,b)=>a.localeCompare(b)); + list.forEach((n,i)=>console.log(' '+String(i+1).padStart(2)+'. '+n)); +} +process.exit(0); diff --git a/shein建品/shopmap.mjs b/shein建品/shopmap.mjs new file mode 100644 index 0000000..150d786 --- /dev/null +++ b/shein建品/shopmap.mjs @@ -0,0 +1,32 @@ +import { CDP, SAN } from '/tmp/cdp3.mjs'; +const list=await (await fetch('http://127.0.0.1:9223/json/list')).json(); +const t=list.find(x=>x.type==='page'&&/dianxiaomi/.test(x.url)); +if(!t){console.log(' ❌');process.exit(0);} +const c=await CDP.connect(t.webSocketDebuggerUrl); +await c.send('Runtime.enable'); +const r=await c.evalJS(`(async()=>{ + const out=[]; + const cands=[['/api/ozonProduct/getShop.json','GET'],['/api/shop/getShopList.json','GET'], + ['/api/ozonProduct/shopList.json','GET'],['/api/ozonProduct/getAuthShopList.json','GET'], + ['/api/shop/list.json','GET'],['/api/ozonProduct/getShopList.json','POST']]; + for(const [u,m] of cands){ + try{ + const res=await Promise.race([ + fetch(u, m==='POST'?{method:'POST',headers:{'Content-Type':'application/x-www-form-urlencoded','X-Requested-With':'XMLHttpRequest'},body:''} + :{headers:{'X-Requested-With':'XMLHttpRequest'}}), + new Promise((_,rj)=>setTimeout(()=>rj(new Error('to')),10000))]); + const tx=await res.text(); + if(res.status===200 && !tx.includes(' '+tx.slice(0,420)); + }catch(e){} + } + return JSON.stringify(out);})()`, true); +const arr=JSON.parse(r); +if(!arr.length) console.log(' 店铺接口都没找到'); +arr.forEach(x=>console.log(' ★ '+SAN(x).slice(0,420))); +// 直接在页面上找店铺下拉里的映射 +const dom=await c.evalJS(`(()=>{ + const txt=document.body.innerText; + const i=txt.indexOf('Yejet'); + return JSON.stringify({has:txt.includes('Yejet'), around:i>=0?txt.slice(Math.max(0,i-60),i+60).replace(/\\n/g,' | '):''});})()`); +console.log('\n 页面含 Yejet:', SAN(dom).slice(0,220)); +c.close(); diff --git a/shein建品/shopmap2.mjs b/shein建品/shopmap2.mjs new file mode 100644 index 0000000..bb9ec32 --- /dev/null +++ b/shein建品/shopmap2.mjs @@ -0,0 +1,21 @@ +import { CDP, SAN } from '/tmp/cdp3.mjs'; +const list=await (await fetch('http://127.0.0.1:9223/json/list')).json(); +const t=list.find(x=>x.type==='page'&&/dianxiaomi/.test(x.url)); +if(!t){console.log(' ❌');process.exit(0);} +const c=await CDP.connect(t.webSocketDebuggerUrl); +await c.send('Runtime.enable'); +const r=await c.evalJS(`(async()=>{ + const out={}; + // userIn 里通常带店铺 + try{ const res=await fetch('/api/userIn.json',{headers:{'X-Requested-With':'XMLHttpRequest'}}); + const tx=await res.text(); out.userIn=tx.slice(0,1200); }catch(e){ out.userIn='ERR'; } + // 页面上是否嵌了 shop 映射 + out.htmlHas4248777 = document.documentElement.innerHTML.includes('4248777'); + const m=document.documentElement.innerHTML.match(/.{0,80}4248777.{0,120}/g); + out.ctx = m? m.slice(0,3).map(x=>x.replace(/\\s+/g,' ')) : []; + return JSON.stringify(out);})()`, true); +const d=JSON.parse(r); +console.log(' userIn 片段:', SAN(String(d.userIn)).slice(0,600)); +console.log('\n HTML 含 4248777:', d.htmlHas4248777); +(d.ctx||[]).forEach(x=>console.log(' 上下文: '+SAN(String(x)).slice(0,190))); +c.close(); diff --git a/shein建品/shopmap3.mjs b/shein建品/shopmap3.mjs new file mode 100644 index 0000000..63e2821 --- /dev/null +++ b/shein建品/shopmap3.mjs @@ -0,0 +1,18 @@ +import { CDP, SAN } from '/tmp/cdp3.mjs'; +const list=await (await fetch('http://127.0.0.1:9223/json/list')).json(); +const t=list.find(x=>x.type==='page'&&/dianxiaomi/.test(x.url)); +if(!t){console.log(' ❌');process.exit(0);} +const c=await CDP.connect(t.webSocketDebuggerUrl); +await c.send('Runtime.enable'); +const r=await c.evalJS(`(async()=>{ + const j=await (await fetch('/api/userIn.json',{headers:{'X-Requested-With':'XMLHttpRequest'}})).json(); + const sm=(j.data||{}).shopMap||{}; + const rows=Object.keys(sm).map(k=>({id:k, name:String(sm[k].name||''), plat:String(sm[k].platform||sm[k].site||'')})); + const target=rows.find(x=>x.id==='4248777'); + return JSON.stringify({n:rows.length, target, yejet:rows.filter(x=>/yejet/i.test(x.name)).slice(0,8)});})()`, true); +const d=JSON.parse(r); +console.log(' shopMap 共', d.n, '个店铺'); +console.log(' ══ shopId=4248777 是 ══'); +console.log(' ', SAN(JSON.stringify(d.target)).slice(0,220)); +console.log('\n 名称含 yejet 的店铺:', SAN(JSON.stringify(d.yejet)).slice(0,300)); +c.close(); diff --git a/shein建品/shops.mjs b/shein建品/shops.mjs new file mode 100644 index 0000000..5842879 --- /dev/null +++ b/shein建品/shops.mjs @@ -0,0 +1,40 @@ +import { attach, SAN } from '/tmp/cdp3.mjs'; +const c = await attach('/web/ozonProduct/draft') || await attach('dianxiaomi.com'); +if(!c){ console.log('✗ 无页面'); process.exit(1); } +await c.send('Runtime.enable'); +const r = await c.evalJS(`(async()=>{ + const rr = await fetch('/api/userInfo.json?_t='+Date.now(), {headers:{'X-Requested-With':'XMLHttpRequest'}}); + const tx = await rr.text(); + if(!tx.startsWith('{')) return JSON.stringify({err:'notjson', head:tx.slice(0,120)}); + const j = JSON.parse(tx); const d = j.data||{}; + const out = { topKeys: Object.keys(d) }; + // shopMap 结构 + const sm = d.shopMap || d.shops || {}; + out.shopMapType = Array.isArray(sm)?'array':typeof sm; + if (Array.isArray(sm)) { + out.shops = sm.map(s=>({id:s.id, idStr:s.idStr, name:s.name||s.shopName, platform:s.platform||s.platformName, site:s.site})); + } else { + out.shopMapKeys = Object.keys(sm).slice(0,40); + out.shops = []; + for (const [k,v] of Object.entries(sm)) { + if (Array.isArray(v)) v.forEach(s=>out.shops.push({platform:k, id:s.id, idStr:s.idStr, name:s.name||s.shopName, site:s.site})); + else if (v && typeof v === 'object') out.shops.push({platform:k, id:v.id, idStr:v.idStr, name:v.name||v.shopName}); + } + } + // 平台列表 + out.platformList = d.platformList || d.platforms || d.shopPlatformList || null; + return JSON.stringify(out); +})()`, true); +try{ + const d = JSON.parse(String(r)); + if (d.err) { console.log(' ✗', d.err, d.head); process.exit(0); } + console.log(' userInfo 顶层字段:', (d.topKeys||[]).join(', ').slice(0,300)); + console.log(' shopMap 类型:', d.shopMapType); + if (d.shopMapKeys) console.log(' shopMap 键(平台):', d.shopMapKeys.join(', ')); + console.log(); + console.log(' ── 全部店铺 ──'); + (d.shops||[]).forEach(s=>console.log(' ', String(s.platform).padEnd(16), 'id='+String(s.id||s.idStr).padEnd(12), s.name||'')); + if (d.platformList) console.log(); + if (d.platformList) console.log(' platformList:', SAN(JSON.stringify(d.platformList)).slice(0,400)); +}catch(e){ console.log('err', e.message, SAN(String(r)).slice(0,600)); } +c.close(); diff --git a/shein建品/shops2.mjs b/shein建品/shops2.mjs new file mode 100644 index 0000000..57cea4f --- /dev/null +++ b/shein建品/shops2.mjs @@ -0,0 +1,43 @@ +import { attach, SAN } from '/tmp/cdp3.mjs'; +const c = await attach('/web/ozonProduct/draft') || await attach('dianxiaomi.com'); +await c.send('Runtime.enable'); +const r = await c.evalJS(`(async()=>{ + const rr = await fetch('/api/userInfo.json?_t='+Date.now(), {headers:{'X-Requested-With':'XMLHttpRequest'}}); + const d = JSON.parse(await rr.text()).data; + const out = {}; + // shopMap 一个条目的完整结构 + const sm = d.shopMap||{}; + const firstKey = Object.keys(sm)[0]; + out.shopMapSample = JSON.stringify(sm[firstKey]).slice(0, 400); + // shopSmtTypeMap + out.smtTypeMap = JSON.stringify(d.shopSmtTypeMap||{}).slice(0, 400); + out.smtShopId = String(d.smtShopId); + out.shopId = String(d.shopId); + // platformPermission + out.platformPermission = JSON.stringify(d.platformPermission||{}).slice(0, 500); + // shopDataMap + const sdm = d.shopDataMap||{}; + const k2 = Object.keys(sdm)[0]; + out.shopDataMapSample = k2? (k2+' => '+JSON.stringify(sdm[k2]).slice(0,300)) : '(空)'; + // 按 platform 归类 + const byPlat = {}; + for (const [k,v] of Object.entries(sm)) { + const p = (v&&(v.platform||v.platformName||v.type))||'?'; + (byPlat[p]=byPlat[p]||[]).push((v&&(v.name||v.shopName))||k); + } + out.byPlatform = byPlat; + return JSON.stringify(out); +})()`, true); +try{ + const d = JSON.parse(String(r)); + console.log(' smtShopId:', d.smtShopId, '| shopId:', d.shopId); + console.log(); + console.log(' shopMap 条目结构:'); console.log(' ', SAN(d.shopMapSample).slice(0,380)); + console.log(' shopDataMap 样例:'); console.log(' ', SAN(d.shopDataMapSample).slice(0,300)); + console.log(' shopSmtTypeMap:'); console.log(' ', SAN(d.smtTypeMap).slice(0,380)); + console.log(' platformPermission:'); console.log(' ', SAN(d.platformPermission).slice(0,480)); + console.log(); + console.log(' ── 按平台归类 ──'); + for (const [p, arr] of Object.entries(d.byPlatform||{})) console.log(' ' + p + ' (' + arr.length + '): ' + arr.slice(0,8).join(', ')); +}catch(e){ console.log('err', e.message, SAN(String(r)).slice(0,700)); } +c.close(); diff --git a/shein建品/shops_shein.json b/shein建品/shops_shein.json new file mode 100644 index 0000000..d7ef770 --- /dev/null +++ b/shein建品/shops_shein.json @@ -0,0 +1,13 @@ +[ + "⑧Shein-易世通达-文具", + "⑦shein-易捷天宇-家居", + "⑩Shein-南京九个网-美妆", + "⑨Shein-南京亿千-运动", + "③shein-易捷天宇-美妆", + "⑤Shein-惠州九衢-内睡(袜子)", + "④Shein-武汉玖璨-家居", + "⑥Shein-南京亿千-文具", + "①Shein-武汉九个网-箱包", + "②Shein-易世通达-箱包", + "⑪-南京九个网-家居" +] \ No newline at end of file diff --git a/shein建品/shops_temu.json b/shein建品/shops_temu.json new file mode 100644 index 0000000..9fc86e4 --- /dev/null +++ b/shein建品/shops_temu.json @@ -0,0 +1,17 @@ +[ + "①Alimingpro", + "②ALuckycao", + "③Bagbelle", + "④Caoup", + "⑤Bookinq", + "⑥Wxzgz", + "⑦Zdcjl", + "⑧Ewhe", + "⑨wowimartq", + "⑩JoyJumbe", + "⑪ Chugupi", + "⑫Qapple", + "⑬Wbalana", + "⑮Tapeach", + "⑭HoHaven" +] \ No newline at end of file diff --git a/shein建品/shopt.mjs b/shein建品/shopt.mjs new file mode 100644 index 0000000..3f67d13 --- /dev/null +++ b/shein建品/shopt.mjs @@ -0,0 +1,12 @@ +import { attach } from '/tmp/cdp3.mjs'; +const c = await attach('/web/sheinProduct/add') || await attach('dianxiaomi.com'); +const o = await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/主规格/.test(l.innerText||'');}); + if(!it)return'nf'; const box=it.querySelector('.sku-info-box')||it; + const first=[...box.querySelectorAll('.sku-option')].filter(e=>e.offsetParent!==null)[0]; + if(!first)return'no-opt'; + return JSON.stringify({outer:first.outerHTML.slice(0,600), + parentCls:String(first.parentElement.className||'').slice(0,60), + sibCount:first.parentElement.children.length});})()`); +console.log(String(o).slice(0,900)); +process.exit(0); diff --git a/shein建品/shortlist.mjs b/shein建品/shortlist.mjs new file mode 100644 index 0000000..a983d12 --- /dev/null +++ b/shein建品/shortlist.mjs @@ -0,0 +1,31 @@ +import { attach, SAN } from '/tmp/cdp3.mjs'; +import fs from 'fs'; +const all=JSON.parse(fs.readFileSync('/tmp/all48.json','utf8')); +const wm=JSON.parse(fs.readFileSync('/tmp/wm_verdicts.json','utf8')); +const clean=JSON.parse(fs.readFileSync('/tmp/wm_clean.json','utf8')); +const SHORT=['1027332215847','601964534137','750271307455']; +const c=await attach('/web/smt/smtProductList/draft')||await attach('dianxiaomi.com'); +await c.send('Runtime.enable'); +for(const oid of SHORT){ + const info=all[oid]; + const raw=await c.evalJS(`(async()=>{ + const rr=await fetch('/api/ozonProduct/add.json?id=${info.pid}&_t='+Date.now(),{headers:{'X-Requested-With':'XMLHttpRequest'}}); + const tx=await rr.text(); if(!tx.startsWith('{'))return'{}'; + const p=JSON.parse(tx).data.product; + const s=new Set(); if(p.mainImage) s.add(p.mainImage); + (p.extraImages||'').split(';').filter(Boolean).forEach(u=>s.add(u)); + return JSON.stringify({name:(p.name||'').slice(0,40), main:p.mainImage, urls:[...s]}); + })()`,true); + const d=JSON.parse(String(raw)); + console.log('\n ════ '+oid+' ════'); + console.log(' '+d.name); + console.log(' 干净图: '+(clean[oid]||[]).length+' 张'); + console.log(' ── 全部候选图的判定 ──'); + (d.urls||[]).slice(0,18).forEach((u,i)=>{ + const v=wm[u]; + const tag = !v ? '?' : (v.err? '✗'+v.err : (v.wm||v.contact? '⚠水印':'✅干净')); + const txt = v && (v.text||v.reason) ? (' | '+String(v.text||v.reason).slice(0,50)) : ''; + console.log(` [${i}] ${tag.padEnd(8)} ${u.split('/').pop().split('_')[0].slice(0,26)}${txt}`); + }); +} +c.close(); diff --git a/shein建品/shpick.mjs b/shein建品/shpick.mjs new file mode 100644 index 0000000..d837b0a --- /dev/null +++ b/shein建品/shpick.mjs @@ -0,0 +1,24 @@ +import { attach } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/sheinProduct/add') || await attach('dianxiaomi.com'); +const pick = await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/主规格/.test(l.innerText||'');}); + if(!it)return'nf'; const box=it.querySelector('.sku-info-box')||it; + const opts=[...box.querySelectorAll('.sku-option')].filter(e=>e.offsetParent!==null); + const hit=opts.find(e=>/Multicolor|Black\\(/.test(e.innerText||''))||opts[0]; + if(!hit)return'no-opt'; + for(const ev of ['mousedown','mouseup','click']) hit.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); + return 'picked:'+(hit.innerText||'').trim();})()`); +console.log('选色:', pick); +await wait(6000); +const o = await c.evalJS(`(()=>{ + const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const tbls=[...document.querySelectorAll('table')].filter(t=>t.offsetParent!==null).map(t=>({ + th:[...t.querySelectorAll('th')].map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim()).slice(0,15), + rows:[...t.querySelectorAll('tbody tr')].filter(x=>x.querySelectorAll('input').length).length})); + const d=JSON.parse(JSON.stringify(p._s.get('sheinSkuDataStore').$state)); + const a=JSON.parse(JSON.stringify(p._s.get('sheinSkuAttrStore').$state)); + return JSON.stringify({tbls, n:(d.formState.skuDataList||[]).length, row0:(d.formState.skuDataList||[])[0], + chosen:(a.formState.skuAttrs||[]).map(x=>({name:x.name, vals:(x.attributeValues||[]).map(v=>v.attribute_value||v) }))},null,1);})()`); +console.log(String(o).slice(0,1900)); +process.exit(0); diff --git a/shein建品/shsave2.mjs b/shein建品/shsave2.mjs new file mode 100644 index 0000000..579c37e --- /dev/null +++ b/shein建品/shsave2.mjs @@ -0,0 +1,53 @@ +import { attach } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/sheinProduct/add') || await attach('dianxiaomi.com'); +const reqs=[]; +c.on(m=>{ if(m.method==='Network.requestWillBeSent'){const r=m.params.request; + if(/shein/i.test(r.url)&&/\.json/.test(r.url)&&r.method==='POST') reqs.push(r.url.replace('https://www.dianxiaomi.com','')); }}); +await c.send('Network.enable').catch(()=>{}); +// 重填 SKU 行 +const r = await c.evalJS(`(()=>{const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const d=p._s.get('sheinSkuDataStore').$state.formState; + const rows=d.skuDataList||[]; let n=0; + rows.forEach((x,i)=>{ x.skcSupplierCode='SHEIN-'+String(i+1).padStart(3,'0'); x.skcRetailPrice='12.90'; + x.supplyPrice='8.50'; x.stockVariety='999'; x.weight='100'; x.length='200'; x.width='150'; x.height='30'; n++; }); + return 'rows:'+n;})()`); +console.log('重填 SKU:', r); +await wait(2500); +// 重填尺码表(走弹窗) +await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/尺码表/.test(l.innerText||'');}); + if(!it)return 0; const el=it.querySelector('.link')||it.querySelector('a,span'); if(!el)return 0; + el.scrollIntoView({block:'center'}); + for(const ev of ['mousedown','mouseup','click']) el.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return 1;})()`); +await wait(5000); +const f = await c.evalJS(`(()=>{const m=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null).pop(); + if(!m)return'no-modal'; const ins=[...m.querySelectorAll('input')].filter(i=>i.offsetParent!==null&&i.placeholder==='请输入'); + const vals=['10','18','3','2','18','5']; let n=0; + ins.forEach((el,i)=>{ if(i>=vals.length)return; el.focus(); + Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,'value').set.call(el,vals[i]); + el.dispatchEvent(new Event('input',{bubbles:true})); el.dispatchEvent(new Event('change',{bubbles:true})); el.dispatchEvent(new Event('blur',{bubbles:true})); n++; }); + return 'filled:'+n;})()`); +console.log('尺码表:', f); +await wait(1200); +await c.evalJS(`(()=>{const m=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null).pop(); + if(m){const b=[...m.querySelectorAll('button')].find(x=>/^\\s*确定\\s*$/.test(x.innerText||'')); if(b) for(const ev of ['mousedown','mouseup','click']) b.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window}));} return 1;})()`); +await wait(4000); +// 重填图片(可能也被清了) +await c.evalJS(`(()=>{const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const im=p._s.get('sheinImgStore').$state.formState; + const cur=im.mainImgData.multipleSpuImgs; + const urls=${JSON.stringify(['https://cbu01.alicdn.com/img/ibank/O1CN01IHtNAHKMzNC1chua_!!2222444614399-0-cib.jpg','https://cbu01.alicdn.com/img/ibank/O1CN01UGEWafTzqTH1chua_!!2222444614399-0-cib.jpg','https://cbu01.alicdn.com/img/ibank/O1CN01d0hA4N72jzD1chua_!!2222444614399-0-cib.jpg','https://cbu01.alicdn.com/img/ibank/O1CN01edgGxIlmdtJ1chua_!!2222444614399-0-cib.jpg'])}; + if(!Array.isArray(cur)||cur.length<4){ im.mainImgData.multipleSpuImgs=urls.map((u,i)=>({url:u,imgUrl:u,name:'img'+(i+1)+'.jpg',width:800,height:800})); } + return 'imgs:'+(Array.isArray(im.mainImgData.multipleSpuImgs)?im.mainImgData.multipleSpuImgs.length:'?');})()`); +await wait(2500); +// 保存 +await c.evalJS(`window.scrollTo(0,0)`); await wait(600); +await c.evalJS(`(()=>{const x=[...document.querySelectorAll('button')].filter(e=>e.offsetParent!==null).find(e=>/^\\s*保存\\s*$/.test((e.innerText||'').trim())); + if(x) for(const ev of ['mousedown','mouseup','click']) x.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return 1;})()`); +await wait(12000); +console.log('捕获:', String(await c.evalJS(`JSON.stringify(window.__cap||[])`)).slice(0,300)); +console.log('POST:', JSON.stringify([...new Set(reqs)].slice(0,3))); +const t = await c.evalJS(`JSON.stringify([...document.querySelectorAll('.ant-message-notice,.ant-notification-notice,.ant-modal')].filter(e=>e.offsetParent!==null).map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim().slice(0,130)).filter(Boolean).slice(0,3))`); +console.log('提示:', String(t).slice(0,400)); +process.exit(0); diff --git a/shein建品/shscope.mjs b/shein建品/shscope.mjs new file mode 100644 index 0000000..b3318cb --- /dev/null +++ b/shein建品/shscope.mjs @@ -0,0 +1,35 @@ +import { newTarget, CDP } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const SHOP = process.argv[2]; +const tl = await (await fetch('http://127.0.0.1:9223/json/list')).json(); +for (const t of tl.filter(x=>x.type==='page'&&/shein/i.test(x.url))) await fetch(`http://127.0.0.1:9223/json/close/${t.id}`).catch(()=>{}); +await wait(1000); +const t = await newTarget('about:blank'); +const c = await CDP.connect(t.webSocketDebuggerUrl); +await c.send('Page.enable'); await c.send('Runtime.enable'); +await c.send('Page.navigate',{url:'https://www.dianxiaomi.com/web/sheinProduct/add'}); +await wait(21000); +const pos = JSON.parse(String(await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/店铺/.test(l.innerText||'');}); + const s=(it||document).querySelector('.ant-select-selector'); s.scrollIntoView({block:'center'}); + const r=s.getBoundingClientRect(); return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); +for (const type of ['mousePressed','mouseReleased']) await c.send('Input.dispatchMouseEvent',{type,x:pos[0],y:pos[1],button:'left',clickCount:1}); +await wait(2500); +await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop(); + const hit=[...dd.querySelectorAll('.ant-select-item-option')].find(o=>(o.innerText||'').trim()===${JSON.stringify(SHOP)}); + if(hit) for(const ev of ['mousedown','mouseup','click']) hit.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return 1;})()`); +await wait(8000); +// 开分类下拉 +const cp = JSON.parse(String(await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/产品分类/.test(l.innerText||'');}); + const s=it.querySelector('.ant-select-selector'); s.scrollIntoView({block:'center'}); + const r=s.getBoundingClientRect(); return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); +for (const type of ['mousePressed','mouseReleased']) await c.send('Input.dispatchMouseEvent',{type,x:cp[0],y:cp[1],button:'left',clickCount:1}); +await wait(3500); +const o = await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop(); + if(!dd)return'no-dd'; + const opts=[...dd.querySelectorAll('.ant-select-item-option')].map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim()); + return JSON.stringify({n:opts.length, opts:opts.slice(0,26)});})()`); +console.log('════', SHOP); +console.log(String(o).slice(0,1100)); +process.exit(0); diff --git a/shein建品/shsize.mjs b/shein建品/shsize.mjs new file mode 100644 index 0000000..a050e72 --- /dev/null +++ b/shein建品/shsize.mjs @@ -0,0 +1,21 @@ +import { attach } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/sheinProduct/add') || await attach('dianxiaomi.com'); +const pos = JSON.parse(String(await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/尺码表/.test(l.innerText||'');}); + if(!it)return'[]'; const el=it.querySelector('.link')||it.querySelector('a,span'); + if(!el)return'[]'; el.scrollIntoView({block:'center'}); const r=el.getBoundingClientRect(); + return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); +console.log('编辑尺码表坐标:', JSON.stringify(pos)); +if(pos.length){ for(const type of ['mousePressed','mouseReleased']) await c.send('Input.dispatchMouseEvent',{type,x:pos[0],y:pos[1],button:'left',clickCount:1}); } +await wait(6000); +const o = await c.evalJS(`(()=>{ + const ms=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null).map(m=>({t:(m.querySelector('.ant-modal-title')||{}).innerText||'', + inputs:[...m.querySelectorAll('input')].map(i=>i.placeholder||i.type).slice(0,8), + btns:[...m.querySelectorAll('button')].map(b=>(b.innerText||'').trim()).slice(0,8), + txt:(m.innerText||'').replace(/\\s+/g,' ').slice(0,320)})); + const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + let sz=null; try{ sz=JSON.stringify(p._s.get('sheinSkuAttrStore').$state.formState.sizeTableInfo).slice(0,200);}catch(e){} + return JSON.stringify({modals:ms, sizeTableInfo:sz},null,1);})()`); +console.log(String(o).slice(0,1400)); +process.exit(0); diff --git a/shein建品/shsize2.mjs b/shein建品/shsize2.mjs new file mode 100644 index 0000000..6a89661 --- /dev/null +++ b/shein建品/shsize2.mjs @@ -0,0 +1,18 @@ +import { attach } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/sheinProduct/add') || await attach('dianxiaomi.com'); +// 打开尺码表弹窗 +const pos = JSON.parse(String(await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/尺码表/.test(l.innerText||'');}); + if(!it)return'[]'; const el=it.querySelector('.link')||it.querySelector('a,span'); if(!el)return'[]'; + el.scrollIntoView({block:'center'}); const r=el.getBoundingClientRect(); + return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); +if(pos.length){ for(const t of ['mousePressed','mouseReleased']) await c.send('Input.dispatchMouseEvent',{type:t,x:pos[0],y:pos[1],button:'left',clickCount:1}); } +await wait(6000); +const o = await c.evalJS(`(()=>{const m=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null).pop(); + if(!m)return'no-modal'; + const rows=[...m.querySelectorAll('tr')].slice(0,10).map(tr=>[...tr.querySelectorAll('td,th')].map(td=>{ + const i=td.querySelector('input'); return i?('IN:'+(i.placeholder||i.value||'')):(td.innerText||'').replace(/\\s+/g,' ').trim().slice(0,18);})); + return JSON.stringify({title:(m.querySelector('.ant-modal-title')||{}).innerText||'', rows, btns:[...m.querySelectorAll('button')].map(b=>(b.innerText||'').trim()).slice(0,10)},null,1);})()`); +console.log(String(o).slice(0,1500)); +process.exit(0); diff --git a/shein建品/shsize3.mjs b/shein建品/shsize3.mjs new file mode 100644 index 0000000..575fcdd --- /dev/null +++ b/shein建品/shsize3.mjs @@ -0,0 +1,47 @@ +import { attach } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/sheinProduct/add') || await attach('dianxiaomi.com'); +const reqs=[]; +c.on(m=>{ if(m.method==='Network.requestWillBeSent'){const r=m.params.request; + if(/shein/i.test(r.url)&&/\.json/.test(r.url)&&r.method==='POST') reqs.push(r.url.replace('https://www.dianxiaomi.com','')); }}); +await c.send('Network.enable').catch(()=>{}); +// 填 6 格 +const f = await c.evalJS(`(()=>{const m=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null).pop(); + if(!m)return'no-modal'; const ins=[...m.querySelectorAll('input')].filter(i=>i.offsetParent!==null); + const vals=['10','18','3','2','18','5']; let n=0; + ins.forEach((el,i)=>{ if(i>=vals.length)return; + el.focus(); Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,'value').set.call(el, vals[i]); + el.dispatchEvent(new Event('input',{bubbles:true})); el.dispatchEvent(new Event('change',{bubbles:true})); + el.dispatchEvent(new Event('blur',{bubbles:true})); n++; }); + return 'filled:'+n+'/'+ins.length;})()`); +console.log('填尺码表:', f); +await wait(1500); +// 确定 +await c.evalJS(`(()=>{const m=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null).pop(); + if(!m)return 0; const b=[...m.querySelectorAll('button')].find(x=>/^\\s*确定\\s*$/.test(x.innerText||'')); + if(b) for(const ev of ['mousedown','mouseup','click']) b.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return 1;})()`); +await wait(5000); +const st = await c.evalJS(`(()=>{const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const a=p._s.get('sheinSkuAttrStore').$state.formState; + const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/尺码表/.test(l.innerText||'');}); + return JSON.stringify({sizeTableInfo:String(JSON.stringify(a.sizeTableInfo)).slice(0,200), ui:(it?it.innerText:'').replace(/\\s+/g,' ').slice(0,60)});})()`); +console.log('尺码表状态:', String(st).slice(0,300)); +// 保存 +await c.evalJS(`window.scrollTo(0,0)`); await wait(600); +await c.evalJS(`(()=>{const xs=[...document.querySelectorAll('button')].filter(e=>e.offsetParent!==null); + const x=xs.find(e=>/^\\s*保存\\s*$/.test((e.innerText||'').trim())); if(!x)return 0; + for(const ev of ['mousedown','mouseup','click']) x.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return 1;})()`); +await wait(14000); +await c.evalJS(`(()=>{const ms=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null); + for(const m of ms){const b=[...m.querySelectorAll('button')].find(x=>/确定|确认|继续编辑/.test(x.innerText||'')); if(b)b.click();} return 1;})()`); +await wait(4000); +console.log('POST:', JSON.stringify([...new Set(reqs)].slice(0,4))); +const red = await c.evalJS(`(()=>{const red=[]; document.querySelectorAll('*').forEach(el=>{ if(el.offsetParent===null||el.children.length)return; + const t=(el.innerText||'').trim(); if(!t||t.length>60)return; + const s=getComputedStyle(el); const m=(s.color||'').match(/rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)/); if(!m)return; + if(+m[1]>160&&+m[2]<140&&+m[3]<140) red.push(t); }); + const toasts=[...document.querySelectorAll('.ant-message-notice,.ant-notification-notice,.ant-modal')].map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim()).filter(Boolean); + return JSON.stringify({red:[...new Set(red)].slice(0,10), toasts:[...new Set(toasts)].slice(0,3)});})()`); +console.log('红字/提示:', String(red).slice(0,600)); +process.exit(0); diff --git a/shein建品/shsize4.mjs b/shein建品/shsize4.mjs new file mode 100644 index 0000000..856ae4c --- /dev/null +++ b/shein建品/shsize4.mjs @@ -0,0 +1,38 @@ +import { attach } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/sheinProduct/add') || await attach('dianxiaomi.com'); +const reqs=[]; +c.on(m=>{ if(m.method==='Network.requestWillBeSent'){const r=m.params.request; + if(/shein/i.test(r.url)&&/\.json/.test(r.url)&&r.method==='POST') reqs.push(r.url.replace('https://www.dianxiaomi.com','')); }}); +await c.send('Network.enable').catch(()=>{}); +const f = await c.evalJS(`(()=>{const m=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null).pop(); + if(!m)return'no-modal'; + const ins=[...m.querySelectorAll('input')].filter(i=>i.offsetParent!==null&&i.placeholder==='请输入'); + const vals=['10','18','3','2','18','5']; let n=0; + ins.forEach((el,i)=>{ if(i>=vals.length)return; + el.focus(); Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,'value').set.call(el, vals[i]); + el.dispatchEvent(new Event('input',{bubbles:true})); el.dispatchEvent(new Event('change',{bubbles:true})); + el.dispatchEvent(new Event('blur',{bubbles:true})); n++; }); + return 'filled:'+n+'/'+ins.length+' vals='+ins.map(i=>i.value).join(',');})()`); +console.log('填:', f); +await wait(1500); +await c.evalJS(`(()=>{const m=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null).pop(); + if(!m)return 0; const b=[...m.querySelectorAll('button')].find(x=>/^\\s*确定\\s*$/.test(x.innerText||'')); + if(b) for(const ev of ['mousedown','mouseup','click']) b.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return 1;})()`); +await wait(5000); +const st = await c.evalJS(`(()=>{const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const a=p._s.get('sheinSkuAttrStore').$state.formState; + const openM=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null&&/编辑尺码表/.test(e.innerText||'')).length; + return JSON.stringify({sizeTableInfo:String(JSON.stringify(a.sizeTableInfo)).slice(0,240), modalOpen:openM});})()`); +console.log('尺码表:', String(st).slice(0,340)); +await c.evalJS(`window.scrollTo(0,0)`); await wait(600); +await c.evalJS(`(()=>{const x=[...document.querySelectorAll('button')].filter(e=>e.offsetParent!==null).find(e=>/^\\s*保存\\s*$/.test((e.innerText||'').trim())); + if(!x)return 0; for(const ev of ['mousedown','mouseup','click']) x.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return 1;})()`); +await wait(14000); +await c.evalJS(`(()=>{const ms=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null); + for(const m of ms){const b=[...m.querySelectorAll('button')].find(x=>/确定|确认|继续编辑/.test(x.innerText||'')); if(b)b.click();} return 1;})()`); +await wait(4000); +console.log('POST:', JSON.stringify([...new Set(reqs)].slice(0,4))); +const t = await c.evalJS(`(()=>[...document.querySelectorAll('.ant-message-notice,.ant-notification-notice,.ant-modal')].filter(e=>e.offsetParent!==null).map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim().slice(0,120)).filter(Boolean).slice(0,3))()`); +console.log('提示:', String(t).slice(0,400)); +process.exit(0); diff --git a/shein建品/shvals.mjs b/shein建品/shvals.mjs new file mode 100644 index 0000000..4f2966a --- /dev/null +++ b/shein建品/shvals.mjs @@ -0,0 +1,15 @@ +import { attach } from '/tmp/cdp3.mjs'; +const c = await attach('/web/sheinProduct/add') || await attach('dianxiaomi.com'); +const o = await c.evalJS(`(()=>{ + const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/主规格/.test(l.innerText||'');}); + if(!it)return'nf'; + const box=it.querySelector('.sku-info-box')||it; + // 列出所有叶子的 tag/class/文本 + const leaves=[...box.querySelectorAll('*')].filter(e=>e.offsetParent!==null&&!e.children.length&&(e.innerText||'').trim()) + .slice(0,14).map(e=>({tag:e.tagName, cls:String(e.className||'').slice(0,55), t:(e.innerText||'').trim().slice(0,18)})); + const clickable=[...box.querySelectorAll('button,.ant-btn,.ant-tag,.ant-checkbox-wrapper,[class*=tag],[class*=item],[class*=option]')] + .filter(e=>e.offsetParent!==null).slice(0,12).map(e=>({tag:e.tagName, cls:String(e.className||'').slice(0,50), t:(e.innerText||'').trim().slice(0,16)})); + return JSON.stringify({leafCount:box.querySelectorAll('*').length, leaves, clickable},null,1);})()`); +console.log(String(o).slice(0,2000)); +process.exit(0); diff --git a/shein建品/shvar.mjs b/shein建品/shvar.mjs new file mode 100644 index 0000000..e4ae0bc --- /dev/null +++ b/shein建品/shvar.mjs @@ -0,0 +1,30 @@ +import { attach } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/sheinProduct/add') || await attach('dianxiaomi.com'); +// 1. 主规格控件 +const o1 = await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/主规格/.test(l.innerText||'');}); + if(!it)return'nf'; return JSON.stringify({txt:(it.innerText||'').replace(/\\s+/g,' ').slice(0,160), html:it.innerHTML.slice(0,500)});})()`); +console.log('主规格:', String(o1).slice(0,700)); +// 2. 尺码表控件 +const o2 = await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/尺码表/.test(l.innerText||'');}); + if(!it)return'nf'; return JSON.stringify({txt:(it.innerText||'').replace(/\\s+/g,' ').slice(0,160), html:it.innerHTML.slice(0,400)});})()`); +console.log('尺码表:', String(o2).slice(0,600)); +// 3. 图片区 +const o3 = await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/图片/.test(l.innerText||'');}); + if(!it)return'nf'; return JSON.stringify({lab:(it.querySelector('label')||{}).innerText||'', txt:(it.innerText||'').replace(/\\s+/g,' ').slice(0,200)});})()`); +console.log('图片区:', String(o3).slice(0,500)); +// 4. 主规格可选值(第一个属性) +const o4 = await c.evalJS(`(()=>{const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const a=JSON.parse(JSON.stringify(p._s.get('sheinSkuAttrStore').$state)); + const at=(a.formState.skuAttrs||[])[0]||{}; + return JSON.stringify({attrName:at.name, attrId:at.attributeId, optCount:(at._options||[]).length, + opt0:(at._options||[])[0], chosen:at.attributeValues||at.checked||null});})()`); +console.log('主规格属性:', String(o4).slice(0,600)); +// 5. 是否有必填标记的项 +const o5 = await c.evalJS(`(()=>[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null&&e.querySelector('.ant-form-item-required')) + .map(x=>{const l=x.querySelector('label'); return l?(l.innerText||'').replace(/\\s+/g,' ').trim():'';}).filter(Boolean).slice(0,15))()`); +console.log('必填项:', String(o5).slice(0,400)); +process.exit(0); diff --git a/shopee建品/sp_done.json b/shopee建品/sp_done.json new file mode 100644 index 0000000..b1ba7a0 --- /dev/null +++ b/shopee建品/sp_done.json @@ -0,0 +1,186 @@ +{ + "548459586741": { + "ok": true, + "cat": "picked[0/52]:Health(保健)/Sexual Wellness(情趣用品)/Sex Toys(情趣玩具) " + }, + "764423265986": { + "ok": true, + "cat": "picked[0/1]:Health(保健)/Medical Supplies(医疗保健)/Health Monitors & Tests(健康仪器与测试仪)/Thermometers(温度计) " + }, + "685456757807": { + "ok": true, + "cat": "picked[0/1]:Home Appliances(家用电器)/Small Household Appliances(小型家电)/Sewing Machines & Accessories(缝纫机 & 配件) " + }, + "735147938123": { + "ok": true, + "cat": "picked[1/8]:Fashion Accessories(时尚配饰)/Hair Accessories(发饰)/Hair Clips & Hair Pins(发夹) " + }, + "627879474686": { + "ok": true, + "cat": "picked[0/8]:Baby & Kids Fashion(童装)/Baby & Kids Accessories(婴儿与儿童配饰)/Socks(袜子) " + }, + "610164857063": { + "ok": true, + "cat": "picked[1/8]:Fashion Accessories(时尚配饰)/Hair Accessories(发饰)/Hair Clips & Hair Pins(发夹) " + }, + "676236596821": { + "ok": true, + "cat": "picked[0/8]:Baby & Kids Fashion(童装)/Baby & Kids Accessories(婴儿与儿童配饰)/Hair Accessories(发饰) " + }, + "708420302844": { + "ok": true, + "cat": "picked[0/3]:Automobiles(汽车类)/Automotive Keychains & Key Covers(汽车钥匙扣和钥匙套) " + }, + "866537106657": { + "ok": true, + "cat": "picked[0/1]:Home Appliance (家用电器)/Small Hou ehold Appliance (小型家电)/Sewing Machine & Acce orie (缝纫机 & 配件) " + }, + "547183997437": { + "ok": true, + "cat": "picked[1/3]:Fa hion Acce orie (时尚配饰)/Fine Jewelry(轻奢珠宝)/Necklace (项链) " + }, + "657617635303": { + "ok": true, + "cat": "picked[0/56]:Stationery(文具)/Art Supplie (美术用品)/Acrylic Paint(亚克力颜料) " + }, + "641673262387": { + "ok": true, + "cat": "picked[14/15]:Home & Living(家居生活)/Home Organizer (居家收纳)/Jewelry Organizer (首饰收纳) " + }, + "953869908708": { + "ok": true, + "cat": "picked[0/8]:Automobile (汽车类)/Automobile Exterior Acce orie (车外配件)/Sticker , Logo & Emblem (车贴、车标改装) " + }, + "703822717997": { + "ok": true, + "cat": "picked[0/56]:Stationery(文具)/Art Supplie (美术用品)/Acrylic Paint(亚克力颜料) " + }, + "863524134410": { + "ok": true, + "cat": "picked[0/8]:Automobile (汽车类)/Automobile Exterior Acce orie (车外配件)/Sticker , Logo & Emblem (车贴、车标改装) " + }, + "694637537727": { + "ok": true, + "cat": "picked[5/67]:Beauty(美妆保健)/Beauty Tool (美容工具)/Makeup Acce orie (化妆工具)/Makeup Bag & Organizer (化妆包与收纳袋) " + }, + "623011262210": { + "ok": true, + "cat": "picked[0/8]:Automobile (汽车类)/Automobile Exterior Acce orie (车外配件)/Sticker , Logo & Emblem (车贴、车标改装) " + }, + "836512561982": { + "ok": true, + "cat": "picked[0/1]:Beauty(美妆保健)/Beauty Tool (美容工具)/Makeup Acce orie (化妆工具)/Makeup Bag & Organizer (化妆包与收纳袋) " + }, + "714492799386": { + "ok": true, + "cat": "picked[0/1]:Beauty(美妆保健)/Beauty Tool (美容工具)/Makeup Acce orie (化妆工具)/Makeup Bag & Organizer (化妆包与收纳袋) " + }, + "591994902720": { + "ok": true, + "cat": "picked[0/1]:Stationery(文具)/School & Office Equipment(学校与办公用品)/Pencil Ca e (文具盒/笔袋) " + }, + "853414558425": { + "ok": true, + "cat": "picked[0/3]:Automobile (汽车类)/Automotive Keychain & Key Cover (汽车钥匙扣和钥匙套) " + }, + "997450831819": { + "ok": true, + "cat": "picked[0/8]:Automobile (汽车类)/Automobile Exterior Acce orie (车外配件)/Sticker , Logo & Emblem (车贴、车标改装) " + }, + "639409307567": { + "ok": true, + "cat": "picked[0/1]:Home & Living(家居生活)/Decoration(装饰)/Wallpaper & Wall Sticker (墙纸与窗贴) " + }, + "902440558099": { + "ok": true, + "cat": "picked[1/8]:Fa hion Acce orie (时尚配饰)/Hair Acce orie (发饰)/Hair Clip & Hair Pin (发夹) " + }, + "823838532886": { + "ok": true, + "cat": "picked[0/2]:Men Bag (男包)/Wallet (钱包)/Card Holder (卡包) " + }, + "698782391248": { + "ok": true, + "cat": "picked[0/8]:Automobile (汽车类)/Automobile Exterior Acce orie (车外配件)/Sticker , Logo & Emblem (车贴、车标改装) " + }, + "707826905566": { + "ok": true, + "cat": "picked[1/13]:Men Bag (男包)/Wallet (钱包)/Bifold & Trifold Wallet (双折&三折钱包) " + }, + "1027332215847": { + "ok": true, + "cat": "picked[0/2]:Home & Living(家居生活)/Home Organizer (居家收纳)/Shoe Storage Boxe (鞋盒) " + }, + "682195499823": { + "ok": true, + "cat": "picked[0/56]:Stationery(文具)/Art Supplie (美术用品)/Acrylic Paint(亚克力颜料) " + }, + "823560564174": { + "ok": true, + "cat": "picked[1/8]:Fa hion Acce orie (时尚配饰)/Hair Acce orie (发饰)/Hair Clip & Hair Pin (发夹) " + }, + "739147684759": { + "ok": true, + "cat": "picked[0/1]:Home Appliance (家用电器)/Small Hou ehold Appliance (小型家电)/Sewing Machine & Acce orie (缝纫机 & 配件) " + }, + "621300323670": { + "ok": true, + "cat": "picked[0/56]:Stationery(文具)/Art Supplie (美术用品)/Acrylic Paint(亚克力颜料) " + }, + "896469995553": { + "ok": true, + "cat": "picked[0/3]:Automobile (汽车类)/Automotive Keychain & Key Cover (汽车钥匙扣和钥匙套) " + }, + "944470567338": { + "ok": true, + "cat": "picked[1/8]:Fa hion Acce orie (时尚配饰)/Hair Acce orie (发饰)/Hair Clip & Hair Pin (发夹) " + }, + "787261097583": { + "ok": true, + "cat": "picked[1/8]:Fa hion Acce orie (时尚配饰)/Hair Acce orie (发饰)/Hair Clip & Hair Pin (发夹) " + }, + "833753630925": { + "ok": true, + "cat": "picked[1/8]:Fa hion Acce orie (时尚配饰)/Hair Acce orie (发饰)/Hair Clip & Hair Pin (发夹) " + }, + "719391062058": { + "ok": true, + "cat": "picked[0/2]:Home & Living(家居生活)/Home Organizer (居家收纳)/Shoe Storage Boxe (鞋盒) " + }, + "857781294719": { + "ok": true, + "cat": "picked[0/8]:Baby & Kid Fa hion(童装)/Baby & Kid Acce orie (婴儿与儿童配饰)/Hair Acce orie (发饰) " + }, + "863384503032": { + "ok": true, + "cat": "picked[1/8]:Fa hion Acce orie (时尚配饰)/Hair Acce orie (发饰)/Hair Clip & Hair Pin (发夹) " + }, + "774494945453": { + "ok": true, + "cat": "picked[0/3]:Automobile (汽车类)/Automotive Keychain & Key Cover (汽车钥匙扣和钥匙套) " + }, + "750271307455": { + "ok": true, + "cat": "picked[0/3]:Automobile (汽车类)/Automotive Keychain & Key Cover (汽车钥匙扣和钥匙套) " + }, + "726442972676": { + "ok": true, + "cat": "picked[1/8]:Fa hion Acce orie (时尚配饰)/Hair Acce orie (发饰)/Hair Clip & Hair Pin (发夹) " + }, + "775057912118": { + "ok": true, + "cat": "picked[0/3]:Automobile (汽车类)/Automotive Keychain & Key Cover (汽车钥匙扣和钥匙套) " + }, + "893592264148": { + "ok": true, + "cat": "picked[0/8]:Baby & Kid Fa hion(童装)/Baby & Kid Acce orie (婴儿与儿童配饰)/Hair Acce orie (发饰) " + }, + "607330049419": { + "ok": true, + "cat": "picked[1/8]:Fa hion Acce orie (时尚配饰)/Hair Acce orie (发饰)/Hair Clip & Hair Pin (发夹) " + }, + "854003999648": { + "ok": true, + "cat": "picked[1/8]:Fa hion Acce orie (时尚配饰)/Hair Acce orie (发饰)/Hair Clip & Hair Pin (发夹) " + } +} \ No newline at end of file diff --git a/shopee建品/sp_offline_all.json b/shopee建品/sp_offline_all.json new file mode 100644 index 0000000..d38464f --- /dev/null +++ b/shopee建品/sp_offline_all.json @@ -0,0 +1 @@ +{"n":172,"items":[{"id":"184807703510036273","oid":"854003999648","shop":6142973,"title":"","cat":100147,"catPath":""},{"id":"184807703510035741","oid":"607330049419","shop":6142973,"title":"","cat":100147,"catPath":""},{"id":"184807703510035057","oid":"893592264148","shop":6142973,"title":"","cat":101029,"catPath":""},{"id":"184807703510034417","oid":"775057912118","shop":6142973,"title":"","cat":100753,"catPath":""},{"id":"184807703510033855","oid":"726442972676","shop":6142973,"title":"","cat":100147,"catPath":""},{"id":"184807703510033465","oid":"750271307455","shop":6142973,"title":"","cat":100753,"catPath":""},{"id":"184807703510033029","oid":"774494945453","shop":6142973,"title":"","cat":100753,"catPath":""},{"id":"184807703510032637","oid":"863384503032","shop":6142973,"title":"","cat":100147,"catPath":""},{"id":"184807703510032293","oid":"857781294719","shop":6142973,"title":"","cat":101029,"catPath":""},{"id":"184807703510031901","oid":"719391062058","shop":6142973,"title":"","cat":101255,"catPath":""},{"id":"184807703510031383","oid":"833753630925","shop":6142973,"title":"","cat":100147,"catPath":""},{"id":"184807703510030917","oid":"787261097583","shop":6142973,"title":"","cat":100147,"catPath":""},{"id":"184807703510030569","oid":"944470567338","shop":6142973,"title":"","cat":100147,"catPath":""},{"id":"184807703510030139","oid":"896469995553","shop":6142973,"title":"","cat":100753,"catPath":""},{"id":"184807703510029645","oid":"621300323670","shop":6142973,"title":"","cat":101365,"catPath":""},{"id":"184807703510029069","oid":"739147684759","shop":6142973,"title":"","cat":100173,"catPath":""},{"id":"184807703510028623","oid":"823560564174","shop":6142973,"title":"","cat":100147,"catPath":""},{"id":"184807703510028233","oid":"682195499823","shop":6142973,"title":"","cat":101365,"catPath":""},{"id":"184807703510027575","oid":"1027332215847","shop":6142973,"title":"","cat":101255,"catPath":""},{"id":"184807703510026781","oid":"707826905566","shop":6142973,"title":"","cat":100611,"catPath":""},{"id":"184807703510025839","oid":"698782391248","shop":6142973,"title":"","cat":101435,"catPath":""},{"id":"184807703510025179","oid":"823838532886","shop":6142973,"title":"","cat":100608,"catPath":""},{"id":"184807703510024541","oid":"902440558099","shop":6142973,"title":"","cat":100147,"catPath":""},{"id":"184807703510023971","oid":"639409307567","shop":6142973,"title":"","cat":101157,"catPath":""},{"id":"184807703510023389","oid":"997450831819","shop":6142973,"title":"","cat":101435,"catPath":""},{"id":"184807703510022689","oid":"853414558425","shop":6142973,"title":"","cat":100753,"catPath":""},{"id":"184807703510022085","oid":"591994902720","shop":6142973,"title":"","cat":101359,"catPath":""},{"id":"184807703510021797","oid":"714492799386","shop":6142973,"title":"","cat":101650,"catPath":""},{"id":"184807703510021497","oid":"836512561982","shop":6142973,"title":"","cat":101650,"catPath":""},{"id":"184807703510021291","oid":"623011262210","shop":6142973,"title":"","cat":101435,"catPath":""},{"id":"184807703510021059","oid":"694637537727","shop":6142973,"title":"","cat":101650,"catPath":""},{"id":"184807703510020731","oid":"863524134410","shop":6142973,"title":"","cat":101435,"catPath":""},{"id":"184807703510020443","oid":"703822717997","shop":6142973,"title":"","cat":101365,"catPath":""},{"id":"184807703510020027","oid":"953869908708","shop":6142973,"title":"","cat":101435,"catPath":""},{"id":"184807703510019455","oid":"641673262387","shop":6142973,"title":"","cat":101260,"catPath":""},{"id":"184807703510018695","oid":"657617635303","shop":6142973,"title":"","cat":101365,"catPath":""},{"id":"184807703510018191","oid":"547183997437","shop":6142973,"title":"","cat":102064,"catPath":""},{"id":"184807703510017925","oid":"866537106657","shop":6142973,"title":"","cat":100173,"catPath":""},{"id":"184807703510017639","oid":"708420302844","shop":6142973,"title":"","cat":100753,"catPath":""},{"id":"184807703510017247","oid":"676236596821","shop":6142973,"title":"","cat":101029,"catPath":""},{"id":"184807703510016863","oid":"610164857063","shop":6142973,"title":"","cat":100147,"catPath":""},{"id":"184807703510016495","oid":"627879474686","shop":6142973,"title":"","cat":101032,"catPath":""},{"id":"184807703510016073","oid":"735147938123","shop":6142973,"title":"","cat":100147,"catPath":""},{"id":"184807703510015731","oid":"685456757807","shop":6142973,"title":"","cat":100173,"catPath":""},{"id":"184807703510014969","oid":"764423265986","shop":6142973,"title":"","cat":100423,"catPath":""},{"id":"184807703510014619","oid":"548459586741","shop":6142973,"title":"","cat":100142,"catPath":""},{"id":"184807703510012679","oid":"661190598139","shop":6142973,"title":"","cat":101029,"catPath":""},{"id":"4810365555229229","oid":"733058615988","shop":6100336,"title":"","cat":101349,"catPath":""},{"id":"4810365430386949","oid":"693118601337","shop":3377110,"title":"","cat":101639,"catPath":""},{"id":"4810365324256099","oid":"573922419441","shop":6142973,"title":"","cat":101461,"catPath":""},{"id":"4810365324255829","oid":"672166824214","shop":6142973,"title":"","cat":101432,"catPath":""},{"id":"4810365324255591","oid":"780841884739","shop":6142973,"title":"","cat":100753,"catPath":""},{"id":"4810365324255457","oid":"747571529410","shop":6142973,"title":"","cat":100753,"catPath":""},{"id":"4810365324255319","oid":"670665859075","shop":6142973,"title":"","cat":101435,"catPath":""},{"id":"4810365324254875","oid":"759816316712","shop":6142973,"title":"","cat":101432,"catPath":""},{"id":"4810365324254743","oid":"801380993346","shop":6142973,"title":"","cat":101432,"catPath":""},{"id":"4810365324254679","oid":"706721147943","shop":6142973,"title":"","cat":101432,"catPath":""},{"id":"4810365324254575","oid":"710782337387","shop":6142973,"title":"","cat":101432,"catPath":""},{"id":"4810365324254489","oid":"702450966816","shop":6142973,"title":"","cat":101435,"catPath":""},{"id":"4810365324254059","oid":"727462197619","shop":6142973,"title":"","cat":100753,"catPath":""},{"id":"4810365324253973","oid":"759754790504","shop":6142973,"title":"","cat":101460,"catPath":""},{"id":"4810365324253883","oid":"785155443389","shop":6142973,"title":"","cat":100754,"catPath":""},{"id":"4810365324253785","oid":"664337227258","shop":6142973,"title":"","cat":101423,"catPath":""},{"id":"4810365324253581","oid":"777596846126","shop":6142973,"title":"","cat":101447,"catPath":""},{"id":"4810365324253505","oid":"774246944127","shop":6142973,"title":"","cat":101432,"catPath":""},{"id":"4810365324253429","oid":"596024079315","shop":6142973,"title":"","cat":101432,"catPath":""},{"id":"4810365324253337","oid":"641133965438","shop":6142973,"title":"","cat":101427,"catPath":""},{"id":"4810365324253149","oid":"802957630547","shop":6142973,"title":"","cat":100753,"catPath":""},{"id":"4810365324252879","oid":"531818163902","shop":6142973,"title":"","cat":101435,"catPath":""},{"id":"4810365324252791","oid":"702013278930","shop":6142973,"title":"","cat":101435,"catPath":""},{"id":"4810365324252499","oid":"735153595278","shop":6142973,"title":"","cat":100754,"catPath":""},{"id":"4810365324252347","oid":"800065278592","shop":6142973,"title":"","cat":101417,"catPath":""},{"id":"4810365324252135","oid":"740228926188","shop":6142973,"title":"","cat":101442,"catPath":""},{"id":"4810365324251833","oid":"562830238644","shop":6142973,"title":"","cat":101420,"catPath":""},{"id":"4810365324251717","oid":"826193598368","shop":6142973,"title":"","cat":101432,"catPath":""},{"id":"4810365324251501","oid":"639245994171","shop":6142973,"title":"","cat":101432,"catPath":""},{"id":"4810365324251401","oid":"802035536014","shop":6142973,"title":"","cat":101432,"catPath":""},{"id":"4810365324251359","oid":"748726257655","shop":6142973,"title":"","cat":101432,"catPath":""},{"id":"4810365324251233","oid":"691310682572","shop":6142973,"title":"","cat":101432,"catPath":""},{"id":"4810365324251131","oid":"626017536584","shop":6142973,"title":"","cat":101435,"catPath":""},{"id":"4810365324251047","oid":"671644305574","shop":6142973,"title":"","cat":101418,"catPath":""},{"id":"4810365324250501","oid":"741623579189","shop":6142973,"title":"","cat":101435,"catPath":""},{"id":"4810365324250393","oid":"732744200146","shop":6142973,"title":"","cat":101432,"catPath":""},{"id":"4810365324250269","oid":"648850037617","shop":6142973,"title":"","cat":100754,"catPath":""},{"id":"4810365324250237","oid":"630333548776","shop":6142973,"title":"","cat":101435,"catPath":""},{"id":"4810365324250095","oid":"734717264861","shop":6142973,"title":"","cat":101432,"catPath":""},{"id":"4810365324249951","oid":"595715716255","shop":6142973,"title":"","cat":101435,"catPath":""},{"id":"4810365324249847","oid":"628184646932","shop":6142973,"title":"","cat":101432,"catPath":""},{"id":"4810365324249757","oid":"614284282940","shop":6142973,"title":"","cat":101460,"catPath":""},{"id":"4810365324249671","oid":"613661063968","shop":6142973,"title":"","cat":101435,"catPath":""},{"id":"4810365324249589","oid":"678919704484","shop":6142973,"title":"","cat":101418,"catPath":""},{"id":"4810365324249337","oid":"612421997062","shop":6142973,"title":"","cat":101435,"catPath":""},{"id":"4810365324249295","oid":"775204226568","shop":6142973,"title":"","cat":101432,"catPath":""},{"id":"4810365324248833","oid":"781589259688","shop":6142973,"title":"","cat":101418,"catPath":""},{"id":"4810365324248731","oid":"569146527063","shop":6142973,"title":"","cat":101427,"catPath":""},{"id":"4810365324248631","oid":"646776687643","shop":6142973,"title":"","cat":101432,"catPath":""},{"id":"4810365324248477","oid":"623068337581","shop":6142973,"title":"","cat":101418,"catPath":""},{"id":"4810365324248411","oid":"723554793221","shop":6142973,"title":"","cat":101418,"catPath":""},{"id":"4810365324248371","oid":"734717264861","shop":6142973,"title":"","cat":101431,"catPath":""},{"id":"4810365324248253","oid":"630552169481","shop":6142973,"title":"","cat":101461,"catPath":""},{"id":"4810365324248093","oid":"674205587386","shop":6142973,"title":"","cat":101418,"catPath":""},{"id":"4810365324248037","oid":"688991871931","shop":6142973,"title":"","cat":101435,"catPath":""},{"id":"4810365324247855","oid":"711329120700","shop":6142973,"title":"","cat":101427,"catPath":""},{"id":"4810365324247827","oid":"726281163472","shop":6142973,"title":"","cat":101463,"catPath":""},{"id":"4810365324247723","oid":"632475115469","shop":6142973,"title":"","cat":100754,"catPath":""},{"id":"4810365324247679","oid":"796399829546","shop":6142973,"title":"","cat":101466,"catPath":""},{"id":"4810365324247647","oid":"794217716497","shop":6142973,"title":"","cat":100753,"catPath":""},{"id":"4810365324247605","oid":"603070676660","shop":6142973,"title":"","cat":101432,"catPath":""},{"id":"4810365324247201","oid":"540156665630","shop":6142973,"title":"","cat":100754,"catPath":""},{"id":"4810365324247145","oid":"528605340874","shop":6142973,"title":"","cat":101435,"catPath":""},{"id":"4810365324247113","oid":"660195979208","shop":6142973,"title":"","cat":101432,"catPath":""},{"id":"4810365324247081","oid":"648882498588","shop":6142973,"title":"","cat":100754,"catPath":""},{"id":"4810365324246953","oid":"773295123121","shop":6142973,"title":"","cat":101432,"catPath":""},{"id":"4810365324246855","oid":"612860524493","shop":6142973,"title":"","cat":101460,"catPath":""},{"id":"4810365324246749","oid":"624097076220","shop":6142973,"title":"","cat":101417,"catPath":""},{"id":"4810365324246693","oid":"685877551580","shop":6142973,"title":"","cat":101396,"catPath":""},{"id":"4810365324246629","oid":"768892860907","shop":6142973,"title":"","cat":101432,"catPath":""},{"id":"4810365324246461","oid":"702450966816","shop":6142973,"title":"","cat":101435,"catPath":""},{"id":"4810365324246347","oid":"757300425703","shop":6142973,"title":"","cat":100346,"catPath":""},{"id":"4810365324246205","oid":"745709615142","shop":6142973,"title":"","cat":101431,"catPath":""},{"id":"4810365324246059","oid":"710046721154","shop":6142973,"title":"","cat":100346,"catPath":""},{"id":"4810365324245939","oid":"596024079315","shop":6142973,"title":"","cat":101432,"catPath":""},{"id":"4810365324245849","oid":"794217716497","shop":6142973,"title":"","cat":100753,"catPath":""},{"id":"4810365324245779","oid":"669101703119","shop":6142973,"title":"","cat":101460,"catPath":""},{"id":"4810365324245607","oid":"824396893934","shop":6142973,"title":"","cat":101432,"catPath":""},{"id":"4810365324245545","oid":"715342787232","shop":6142973,"title":"","cat":101431,"catPath":""},{"id":"4810365324245441","oid":"737736119895","shop":6142973,"title":"","cat":101396,"catPath":""},{"id":"4810365322517919","oid":"795281189794","shop":6142973,"title":"","cat":101462,"catPath":""},{"id":"4810364773492825","oid":"","shop":3989823,"title":"","cat":101349,"catPath":""},{"id":"4810364773492545","oid":"551271371684","shop":3989823,"title":"","cat":101349,"catPath":""},{"id":"4810364773492477","oid":"549404668307","shop":3989823,"title":"","cat":100425,"catPath":""},{"id":"4810364773492299","oid":"677555499573","shop":3989823,"title":"","cat":101349,"catPath":""},{"id":"4810364773492243","oid":"700754335770","shop":3989823,"title":"","cat":101359,"catPath":""},{"id":"4810364773492135","oid":"724192440502","shop":3989823,"title":"","cat":101349,"catPath":""},{"id":"4810364773492033","oid":"733383634604","shop":3989823,"title":"","cat":100280,"catPath":""},{"id":"4810364773491699","oid":"734047638089","shop":3989823,"title":"","cat":101379,"catPath":""},{"id":"4810364773491665","oid":"738545791765","shop":3989823,"title":"","cat":101359,"catPath":""},{"id":"4810364773491615","oid":"759346574960","shop":3989823,"title":"","cat":101349,"catPath":""},{"id":"4810364773491567","oid":"680982271427","shop":3989823,"title":"","cat":101349,"catPath":""},{"id":"4810364773491483","oid":"743166996558","shop":3989823,"title":"","cat":101371,"catPath":""},{"id":"4810364773491431","oid":"744531126422","shop":3989823,"title":"","cat":101371,"catPath":""},{"id":"4810364773491399","oid":"745056607498","shop":3989823,"title":"","cat":101371,"catPath":""},{"id":"4810364773491289","oid":"692623730355","shop":3989823,"title":"","cat":101339,"catPath":""},{"id":"4810364773491227","oid":"673786582563","shop":3989823,"title":"","cat":101349,"catPath":""},{"id":"4810364773491143","oid":"682059244744","shop":3989823,"title":"","cat":101378,"catPath":""},{"id":"4810364773491061","oid":"696435820715","shop":3989823,"title":"","cat":101375,"catPath":""},{"id":"4810364773490995","oid":"702813690565","shop":3989823,"title":"","cat":100322,"catPath":""},{"id":"4810364773490933","oid":"","shop":3989823,"title":"","cat":100425,"catPath":""},{"id":"4810364773490873","oid":"582083358982","shop":3989823,"title":"","cat":100425,"catPath":""},{"id":"4810364773490799","oid":"550362874415","shop":3989823,"title":"","cat":101263,"catPath":""},{"id":"4810364773490725","oid":"687698418486","shop":3989823,"title":"","cat":100339,"catPath":""},{"id":"4810364773490623","oid":"663664095730","shop":3989823,"title":"","cat":100147,"catPath":""},{"id":"4810364773490583","oid":"630881512375","shop":3989823,"title":"","cat":100095,"catPath":""},{"id":"4810364773490529","oid":"659236210065","shop":3989823,"title":"","cat":101650,"catPath":""},{"id":"4810364773490451","oid":"659236210065","shop":3989823,"title":"","cat":101650,"catPath":""},{"id":"4810364773490345","oid":"633988047008","shop":3989823,"title":"","cat":101650,"catPath":""},{"id":"4810364773490305","oid":"694004296714","shop":3989823,"title":"","cat":100324,"catPath":""},{"id":"4810364773490225","oid":"692424538928","shop":3989823,"title":"","cat":101029,"catPath":""},{"id":"4810364773490147","oid":"726741022351","shop":3989823,"title":"","cat":101650,"catPath":""},{"id":"4810364773490063","oid":"664527231713","shop":3989823,"title":"","cat":101650,"catPath":""},{"id":"4810364773489797","oid":"640810682854","shop":3989823,"title":"","cat":101650,"catPath":""},{"id":"4810364773489695","oid":"657187740602","shop":3989823,"title":"","cat":100417,"catPath":""},{"id":"4810364773489545","oid":"570217158516","shop":3989823,"title":"","cat":101637,"catPath":""},{"id":"4810364773489475","oid":"669352414763","shop":3989823,"title":"","cat":100167,"catPath":""},{"id":"4810364773489433","oid":"702983829089","shop":3989823,"title":"","cat":101349,"catPath":""},{"id":"4810364773489301","oid":"729545190040","shop":3989823,"title":"","cat":100417,"catPath":""},{"id":"4810364773489129","oid":"644978035090","shop":3989823,"title":"","cat":102034,"catPath":""},{"id":"4810364773488891","oid":"530669563592","shop":3989823,"title":"","cat":100425,"catPath":""},{"id":"4810364773488753","oid":"526928865207","shop":3989823,"title":"","cat":101252,"catPath":""},{"id":"4810364773488689","oid":"","shop":3989823,"title":"","cat":100325,"catPath":""},{"id":"4810364773488653","oid":"659296105839","shop":3989823,"title":"","cat":100333,"catPath":""},{"id":"4810364773488559","oid":"628136722757","shop":3989823,"title":"","cat":101349,"catPath":""}]} \ No newline at end of file diff --git a/shopee建品/spbatch.mjs b/shopee建品/spbatch.mjs new file mode 100644 index 0000000..1ddc556 --- /dev/null +++ b/shopee建品/spbatch.mjs @@ -0,0 +1,172 @@ +import { newTarget, CDP, SAN } from '/tmp/cdp3.mjs'; +import fs from 'fs'; + +/* ── Shopee (Ljbgkj, shopId 6142973) 单件建品配方 ── + node spbatch.mjs [catKeyword] + 选店铺 → 分类弹窗 → 单件 → 标题/描述 → 价格(CNY)/库存 → 重量/尺寸 + → 图片 → 来源URL → 保存 → 回读 */ + +const OID = process.argv[2]; +const CAT_KW = process.argv[3] || ''; +if (!OID) { console.log('用法: node spbatch.mjs [catKeyword]'); process.exit(1); } +const IN = JSON.parse(fs.readFileSync('/tmp/tk_input.json', 'utf8'))[OID]; +if (!IN) { console.log('无输入数据', OID); process.exit(1); } + +const SHOP = 'Ljbgkj'; +const IS_KID = /baby|kid|infant|toddler|children|newborn/i.test(IN.title); +const wait = ms => new Promise(z => setTimeout(z, ms)); +const log = (...a) => console.log(' ', ...a); +const DIMS = (() => { const W = Math.max(100, Math.round(IN.weight * 1.3)); + return { L: Math.max(60, Math.min(400, W)), Wi: Math.max(40, Math.min(300, Math.round(W * 0.6))), H: Math.max(10, Math.min(200, Math.round(W * 0.2))) }; })(); + +const tl = await (await fetch('http://127.0.0.1:9223/json/list')).json(); +let k = 0; +for (const t of tl.filter(x => x.type === 'page' && /shopee/i.test(x.url))) { await fetch(`http://127.0.0.1:9223/json/close/${t.id}`).catch(() => {}); k++; } +if (k) { log(`清理 shopee 页 ${k} 个`); await wait(1200); } + +const t = await newTarget('about:blank'); +const c = await CDP.connect(t.webSocketDebuggerUrl); +await c.send('Page.enable'); await c.send('Runtime.enable'); +await c.send('Page.navigate', { url: 'https://www.dianxiaomi.com/web/shopeeGlobal/add' }); +await wait(22000); + +// 1. 店铺 +async function pickShop() { + for (let a = 0; a < 3; a++) { + const pos = JSON.parse(String(await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/店铺|商家账号/.test(l.innerText||'');}); + const s=it?it.querySelector('.ant-select-selector'):[...document.querySelectorAll('.ant-select-selector')].filter(e=>e.offsetParent!==null)[0]; + if(!s)return'[]'; s.scrollIntoView({block:'center'}); const r=s.getBoundingClientRect(); + return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); + if (!pos.length) return 'no-select'; + for (const type of ['mousePressed', 'mouseReleased']) await c.send('Input.dispatchMouseEvent', { type, x: pos[0], y: pos[1], button: 'left', clickCount: 1 }); + await wait(2200); + const r = await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop(); + if(!dd)return'no-dd'; const hit=[...dd.querySelectorAll('.ant-select-item-option')].find(o=>new RegExp('^\\\\s*${SHOP}\\\\s*$','i').test(o.innerText||'')); + if(!hit)return'no-hit'; for(const ev of ['mousedown','mouseup','click']) hit.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return 'picked';})()`); + await wait(7000); + const cur = String(await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/店铺|商家账号/.test(l.innerText||'');}); + const s=it&&it.querySelector('.ant-select-selection-item'); return s?s.innerText.trim():'';})()`)); + if (new RegExp(SHOP, 'i').test(cur)) return 'ok:' + cur; + log(' 店铺重试', a + 1, r, JSON.stringify(cur)); + } + return 'fail'; +} + +// 2. 分类(同 TikTok 结构) +async function pickCategory(kw) { + await c.evalJS(`(()=>{document.querySelectorAll('.ant-select-dropdown').forEach(d=>{if(d.offsetParent!==null)d.style.display='none';}); document.body.click(); return 1;})()`); + await wait(900); + const pos = JSON.parse(String(await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/产品分类/.test(l.innerText||'');}); + if(!it)return'[]'; const b=[...it.querySelectorAll('button,a,span')].filter(e=>e.offsetParent!==null&&/^\\s*选择分类\\s*$/.test((e.innerText||'').trim())); + if(!b.length)return'[]'; const el=b[b.length-1]; el.scrollIntoView({block:'center'}); const r=el.getBoundingClientRect(); + return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); + if (!pos.length) return 'no-btn'; + for (const type of ['mousePressed', 'mouseReleased']) await c.send('Input.dispatchMouseEvent', { type, x: pos[0], y: pos[1], button: 'left', clickCount: 1 }); + await wait(3500); + const r = await c.evalJS(`(()=>{const m=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null).pop(); + if(!m)return'no-modal'; const inp=m.querySelector('input[placeholder="搜索分类名称"]'); if(!inp)return'no-input'; + inp.focus(); Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,'value').set.call(inp,${JSON.stringify(kw)}); + inp.dispatchEvent(new Event('input',{bubbles:true})); inp.dispatchEvent(new Event('change',{bubbles:true})); + const b=[...m.querySelectorAll('button')].find(x=>/^\\s*搜索\\s*$/.test(x.innerText||'')); + if(b) for(const ev of ['mousedown','mouseup','click']) b.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); + return 'searched';})()`); + if (r !== 'searched') return r; + await wait(4000); + const pick = await c.evalJS(`(()=>{const m=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null).pop(); + if(!m)return'no-modal'; const its=[...m.querySelectorAll('.search-result-item')]; if(!its.length)return'no-result'; + const BAD=/二手|Barang Terpakai|Second-?hand|Used|Pre-?owned|Refurb|Sexual|Sex Toy|情趣|Adult Toy|Dewasa/i; + const KID=/Bayi|Baby|Kids|Kid|Infant|Toddler|Children|Kanak/i; + const ISK=${IS_KID}; + const KW=${JSON.stringify(kw)}.toLowerCase(); + const texts=its.map(e=>(e.innerText||'').replace(/\s+/g,' ').trim()); + const lastSeg=t=>{const a=t.split('/'); return (a[a.length-1]||'').replace(/\(.*?\)/g,'').trim().toLowerCase();}; + let idx=texts.findIndex(t=>!BAD.test(t) && lastSeg(t).includes(KW)); + if(idx<0) idx=texts.findIndex(t=>!BAD.test(t) && t.toLowerCase().includes(KW) && (ISK || !KID.test(t))); + if(idx<0) idx=texts.findIndex(t=>!BAD.test(t) && (ISK || !KID.test(t))); + if(idx<0) idx=texts.findIndex(t=>!BAD.test(t)); + if(idx<0) idx=0; + const hit=its[idx]; + for(const ev of ['mousedown','mouseup','click']) hit.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); + return 'picked['+idx+'/'+texts.length+']:'+texts[idx];})()`); + await wait(4500); + return pick; +} + +async function pickCategoryAny(kws) { + const tried = []; + for (const kw of kws) { + const r = String(await pickCategory(kw)); + tried.push(kw + '\u2192' + r.slice(0, 46)); + if (!/no-result|no-input|no-modal|no-btn/.test(r)) return { r, tried }; + await c.evalJS(`(()=>{const m=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null).pop(); + if(m){const x=m.querySelector('.ant-modal-close'); if(x&&x.offsetParent!==null)x.click();} return 1;})()`); + await wait(1500); + } + return { r: 'ALL-FAILED', tried }; +} + +log('=== Shopee 建品 ===', OID, IN.title.slice(0, 46)); +log('1) 店铺:', await pickShop()); + +const kw = CAT_KW || IN.sp_kw || 'Accessories'; +const catRes = await pickCategoryAny([kw].concat(IN.sp_fb || [])); +log('2) 分类:', SAN(String(catRes.r)).slice(0, 120), '| 尝试:', catRes.tried.join(' / ')); +if (/ALL-FAILED|no-result|no-input|no-btn/.test(String(catRes.r))) { log('\u274c 分类未选中,跳过保存'); process.exit(2); } + +// 3. 单件模式 + 文案 +const wr = await c.evalJS(`(()=>{const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const ps=p._s.get('shopeeGlobalProductStore').$state.formState; + ps.type='single'; + ps.title=${JSON.stringify(IN.title)}; + const txt=${JSON.stringify(IN.bullets.map(b => '• ' + b).join('\n') + '\n\nKeywords: ' + (IN.keywords || ''))}; + ps.descriptionInfo={descriptionText:txt, descriptionHtml:'

'+${JSON.stringify(IN.bullets.join('
'))}+'

'}; + return 'ok:'+ps.title.length;})()`); +log('3) 文案:', wr); +await wait(2000); + +// 4. 价格 / 库存 / 重量 / 尺寸 +const setItem = (rx, sel, val) => c.evalJS(`(()=>{ + const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null).find(x=>{const l=x.querySelector('label'); return l&&new RegExp(${JSON.stringify(rx)}).test(l.innerText||'');}); + const el=it?it.querySelector(${JSON.stringify(sel)}):null; if(!el)return'nf'; + const proto=el.tagName==='TEXTAREA'?window.HTMLTextAreaElement.prototype:window.HTMLInputElement.prototype; + Object.getOwnPropertyDescriptor(proto,'value').set.call(el, ${JSON.stringify(String(val))}); + el.dispatchEvent(new Event('input',{bubbles:true})); el.dispatchEvent(new Event('change',{bubbles:true})); el.dispatchEvent(new Event('blur',{bubbles:true})); return 'ok';})()`); +log('4) 价格(CNY):', await setItem('价格', 'input:not([type=hidden])', IN.price_cny)); +log(' 库存:', await setItem('库存', 'input:not([type=hidden])', '999')); +log(' 重量:', await setItem('重量', 'input:not([type=hidden])', IN.weight)); +const dim = await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null).find(x=>{const l=x.querySelector('label'); return l&&/尺寸规格/.test(l.innerText||'');}); + if(!it)return'nf'; const ins=[...it.querySelectorAll('input')]; + const setV=(el,v)=>{ Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,'value').set.call(el,String(v)); + el.dispatchEvent(new Event('input',{bubbles:true})); el.dispatchEvent(new Event('change',{bubbles:true})); el.dispatchEvent(new Event('blur',{bubbles:true})); }; + const L=ins.find(i=>i.placeholder==='长')||ins[0], W2=ins.find(i=>i.placeholder==='宽')||ins[1], H=ins.find(i=>i.placeholder==='高')||ins[2]; + if(L)setV(L,${DIMS.L}); if(W2)setV(W2,${DIMS.Wi}); if(H)setV(H,${DIMS.H}); return 'ok:'+ins.length;})()`); +log('5) 尺寸:', dim, JSON.stringify(DIMS)); + +// 5. 图片 +const ir = await c.evalJS(`(()=>{const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const st=p._s.get('shopeeGlobalImageInfoStore').$state; + const urls=${JSON.stringify(IN.imgs)}; + st.imageInfo.mainImages=urls.map((u,i)=>({url:u,imgUrl:u,name:'img'+(i+1)+'.jpg',width:800,height:800,checked:true})); + return 'imgs:'+st.imageInfo.mainImages.length;})()`); +log('6) 图片:', ir, '(共', IN.imgs.length, ')'); +await wait(2500); + +log('7) 来源URL:', await setItem('来源URL', 'input:not([type=hidden])', 'https://detail.1688.com/offer/' + OID + '.html')); +await wait(1200); + +const st = await c.evalJS(`(()=>{const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const b=p._s.get('shopeeGlobalBasicStore').$state; + return JSON.stringify({shopId:b.formState.shopId, cur:b.dataState.currency});})()`); +log('8) 保存前:', st); +const sv = await c.evalJS(`(()=>{const b=[...document.querySelectorAll('button,a,span')].filter(e=>e.offsetParent!==null&&/^\\s*保存\\s*$/.test(e.innerText||'')); + if(!b.length)return'nf'; for(const ev of ['mousedown','mouseup','click']) b[b.length-1].dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return 'clicked';})()`); +log('9) 保存:', sv); +await wait(9000); +const msg = await c.evalJS(`(()=>{const ms=[...document.querySelectorAll('.ant-message-notice,.ant-notification-notice,.ant-modal')].filter(e=>e.offsetParent!==null) + .map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim().slice(0,170)).filter(Boolean); return JSON.stringify({url:location.href, msgs:ms.slice(0,4)});})()`); +log('10) 结果:', SAN(String(msg)).slice(0, 400)); +await c.shot('/tmp/sp_pilot.jpeg').catch(() => {}); +process.exit(0); diff --git a/shopee建品/spfixcat.mjs b/shopee建品/spfixcat.mjs new file mode 100644 index 0000000..7966f44 --- /dev/null +++ b/shopee建品/spfixcat.mjs @@ -0,0 +1,94 @@ +import { newTarget, CDP, SAN } from '/tmp/cdp3.mjs'; + +/* 就地改 Shopee 产品类目:node spfixcat.mjs <kw1,kw2,...> */ +const PID = process.argv[2]; +const TITLE = process.argv[3] || ''; +const KWS = (process.argv[4] || '').split(',').filter(Boolean); +if (!PID || !KWS.length) { console.log('用法: node spfixcat.mjs <productId> <title> <kw1,kw2>'); process.exit(1); } + +const wait = ms => new Promise(z => setTimeout(z, ms)); +const log = (...a) => console.log(' ', ...a); +const IS_KID = /baby|kid|infant|toddler|children|newborn/i.test(TITLE); +const IS_AUTO = /car|auto|moto|vehicle|truck|bicycle|bike/i.test(TITLE); + +const tl = await (await fetch('http://127.0.0.1:9223/json/list')).json(); +for (const t of tl.filter(x => x.type === 'page' && /shopee/i.test(x.url))) await fetch(`http://127.0.0.1:9223/json/close/${t.id}`).catch(() => {}); +await wait(1200); + +const t = await newTarget('about:blank'); +const c = await CDP.connect(t.webSocketDebuggerUrl); +await c.send('Page.enable'); await c.send('Runtime.enable'); +await c.send('Page.navigate', { url: `https://www.dianxiaomi.com/web/shopeeGlobal/edit?id=${PID}` }); +await wait(26000); +for (let i = 0; i < 8; i++) { + const x = await c.evalJS(`(()=>{const ms=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null); + if(!ms.length)return'n'; ms.forEach(m=>{const cb=m.querySelector('.ant-modal-close'); if(cb&&cb.offsetParent!==null)cb.click();}); return 'c';})()`); + if (x === 'n') break; await wait(1000); +} +await wait(2000); +log('URL:', await c.evalJS('location.href')); +log('店铺:', await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/店铺|商家账号/.test(l.innerText||'');}); + const s=it&&it.querySelector('.ant-select-selection-item'); return s?s.innerText.trim():'';})()`)); + +async function pickCategory(kw) { + await c.evalJS(`(()=>{document.querySelectorAll('.ant-select-dropdown').forEach(d=>{if(d.offsetParent!==null)d.style.display='none';}); document.body.click(); return 1;})()`); + await wait(900); + const pos = JSON.parse(String(await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/产品分类/.test(l.innerText||'');}); + if(!it)return'[]'; const b=[...it.querySelectorAll('button,a,span')].filter(e=>e.offsetParent!==null&&/^\\s*选择分类\\s*$/.test((e.innerText||'').trim())); + if(!b.length)return'[]'; const el=b[b.length-1]; el.scrollIntoView({block:'center'}); const r=el.getBoundingClientRect(); + return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); + if (!pos.length) return 'no-btn'; + for (const type of ['mousePressed', 'mouseReleased']) await c.send('Input.dispatchMouseEvent', { type, x: pos[0], y: pos[1], button: 'left', clickCount: 1 }); + await wait(3500); + const r = await c.evalJS(`(()=>{const m=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null).pop(); + if(!m)return'no-modal'; const inp=m.querySelector('input[placeholder="搜索分类名称"]'); if(!inp)return'no-input'; + inp.focus(); Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,'value').set.call(inp,${JSON.stringify(kw)}); + inp.dispatchEvent(new Event('input',{bubbles:true})); inp.dispatchEvent(new Event('change',{bubbles:true})); + const b=[...m.querySelectorAll('button')].find(x=>/^\\s*搜索\\s*$/.test(x.innerText||'')); + if(b) for(const ev of ['mousedown','mouseup','click']) b.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); + return 'searched';})()`); + if (r !== 'searched') return r; + await wait(4000); + const pick = await c.evalJS(`(()=>{const m=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null).pop(); + if(!m)return'no-modal'; const its=[...m.querySelectorAll('.search-result-item')]; if(!its.length)return'no-result'; + const BAD=/二手|Second-?hand|Used|Pre-?owned|Refurb|Sexual|Sex Toy|情趣|Adult Toy|Dewasa/i; + const KID=/Bayi|Baby|Kids|Kid|Infant|Toddler|Children|Kanak/i; + const AUTO=/Automobile|Automotive|Motosikal|汽车|车贴|Emblem/i; + const ISK=${IS_KID}, ISA=${IS_AUTO}; + const KW=${JSON.stringify(kw)}.toLowerCase(); + const texts=its.map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim()); + const ok=t=>!BAD.test(t)&&(ISK||!KID.test(t))&&(ISA||!AUTO.test(t)); + const lastSeg=t=>{const a=t.split('/'); return (a[a.length-1]||'').replace(/\\(.*?\\)/g,'').trim().toLowerCase();}; + let idx=texts.findIndex(t=>ok(t)&&lastSeg(t).includes(KW)); + if(idx<0) idx=texts.findIndex(t=>ok(t)&&t.toLowerCase().includes(KW)); + if(idx<0) idx=texts.findIndex(t=>ok(t)); + if(idx<0) idx=texts.findIndex(t=>!BAD.test(t)); + if(idx<0) idx=0; + const hit=its[idx]; + for(const ev of ['mousedown','mouseup','click']) hit.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); + return 'picked['+idx+'/'+texts.length+']:'+texts[idx];})()`); + await wait(4500); + return pick; +} + +let done = null; +for (const kw of KWS) { + const r = String(await pickCategory(kw)); + log(' ', kw, '→', SAN(r).slice(0, 130)); + if (!/no-result|no-input|no-modal|no-btn/.test(r)) { done = r; break; } + await c.evalJS(`(()=>{const m=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null).pop(); + if(m){const x=m.querySelector('.ant-modal-close'); if(x&&x.offsetParent!==null)x.click();} return 1;})()`); + await wait(1500); +} +if (!done) { log('❌ 全部关键词无结果'); process.exit(2); } + +const sv = await c.evalJS(`(()=>{const b=[...document.querySelectorAll('button,a,span')].filter(e=>e.offsetParent!==null&&/^\\s*保存\\s*$/.test(e.innerText||'')); + if(!b.length)return'nf'; for(const ev of ['mousedown','mouseup','click']) b[b.length-1].dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return 'clicked';})()`); +log('保存:', sv); +await wait(9000); +const msg = await c.evalJS(`(()=>{const ms=[...document.querySelectorAll('.ant-message-notice,.ant-notification-notice')].filter(e=>e.offsetParent!==null) + .map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim().slice(0,140)).filter(Boolean); return JSON.stringify(ms.slice(0,3));})()`); +log('结果:', SAN(String(msg)).slice(0, 260)); +process.exit(done ? 0 : 2); diff --git a/temu建品/STATUS.md b/temu建品/STATUS.md new file mode 100644 index 0000000..fe381d6 --- /dev/null +++ b/temu建品/STATUS.md @@ -0,0 +1,58 @@ +# Temu 全托管(①Alimingpro, shopId 4021529)进展 + +## 已勘明 +- 类目:1038 个,直接从 `temuAddBasicStore.dataState.categories` 读(不用滚动) +- 选类目:下拉需**先 scrollTop=0**(默认残留上次滚动位置)→ 滚动找 `.ant-select-item-option` +- 外包装形状:不规则 / 长方体 / 圆柱体 +- 外包装类型:硬包装 / 软包装+硬物 / 软包装+软物 +- 字段落点: + - `temuAddProductStore.formState.mainImage` → **数组** + - `temuAddProductStore.formState.materialImage` → **对象**(单个) + - `temuAddOtherStore.packageFormState` → `{packageShape, packageType, packageImages, inventoryRegion}` + - `temuAddSkuAttrStore.formState.skuAttrs` → `[{type:2,parentSpecId:1001,parentSpecName:"颜色",options:[]}]` + - `temuAddSkuDataStore.formState.skuDataList` → SKU 行 +- 必填 9 项:店铺/分类/标题/产地/轮播图/素材图/外包装形状/外包装类型/外包装图片 + +## 未解(卡点) +1. 点「保存」不发任何 POST,且无校验红字 → 静默拦截 +2. 程序化塞 `skuAttrs[0].options` **不生成** `skuDataList` 行(需走 UI) +3. 变种区只渲染出主题选择器(颜色/风格/材质…),**值输入控件没找到**;变种本身也非必填 +4. `产品素材图` 在 DOM 里仍显示为空(store 已设) +5. 表单下方未发现价格/库存输入(可能随变种行生成) + +--- +## 更新:静默拦截已定位(用 MYJ.message.error 钩子) + +Temu 被吞掉的报错是**层层递进**的: +1. ~~`产地选择中国时,省份必填,请完善后提交`~~ → 已解决 + 路径:`temuAddProductStore.formState.region2Id`(候选在 `region2Id` 同级 `regionCode`,31 个省) + 注意:直接赋值 store 当时不生效,但**异步同步后 UI 会显示「北京市」**,再点保存即通过 +2. **`产品变种不能为空!`** ← 当前唯一剩下的卡点 + 需要真正生成变种行(`temuAddSkuDataStore.formState.skuDataList`) + 程序化塞 `temuAddSkuAttrStore.skuAttrs[0].options` **无效** + +## 变种区控件(待继续) +- `.ant-select` #16 = 颜色主题选择器(主题候选:颜色/风格/材质/口味/…共18个) +- `.ant-select` #17 = 尺码 +- 未找到独立的值输入框;值控件可能随主题选中后异步渲染 + +--- +## 更新2:照 SHEIN 的解法推进,报错序列已剥到最后一层 + +Temu 的规格机制和 SHEIN **不同构**——没有 `theme-select-box`, +而是 **两个 `.theme-value-add` 块**(颜色 / 尺码),每块各有「值输入框(`input[class*="!w-200"]`) + 添加按钮」。 +**值必须手动输进去再点「添加」**,程序化塞进 `skuAttrs[0].options` 完全无效。 + +### 报错序列(每修完一层才露出下一层) +| # | 报错 | 状态 | 解法 | +|---|---|---|---| +| 1 | 产地选择中国时,省份必填 | ✅ | `temuAddProductStore.formState.region2Id`(异步同步,需再点一次保存) | +| 2 | 产品变种不能为空! | ✅ | 两个 theme-value-add 各输一个值点「添加」→ `skuDataList` 生成 2 行 | +| 3 | 尺寸不能为0或空 | ✅ | SKU 表「尺寸(cm)」列每行有 **3 个子输入**(长/宽/高),要全填 | +| 4 | 净重必须小于重量 | ✅ | 净重填 90、重量填 100(不能相等) | +| 5 | **请上传预览图** | ⬜ 当前 | SKU 表「预览图」列需真实图片,不是文本 | + +### SKU 表列(Temu 全托管) +`预览图 | 颜色 | 尺码 | SKU货号 | EAN UPC ISBN | 申报价格(CNY) | 尺寸(cm) | 重量(g) | 净重(g) | 建议售价 | SKU分类` + +⚠️ EAN 用公司台账下一段:pc 3447 起(Walmart 已用 3400~3446) diff --git a/temu建品/temu_cats.json b/temu建品/temu_cats.json new file mode 100644 index 0000000..5318ed4 --- /dev/null +++ b/temu建品/temu_cats.json @@ -0,0 +1,479 @@ +[ + "墙壁装饰图案", + "遥控器", + "瓷砖贴玻璃贴", + "活页夹、回形针", + "纽扣", + "美发刷", + "线缆收纳包和盒子", + "护照夹、证件包", + "行李牌", + "女士钥匙环、钥匙链", + "急救包", + "手工艺胶带", + "牙刷架", + "登山扣饰和钥匙扣", + "创可贴", + "圆环活页夹", + "其他(男装配饰)", + "其他(墙贴和壁饰)", + "办公隔间挂钩", + "女士瑜伽瑜伽袜", + "鼠标垫", + "彩色文件夹", + "手机装饰品", + "女士胸针、领针、丝巾扣", + "学科笔记本", + "汽车挂饰", + "别针夹子盒", + "桌面订书机", + "手动卷发器", + "化妆粉扑和海绵", + "MP3 播放器保护套和外壳", + "男士眼镜盒", + "头发定型别针", + "气球", + "其他(化妆工具)", + "荧光笔", + "记事簿", + "笔记本电脑贴花", + "安全别针", + "剪刀", + "其他(橡皮)", + "贺卡", + "反光衣/反光安全装备", + "其他(包裹耗材)", + "挤压玩具", + "婴幼儿抽屉锁", + "水族馆装饰主题摆件", + "其他(新奇玩具)", + "女士时尚束发带", + "辅助挂钩", + "盥洗洗漱包", + "头发侧梳", + "油漆笔和马克笔", + "记事簿配件", + "电话支架", + "空白标签牌", + "便携式包袋挂钩", + "搞笑整蛊玩具", + "其他(发型设计配件)", + "女士薄丝袜", + "美工刀", + "削笔刀", + "其他(日历及个人规划用品)", + "胶水胶棒", + "其他(教学耗材)", + "线缆带", + "其他(教室装饰)", + "棉签", + "拉链", + "女婴袜子", + "化妆品收纳盒", + "书立", + "自行车把套", + "自行车喇叭", + "门档", + "耳塞", + "海绵", + "鞋垫", + "午餐包、午餐袋", + "工艺扇", + "女婴发夹", + "吉他背带", + "冰块模具和托盘", + "活页纸", + "其他(办公家具配件)", + "明信片", + "其他(马克笔荧光笔标记笔)", + "办公簿册装订环", + "图钉", + "手机挂绳与腕带", + "智能手机拉环支架", + "眉毛修剪器", + "抽绳健身包", + "洗脸毛巾", + "其他(钓鱼用品)", + "室内装饰石", + "手动牙刷", + "保险杠贴纸", + "扁平餐具收纳", + "行李整理包", + "起钉器", + "卷尺", + "直尺", + "自动铅笔", + "绘图工具和套件", + "显示器支架", + "办公纸夹", + "办公胶带座", + "工艺粘合剂打蜡", + "脱毛镊子", + "其他(飞钓饵)", + "小雕像摆件", + "女士时尚垂坠式耳环", + "其他大家电配件", + "杯垫", + "玻璃贴膜", + "礼品袋", + "卡纸", + "流苏", + "自行车水壶架", + "真空压缩袋", + "奶嘴链", + "透明胶", + "睫毛膏", + "化妆造型用品", + "女士发带", + "纸张打孔器", + "隔页板", + "木质印章", + "书托架", + "其他(信封)", + "办公家具靠垫、坐垫", + "指南针", + "其他(男士袜子)", + "急救胶带", + "搓澡巾", + "舌刷、舌刮", + "其他(派对装饰)", + "猫薄荷玩具", + "其他(益智思维游戏)", + "女童新奇钱包", + "口袋插笔套", + "面部装饰贴", + "礼品包装袋", + "瓶塞", + "圆髻和皇冠发型成型器", + "可再填充的化妆品喷雾瓶", + "缝纫绳扣和调节扣", + "化妆刷套件", + "内衬袜、船袜", + "齿间牙签", + "车用香水、空气清新", + "三环装订相册", + "美甲模板", + "装饰挂钩", + "棒棒糖、蛋糕模具", + "手动头部按摩器", + "化妆刷清洁用品", + "办公收纳用品", + "切纸机刀片", + "键盘托架", + "桌面吸尘器", + "钱袋", + "文具记事本", + "橡皮擦", + "自行车座杆", + "其他(健身、训练用品)", + "儿童画画衣", + "微型创意玩具", + "男婴袜子", + "汽车摆件", + "眉笔、眉粉", + "清洁刷", + "浇水壶", + "眼影刷", + "多用工具", + "嫁接睫毛工具", + "马桶垫", + "手工折纸", + "女士腰带", + "手机防水袋", + "蜡式脱毛刮片", + "拉力带", + "其他(皮肤护理)", + "时尚、休闲腰包", + "粉底刷", + "其他(手机配件)", + "折纸", + "毛球、绒毛去除器", + "食品过滤器", + "装饰纸花球", + "手机支架", + "悬挂式鞋子收纳袋", + "保湿脚套", + "帽子", + "阿育吠陀香膏和药膏", + "猫清洁按摩刷", + "婴幼儿防撞用品", + "女士情趣连体衣、连体袜", + "烫衣板", + "其他(女婴发饰)", + "女士钱包", + "口红", + "化妆品", + "婴幼儿温度计", + "S形挂钩", + "其他(清洁工具)", + "办公室计算器配件", + "其他(商务公文包及电脑包)", + "其他(切纸刀)", + "双肩电脑包", + "高线画笔", + "粘合剂、胶水", + "笔式橡皮", + "强力胶", + "索引卡归档和名片归档", + "钥匙箱", + "快递文件袋", + "针尖式水笔", + "D环活页夹", + "女士小腿袜", + "医用压缩丝袜", + "茶包碟", + "固定夹", + "茶勺", + "个人用电风扇", + "压蒜器、蒜泥器", + "钩子线", + "狗飞盘", + "手指套", + "运动风汽车贴纸", + "下水道疏通器", + "编织制作工具", + "狗保护罩", + "女士新奇短袜", + "女婴帽子", + "角色扮演骰子", + "运动胶带、绷带", + "其他(大家电配件)", + "后变速器", + "化妆镜", + "生日蜡烛", + "派对用品套装", + "食物存放和整理套装", + "电源转换器", + "手写笔", + "透明印章", + "女童装扮假发", + "墙纸、壁纸", + "其他(挂件吊饰)", + "钓鱼帽", + "派对钥匙圈礼品包", + "女士斜挎包", + "狗用理容梳", + "女士盒剃刀", + "双眼皮贴", + "其他(饰品收纳)", + "口腔温度计", + "垃圾袋收纳器", + "毛绒动物配件", + "自行车配件", + "百洁布", + "其他(刷子)", + "睡袍和浴巾挂钩", + "小便池配件", + "马桶刷、架", + "游泳鼻夹", + "渔具卡扣", + "磨脚石", + "门吊挂钩", + "首饰托盘", + "门锁", + "行李秤", + "旅行鞋子收纳包", + "吉他拨片", + "展示画架", + "马桶替换件", + "女士时尚贴颈项链", + "女士户外袜子", + "胶粘防撞垫", + "男士新奇补丁贴布", + "车迷钥匙链", + "男士运动束发带", + "日常脚部和指甲护理产品", + "其他(面部护理工具)", + "倒酒器", + "商用去毛器", + "USB 数据线", + "其他(派对装饰品和用品)", + "替换胶绵", + "手动背部按摩器", + "PlayStation Vita 保护套", + "其他(熨烫用品)", + "束发带", + "时尚束发带", + "加长型睫毛膏和打底膏", + "女士运动紧身袜", + "化妆棉", + "日用鞋扣和鞋带辅助用品", + "室内灯串", + "水烟炭夹具", + "缠绕护膝/缠绕运动绷带", + "烧烤工具套件", + "指甲清洁刷", + "其他(端口转接头)", + "女孩钱包", + "洒水器", + "男士新奇钥匙链", + "日程表本", + "挂孔纸", + "考勤卡", + "手提、单肩电脑包", + "男士证件夹", + "扫描仪配件", + "可清除标签", + "文件夹标签", + "信件和信笺横格纸", + "校对夹", + "杂志架", + "其他(索引卡归档产品)", + "木制彩色铅笔", + "其他(运动医学产品)", + "管道胶带", + "多功能书写工具", + "圆规", + "织物胶粘剂、粘合剂", + "圣诞袜、节日装饰袜", + "女袜袜套", + "笔记本散热器", + "女士围脖", + "儿童装扮面罩", + "一次性吸管", + "水族箱入门套件", + "其他(键盘乐器配件)", + "公用叉勺服务餐具套装", + "其他(装扮珠宝首饰)", + "摩托车头盔面罩", + "飘带", + "手机防尘插头", + "雕刻刀", + "发条、弹簧类玩具", + "挞盘", + "婴幼儿牙刷", + "拼图游戏", + "女婴半身裙、裙裤", + "其他(女童服饰配件)", + "汽车牌照套", + "其他(女童帽子)", + "大码女士薄丝袜", + "女婴连指、分指手套", + "安抚奶嘴", + "牙胶", + "粘土", + "游泳耳塞", + "锅具配件", + "毛绒公仔", + "女士腕包", + "相片角贴", + "专业水笔", + "女士时尚个性戒指", + "锅盖架", + "烤炉垫和地垫", + "邮差包", + "其他(眼睛护理)", + "指甲刷", + "指甲油固化灯", + "药丸压碎器和切药丸器", + "收纳篮", + "洗车工具", + "灶具旋钮", + "其他(面部护肤)", + "防磨脚贴", + "熨衣板盖", + "家庭马桶清洁剂", + "男士项链", + "实验室洗瓶", + "其他(工艺品和缝纫用品储物)", + "眼罩", + "空白便条卡套装", + "装饰性铃", + "其他(女士手提包和钱包)", + "相机隐私保护盖", + "仿真食物", + "中转袋", + "眼线刷", + "女士时尚珠子吊饰", + "熨烫配件", + "钢丝刷", + "浴衣和毛巾挂钩", + "婴幼儿指甲刀", + "空顶遮阳帽", + "男士户外帽子", + "墙贴和壁饰", + "文胸收纳包", + "骰子游戏", + "车载水杯架", + "方格置物架", + "自行车刹车片衬垫", + "地毯", + "女士空顶遮阳帽", + "杯垫、隔热垫", + "网格本与数据本", + "女士时尚手串", + "其他(卫浴毛巾)", + "车身维修凹坑清除工具", + "反光装置", + "缝纫穿线器", + "摩托车把手配件", + "户外休闲袜", + "商用食品袋封口器", + "户外筷子、刀、叉", + "其他(公用叉勺服务餐具)", + "土豆捣碎器", + "魔鬼蛋托盘", + "浴室托盘", + "战术袋", + "甜点叉", + "珠宝戒指坯与配件", + "花园微缩雕塑", + "首饰盒", + "水果和蔬菜去核机", + "虱子梳", + "裤子衣架", + "徒步旅行背包", + "壁挂酒架", + "其他(镜头配件)", + "充气设备配件", + "胡桃夹子", + "餐饮服务工具和餐具", + "巧克力模具", + "饼干模具", + "创意造型蛋糕模具", + "小动物喂食碗", + "刀盒、刀具收纳和保护器", + "配件", + "房车配件", + "装饰杆头", + "蛋糕装饰", + "派对照相亭道具", + "悬挂厨房篮", + "开瓶器", + "床单紧固件", + "游泳装备包", + "汽车遮阳板", + "玻璃杯", + "男士编织手链", + "地刮、玻璃刮板", + "女士时尚手链", + "脚垫", + "女士时尚开口手镯", + "女士脚链", + "收纳箱", + "双筒望远镜、相机、摄像机挂带及背包", + "猫抓板", + "乐谱文件夹", + "相册和相簿", + "清洁海绵", + "首饰架", + "工艺品收纳盒和整理器", + "发饰(头发装饰)", + "女士防寒连指手套", + "其他(面部护理和面膜)", + "其他(狗清洁用品)", + "浴球", + "粘土模具", + "其他(线缆管理)", + "首饰链子", + "派对头饰", + "珠饰套件", + "卫生纸架", + "吉他维修工具", + "墙贴", + "女士公交卡套", + "平板电脑贴纸", + "车用收纳", + "海绵粉扑", + "面膜" +] \ No newline at end of file diff --git a/temu建品/temu_cats_full.json b/temu建品/temu_cats_full.json new file mode 100644 index 0000000..52b91ae --- /dev/null +++ b/temu建品/temu_cats_full.json @@ -0,0 +1,5192 @@ +[ + { + "id": "1432", + "name": "证件内页", + "path": "办公用品/日常办公用品/标签指示牌/证件卡及附件/证件内页" + }, + { + "id": "1431", + "name": "证件卡夹卡套", + "path": "办公用品/日常办公用品/标签指示牌/证件卡及附件/证件卡夹卡套" + }, + { + "id": "1018", + "name": "钢笔、铅笔和马克笔盒", + "path": "办公用品/日常办公用品/办公桌面用品/桌面用品整理组合/钢笔、铅笔和马克笔盒" + }, + { + "id": "19287", + "name": "发夹", + "path": "美容和个人护理/美发护发/发型设计配件/发夹和发卡/发夹" + }, + { + "id": "40458", + "name": "笔袋", + "path": "办公用品/日常办公用品/办公桌面用品/桌面用品整理组合/笔袋" + }, + { + "id": "1406", + "name": "其他(办公标签和贴纸)", + "path": "办公用品/日常办公用品/标签指示牌/办公标签和贴纸/其他(办公标签和贴纸)" + }, + { + "id": "1460", + "name": "书签", + "path": "办公用品/日常办公用品/书籍封皮及配件/书签" + }, + { + "id": "19669", + "name": "化妆包", + "path": "美容和个人护理/工具和配件/化妆袋和化妆包/化妆包" + }, + { + "id": "19295", + "name": "梳子", + "path": "美容和个人护理/美发护发/美发工具/梳子" + }, + { + "id": "29322", + "name": "女士零钱包", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装配饰/女士钱包、卡包/女士零钱包" + }, + { + "id": "1133", + "name": "便签便利贴", + "path": "办公用品/日常办公用品/办公用纸张/笔记本便签/便签便利贴" + }, + { + "id": "1096", + "name": "其他(办公存储用品)", + "path": "办公用品/日常办公用品/办公存储用品/其他(办公存储用品)" + }, + { + "id": "1032", + "name": "名片夹", + "path": "办公用品/日常办公用品/办公桌面用品/名片夹" + }, + { + "id": "12169", + "name": "墙贴", + "path": "家居、厨房用品/家居装饰/家居装饰品/墙贴和壁饰/墙贴" + }, + { + "id": "1113", + "name": "文具纸", + "path": "办公用品/日常办公用品/办公用纸张/办公学生用纸/文具纸" + }, + { + "id": "1014", + "name": "笔筒", + "path": "办公用品/日常办公用品/办公桌面用品/桌面用品整理组合/笔筒" + }, + { + "id": "11760", + "name": "马桶贴", + "path": "家居、厨房用品/浴室用品/浴室配件/卫生间配件/马桶贴" + }, + { + "id": "1173", + "name": "中性笔", + "path": "办公用品/日常办公用品/书写和修正用品/笔和笔芯/水性墨水圆珠笔/中性笔" + }, + { + "id": "19285", + "name": "发圈和头绳", + "path": "美容和个人护理/美发护发/发型设计配件/发圈和头绳" + }, + { + "id": "1418", + "name": "封条和贴纸", + "path": "办公用品/日常办公用品/标签指示牌/办公标签和贴纸/封条和贴纸" + }, + { + "id": "1376", + "name": "墙壁装饰图案", + "path": "办公用品/日常办公用品/学校用品/美术用品和手工用品/教室装饰/墙壁装饰图案" + }, + { + "id": "4246", + "name": "遥控器", + "path": "电子/电视机、录音机、家庭影院/电视配件/遥控器" + }, + { + "id": "12119", + "name": "瓷砖贴玻璃贴", + "path": "家居、厨房用品/家居装饰/窗上用品/玻璃贴纸贴膜/瓷砖贴玻璃贴" + }, + { + "id": "889", + "name": "活页夹、回形针", + "path": "办公用品/日常办公用品/粘胶紧固用品/回形针/活页夹、回形针" + }, + { + "id": "39592", + "name": "纽扣", + "path": "艺术品、工艺品和缝纫用品/缝纫、针织用品/缝纫用品/缝纫紧固件/纽扣" + }, + { + "id": "19294", + "name": "美发刷", + "path": "美容和个人护理/美发护发/美发工具/美发刷" + }, + { + "id": "689", + "name": "线缆收纳包和盒子", + "path": "办公用品/办公设备/线缆收纳包和盒子" + }, + { + "id": "31008", + "name": "护照夹、证件包", + "path": "服装、鞋靴和珠宝饰品/皮具箱包/旅行配件/护照夹、证件包" + }, + { + "id": "31010", + "name": "行李牌", + "path": "服装、鞋靴和珠宝饰品/皮具箱包/旅行配件/行李标签和提手缠带/行李牌" + }, + { + "id": "29284", + "name": "女士钥匙环、钥匙链", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装配饰/女士钥匙环、钥匙链" + }, + { + "id": "25536", + "name": "贴画贴纸", + "path": "玩具与游戏/艺术与工艺品/贴画贴纸" + }, + { + "id": "1433", + "name": "胸牌挂带", + "path": "办公用品/日常办公用品/标签指示牌/证件卡及附件/胸牌挂带" + }, + { + "id": "1123", + "name": "速记本", + "path": "办公用品/日常办公用品/办公用纸张/笔记本便签/速记本" + }, + { + "id": "27630", + "name": "女士户外袜子", + "path": "服装、鞋靴和珠宝饰品/体育专用服装/户外服饰/女士户外服饰/女士户外袜子" + }, + { + "id": "1125", + "name": "硬皮行政笔记本", + "path": "办公用品/日常办公用品/办公用纸张/笔记本便签/硬皮行政笔记本" + }, + { + "id": "1121", + "name": "备忘录和便签本", + "path": "办公用品/日常办公用品/办公用纸张/笔记本便签/备忘录和便签本" + }, + { + "id": "1180", + "name": "圆珠笔", + "path": "办公用品/日常办公用品/书写和修正用品/笔和笔芯/圆珠笔" + }, + { + "id": "17488", + "name": "隐形眼镜伴侣盒", + "path": "健康和家居用品/眼睛护理/隐形眼镜配件/隐形眼镜伴侣盒" + }, + { + "id": "1381", + "name": "漏印板和模板", + "path": "办公用品/日常办公用品/学校用品/美术用品和手工用品/镂空绘画模板/漏印板和模板" + }, + { + "id": "19289", + "name": "发抓夹", + "path": "美容和个人护理/美发护发/发型设计配件/发抓夹" + }, + { + "id": "1150", + "name": "修正带", + "path": "办公用品/日常办公用品/书写和修正用品/橡皮涂改液涂改工具/修正带" + }, + { + "id": "1303", + "name": "急救包", + "path": "办公用品/日常办公用品/学校用品/急救包" + }, + { + "id": "1337", + "name": "手工艺胶带", + "path": "办公用品/日常办公用品/学校用品/美术用品和手工用品/粘合剂/手工艺胶带" + }, + { + "id": "11772", + "name": "牙刷架", + "path": "家居、厨房用品/浴室用品/浴室配件/洗漱用品/牙刷架" + }, + { + "id": "34174", + "name": "登山扣饰和钥匙扣", + "path": "运动与户外用品/户外休闲/户外休闲配件/登山扣饰和钥匙扣" + }, + { + "id": "15973", + "name": "创可贴", + "path": "健康和家居用品/健康护理/家庭急救、医疗耗材/绷带和包扎用品/创可贴" + }, + { + "id": "1088", + "name": "圆环活页夹", + "path": "办公用品/日常办公用品/活页夹办公用品/资料册/圆环活页夹" + }, + { + "id": "30604", + "name": "其他(男装配饰)", + "path": "服装、鞋靴和珠宝饰品/男士时尚/男装配饰/其他(男装配饰)" + }, + { + "id": "12168", + "name": "其他(墙贴和壁饰)", + "path": "家居、厨房用品/家居装饰/家居装饰品/墙贴和壁饰/其他(墙贴和壁饰)" + }, + { + "id": "1009", + "name": "办公隔间挂钩", + "path": "办公用品/日常办公用品/办公桌面用品/办公隔间挂钩" + }, + { + "id": "28290", + "name": "女士瑜伽瑜伽袜", + "path": "服装、鞋靴和珠宝饰品/体育专用服装/瑜伽服/女士瑜伽服/女士瑜伽瑜伽袜" + }, + { + "id": "16983", + "name": "牙刷旅行盒", + "path": "健康和家居用品/个人护理/口腔护理/牙刷/牙刷旅行盒" + }, + { + "id": "34303", + "name": "游泳帽", + "path": "运动与户外用品/户外休闲/水上运动/游泳用品/游泳帽" + }, + { + "id": "22146", + "name": "​汽车贴花", + "path": "汽车用品/汽车外部配件/贴纸、贴花/​汽车贴花" + }, + { + "id": "16831", + "name": "浴刷和身体刷", + "path": "健康和家居用品/个人护理/浴室及淋浴配件/沐浴工具/浴刷和身体刷" + }, + { + "id": "29288", + "name": "手提包收纳袋", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装配饰/包袋配件/手提包收纳袋" + }, + { + "id": "1100", + "name": "文件收纳盒", + "path": "办公用品/日常办公用品/办公存储用品/文件收纳盒" + }, + { + "id": "989", + "name": "台历", + "path": "办公用品/日常办公用品/日历及个人规划用品/台历/台历" + }, + { + "id": "1158", + "name": "标准铅笔橡皮", + "path": "办公用品/日常办公用品/书写和修正用品/橡皮涂改液涂改工具/橡皮/标准铅笔橡皮" + }, + { + "id": "827", + "name": "手动拆信刀", + "path": "办公用品/日常办公用品/邮寄用品/手动拆信刀" + }, + { + "id": "29155", + "name": "钱包", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女士手提包和钱包/钱包" + }, + { + "id": "39474", + "name": "贴纸", + "path": "艺术品、工艺品和缝纫用品/剪贴、压印/剪贴簿贴花和装饰/贴纸" + }, + { + "id": "1021", + "name": "鼠标垫", + "path": "办公用品/日常办公用品/办公桌面用品/鼠标垫和腕托/鼠标垫" + }, + { + "id": "1064", + "name": "彩色文件夹", + "path": "办公用品/日常办公用品/文件归档产品/文件夹/文件夹/彩色文件夹" + }, + { + "id": "3187", + "name": "手机装饰品", + "path": "电子/电子配件及用品/手机配件/手机装饰/手机装饰品" + }, + { + "id": "29522", + "name": "女士胸针、领针、丝巾扣", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女士饰品/女士胸针、领针、丝巾扣" + }, + { + "id": "1126", + "name": "学科笔记本", + "path": "办公用品/日常办公用品/办公用纸张/笔记本便签/学科笔记本" + }, + { + "id": "40466", + "name": "汽车挂饰", + "path": "汽车用品/汽车内部配件/汽车挂饰" + }, + { + "id": "1015", + "name": "别针夹子盒", + "path": "办公用品/日常办公用品/办公桌面用品/桌面用品整理组合/别针夹子盒" + }, + { + "id": "910", + "name": "桌面订书机", + "path": "办公用品/日常办公用品/订书机/手动办公订书机/桌面订书机" + }, + { + "id": "19292", + "name": "手动卷发器", + "path": "美容和个人护理/美发护发/美发工具/手动卷发器" + }, + { + "id": "19666", + "name": "化妆粉扑和海绵", + "path": "美容和个人护理/工具和配件/化妆工具/面部化妆刷和工具/化妆粉扑和海绵" + }, + { + "id": "54004", + "name": "经典、便携式睫毛夹", + "path": "美容和个人护理/工具和配件/化妆工具/眼妆工具/睫毛工具/经典、便携式睫毛夹" + }, + { + "id": "39015", + "name": "其他(女袜短袜)", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装配饰/女袜/女袜短袜/其他(女袜短袜)" + }, + { + "id": "19755", + "name": "美甲贴纸和贴花", + "path": "美容和个人护理/足部、手部和指甲护理产品/美甲/美甲配件/美甲贴纸和贴花" + }, + { + "id": "1228", + "name": "文件套、文件袋", + "path": "办公用品/日常办公用品/学校用品/文件归档产品/办公文件归档用品/文件套、文件袋" + }, + { + "id": "1127", + "name": "螺旋线圈笔记本", + "path": "办公用品/日常办公用品/办公用纸张/笔记本便签/螺旋线圈笔记本" + }, + { + "id": "1207", + "name": "学生奖品", + "path": "办公用品/日常办公用品/学校用品/教学耗材/学生奖品" + }, + { + "id": "29312", + "name": "女士眼镜盒", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装配饰/女士眼镜及配件/女士眼镜盒" + }, + { + "id": "29318", + "name": "女士卡包、证件包", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装配饰/女士钱包、卡包/女士卡包、卡夹/女士卡包、证件包" + }, + { + "id": "19288", + "name": "发卡", + "path": "美容和个人护理/美发护发/发型设计配件/发夹和发卡/发卡" + }, + { + "id": "12157", + "name": "挂件吊饰", + "path": "家居、厨房用品/家居装饰/家居装饰品/挂件吊饰" + }, + { + "id": "2702", + "name": "MP3 播放器保护套和外壳", + "path": "电子/影音娱乐/MP3播放器配件/MP3 播放器保护套和外壳" + }, + { + "id": "30640", + "name": "男士眼镜盒", + "path": "服装、鞋靴和珠宝饰品/男士时尚/男装配饰/男士眼镜及配件/男士眼镜盒" + }, + { + "id": "19280", + "name": "头发定型别针", + "path": "美容和个人护理/美发护发/发型设计配件/头发定型别针" + }, + { + "id": "11703", + "name": "气球", + "path": "家居、厨房用品/活动和派对用品/儿童派对用品/儿童派对装饰物/气球" + }, + { + "id": "19639", + "name": "其他(化妆工具)", + "path": "美容和个人护理/工具和配件/化妆工具/其他(化妆工具)" + }, + { + "id": "1163", + "name": "荧光笔", + "path": "办公用品/日常办公用品/书写和修正用品/马克笔荧光笔标记笔/荧光笔" + }, + { + "id": "986", + "name": "记事簿", + "path": "办公用品/日常办公用品/日历及个人规划用品/记事簿" + }, + { + "id": "4053", + "name": "笔记本电脑贴花", + "path": "电子/电脑及配件/笔记本配件/笔记本外壳贴膜、贴纸/笔记本电脑贴花" + }, + { + "id": "39553", + "name": "安全别针", + "path": "艺术品、工艺品和缝纫用品/缝纫、针织用品/缝纫用品/缝纫别针和针垫/缝制别针/安全别针" + }, + { + "id": "1450", + "name": "剪刀", + "path": "办公用品/日常办公用品/裁切测量工具/剪刀" + }, + { + "id": "1048", + "name": "文件套、文件袋", + "path": "办公用品/日常办公用品/文件归档产品/办公文件归档用品/文件套、文件袋" + }, + { + "id": "1031", + "name": "便签夹、便签盒", + "path": "办公用品/日常办公用品/办公桌面用品/便签夹、便签盒" + }, + { + "id": "1324", + "name": "桌面标签和姓名牌", + "path": "办公用品/日常办公用品/学校用品/桌面标签和姓名牌" + }, + { + "id": "665", + "name": "其他(电话机及配件)", + "path": "办公用品/办公设备/电话机及配件/其他(电话机及配件)" + }, + { + "id": "833", + "name": "贺卡邮寄信封", + "path": "办公用品/日常办公用品/邮寄用品/信封/贺卡邮寄信封" + }, + { + "id": "12141", + "name": "装饰性悬挂装饰品", + "path": "家居、厨房用品/家居装饰/家居装饰品/装饰性悬挂装饰品" + }, + { + "id": "11658", + "name": "派对气球", + "path": "家居、厨房用品/活动和派对用品/派对装饰/派对气球" + }, + { + "id": "39438", + "name": "剪贴簿贴纸", + "path": "艺术品、工艺品和缝纫用品/剪贴、压印/剪贴簿贴纸和贴纸机/剪贴簿贴纸" + }, + { + "id": "1042", + "name": "其他(文件归档产品)", + "path": "办公用品/日常办公用品/文件归档产品/其他(文件归档产品)" + }, + { + "id": "1029", + "name": "笔记本电脑支架", + "path": "办公用品/日常办公用品/办公桌面用品/平台、支架/笔记本电脑支架" + }, + { + "id": "1357", + "name": "艺术笔刷套装", + "path": "办公用品/日常办公用品/学校用品/美术用品和手工用品/刷子/艺术笔刷套装" + }, + { + "id": "1159", + "name": "其他(橡皮)", + "path": "办公用品/日常办公用品/书写和修正用品/橡皮涂改液涂改工具/橡皮/其他(橡皮)" + }, + { + "id": "1111", + "name": "贺卡", + "path": "办公用品/日常办公用品/办公用纸张/卡片/贺卡" + }, + { + "id": "31558", + "name": "反光衣/反光安全装备", + "path": "运动与户外用品/运动与户外休闲用品/反光衣/反光安全装备" + }, + { + "id": "844", + "name": "其他(包裹耗材)", + "path": "办公用品/日常办公用品/邮寄用品/包裹耗材/其他(包裹耗材)" + }, + { + "id": "25497", + "name": "挤压玩具", + "path": "玩具与游戏/新奇玩具/挤压玩具" + }, + { + "id": "26610", + "name": "婴幼儿抽屉锁", + "path": "母婴用品/婴幼儿安全防护/婴幼儿抽屉锁" + }, + { + "id": "1926", + "name": "水族馆装饰主题摆件", + "path": "宠物用品/水族用品/水族布景、装饰/水族馆装饰主题摆件" + }, + { + "id": "25470", + "name": "其他(新奇玩具)", + "path": "玩具与游戏/新奇玩具/其他(新奇玩具)" + }, + { + "id": "19284", + "name": "女士时尚束发带", + "path": "美容和个人护理/美发护发/发型设计配件/女士时尚束发带" + }, + { + "id": "12741", + "name": "辅助挂钩", + "path": "家居、厨房用品/收纳用品/挂钩、粘钩/辅助挂钩" + }, + { + "id": "1005", + "name": "抽屉收纳", + "path": "办公用品/日常办公用品/办公桌面用品/抽屉收纳" + }, + { + "id": "1443", + "name": "其他(裁切测量工具)", + "path": "办公用品/日常办公用品/裁切测量工具/其他(裁切测量工具)" + }, + { + "id": "1056", + "name": "其他(索引分隔卡)", + "path": "办公用品/日常办公用品/文件归档产品/索引分隔卡/其他(索引分隔卡)" + }, + { + "id": "16696", + "name": "止汗剂", + "path": "健康和家居用品/个人护理/香体剂和止汗剂/止汗剂" + }, + { + "id": "14240", + "name": "护边和护角", + "path": "家居装修/五金/家具五金/护边和护角" + }, + { + "id": "12280", + "name": "育婴房墙贴", + "path": "家居、厨房用品/家居装饰/婴儿房装饰/育婴房墙体装饰用品/育婴房墙贴" + }, + { + "id": "9448", + "name": "筷子", + "path": "工业和科学/食品服务设备和用品/餐饮服务餐桌和餐具/刀叉勺筷餐具/筷子" + }, + { + "id": "13027", + "name": "节日吊坠、悬挂装饰", + "path": "家居、厨房用品/节日装饰品/节日挂饰/节日吊坠、悬挂装饰" + }, + { + "id": "31116", + "name": "鞋带", + "path": "服装、鞋靴和珠宝饰品/鞋靴、首饰、手表配件/鞋靴配件/鞋带" + }, + { + "id": "30988", + "name": "化妆包", + "path": "服装、鞋靴和珠宝饰品/皮具箱包/旅行配件/化妆包" + }, + { + "id": "30650", + "name": "男士信用卡包", + "path": "服装、鞋靴和珠宝饰品/男士时尚/男装配饰/男士钱包、卡包/男士卡包和证件夹/男士信用卡包" + }, + { + "id": "19672", + "name": "盥洗洗漱包", + "path": "美容和个人护理/工具和配件/化妆袋和化妆包/盥洗洗漱包" + }, + { + "id": "19283", + "name": "头发侧梳", + "path": "美容和个人护理/美发护发/发型设计配件/头发侧梳" + }, + { + "id": "40057", + "name": "油漆笔和马克笔", + "path": "艺术品、工艺品和缝纫用品/绘画用品/绘画用品/油漆笔、马克笔和涂抹器/油漆笔和马克笔" + }, + { + "id": "998", + "name": "记事簿配件", + "path": "办公用品/日常办公用品/日历及个人规划用品/记事簿、替换芯和封皮/记事簿配件" + }, + { + "id": "1028", + "name": "电话支架", + "path": "办公用品/日常办公用品/办公桌面用品/平台、支架/电话支架" + }, + { + "id": "1421", + "name": "空白标签牌", + "path": "办公用品/日常办公用品/标签指示牌/空白标签牌" + }, + { + "id": "29287", + "name": "便携式包袋挂钩", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装配饰/包袋配件/便携式包袋挂钩" + }, + { + "id": "25475", + "name": "搞笑整蛊玩具", + "path": "玩具与游戏/新奇玩具/搞笑整蛊玩具" + }, + { + "id": "19282", + "name": "其他(发型设计配件)", + "path": "美容和个人护理/美发护发/发型设计配件/其他(发型设计配件)" + }, + { + "id": "39009", + "name": "女士薄丝袜", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装配饰/女袜/女士薄丝袜" + }, + { + "id": "19386", + "name": "吸油纸", + "path": "美容和个人护理/彩妆/面部/吸油纸" + }, + { + "id": "1022", + "name": "鼠标手腕垫", + "path": "办公用品/日常办公用品/办公桌面用品/鼠标垫和腕托/鼠标手腕垫" + }, + { + "id": "30162", + "name": "女士新奇纽扣和胸针", + "path": "服装、鞋靴和珠宝饰品/新奇物品/新奇服装和产品/新奇服装/女士新奇服装/女士新奇配饰/女士新奇纽扣和胸针" + }, + { + "id": "12906", + "name": "清洁布", + "path": "家居、厨房用品/家庭清洁用品/家庭清洁/清洁工具/清洁布" + }, + { + "id": "12258", + "name": "仿真花", + "path": "家居、厨房用品/家居装饰/仿真植物、仿真花、花艺/仿真花" + }, + { + "id": "8545", + "name": "手动牙刷", + "path": "工业和科学/专业牙科器材/口腔卫生和预防保健/牙齿卫生和患者用品/手动牙刷" + }, + { + "id": "11770", + "name": "肥皂盒肥皂架", + "path": "家居、厨房用品/浴室用品/浴室配件/洗漱用品/肥皂盒肥皂架" + }, + { + "id": "29019", + "name": "女士运动袜", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装/女士休闲运动服/女士运动袜" + }, + { + "id": "5101", + "name": "其他(展示用挂钩)", + "path": "工业和科学/工业五金件/展示用挂钩/其他(展示用挂钩)" + }, + { + "id": "19372", + "name": "纹身贴", + "path": "美容和个人护理/彩妆/身体化妆品/纹身贴" + }, + { + "id": "1441", + "name": "美工刀", + "path": "办公用品/日常办公用品/裁切测量工具/手工刀和刀片/美工刀" + }, + { + "id": "1166", + "name": "削笔刀", + "path": "办公用品/日常办公用品/书写和修正用品/削笔刀" + }, + { + "id": "983", + "name": "其他(日历及个人规划用品)", + "path": "办公用品/日常办公用品/日历及个人规划用品/其他(日历及个人规划用品)" + }, + { + "id": "872", + "name": "胶水胶棒", + "path": "办公用品/日常办公用品/粘胶紧固用品/办公用粘合剂和胶水/胶水胶棒" + }, + { + "id": "1205", + "name": "其他(教学耗材)", + "path": "办公用品/日常办公用品/学校用品/教学耗材/其他(教学耗材)" + }, + { + "id": "3060", + "name": "线缆带", + "path": "电子/电子配件及用品/电线管理/线缆带" + }, + { + "id": "1375", + "name": "其他(教室装饰)", + "path": "办公用品/日常办公用品/学校用品/美术用品和手工用品/教室装饰/其他(教室装饰)" + }, + { + "id": "19627", + "name": "棉签", + "path": "美容和个人护理/工具和配件/棉球和棉签/棉签" + }, + { + "id": "39591", + "name": "拉链", + "path": "艺术品、工艺品和缝纫用品/缝纫、针织用品/缝纫用品/缝纫紧固件/拉链" + }, + { + "id": "26923", + "name": "女婴袜子", + "path": "母婴用品/服装和配饰/女婴服装和鞋靴/女婴服饰配件/女婴袜子" + }, + { + "id": "16836", + "name": "沐浴海绵", + "path": "健康和家居用品/个人护理/浴室及淋浴配件/沐浴工具/沐浴海绵" + }, + { + "id": "19342", + "name": "发剪", + "path": "美容和个人护理/美发护发/理发工具/发剪" + }, + { + "id": "6668", + "name": "急救包", + "path": "工业和科学/安防劳保/应急器具/急救包" + }, + { + "id": "11729", + "name": "聚会游戏和活动", + "path": "家居、厨房用品/活动和派对用品/聚会游戏和活动" + }, + { + "id": "30625", + "name": "男士钥匙环、钥匙链", + "path": "服装、鞋靴和珠宝饰品/男士时尚/男装配饰/男士钥匙环、钥匙链" + }, + { + "id": "19701", + "name": "修眉剪", + "path": "美容和个人护理/工具和配件/面部护理工具/修眉剪" + }, + { + "id": "31002", + "name": "洗漱包", + "path": "服装、鞋靴和珠宝饰品/皮具箱包/旅行配件/洗漱包" + }, + { + "id": "960", + "name": "胸牌", + "path": "办公用品/日常办公用品/表单、记录和钱币管理/人力资源表单/胸牌" + }, + { + "id": "26046", + "name": "卡套", + "path": "玩具与游戏/收藏玩具/藏品展示及存储/集换式卡片存放及陈列/卡套" + }, + { + "id": "1395", + "name": "通行证", + "path": "办公用品/日常办公用品/学校用品/通行证" + }, + { + "id": "1408", + "name": "通用标签", + "path": "办公用品/日常办公用品/标签指示牌/办公标签和贴纸/通用标签" + }, + { + "id": "11800", + "name": "化妆品收纳盒", + "path": "家居、厨房用品/浴室用品/浴室配件/化妆品收纳盒" + }, + { + "id": "1003", + "name": "书立", + "path": "办公用品/日常办公用品/办公桌面用品/办公挡书板和书架/书立" + }, + { + "id": "33376", + "name": "自行车把套", + "path": "运动与户外用品/户外休闲/骑行用品/组装车零部件/自行车车把和竖管/自行车把套" + }, + { + "id": "33299", + "name": "自行车喇叭", + "path": "运动与户外用品/户外休闲/骑行用品/自行车整车附件/自行车喇叭" + }, + { + "id": "795", + "name": "门档", + "path": "办公用品/办公家具灯具/办公家具配件/门档" + }, + { + "id": "6706", + "name": "耳塞", + "path": "工业和科学/安防劳保/劳保用品/耳朵防护罩/耳塞" + }, + { + "id": "6556", + "name": "海绵", + "path": "工业和科学/商业清洁/商用清洁工具/海绵" + }, + { + "id": "16083", + "name": "鞋垫", + "path": "健康和家居用品/健康护理/足部护理/鞋垫和衬垫/鞋垫" + }, + { + "id": "10292", + "name": "午餐包、午餐袋", + "path": "家居、厨房用品/厨房和餐厅/厨房保鲜、收纳/旅行和外带食品容器/午餐包、午餐袋" + }, + { + "id": "12192", + "name": "工艺扇", + "path": "家居、厨房用品/家居装饰/家居装饰品/家居摆件、挂件/工艺扇" + }, + { + "id": "9433", + "name": "汤勺", + "path": "工业和科学/食品服务设备和用品/餐饮服务餐桌和餐具/刀叉勺筷餐具/餐勺/汤勺" + }, + { + "id": "6574", + "name": "下水道疏通器", + "path": "工业和科学/商业清洁/商用除臭及管道维护/管道清理工具/下水道疏通器" + }, + { + "id": "4354", + "name": "其他(手机固定架)", + "path": "电子/手机和配件/配件/手机固定架/其他(手机固定架)" + }, + { + "id": "37165", + "name": "啦啦队彩花", + "path": "运动与户外用品/运动服装和器材/团队运动/其他团体运动/啦啦队用品/啦啦队彩花" + }, + { + "id": "10291", + "name": "环保购物袋", + "path": "家居、厨房用品/厨房和餐厅/厨房保鲜、收纳/旅行和外带食品容器/环保购物袋" + }, + { + "id": "25611", + "name": "骰子", + "path": "玩具与游戏/游戏及配件/游戏配件/骰子" + }, + { + "id": "17942", + "name": "吉他拨片收纳盒", + "path": "乐器/乐器配件/吉他和贝斯配件/拨片及收纳盒/吉他拨片收纳盒" + }, + { + "id": "12140", + "name": "雕像摆件", + "path": "家居、厨房用品/家居装饰/家居装饰品/雕像摆件" + }, + { + "id": "10695", + "name": "筷子", + "path": "家居、厨房用品/厨房和餐厅/餐具饮具/刀叉勺筷餐具/筷子" + }, + { + "id": "39011", + "name": "女袜袜套", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装配饰/女袜/女袜袜套" + }, + { + "id": "1867", + "name": "狗发声玩具", + "path": "宠物用品/狗狗用品类/狗玩具/狗发声玩具" + }, + { + "id": "26919", + "name": "女婴发夹", + "path": "母婴用品/婴幼儿洗护用品/宝宝头发护理/女婴发饰/女婴发夹" + }, + { + "id": "17956", + "name": "吉他背带", + "path": "乐器/乐器配件/吉他和贝斯配件/吉他背带、锁扣/吉他背带" + }, + { + "id": "9992", + "name": "冰块模具和托盘", + "path": "家居、厨房用品/厨房和餐厅/厨房用具和小工具/专业工具和小器具/冰块模具和托盘" + }, + { + "id": "1135", + "name": "活页纸", + "path": "办公用品/日常办公用品/办公用纸张/活页纸" + }, + { + "id": "793", + "name": "其他(办公家具配件)", + "path": "办公用品/办公家具灯具/办公家具配件/其他(办公家具配件)" + }, + { + "id": "1105", + "name": "明信片", + "path": "办公用品/日常办公用品/办公用纸张/卡片/明信片" + }, + { + "id": "1161", + "name": "其他(马克笔荧光笔标记笔)", + "path": "办公用品/日常办公用品/书写和修正用品/马克笔荧光笔标记笔/其他(马克笔荧光笔标记笔)" + }, + { + "id": "890", + "name": "办公簿册装订环", + "path": "办公用品/日常办公用品/粘胶紧固用品/回形针/办公簿册装订环" + }, + { + "id": "886", + "name": "图钉", + "path": "办公用品/日常办公用品/粘胶紧固用品/图钉" + }, + { + "id": "3185", + "name": "手机挂绳与腕带", + "path": "电子/电子配件及用品/手机配件/手机挂绳与腕带" + }, + { + "id": "7305", + "name": "美工刀", + "path": "工业和科学/工业工具/工业手工工具/刀/美工刀" + }, + { + "id": "907", + "name": "办公装订用品", + "path": "办公用品/日常办公用品/订书机/办公装订用品" + }, + { + "id": "4677", + "name": "自动滴灌套件", + "path": "工业和科学/农业灌溉设备/自动滴灌套件" + }, + { + "id": "14817", + "name": "厨房排水管和过滤器", + "path": "家居装修/厨卫/家装厨房用品/水槽配件/厨房排水管和过滤器" + }, + { + "id": "9991", + "name": "冰棒模具", + "path": "家居、厨房用品/厨房和餐厅/厨房用具和小工具/专业工具和小器具/冰棒模具" + }, + { + "id": "6555", + "name": "清洁刷", + "path": "工业和科学/商业清洁/商用清洁工具/清洁刷" + }, + { + "id": "12755", + "name": "晾衣夹", + "path": "家居、厨房用品/收纳用品/洗晒熨/晾衣夹" + }, + { + "id": "6748", + "name": "防护马甲", + "path": "工业和科学/安防劳保/劳保用品/安全防护服/安全服/防护马甲" + }, + { + "id": "3250", + "name": "耳机包", + "path": "电子/电子配件及用品/手机配件/耳机及配件/耳机包" + }, + { + "id": "16791", + "name": "剃须刀和刷架", + "path": "健康和家居用品/个人护理/剃须和脱毛/男士剃须和脱毛产品/男士剃须刀配件/剃须刀和刷架" + }, + { + "id": "3225", + "name": "智能手机拉环支架", + "path": "电子/电子配件及用品/手机配件/智能手机拉环支架" + }, + { + "id": "16819", + "name": "眉毛修剪器", + "path": "健康和家居用品/个人护理/剃须和脱毛/男士剃须和脱毛产品/眉毛修剪器" + }, + { + "id": "30976", + "name": "抽绳健身包", + "path": "服装、鞋靴和珠宝饰品/皮具箱包/健身包/抽绳健身包" + }, + { + "id": "11806", + "name": "洗脸毛巾", + "path": "家居、厨房用品/浴室用品/卫浴毛巾/洗脸毛巾" + }, + { + "id": "32416", + "name": "其他(钓鱼用品)", + "path": "运动与户外用品/打猎和钓鱼/钓鱼用品/其他(钓鱼用品)" + }, + { + "id": "12191", + "name": "室内装饰石", + "path": "家居、厨房用品/家居装饰/家居装饰品/家居摆件、挂件/室内装饰石" + }, + { + "id": "16982", + "name": "手动牙刷", + "path": "健康和家居用品/个人护理/口腔护理/牙刷/手动牙刷" + }, + { + "id": "22147", + "name": "保险杠贴纸", + "path": "汽车用品/汽车外部配件/贴纸、贴花/保险杠贴纸" + }, + { + "id": "10300", + "name": "扁平餐具收纳", + "path": "家居、厨房用品/厨房和餐厅/厨房保鲜、收纳/厨房置物架/家居橱柜收纳/扁平餐具收纳" + }, + { + "id": "31000", + "name": "行李整理包", + "path": "服装、鞋靴和珠宝饰品/皮具箱包/旅行配件/行李整理包" + }, + { + "id": "31003", + "name": "护照包", + "path": "服装、鞋靴和珠宝饰品/皮具箱包/旅行配件/护照包" + }, + { + "id": "19665", + "name": "遮瑕刷", + "path": "美容和个人护理/工具和配件/化妆工具/面部化妆刷和工具/面部化妆刷/遮瑕刷" + }, + { + "id": "19746", + "name": "其他(美甲配件)", + "path": "美容和个人护理/足部、手部和指甲护理产品/美甲/美甲配件/其他(美甲配件)" + }, + { + "id": "24352", + "name": "智能手表带", + "path": "手机和配件/手机配件/智能手表配件/智能手表带" + }, + { + "id": "29159", + "name": "女士小手提包", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女士手提包和钱包/女士小手提包" + }, + { + "id": "33274", + "name": "其他(骑行用品)", + "path": "运动与户外用品/户外休闲/骑行用品/其他(骑行用品)" + }, + { + "id": "978", + "name": "笔记本保护套、壳", + "path": "办公用品/日常办公用品/商务公文包及电脑包/笔记本电脑包/笔记本保护套、壳" + }, + { + "id": "17939", + "name": "变调夹", + "path": "乐器/乐器配件/吉他和贝斯配件/变调夹" + }, + { + "id": "19671", + "name": "化妆旅行盒", + "path": "美容和个人护理/工具和配件/化妆袋和化妆包/化妆旅行盒" + }, + { + "id": "11667", + "name": "派对花环", + "path": "家居、厨房用品/活动和派对用品/派对装饰/派对花环" + }, + { + "id": "29320", + "name": "女士名片夹", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装配饰/女士钱包、卡包/女士卡包、卡夹/女士名片夹" + }, + { + "id": "906", + "name": "起钉器", + "path": "办公用品/日常办公用品/订书机/起钉器" + }, + { + "id": "1438", + "name": "卷尺", + "path": "办公用品/日常办公用品/裁切测量工具/卷尺" + }, + { + "id": "1311", + "name": "直尺", + "path": "办公用品/日常办公用品/学校用品/数学用具/直尺" + }, + { + "id": "1185", + "name": "自动铅笔", + "path": "办公用品/日常办公用品/书写和修正用品/铅笔/自动铅笔" + }, + { + "id": "1219", + "name": "绘图工具和套件", + "path": "办公用品/日常办公用品/学校用品/教学耗材/绘图工具和套件" + }, + { + "id": "1030", + "name": "显示器支架", + "path": "办公用品/日常办公用品/办公桌面用品/平台、支架/显示器支架" + }, + { + "id": "888", + "name": "办公纸夹", + "path": "办公用品/日常办公用品/粘胶紧固用品/回形针/办公纸夹" + }, + { + "id": "895", + "name": "办公胶带座", + "path": "办公用品/日常办公用品/粘胶紧固用品/胶带座/办公胶带座" + }, + { + "id": "1338", + "name": "工艺粘合剂打蜡", + "path": "办公用品/日常办公用品/学校用品/美术用品和手工用品/粘合剂/工艺粘合剂打蜡" + }, + { + "id": "16704", + "name": "脱毛镊子", + "path": "健康和家居用品/个人护理/剃须和脱毛/女士脱毛和剃毛产品/脱毛镊子" + }, + { + "id": "4344", + "name": "手机支架", + "path": "电子/手机和配件/配件/手机支架" + }, + { + "id": "1110", + "name": "封皮纸", + "path": "办公用品/日常办公用品/办公用纸张/卡片/封皮纸" + }, + { + "id": "19706", + "name": "手动洁面刷", + "path": "美容和个人护理/工具和配件/面部护理工具/洗脸刷/手动洁面刷" + }, + { + "id": "16833", + "name": "浴帽", + "path": "健康和家居用品/个人护理/浴室及淋浴配件/沐浴工具/浴帽" + }, + { + "id": "9930", + "name": "水果和蔬菜去心器", + "path": "家居、厨房用品/厨房和餐厅/厨房用具和小工具/水果和蔬菜工具/水果和蔬菜去核器/水果和蔬菜去心器" + }, + { + "id": "3056", + "name": "束线带", + "path": "电子/电子配件及用品/电线管理/束线带" + }, + { + "id": "1060", + "name": "档案袋、资料袋", + "path": "办公用品/日常办公用品/文件归档产品/档案袋、资料袋" + }, + { + "id": "14716", + "name": "安全防护面罩", + "path": "家居装修/安防劳保与清洁/劳保用品/面部防护用具/安全防护面罩" + }, + { + "id": "12171", + "name": "玩偶摆件", + "path": "家居、厨房用品/家居装饰/家居装饰品/玩偶摆件" + }, + { + "id": "33276", + "name": "自行车车铃", + "path": "运动与户外用品/户外休闲/骑行用品/自行车整车附件/自行车车铃" + }, + { + "id": "19653", + "name": "眉刷", + "path": "美容和个人护理/工具和配件/化妆工具/眼妆工具/眉刷" + }, + { + "id": "32482", + "name": "其他(飞钓饵)", + "path": "运动与户外用品/打猎和钓鱼/钓鱼用品/飞钓用品/飞钓饵/其他(飞钓饵)" + }, + { + "id": "13020", + "name": "小雕像摆件", + "path": "家居、厨房用品/节日装饰品/小雕像摆件" + }, + { + "id": "29514", + "name": "女士时尚垂坠式耳环", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女士饰品/女士耳饰/女士时尚垂坠式耳环" + }, + { + "id": "2277", + "name": "其他大家电配件", + "path": "家电/大家电配件/其他大家电配件" + }, + { + "id": "12139", + "name": "杯垫", + "path": "家居、厨房用品/家居装饰/家居装饰品/杯垫" + }, + { + "id": "12118", + "name": "玻璃贴膜", + "path": "家居、厨房用品/家居装饰/窗上用品/玻璃贴纸贴膜/玻璃贴膜" + }, + { + "id": "9025", + "name": "礼品袋", + "path": "工业和科学/零售店固定装置和设备/购物袋和包装盒/礼品袋" + }, + { + "id": "39490", + "name": "卡纸", + "path": "艺术品、工艺品和缝纫用品/剪贴、压印/纸张和卡片/卡纸" + }, + { + "id": "39539", + "name": "流苏", + "path": "艺术品、工艺品和缝纫用品/缝纫、针织用品/缝纫镶边、装饰/流苏" + }, + { + "id": "33594", + "name": "自行车水壶架", + "path": "运动与户外用品/户外休闲/骑行用品/自行车水袋/自行车水壶架" + }, + { + "id": "12154", + "name": "流苏装饰品、中国结", + "path": "家居、厨房用品/家居装饰/家居装饰品/流苏装饰品、中国结" + }, + { + "id": "12808", + "name": "内衣收纳盒", + "path": "家居、厨房用品/收纳用品/衣柜收纳/内衣收纳盒" + }, + { + "id": "19714", + "name": "起泡网", + "path": "美容和个人护理/工具和配件/面部护理工具/起泡网" + }, + { + "id": "955", + "name": "工作单收纳袋", + "path": "办公用品/日常办公用品/表单、记录和钱币管理/办公用夹板/工作单收纳袋" + }, + { + "id": "11666", + "name": "派对横幅、拉旗", + "path": "家居、厨房用品/活动和派对用品/派对装饰/派对横幅、拉旗" + }, + { + "id": "13892", + "name": "搭扣锁", + "path": "家居装修/五金/锁具/搭扣锁" + }, + { + "id": "11650", + "name": "其他(活动和派对用品)", + "path": "家居、厨房用品/活动和派对用品/其他(活动和派对用品)" + }, + { + "id": "12996", + "name": "其他(节日装饰品)", + "path": "家居、厨房用品/节日装饰品/其他(节日装饰品)" + }, + { + "id": "25988", + "name": "骑行贴纸和贴花", + "path": "玩具与游戏/童车、助步、轮滑/骑行零件和配件/手推车及附件附件/骑行贴纸和贴花" + }, + { + "id": "9676", + "name": "倒酒器", + "path": "工业和科学/食品服务设备和用品/餐饮服务餐桌和餐具/调酒用品/调酒分酒用具/引酒器/倒酒器" + }, + { + "id": "12818", + "name": "真空压缩袋", + "path": "家居、厨房用品/收纳用品/衣柜收纳/真空压缩袋" + }, + { + "id": "26916", + "name": "奶嘴链", + "path": "母婴用品/婴幼儿洗护用品/安抚奶嘴及配件/奶嘴链" + }, + { + "id": "32339", + "name": "创可贴", + "path": "运动与户外用品/运动医学产品/绷带和敷料/创可贴" + }, + { + "id": "880", + "name": "透明胶", + "path": "办公用品/日常办公用品/粘胶紧固用品/胶带/透明胶" + }, + { + "id": "19380", + "name": "睫毛膏", + "path": "美容和个人护理/彩妆/眼部/睫毛膏" + }, + { + "id": "31031", + "name": "化妆造型用品", + "path": "服装、鞋靴和珠宝饰品/装扮服饰和配饰/化妆造型用品、假胡子和粘合剂/化妆造型用品" + }, + { + "id": "29277", + "name": "女士发带", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装配饰/女士帽子/女士发带" + }, + { + "id": "1013", + "name": "办公胶带座", + "path": "办公用品/日常办公用品/办公桌面用品/桌面用品整理组合/办公胶带座" + }, + { + "id": "908", + "name": "纸张打孔器", + "path": "办公用品/日常办公用品/订书机/纸张打孔器" + }, + { + "id": "1423", + "name": "隔页板", + "path": "办公用品/日常办公用品/标签指示牌/隔页板" + }, + { + "id": "1302", + "name": "安全剪刀", + "path": "办公用品/日常办公用品/学校用品/安全剪刀" + }, + { + "id": "841", + "name": "信封和邮票湿润用品", + "path": "办公用品/日常办公用品/邮寄用品/信封和邮票湿润用品" + }, + { + "id": "2400", + "name": "空调配件", + "path": "家电/大家电配件/空调配件/备件/空调配件" + }, + { + "id": "12376", + "name": "相册配件", + "path": "家居、厨房用品/家居装饰/相册、相框和配件/相册配件" + }, + { + "id": "954", + "name": "带夹写字板", + "path": "办公用品/日常办公用品/表单、记录和钱币管理/办公用夹板/带夹写字板" + }, + { + "id": "822", + "name": "其他(快递、包裹包装)", + "path": "办公用品/日常办公用品/邮寄用品/快递、包裹包装/其他(快递、包裹包装)" + }, + { + "id": "1442", + "name": "美工刀片", + "path": "办公用品/日常办公用品/裁切测量工具/手工刀和刀片/美工刀片" + }, + { + "id": "1058", + "name": "活页夹索引分隔页", + "path": "办公用品/日常办公用品/文件归档产品/索引分隔卡/活页夹索引分隔页" + }, + { + "id": "1430", + "name": "身份腕带", + "path": "办公用品/日常办公用品/标签指示牌/证件卡及附件/身份腕带" + }, + { + "id": "1196", + "name": "口袋插笔套", + "path": "办公用品/日常办公用品/书写和修正用品/口袋插笔套" + }, + { + "id": "1164", + "name": "不可擦马克笔", + "path": "办公用品/日常办公用品/书写和修正用品/马克笔荧光笔标记笔/不可擦马克笔" + }, + { + "id": "39431", + "name": "木质印章", + "path": "艺术品、工艺品和缝纫用品/剪贴、压印/印章和印台、印泥/剪贴簿印章/木质印章" + }, + { + "id": "1025", + "name": "书托架", + "path": "办公用品/日常办公用品/办公桌面用品/平台、支架/书托架" + }, + { + "id": "829", + "name": "其他(信封)", + "path": "办公用品/日常办公用品/邮寄用品/信封/其他(信封)" + }, + { + "id": "794", + "name": "办公家具靠垫、坐垫", + "path": "办公用品/办公家具灯具/办公家具配件/办公家具靠垫、坐垫" + }, + { + "id": "31570", + "name": "指南针", + "path": "运动与户外用品/运动与户外休闲用品/运动电子产品/指南针" + }, + { + "id": "30376", + "name": "其他(男士袜子)", + "path": "服装、鞋靴和珠宝饰品/男士时尚/男装/男士袜子/其他(男士袜子)" + }, + { + "id": "15975", + "name": "急救胶带", + "path": "健康和家居用品/健康护理/家庭急救、医疗耗材/绷带和包扎用品/急救胶带" + }, + { + "id": "16835", + "name": "搓澡巾", + "path": "健康和家居用品/个人护理/浴室及淋浴配件/沐浴工具/搓澡巾" + }, + { + "id": "16948", + "name": "舌刷、舌刮", + "path": "健康和家居用品/个人护理/口腔护理/舌刷、舌刮" + }, + { + "id": "11657", + "name": "其他(派对装饰)", + "path": "家居、厨房用品/活动和派对用品/派对装饰/其他(派对装饰)" + }, + { + "id": "1945", + "name": "水族箱空气泵配件", + "path": "宠物用品/水族用品/水族泵及过滤设备/水族箱空气泵配件" + }, + { + "id": "1107", + "name": "卡纸", + "path": "办公用品/日常办公用品/办公用纸张/卡片/卡纸" + }, + { + "id": "10318", + "name": "厨房用巾挂钩", + "path": "家居、厨房用品/厨房和餐厅/厨房保鲜、收纳/厨房置物架/厨房用巾挂钩" + }, + { + "id": "16986", + "name": "替换牙刷头", + "path": "健康和家居用品/个人护理/口腔护理/牙刷/电动牙刷/替换牙刷头" + }, + { + "id": "31423", + "name": "运动头带", + "path": "运动与户外用品/运动迷用品/运动服装配饰/运动头带" + }, + { + "id": "3898", + "name": "电脑键盘膜", + "path": "电子/电脑及配件/外设产品/电脑鼠标、键盘、输入设备/电脑键盘及配件/电脑键盘膜" + }, + { + "id": "19377", + "name": "眼线笔和眼影组合", + "path": "美容和个人护理/彩妆/眼部/眼线笔和眼影组合" + }, + { + "id": "11811", + "name": "干发巾", + "path": "家居、厨房用品/浴室用品/卫浴毛巾/干发巾" + }, + { + "id": "30161", + "name": "女士新奇皮带扣", + "path": "服装、鞋靴和珠宝饰品/新奇物品/新奇服装和产品/新奇服装/女士新奇服装/女士新奇配饰/女士新奇皮带扣" + }, + { + "id": "17131", + "name": "清洁刷", + "path": "健康和家居用品/日用品和清洁用品/清洁工具/清洁刷" + }, + { + "id": "26035", + "name": "交易卡贴和贴纸系列", + "path": "玩具与游戏/收藏玩具/收藏卡片及配件/交易卡贴和贴纸系列" + }, + { + "id": "1633", + "name": "猫薄荷玩具", + "path": "宠物用品/猫用品/猫玩具/猫薄荷玩具" + }, + { + "id": "25756", + "name": "其他(益智思维游戏)", + "path": "玩具与游戏/拼图/益智思维游戏/其他(益智思维游戏)" + }, + { + "id": "30221", + "name": "女童新奇钱包", + "path": "服装、鞋靴和珠宝饰品/新奇物品/新奇服装和产品/新奇服装/女童新奇服装/女童新奇配饰/女童新奇钱包" + }, + { + "id": "1300", + "name": "口袋插笔套", + "path": "办公用品/日常办公用品/学校用品/书写和修正用品/口袋插笔套" + }, + { + "id": "53786", + "name": "面部装饰贴", + "path": "美容和个人护理/彩妆/身体化妆品/面部装饰贴" + }, + { + "id": "17328", + "name": "礼品包装袋", + "path": "健康和家居用品/文具和礼品包装用品/办公礼品包装/礼品包装袋" + }, + { + "id": "9677", + "name": "瓶塞", + "path": "工业和科学/食品服务设备和用品/餐饮服务餐桌和餐具/调酒用品/调酒分酒用具/引酒器/瓶塞" + }, + { + "id": "19290", + "name": "圆髻和皇冠发型成型器", + "path": "美容和个人护理/美发护发/发型设计配件/圆髻和皇冠发型成型器" + }, + { + "id": "19677", + "name": "可再填充的化妆品喷雾瓶", + "path": "美容和个人护理/工具和配件/分装瓶/可再填充的化妆品喷雾瓶" + }, + { + "id": "39594", + "name": "缝纫绳扣和调节扣", + "path": "艺术品、工艺品和缝纫用品/缝纫、针织用品/缝纫用品/缝纫紧固件/缝纫绳扣和调节扣" + }, + { + "id": "12377", + "name": "照片夹", + "path": "家居、厨房用品/家居装饰/相册、相框和配件/照片夹" + }, + { + "id": "19685", + "name": "手持镜", + "path": "美容和个人护理/工具和配件/镜子和放大镜/手持镜" + }, + { + "id": "29520", + "name": "女士时尚耳钉", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女士饰品/女士耳饰/女士时尚耳钉" + }, + { + "id": "9998", + "name": "厨房勺子", + "path": "家居、厨房用品/厨房和餐厅/厨房用具和小工具/烹饪用具/厨房勺子" + }, + { + "id": "19660", + "name": "多用面部刷", + "path": "美容和个人护理/工具和配件/化妆工具/面部化妆刷和工具/面部化妆刷/多用面部刷" + }, + { + "id": "12743", + "name": "衣服挂钩", + "path": "家居、厨房用品/收纳用品/挂钩、粘钩/衣服挂钩" + }, + { + "id": "11808", + "name": "方巾", + "path": "家居、厨房用品/浴室用品/卫浴毛巾/方巾" + }, + { + "id": "4022", + "name": "平板电脑托架", + "path": "电子/电脑及配件/平板电脑配件/平板电脑托架" + }, + { + "id": "54156", + "name": "收纳盒", + "path": "家居、厨房用品/收纳用品/收纳篮、箱子、盒子/收纳盒" + }, + { + "id": "9923", + "name": "厨房工具套装", + "path": "家居、厨房用品/厨房和餐厅/厨房用具和小工具/厨房工具套装" + }, + { + "id": "19641", + "name": "化妆刷套件", + "path": "美容和个人护理/工具和配件/化妆工具/化妆刷套件" + }, + { + "id": "39017", + "name": "内衬袜、船袜", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装配饰/女袜/女袜短袜/内衬袜、船袜" + }, + { + "id": "17002", + "name": "齿间牙签", + "path": "健康和家居用品/个人护理/口腔护理/齿间清理用品/齿间牙签" + }, + { + "id": "22059", + "name": "车用香水、空气清新", + "path": "汽车用品/汽车内部配件/车用香水、空气清新" + }, + { + "id": "39486", + "name": "三环装订相册", + "path": "艺术品、工艺品和缝纫用品/剪贴、压印/相册/三环装订相册" + }, + { + "id": "19787", + "name": "美甲模板", + "path": "美容和个人护理/足部、手部和指甲护理产品/美甲/美甲造型工具/美甲模板" + }, + { + "id": "13034", + "name": "装饰挂钩", + "path": "家居、厨房用品/节日装饰品/装饰挂钩" + }, + { + "id": "9752", + "name": "棒棒糖、蛋糕模具", + "path": "家居、厨房用品/厨房和餐厅/烘焙用品/特色烘焙用具/棒棒糖、蛋糕模具" + }, + { + "id": "17400", + "name": "手动头部按摩器", + "path": "健康和家居用品/保健生活用品/按摩工具和设备/手动按摩工具/手动头部按摩器" + }, + { + "id": "19642", + "name": "化妆刷清洁用品", + "path": "美容和个人护理/工具和配件/化妆工具/化妆刷清洁用品" + }, + { + "id": "7773", + "name": "创可贴", + "path": "工业和科学/专业医疗用品/伤口护理用品、敷料/创可贴" + }, + { + "id": "39852", + "name": "切割垫", + "path": "艺术品、工艺品和缝纫用品/工艺工具和用品/工艺用品/雕刻切割工具/切割垫" + }, + { + "id": "1277", + "name": "中性笔", + "path": "办公用品/日常办公用品/学校用品/书写和修正用品/笔和笔芯/水性墨水圆珠笔/中性笔" + }, + { + "id": "29319", + "name": "女士证件夹", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装配饰/女士钱包、卡包/女士卡包、卡夹/女士证件夹" + }, + { + "id": "17014", + "name": "婴儿和儿童创可贴", + "path": "健康和家居用品/婴幼儿护理产品/婴儿和儿童保健品/婴儿和儿童创可贴" + }, + { + "id": "1093", + "name": "环式多功能活页夹", + "path": "办公用品/日常办公用品/活页夹办公用品/资料册/环式多功能活页夹" + }, + { + "id": "11653", + "name": "座位卡卡托", + "path": "家居、厨房用品/活动和派对用品/座位卡和座位卡卡托/座位卡卡托" + }, + { + "id": "1071", + "name": "其他(活页夹办公用品)", + "path": "办公用品/日常办公用品/活页夹办公用品/其他(活页夹办公用品)" + }, + { + "id": "39489", + "name": "纸", + "path": "艺术品、工艺品和缝纫用品/剪贴、压印/纸张和卡片/纸" + }, + { + "id": "1239", + "name": "办公收纳用品", + "path": "办公用品/日常办公用品/学校用品/文件归档产品/办公收纳用品" + }, + { + "id": "984", + "name": "计划本", + "path": "办公用品/日常办公用品/日历及个人规划用品/计划本" + }, + { + "id": "1059", + "name": "办公收纳用品", + "path": "办公用品/日常办公用品/文件归档产品/办公收纳用品" + }, + { + "id": "1449", + "name": "切纸机刀片", + "path": "办公用品/日常办公用品/裁切测量工具/切纸刀/切纸机刀片" + }, + { + "id": "1244", + "name": "彩色文件夹", + "path": "办公用品/日常办公用品/学校用品/文件归档产品/文件夹/文件夹/彩色文件夹" + }, + { + "id": "1027", + "name": "键盘托架", + "path": "办公用品/日常办公用品/办公桌面用品/平台、支架/键盘托架" + }, + { + "id": "53663", + "name": "桌面吸尘器", + "path": "办公用品/日常办公用品/办公桌面用品/桌面吸尘器" + }, + { + "id": "934", + "name": "钱袋", + "path": "办公用品/日常办公用品/表单、记录和钱币管理/钱币管理产品/钱袋" + }, + { + "id": "17346", + "name": "文具记事本", + "path": "健康和家居用品/文具和礼品包装用品/文具/文具记事本" + }, + { + "id": "1260", + "name": "橡皮擦", + "path": "办公用品/日常办公用品/学校用品/书写和修正用品/橡皮涂改液涂改工具/橡皮/橡皮擦" + }, + { + "id": "33371", + "name": "自行车座杆", + "path": "运动与户外用品/户外休闲/骑行用品/组装车零部件/自行车车座和配件/自行车座杆" + }, + { + "id": "31758", + "name": "其他(健身、训练用品)", + "path": "运动与户外用品/健身、训练用品/其他(健身、训练用品)" + }, + { + "id": "3183", + "name": "手机支架", + "path": "电子/电子配件及用品/手机配件/手机支架" + }, + { + "id": "16896", + "name": "鼻贴、痘痘贴", + "path": "健康和家居用品/个人护理/皮肤护理/面部护肤/面部护理和面膜/鼻贴、痘痘贴" + }, + { + "id": "16749", + "name": "除毛器", + "path": "健康和家居用品/个人护理/剃须和脱毛/女士脱毛和剃毛产品/除毛器、剃毛刀及修剪器/除毛器" + }, + { + "id": "16568", + "name": "卫生口罩耳带延长扣", + "path": "健康和家居用品/医疗用品及设备/布口罩和配件/卫生口罩耳带延长扣" + }, + { + "id": "26612", + "name": "婴幼儿防触电", + "path": "母婴用品/婴幼儿安全防护/婴幼儿防触电" + }, + { + "id": "13005", + "name": "圣诞树树顶装饰件", + "path": "家居、厨房用品/节日装饰品/圣诞树树顶装饰件" + }, + { + "id": "6719", + "name": "护手和护腕", + "path": "工业和科学/安防劳保/劳保用品/实验室中符合人体工学的支撑/护手和护腕" + }, + { + "id": "11799", + "name": "手持花洒", + "path": "家居、厨房用品/浴室用品/浴室配件/花洒/手持花洒" + }, + { + "id": "9670", + "name": "开瓶器", + "path": "工业和科学/食品服务设备和用品/餐饮服务餐桌和餐具/调酒用品/调酒分酒用具/螺丝刀开瓶器和开瓶器/开瓶器" + }, + { + "id": "9570", + "name": "餐垫", + "path": "工业和科学/食品服务设备和用品/餐饮服务餐桌和餐具/亚麻布和桌子配件/餐垫" + }, + { + "id": "39452", + "name": "剪贴簿切割模具", + "path": "艺术品、工艺品和缝纫用品/剪贴、压印/剪贴簿模切和压花/剪贴簿切割模具" + }, + { + "id": "25510", + "name": "儿童画画衣", + "path": "玩具与游戏/艺术与工艺品/画画衣、罩衣/儿童画画衣" + }, + { + "id": "25478", + "name": "微型创意玩具", + "path": "玩具与游戏/新奇玩具/微型创意玩具" + }, + { + "id": "26950", + "name": "男婴袜子", + "path": "母婴用品/服装和配饰/男婴服装和鞋靴/男婴配饰/男婴袜子" + }, + { + "id": "40467", + "name": "汽车摆件", + "path": "汽车用品/汽车内部配件/汽车摆件" + }, + { + "id": "19378", + "name": "眉笔、眉粉", + "path": "美容和个人护理/彩妆/眼部/眉笔、眉粉" + }, + { + "id": "12875", + "name": "清洁刷", + "path": "家居、厨房用品/家庭清洁用品/家庭清洁/清洁工具/清洁刷" + }, + { + "id": "24966", + "name": "浇水壶", + "path": "庭院、草坪和园艺/田园工具和草坪护理/浇灌工具/浇水壶" + }, + { + "id": "19646", + "name": "眼影刷", + "path": "美容和个人护理/工具和配件/化妆工具/眼妆工具/眼影刷" + }, + { + "id": "15484", + "name": "多用工具", + "path": "家居装修/家装工具/手动工具/多功能工具和配件/多用工具" + }, + { + "id": "54005", + "name": "嫁接睫毛工具", + "path": "美容和个人护理/工具和配件/化妆工具/眼妆工具/睫毛工具/嫁接睫毛工具" + }, + { + "id": "11677", + "name": "派对抽绳礼品袋", + "path": "家居、厨房用品/活动和派对用品/派对小礼品/派对礼品盒和礼品袋/派对抽绳礼品袋" + }, + { + "id": "1794", + "name": "狗牙刷", + "path": "宠物用品/狗狗用品类/狗健康用品/狗口腔护理/狗牙刷" + }, + { + "id": "13033", + "name": "蝴蝶结和丝带", + "path": "家居、厨房用品/节日装饰品/蝴蝶结和丝带" + }, + { + "id": "1171", + "name": "针尖式水笔", + "path": "办公用品/日常办公用品/书写和修正用品/笔和笔芯/针尖式水笔" + }, + { + "id": "34106", + "name": "弹性绷带", + "path": "运动与户外用品/户外休闲/户外休闲配件/运动医学/绷带和敷料/弹性绷带" + }, + { + "id": "36401", + "name": "篮球包", + "path": "运动与户外用品/运动服装和器材/团队运动/篮球用品/篮球装备配件/篮球包" + }, + { + "id": "8365", + "name": "挤牙膏器", + "path": "工业和科学/专业医疗用品/耐用医疗设备/浴室安全、辅助用品及配件/挤牙膏器" + }, + { + "id": "16853", + "name": "香皂、手工皂", + "path": "健康和家居用品/个人护理/皮肤护理/身体保养/身体沐浴露/香皂、手工皂" + }, + { + "id": "29276", + "name": "女士发箍", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装配饰/女士帽子/女士发箍" + }, + { + "id": "1439", + "name": "启信刀", + "path": "办公用品/日常办公用品/裁切测量工具/启信刀" + }, + { + "id": "16415", + "name": "马桶垫", + "path": "健康和家居用品/医疗用品及设备/助行和日用辅助用品/卫浴用品/马桶辅助用品和安全辅助用品/马桶垫" + }, + { + "id": "39717", + "name": "手工折纸", + "path": "艺术品、工艺品和缝纫用品/工艺工具和用品/纸艺/工艺纸张/手工折纸" + }, + { + "id": "29264", + "name": "女士腰带", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装配饰/女士腰带" + }, + { + "id": "4421", + "name": "手机防水袋", + "path": "电子/手机和配件/壳、皮套和固定夹/手机防水袋" + }, + { + "id": "16709", + "name": "蜡式脱毛刮片", + "path": "健康和家居用品/个人护理/剃须和脱毛/女士脱毛和剃毛产品/脱毛蜡纸/蜡式脱毛刮片" + }, + { + "id": "7757", + "name": "拉力带", + "path": "工业和科学/专业医疗用品/职业治疗和物理治疗辅助/拉力带" + }, + { + "id": "16848", + "name": "其他(皮肤护理)", + "path": "健康和家居用品/个人护理/皮肤护理/其他(皮肤护理)" + }, + { + "id": "31024", + "name": "时尚、休闲腰包", + "path": "服装、鞋靴和珠宝饰品/皮具箱包/时尚、休闲腰包" + }, + { + "id": "19662", + "name": "粉底刷", + "path": "美容和个人护理/工具和配件/化妆工具/面部化妆刷和工具/面部化妆刷/粉底刷" + }, + { + "id": "24263", + "name": "其他(手机配件)", + "path": "手机和配件/手机配件/其他(手机配件)" + }, + { + "id": "30165", + "name": "女士新奇钥匙链", + "path": "服装、鞋靴和珠宝饰品/新奇物品/新奇服装和产品/新奇服装/女士新奇服装/女士新奇配饰/女士新奇钥匙链" + }, + { + "id": "11732", + "name": "其他(浴室配件)", + "path": "家居、厨房用品/浴室用品/浴室配件/其他(浴室配件)" + }, + { + "id": "19676", + "name": "其他(分装瓶)", + "path": "美容和个人护理/工具和配件/分装瓶/其他(分装瓶)" + }, + { + "id": "8451", + "name": "个人用药丸收纳盒", + "path": "工业和科学/专业医疗用品/耐用医疗设备/药物治疗辅助用品/个人用药丸收纳盒" + }, + { + "id": "29163", + "name": "女士托特包", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女士手提包和钱包/女士托特包" + }, + { + "id": "16082", + "name": "鞋跟护垫和跟鞋垫", + "path": "健康和家居用品/健康护理/足部护理/鞋垫和衬垫/鞋跟护垫和跟鞋垫" + }, + { + "id": "16998", + "name": "牙签", + "path": "健康和家居用品/个人护理/口腔护理/齿间清理用品/牙签" + }, + { + "id": "29280", + "name": "女士太阳帽", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装配饰/女士帽子/女士太阳帽" + }, + { + "id": "33066", + "name": "户外帐篷地钉", + "path": "运动与户外用品/户外休闲/露营、徒步用品/露营帐篷和棚/露营帐篷配件/户外帐篷地钉" + }, + { + "id": "32975", + "name": "户外露营泡沫睡垫", + "path": "运动与户外用品/户外休闲/露营、徒步用品/户外寝具/户外露营泡沫睡垫" + }, + { + "id": "31751", + "name": "运动杯配件", + "path": "运动与户外用品/运动与户外休闲用品/运动杯配件" + }, + { + "id": "25517", + "name": "折纸", + "path": "玩具与游戏/艺术与工艺品/手工套装/折纸" + }, + { + "id": "17198", + "name": "毛球、绒毛去除器", + "path": "健康和家居用品/日用品和清洁用品/衣物清洁/毛球、绒毛去除器" + }, + { + "id": "9996", + "name": "食品过滤器", + "path": "家居、厨房用品/厨房和餐厅/厨房用具和小工具/过滤用具/食品过滤器" + }, + { + "id": "11669", + "name": "装饰纸花球", + "path": "家居、厨房用品/活动和派对用品/派对装饰/装饰纸花球" + }, + { + "id": "24306", + "name": "手机支架", + "path": "手机和配件/手机配件/手机支架" + }, + { + "id": "12832", + "name": "悬挂式鞋子收纳袋", + "path": "家居、厨房用品/收纳用品/衣柜收纳/鞋靴收纳/悬挂式鞋子收纳袋" + }, + { + "id": "19803", + "name": "保湿脚套", + "path": "美容和个人护理/足部、手部和指甲护理产品/手足护理/保湿脚套" + }, + { + "id": "33969", + "name": "帽子", + "path": "运动与户外用品/户外休闲/徒步和户外休闲服装/男士户外服饰/男士户外帽子・头饰/帽子" + }, + { + "id": "17367", + "name": "阿育吠陀香膏和药膏", + "path": "健康和家居用品/保健生活用品/替代疗法/阿育吠陀产品/阿育吠陀香膏和药膏" + }, + { + "id": "1560", + "name": "猫清洁按摩刷", + "path": "宠物用品/猫用品/猫梳理美容用具/猫清洁按摩刷" + }, + { + "id": "8893", + "name": "塑料包装袋", + "path": "工业和科学/包装和配送用品/塑料包装袋" + }, + { + "id": "1145", + "name": "水滑贴纸", + "path": "办公用品/日常办公用品/办公用纸张/复印纸、多用纸/水滑贴纸" + }, + { + "id": "31044", + "name": "女士装扮头饰", + "path": "服装、鞋靴和珠宝饰品/装扮服饰和配饰/女士装扮服和配饰/女士装扮配饰/女士装扮头饰" + }, + { + "id": "19651", + "name": "假睫毛和胶套装", + "path": "美容和个人护理/工具和配件/化妆工具/眼妆工具/假睫毛和胶粘剂/假睫毛和胶套装" + }, + { + "id": "39969", + "name": "钢笔、铅笔和马克笔盒", + "path": "艺术品、工艺品和缝纫用品/艺术存储和运输/钢笔、铅笔和马克笔盒" + }, + { + "id": "10350", + "name": "真空密封袋", + "path": "家居、厨房用品/厨房和餐厅/厨房保鲜、收纳/食物存储/真空密封袋" + }, + { + "id": "2123", + "name": "其他(厨房小家电)", + "path": "家电/厨房小家电/其他(厨房小家电)" + }, + { + "id": "15214", + "name": "车库储物挂钩", + "path": "家居装修/家用收纳和整理用具/车库存储和收纳产品/车库储物悬挂装置/车库储物挂钩" + }, + { + "id": "19636", + "name": "沐浴海绵", + "path": "美容和个人护理/工具和配件/沐浴配件/沐浴海绵" + }, + { + "id": "17055", + "name": "其他(清洁工具)", + "path": "健康和家居用品/日用品和清洁用品/家庭清洁/清洁工具/其他(清洁工具)" + }, + { + "id": "25490", + "name": "魔术玩具", + "path": "玩具与游戏/新奇玩具/魔术玩具" + }, + { + "id": "26611", + "name": "婴幼儿防撞用品", + "path": "母婴用品/婴幼儿安全防护/婴幼儿防撞用品" + }, + { + "id": "30097", + "name": "女士情趣连体衣、连体袜", + "path": "服装、鞋靴和珠宝饰品/新奇物品/新奇服装和产品/情趣服装/女士情趣服装/女士情趣连体衣、连体袜" + }, + { + "id": "11642", + "name": "烫衣板", + "path": "家居、厨房用品/熨烫用品/烫衣板" + }, + { + "id": "26918", + "name": "其他(女婴发饰)", + "path": "母婴用品/婴幼儿洗护用品/宝宝头发护理/女婴发饰/其他(女婴发饰)" + }, + { + "id": "29324", + "name": "女士钱包", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装配饰/女士钱包、卡包/女士钱包" + }, + { + "id": "19404", + "name": "口红", + "path": "美容和个人护理/彩妆/唇部/口红" + }, + { + "id": "25736", + "name": "化妆品", + "path": "玩具与游戏/过家家/装扮与饰品/化妆品" + }, + { + "id": "17022", + "name": "婴幼儿温度计", + "path": "健康和家居用品/婴幼儿护理产品/婴儿和儿童保健品/婴幼儿温度计" + }, + { + "id": "14007", + "name": "S形挂钩", + "path": "家居装修/五金/挂钩/S形挂钩" + }, + { + "id": "17130", + "name": "其他(清洁工具)", + "path": "健康和家居用品/日用品和清洁用品/清洁工具/其他(清洁工具)" + }, + { + "id": "24373", + "name": "耳机包", + "path": "手机和配件/手机配件/耳机及配件/耳机包" + }, + { + "id": "29508", + "name": "其他(女士时尚手链、手镯)", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女士饰品/女士时尚手链、手镯/其他(女士时尚手链、手镯)" + }, + { + "id": "26632", + "name": "牙胶", + "path": "母婴用品/婴儿玩具/牙胶" + }, + { + "id": "8157", + "name": "患者物品袋", + "path": "工业和科学/专业医疗用品/医疗检验用品及耗材/患者物品袋" + }, + { + "id": "3085", + "name": "麦克风箱包", + "path": "电子/电子配件及用品/麦克风/麦克风配件/麦克风箱包" + }, + { + "id": "1010", + "name": "目录和资料阅读架", + "path": "办公用品/日常办公用品/办公桌面用品/目录和资料阅读架" + }, + { + "id": "1293", + "name": "多功能书写工具", + "path": "办公用品/日常办公用品/学校用品/书写和修正用品/多功能书写工具" + }, + { + "id": "15210", + "name": "通用支架配件", + "path": "家居装修/家用收纳和整理用具/车库存储和收纳产品/通用支架配件" + }, + { + "id": "12859", + "name": "铅笔收纳", + "path": "家居、厨房用品/收纳用品/办公室储物和收纳/办公桌用品、收纳、分装器/铅笔收纳" + }, + { + "id": "17168", + "name": "一次性餐刀", + "path": "健康和家居用品/日用品和清洁用品/纸张、包装纸和袋子/一次性餐具/一次性餐刀" + }, + { + "id": "2931", + "name": "办公室计算器配件", + "path": "电子/电子配件及用品/办公设备配件/办公室计算器配件" + }, + { + "id": "979", + "name": "其他(商务公文包及电脑包)", + "path": "办公用品/日常办公用品/商务公文包及电脑包/其他(商务公文包及电脑包)" + }, + { + "id": "1446", + "name": "其他(切纸刀)", + "path": "办公用品/日常办公用品/裁切测量工具/切纸刀/其他(切纸刀)" + }, + { + "id": "974", + "name": "双肩电脑包", + "path": "办公用品/日常办公用品/商务公文包及电脑包/笔记本电脑包/双肩电脑包" + }, + { + "id": "1352", + "name": "高线画笔", + "path": "办公用品/日常办公用品/学校用品/美术用品和手工用品/刷子/高线画笔" + }, + { + "id": "1335", + "name": "粘合剂、胶水", + "path": "办公用品/日常办公用品/学校用品/美术用品和手工用品/粘合剂/艺术胶水和糊剂/粘合剂、胶水" + }, + { + "id": "1153", + "name": "笔式橡皮", + "path": "办公用品/日常办公用品/书写和修正用品/橡皮涂改液涂改工具/橡皮/笔式橡皮" + }, + { + "id": "876", + "name": "强力胶", + "path": "办公用品/日常办公用品/粘胶紧固用品/办公用粘合剂和胶水/强力胶" + }, + { + "id": "1052", + "name": "索引卡归档和名片归档", + "path": "办公用品/日常办公用品/文件归档产品/索引卡归档产品/索引卡归档和名片归档" + }, + { + "id": "969", + "name": "钥匙箱", + "path": "办公用品/日常办公用品/表单、记录和钱币管理/钥匙箱" + }, + { + "id": "3976", + "name": "电脑风扇网罩", + "path": "电子/电脑及配件/电脑硬件/内部组件/内置风扇与散热/电脑风扇网罩" + }, + { + "id": "997", + "name": "记事簿封皮", + "path": "办公用品/日常办公用品/日历及个人规划用品/记事簿、替换芯和封皮/记事簿封皮" + }, + { + "id": "1075", + "name": "活页夹封皮和纸张", + "path": "办公用品/日常办公用品/活页夹办公用品/活页夹配件/活页夹封皮和纸张" + }, + { + "id": "1104", + "name": "名片", + "path": "办公用品/日常办公用品/办公用纸张/卡片/名片" + }, + { + "id": "897", + "name": "双面胶", + "path": "办公用品/日常办公用品/粘胶紧固用品/魔术贴胶带和固定产品/双面胶" + }, + { + "id": "1435", + "name": "索引标签", + "path": "办公用品/日常办公用品/标签指示牌/索引标签" + }, + { + "id": "1373", + "name": "雕塑工具", + "path": "办公用品/日常办公用品/学校用品/美术用品和手工用品/雕塑工具" + }, + { + "id": "1404", + "name": "印章", + "path": "办公用品/日常办公用品/标签指示牌/公章用品/印章" + }, + { + "id": "34089", + "name": "反光衣/反光安全装备", + "path": "运动与户外用品/户外休闲/户外休闲配件/反光衣/反光安全装备" + }, + { + "id": "1384", + "name": "教室插袋墙挂", + "path": "办公用品/日常办公用品/学校用品/教室插袋墙挂" + }, + { + "id": "3902", + "name": "计算机存储卡盒", + "path": "电子/电脑及配件/外设产品/计算机存储卡配件/计算机存储卡盒" + }, + { + "id": "824", + "name": "快递文件袋", + "path": "办公用品/日常办公用品/邮寄用品/快递、包裹包装/快递文件袋" + }, + { + "id": "1275", + "name": "针尖式水笔", + "path": "办公用品/日常办公用品/学校用品/书写和修正用品/笔和笔芯/针尖式水笔" + }, + { + "id": "1086", + "name": "D环活页夹", + "path": "办公用品/日常办公用品/活页夹办公用品/资料册/D环活页夹" + }, + { + "id": "39014", + "name": "女士小腿袜", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装配饰/女袜/女袜短袜/女士小腿袜" + }, + { + "id": "16561", + "name": "医用压缩丝袜", + "path": "健康和家居用品/医疗用品及设备/医用压缩服/医用压缩丝袜" + }, + { + "id": "10420", + "name": "茶包碟", + "path": "家居、厨房用品/厨房和餐厅/咖啡、茶和意式浓缩咖啡用品/茶具配件/茶包碟" + }, + { + "id": "15432", + "name": "固定夹", + "path": "家居装修/家装工具/手动工具/挂钩夹具/固定夹" + }, + { + "id": "9435", + "name": "茶勺", + "path": "工业和科学/食品服务设备和用品/餐饮服务餐桌和餐具/刀叉勺筷餐具/餐勺/茶勺" + }, + { + "id": "2464", + "name": "个人用电风扇", + "path": "家电/加热、冷却和空气质量电器/电风扇/个人用电风扇" + }, + { + "id": "9863", + "name": "压蒜器、蒜泥器", + "path": "家居、厨房用品/厨房和餐厅/厨房用具和小工具/调味料和香料工具/大蒜料理工具/压蒜器、蒜泥器" + }, + { + "id": "19782", + "name": "脚趾分离器", + "path": "美容和个人护理/足部、手部和指甲护理产品/美甲/美甲造型工具/脚趾分离器" + }, + { + "id": "26637", + "name": "拨浪鼓、摇铃和毛绒抓握玩具", + "path": "母婴用品/婴儿玩具/拨浪鼓、摇铃和毛绒抓握玩具" + }, + { + "id": "4301", + "name": "其他(配件)", + "path": "电子/手机和配件/配件/其他(配件)" + }, + { + "id": "1685", + "name": "其他(宠物汽车旅行用品)", + "path": "宠物用品/狗狗用品类/狗外出用具/宠物汽车旅行用品/其他(宠物汽车旅行用品)" + }, + { + "id": "6072", + "name": "滴液管", + "path": "工业和科学/实验室及科研用品/实验室仪器、设备/实验室流体及液体处理/实验室移液管/滴液管" + }, + { + "id": "32581", + "name": "狩猎坐垫", + "path": "运动与户外用品/打猎和钓鱼/打猎用品/狩猎树架、伪装和配件/狩猎坐垫" + }, + { + "id": "9373", + "name": "其他(刀叉勺筷餐具)", + "path": "工业和科学/食品服务设备和用品/餐饮服务餐桌和餐具/刀叉勺筷餐具/其他(刀叉勺筷餐具)" + }, + { + "id": "12262", + "name": "仿真绿植", + "path": "家居、厨房用品/家居装饰/仿真植物、仿真花、花艺/仿真绿植" + }, + { + "id": "33366", + "name": "自行车脚踏", + "path": "运动与户外用品/户外休闲/骑行用品/组装车零部件/自行车踏板和锁片/自行车脚踏" + }, + { + "id": "3059", + "name": "线缆套管", + "path": "电子/电子配件及用品/电线管理/线缆套管" + }, + { + "id": "32925", + "name": "户外求生哨", + "path": "运动与户外用品/户外休闲/露营、徒步用品/户外安全求生用品/户外求生哨" + }, + { + "id": "32499", + "name": "钩子线", + "path": "运动与户外用品/打猎和钓鱼/钓鱼用品/鱼钩及附件/钩子线" + }, + { + "id": "1865", + "name": "狗飞盘", + "path": "宠物用品/狗狗用品类/狗玩具/狗飞盘" + }, + { + "id": "15974", + "name": "手指套", + "path": "健康和家居用品/健康护理/家庭急救、医疗耗材/绷带和包扎用品/手指套" + }, + { + "id": "31195", + "name": "运动风汽车贴纸", + "path": "运动与户外用品/运动迷用品/运动风汽车配件/运动风贴纸和保险杠贴纸/运动风汽车贴纸" + }, + { + "id": "15233", + "name": "下水道疏通器", + "path": "家居装修/管道及排水装置/管道清理工具/下水道疏通器" + }, + { + "id": "39389", + "name": "编织制作工具", + "path": "艺术品、工艺品和缝纫用品/编织、钩针编织用品/编织制作工具" + }, + { + "id": "1802", + "name": "狗保护罩", + "path": "宠物用品/狗狗用品类/狗健康用品/狗保护罩" + }, + { + "id": "30133", + "name": "女士新奇短袜", + "path": "服装、鞋靴和珠宝饰品/新奇物品/新奇服装和产品/新奇服装/女士新奇服装/女士新奇短袜和连裤袜/女士新奇短袜" + }, + { + "id": "26928", + "name": "女婴帽子", + "path": "母婴用品/服装和配饰/女婴服装和鞋靴/女婴服饰配件/女婴帽子" + }, + { + "id": "25612", + "name": "角色扮演骰子", + "path": "玩具与游戏/游戏及配件/游戏配件/角色扮演骰子" + }, + { + "id": "1268", + "name": "不可擦马克笔", + "path": "办公用品/日常办公用品/学校用品/书写和修正用品/马克笔荧光笔标记笔/不可擦马克笔" + }, + { + "id": "29816", + "name": "女孩零钱包和零钱袋", + "path": "服装、鞋靴和珠宝饰品/女童时尚/女童服饰配件/女孩钱包和钱夹/女孩零钱包和零钱袋" + }, + { + "id": "39572", + "name": "缝补片", + "path": "艺术品、工艺品和缝纫用品/缝纫、针织用品/缝纫用品/缝纫工具/缝补片" + }, + { + "id": "26018", + "name": "其他(节日聚会用品)", + "path": "玩具与游戏/节日聚会用品/其他(节日聚会用品)" + }, + { + "id": "16302", + "name": "运动胶带、绷带", + "path": "健康和家居用品/医疗用品及设备/背带、夹板和支架/运动胶带、绷带" + }, + { + "id": "9990", + "name": "漏斗", + "path": "家居、厨房用品/厨房和餐厅/厨房用具和小工具/专业工具和小器具/漏斗" + }, + { + "id": "17202", + "name": "干衣球", + "path": "健康和家居用品/日用品和清洁用品/衣物清洁/干衣球" + }, + { + "id": "3099", + "name": "电脑连接USB线", + "path": "电子/电子配件及用品/电子线缆/计算机/电脑连接USB线" + }, + { + "id": "16073", + "name": "姆囊炎垫", + "path": "健康和家居用品/健康护理/足部护理/姆囊炎垫" + }, + { + "id": "1699", + "name": "其他(狗牵引及项圈)", + "path": "宠物用品/狗狗用品类/狗牵引及项圈/其他(狗牵引及项圈)" + }, + { + "id": "8394", + "name": "运动胶带、绷带", + "path": "工业和科学/专业医疗用品/耐用医疗设备/托架、夹板和支架/运动胶带、绷带" + }, + { + "id": "14970", + "name": "其他(大家电配件)", + "path": "家居装修/家电/大家电配件/其他(大家电配件)" + }, + { + "id": "33359", + "name": "后变速器", + "path": "运动与户外用品/户外休闲/骑行用品/组装车零部件/变速器和变速手柄/变速器及配件/后变速器" + }, + { + "id": "11780", + "name": "化妆镜", + "path": "家居、厨房用品/浴室用品/浴室配件/浴室镜/化妆镜" + }, + { + "id": "44385", + "name": "生日蜡烛", + "path": "各色美食/食品储藏室必备品/烹饪和烘焙/糖霜,糖衣和装饰品/生日蜡烛" + }, + { + "id": "11689", + "name": "派对用品套装", + "path": "家居、厨房用品/活动和派对用品/派对用品套装" + }, + { + "id": "10287", + "name": "食物存放和整理套装", + "path": "家居、厨房用品/厨房和餐厅/厨房保鲜、收纳/旅行和外带食品容器/食物存放和整理套装" + }, + { + "id": "4640", + "name": "电源转换器", + "path": "电子/电力配件/电源转换器" + }, + { + "id": "3169", + "name": "手写笔", + "path": "电子/电子配件及用品/手机配件/手写笔" + }, + { + "id": "39433", + "name": "透明印章", + "path": "艺术品、工艺品和缝纫用品/剪贴、压印/印章和印台、印泥/剪贴簿印章/透明印章" + }, + { + "id": "12332", + "name": "墙贴和壁饰", + "path": "家居、厨房用品/家居装饰/儿童房间装饰品/儿童房壁饰/墙贴和壁饰" + }, + { + "id": "24852", + "name": "野餐垫", + "path": "庭院、草坪和园艺/户外家具/野餐篮、庭院桌和配件/野餐垫" + }, + { + "id": "11664", + "name": "卡片盒", + "path": "家居、厨房用品/活动和派对用品/派对装饰/卡片盒" + }, + { + "id": "19293", + "name": "其他(美发工具)", + "path": "美容和个人护理/美发护发/美发工具/其他(美发工具)" + }, + { + "id": "32877", + "name": "其他(露营、徒步用品)", + "path": "运动与户外用品/户外休闲/露营、徒步用品/其他(露营、徒步用品)" + }, + { + "id": "1078", + "name": "打孔活页夹口袋", + "path": "办公用品/日常办公用品/活页夹办公用品/活页夹配件/打孔活页夹口袋" + }, + { + "id": "29315", + "name": "女士运动束发带", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装配饰/女士运动束发带" + }, + { + "id": "13220", + "name": "儿童玩具收纳箱", + "path": "家居、厨房用品/儿童家居用品/儿童家具/儿童玩具收纳箱" + }, + { + "id": "2418", + "name": "配件", + "path": "家电/大家电配件/蒸汽清洁器和蒸汽拖把零配件/配件" + }, + { + "id": "19416", + "name": "彩妆盘", + "path": "美容和个人护理/彩妆/彩妆盘" + }, + { + "id": "16854", + "name": "洗手液", + "path": "健康和家居用品/个人护理/皮肤护理/身体保养/身体沐浴露/洗手液" + }, + { + "id": "31052", + "name": "女童装扮假发", + "path": "服装、鞋靴和珠宝饰品/装扮服饰和配饰/婴童装扮服饰和配饰/女童装扮服和配饰/女童装扮假发" + }, + { + "id": "13531", + "name": "墙纸、壁纸", + "path": "家居装修/油漆涂料与墙纸/壁纸和墙纸用品/墙纸、壁纸" + }, + { + "id": "25879", + "name": "其他(挂件吊饰)", + "path": "玩具与游戏/毛绒布艺/挂件吊饰/其他(挂件吊饰)" + }, + { + "id": "32421", + "name": "钓鱼帽", + "path": "运动与户外用品/打猎和钓鱼/钓鱼用品/钓鱼用品配件/钓鱼帽" + }, + { + "id": "11686", + "name": "派对钥匙圈礼品包", + "path": "家居、厨房用品/活动和派对用品/派对小礼品/派对钥匙圈礼品包" + }, + { + "id": "29156", + "name": "女士斜挎包", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女士手提包和钱包/女士斜挎包" + }, + { + "id": "1766", + "name": "狗用理容梳", + "path": "宠物用品/狗狗用品类/狗梳理美容用具/狗用除毛结工具/狗用理容梳" + }, + { + "id": "16746", + "name": "女士盒剃刀", + "path": "健康和家居用品/个人护理/剃须和脱毛/女士脱毛和剃毛产品/脱毛刀/女士盒剃刀" + }, + { + "id": "54007", + "name": "双眼皮贴", + "path": "美容和个人护理/工具和配件/化妆工具/眼妆工具/双眼皮贴" + }, + { + "id": "31137", + "name": "其他(饰品收纳)", + "path": "服装、鞋靴和珠宝饰品/鞋靴、首饰、手表配件/饰品配件/饰品收纳/其他(饰品收纳)" + }, + { + "id": "21914", + "name": "汽车装饰条", + "path": "汽车用品/汽车零件/车身零件和汽车装饰/汽车装饰/汽车装饰条" + }, + { + "id": "8543", + "name": "牙线、牙缝刷", + "path": "工业和科学/专业牙科器材/口腔卫生和预防保健/牙齿卫生和患者用品/牙线、牙缝刷" + }, + { + "id": "30489", + "name": "男士戒指", + "path": "服装、鞋靴和珠宝饰品/男士时尚/男士饰品/男士戒指" + }, + { + "id": "5079", + "name": "拉绳和拉环", + "path": "工业和科学/工业五金件/把手/拉绳和拉环" + }, + { + "id": "12783", + "name": "搁物架", + "path": "家居、厨房用品/收纳用品/卫浴储物设备和收纳/搁物架" + }, + { + "id": "30741", + "name": "其他(男童袜子和长袜)", + "path": "服装、鞋靴和珠宝饰品/男童时尚/男童服装/男童袜子和长袜/其他(男童袜子和长袜)" + }, + { + "id": "19375", + "name": "其他(眼部)", + "path": "美容和个人护理/彩妆/眼部/其他(眼部)" + }, + { + "id": "34649", + "name": "瑜伽袜", + "path": "运动与户外用品/运动户外服饰/女士运动户外服饰/女士运动休闲袜/瑜伽袜" + }, + { + "id": "25511", + "name": "儿童罩衣", + "path": "玩具与游戏/艺术与工艺品/画画衣、罩衣/儿童罩衣" + }, + { + "id": "19370", + "name": "体绘", + "path": "美容和个人护理/彩妆/身体化妆品/体绘" + }, + { + "id": "9761", + "name": "糕点刷", + "path": "家居、厨房用品/厨房和餐厅/烘焙用品/烘焙工具/烘焙和用具/糕点刷" + }, + { + "id": "8167", + "name": "口腔温度计", + "path": "工业和科学/专业医疗用品/医疗诊断、筛查/体温计/口腔温度计" + }, + { + "id": "53799", + "name": "垃圾袋收纳器", + "path": "家居、厨房用品/厨房和餐厅/厨房保鲜、收纳/厨房存储配件/垃圾袋收纳器" + }, + { + "id": "25881", + "name": "毛绒动物配件", + "path": "玩具与游戏/毛绒布艺/挂件吊饰/毛绒动物配件" + }, + { + "id": "25972", + "name": "自行车配件", + "path": "玩具与游戏/童车、助步、轮滑/自行车配件" + }, + { + "id": "6567", + "name": "百洁布", + "path": "工业和科学/商业清洁/商用清洁工具/百洁布" + }, + { + "id": "1347", + "name": "其他(刷子)", + "path": "办公用品/日常办公用品/学校用品/美术用品和手工用品/刷子/其他(刷子)" + }, + { + "id": "11778", + "name": "睡袍和浴巾挂钩", + "path": "家居、厨房用品/浴室用品/浴室配件/睡袍和浴巾挂钩" + }, + { + "id": "14893", + "name": "小便池配件", + "path": "家居装修/厨卫/家装卫浴用品/小便池和小便池部件/小便池配件" + }, + { + "id": "11758", + "name": "马桶刷、架", + "path": "家居、厨房用品/浴室用品/浴室配件/卫生间配件/马桶刷、架" + }, + { + "id": "17056", + "name": "清洁刷", + "path": "健康和家居用品/日用品和清洁用品/家庭清洁/清洁工具/清洁刷" + }, + { + "id": "33007", + "name": "户外杯子与户外马克杯", + "path": "运动与户外用品/户外休闲/露营、徒步用品/户外炊具/露营盘子和餐具/户外杯子与户外马克杯" + }, + { + "id": "33284", + "name": "自行车挡泥板", + "path": "运动与户外用品/户外休闲/骑行用品/自行车整车附件/自行车挡泥板" + }, + { + "id": "19760", + "name": "亚克力美甲工具", + "path": "美容和个人护理/足部、手部和指甲护理产品/美甲/指甲片/亚克力美甲工具" + }, + { + "id": "18723", + "name": "口哨", + "path": "乐器/吹奏乐器/特色木管乐器/口哨" + }, + { + "id": "13790", + "name": "壁装式插座板", + "path": "家居装修/电工/底盒/壁装式插座板" + }, + { + "id": "19885", + "name": "轮胎维修工具", + "path": "汽车用品/轮胎、轮毂及配件/轮胎配件/轮胎和车轮工具/轮胎维修工具" + }, + { + "id": "19640", + "name": "唇部化妆刷", + "path": "美容和个人护理/工具和配件/化妆工具/唇部化妆刷" + }, + { + "id": "25971", + "name": "滑板车配件", + "path": "玩具与游戏/童车、助步、轮滑/滑板车和装备/滑板车配件" + }, + { + "id": "20334", + "name": "车刷", + "path": "汽车用品/汽车保养/工具及设备/车刷" + }, + { + "id": "31185", + "name": "其他(运动风汽车配件)", + "path": "运动与户外用品/运动迷用品/运动风汽车配件/其他(运动风汽车配件)" + }, + { + "id": "34301", + "name": "游泳鼻夹", + "path": "运动与户外用品/户外休闲/水上运动/游泳用品/游泳鼻夹" + }, + { + "id": "32501", + "name": "渔具卡扣", + "path": "运动与户外用品/打猎和钓鱼/钓鱼用品/鱼钩及附件/渔具卡扣" + }, + { + "id": "19839", + "name": "磨脚石", + "path": "美容和个人护理/足部、手部和指甲护理产品/美甲工具/磨脚石" + }, + { + "id": "5104", + "name": "门吊挂钩", + "path": "工业和科学/工业五金件/展示用挂钩/门吊挂钩" + }, + { + "id": "12738", + "name": "首饰托盘", + "path": "家居、厨房用品/收纳用品/珠宝首饰盒和收纳/首饰托盘" + }, + { + "id": "13888", + "name": "门锁", + "path": "家居装修/五金/门五金件/门锁" + }, + { + "id": "31006", + "name": "行李秤", + "path": "服装、鞋靴和珠宝饰品/皮具箱包/旅行配件/行李秤" + }, + { + "id": "31001", + "name": "旅行鞋子收纳包", + "path": "服装、鞋靴和珠宝饰品/皮具箱包/旅行配件/旅行鞋子收纳包" + }, + { + "id": "17941", + "name": "吉他拨片", + "path": "乐器/乐器配件/吉他和贝斯配件/拨片及收纳盒/吉他拨片" + }, + { + "id": "12147", + "name": "展示画架", + "path": "家居、厨房用品/家居装饰/家居装饰品/展示架/展示画架" + }, + { + "id": "32054", + "name": "跑步腰包", + "path": "运动与户外用品/健身、训练用品/跑步/跑步腰包" + }, + { + "id": "22083", + "name": "汽车座椅后收纳", + "path": "汽车用品/汽车内部配件/扶手箱和收纳/汽车座椅后收纳" + }, + { + "id": "30983", + "name": "旅行收纳包、衣物保护袋", + "path": "服装、鞋靴和珠宝饰品/皮具箱包/旅行箱包/旅行收纳包、衣物保护袋" + }, + { + "id": "53806", + "name": "垃圾袋收纳器", + "path": "家居、厨房用品/收纳用品/厨房储物设备和收纳/厨房存储配件/垃圾袋收纳器" + }, + { + "id": "13028", + "name": "圣诞球装饰品", + "path": "家居、厨房用品/节日装饰品/节日挂饰/圣诞球装饰品" + }, + { + "id": "10025", + "name": "烤箱手套", + "path": "家居、厨房用品/厨房和餐厅/厨房用具和小工具/厨房用具/锅垫和隔热手套/烤箱手套" + }, + { + "id": "10032", + "name": "围裙", + "path": "家居、厨房用品/厨房和餐厅/厨房用具和小工具/厨房用具/围裙" + }, + { + "id": "1322", + "name": "早教材料", + "path": "办公用品/日常办公用品/学校用品/早教材料" + }, + { + "id": "17337", + "name": "礼品包装标签", + "path": "健康和家居用品/文具和礼品包装用品/办公礼品包装/礼品包装标签" + }, + { + "id": "10501", + "name": "茶壶保暖套", + "path": "家居、厨房用品/厨房和餐厅/餐厨布艺/茶壶保暖套" + }, + { + "id": "29548", + "name": "女士时尚链式项链", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女士饰品/女士项链/女士时尚链式项链" + }, + { + "id": "14923", + "name": "马桶替换件", + "path": "家居装修/厨卫/家装卫浴用品/马桶和马桶零配件/马桶替换件" + }, + { + "id": "29546", + "name": "女士时尚贴颈项链", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女士饰品/女士项链/女士时尚贴颈项链" + }, + { + "id": "33983", + "name": "女士户外袜子", + "path": "运动与户外用品/户外休闲/徒步和户外休闲服装/女士户外服饰/女士户外袜子" + }, + { + "id": "5060", + "name": "胶粘防撞垫", + "path": "工业和科学/工业五金件/五金件防撞垫/胶粘防撞垫" + }, + { + "id": "30271", + "name": "男士新奇补丁贴布", + "path": "服装、鞋靴和珠宝饰品/新奇物品/新奇服装和产品/新奇服装/男士新奇服装/男士新奇配饰/男士新奇补丁贴布" + }, + { + "id": "8936", + "name": "门档", + "path": "工业和科学/商用门产品/商用门五金件/门档" + }, + { + "id": "22137", + "name": "车迷钥匙链", + "path": "汽车用品/汽车内部配件/车迷钥匙链" + }, + { + "id": "30647", + "name": "男士运动束发带", + "path": "服装、鞋靴和珠宝饰品/男士时尚/男装配饰/男士运动束发带" + }, + { + "id": "16427", + "name": "日常脚部和指甲护理产品", + "path": "健康和家居用品/医疗用品及设备/助行和日用辅助用品/卫浴用品/日常脚部和指甲护理产品" + }, + { + "id": "19715", + "name": "其他(面部护理工具)", + "path": "美容和个人护理/工具和配件/面部护理工具/其他(面部护理工具)" + }, + { + "id": "10709", + "name": "茶具套装", + "path": "家居、厨房用品/厨房和餐厅/餐具饮具/上菜用品/茶壶和咖啡壶/茶具套装" + }, + { + "id": "30377", + "name": "地板袜、拖鞋袜", + "path": "服装、鞋靴和珠宝饰品/男士时尚/男装/男士袜子/地板袜、拖鞋袜" + }, + { + "id": "7763", + "name": "医用胶带", + "path": "工业和科学/专业医疗用品/伤口护理用品、敷料/医用胶带" + }, + { + "id": "7760", + "name": "伤口敷料", + "path": "工业和科学/专业医疗用品/伤口护理用品、敷料/伤口敷料" + }, + { + "id": "4363", + "name": "手机有线耳机", + "path": "电子/手机和配件/配件/手机有线耳机" + }, + { + "id": "2609", + "name": "线缆收纳包和盒子", + "path": "电子/办公设备/线缆收纳包和盒子" + }, + { + "id": "29590", + "name": "女童隐形袜、短袜", + "path": "服装、鞋靴和珠宝饰品/女童时尚/女童服装/女童短袜和紧身裤袜/女童短袜/女童隐形袜、短袜" + }, + { + "id": "39012", + "name": "地板袜、拖鞋袜", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装配饰/女袜/地板袜、拖鞋袜" + }, + { + "id": "32448", + "name": "其他(假饵)", + "path": "运动与户外用品/打猎和钓鱼/钓鱼用品/假饵/其他(假饵)" + }, + { + "id": "26921", + "name": "女婴束发带", + "path": "母婴用品/婴幼儿洗护用品/宝宝头发护理/女婴发饰/女婴束发带" + }, + { + "id": "5725", + "name": "6类以太网线缆", + "path": "工业和科学/工业电气/互连线/电缆组件/以太网线/6类以太网线缆" + }, + { + "id": "9969", + "name": "倒酒器", + "path": "家居、厨房用品/厨房和餐厅/厨房用具和小工具/调酒分酒用具/引酒器/倒酒器" + }, + { + "id": "6560", + "name": "商用去毛器", + "path": "工业和科学/商业清洁/商用清洁工具/商用去毛器" + }, + { + "id": "3198", + "name": "USB 数据线", + "path": "电子/电子配件及用品/手机配件/手机数据线和适配器/USB 数据线" + }, + { + "id": "39893", + "name": "其他(派对装饰品和用品)", + "path": "艺术品、工艺品和缝纫用品/派对装饰品和用品/其他(派对装饰品和用品)" + }, + { + "id": "12901", + "name": "替换胶绵", + "path": "家居、厨房用品/家庭清洁用品/家庭清洁/清洁工具/拖把及配件/拖把配件/替换胶绵" + }, + { + "id": "17428", + "name": "舌刷、舌刮", + "path": "健康和家居用品/口腔护理/舌刷、舌刮" + }, + { + "id": "17402", + "name": "手动背部按摩器", + "path": "健康和家居用品/保健生活用品/按摩工具和设备/手动按摩工具/手动背部按摩器" + }, + { + "id": "23921", + "name": "PlayStation Vita 保护套", + "path": "视频游戏/复古游戏和微型游戏机/手持式传统游戏系统/PlayStation Vita/PlayStation Vita配件/PlayStation Vita 保护套和收纳/PlayStation Vita 保护套" + }, + { + "id": "11640", + "name": "其他(熨烫用品)", + "path": "家居、厨房用品/熨烫用品/其他(熨烫用品)" + }, + { + "id": "28982", + "name": "女士薄丝袜", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装/女袜/女士薄丝袜" + }, + { + "id": "4014", + "name": "平板电脑保护套、壳", + "path": "电子/电脑及配件/平板电脑配件/平板电脑保护套、内胆包/平板电脑保护套、壳" + }, + { + "id": "25516", + "name": "其他(手工套装)", + "path": "玩具与游戏/艺术与工艺品/手工套装/其他(手工套装)" + }, + { + "id": "39372", + "name": "其他(珠宝铸造用品)", + "path": "艺术品、工艺品和缝纫用品/DIY珠饰、首饰用品/珠宝铸造用品/其他(珠宝铸造用品)" + }, + { + "id": "31194", + "name": "运动风保险杠贴纸", + "path": "运动与户外用品/运动迷用品/运动风汽车配件/运动风贴纸和保险杠贴纸/运动风保险杠贴纸" + }, + { + "id": "29931", + "name": "女婴帽子", + "path": "服装、鞋靴和珠宝饰品/婴儿服饰及鞋靴/女婴服装和鞋靴/女婴服饰配件/女婴帽子" + }, + { + "id": "37810", + "name": "吊环", + "path": "运动与户外用品/运动服装和器材/其他运动类型/体操用品/体操比赛器材/吊环" + }, + { + "id": "32352", + "name": "护腕", + "path": "运动与户外用品/运动医学产品/绷带、夹板和背带/护臂、护手和护指/护腕" + }, + { + "id": "19678", + "name": "可再填充的化妆品容器套件", + "path": "美容和个人护理/工具和配件/分装瓶/可再填充的化妆品容器套件" + }, + { + "id": "18166", + "name": "其他(键盘、钢琴)", + "path": "乐器/键盘、钢琴/其他(键盘、钢琴)" + }, + { + "id": "35661", + "name": "反光衣/反光安全装备", + "path": "运动与户外用品/运动服装和器材/跑步用品/反光衣/反光安全装备" + }, + { + "id": "29941", + "name": "束发带", + "path": "服装、鞋靴和珠宝饰品/婴儿服饰及鞋靴/女婴服装和鞋靴/女婴服饰配件/束发带" + }, + { + "id": "29262", + "name": "时尚束发带", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装配饰/时尚束发带" + }, + { + "id": "19382", + "name": "加长型睫毛膏和打底膏", + "path": "美容和个人护理/彩妆/眼部/加长型睫毛膏和打底膏" + }, + { + "id": "32146", + "name": "女士运动紧身袜", + "path": "运动与户外用品/健身、训练用品/跑步/服装/女士跑步服/打底和压缩单品/女士运动紧身袜" + }, + { + "id": "19628", + "name": "化妆棉", + "path": "美容和个人护理/工具和配件/棉球和棉签/化妆棉" + }, + { + "id": "16452", + "name": "日用鞋扣和鞋带辅助用品", + "path": "健康和家居用品/医疗用品及设备/助行和日用辅助用品/穿衣辅助用品/日用鞋扣和鞋带辅助用品" + }, + { + "id": "12992", + "name": "室内灯串", + "path": "家居、厨房用品/节日装饰品/节日照明灯具/室内灯串" + }, + { + "id": "17268", + "name": "水烟炭夹具", + "path": "健康和家居用品/日用品和清洁用品/烟草类商品/水烟筒及配件/水烟炭夹具" + }, + { + "id": "31973", + "name": "缠绕护膝/缠绕运动绷带", + "path": "运动与户外用品/健身、训练用品/小型健身用品/健身绷带/缠绕护膝/缠绕运动绷带" + }, + { + "id": "9916", + "name": "烧烤工具套件", + "path": "家居、厨房用品/厨房和餐厅/厨房用具和小工具/烧烤工具/烧烤工具套件" + }, + { + "id": "16306", + "name": "护指", + "path": "健康和家居用品/医疗用品及设备/背带、夹板和支架/护臂、护手和护指/护指" + }, + { + "id": "32950", + "name": "其他(户外个人护理)", + "path": "运动与户外用品/户外休闲/露营、徒步用品/户外个人护理/其他(户外个人护理)" + }, + { + "id": "35139", + "name": "其他(骑行用品)", + "path": "运动与户外用品/运动服装和器材/骑行用品/其他(骑行用品)" + }, + { + "id": "4266", + "name": "电视屏幕保护膜", + "path": "电子/电视机、录音机、家庭影院/电视配件/电视屏幕保护膜" + }, + { + "id": "17495", + "name": "眼镜修理套件", + "path": "健康和家居用品/眼睛护理/眼镜清洁护理用品/眼镜修理套件" + }, + { + "id": "14691", + "name": "指套", + "path": "家居装修/安防劳保与清洁/劳保用品/手和手臂防护/指套" + }, + { + "id": "3134", + "name": "头戴式耳机", + "path": "电子/电子配件及用品/手机配件/耳机/头戴式耳机" + }, + { + "id": "12861", + "name": "纸夹收纳", + "path": "家居、厨房用品/收纳用品/办公室储物和收纳/办公桌用品、收纳、分装器/纸夹收纳" + }, + { + "id": "1270", + "name": "削笔刀", + "path": "办公用品/日常办公用品/学校用品/书写和修正用品/削笔刀" + }, + { + "id": "16061", + "name": "隔音耳塞", + "path": "健康和家居用品/健康护理/耳朵护理产品/隔音耳塞" + }, + { + "id": "3222", + "name": "手机粘合卡座", + "path": "电子/电子配件及用品/手机配件/手机粘合卡座" + }, + { + "id": "19831", + "name": "指甲清洁刷", + "path": "美容和个人护理/足部、手部和指甲护理产品/美甲工具/指甲清洁刷" + }, + { + "id": "3718", + "name": "其他(端口转接头)", + "path": "电子/电脑及配件/外设产品/端口转接头/其他(端口转接头)" + }, + { + "id": "29815", + "name": "女孩钱包", + "path": "服装、鞋靴和珠宝饰品/女童时尚/女童服饰配件/女孩钱包和钱夹/女孩钱包" + }, + { + "id": "24964", + "name": "洒水器", + "path": "庭院、草坪和园艺/田园工具和草坪护理/浇灌工具/洒水器" + }, + { + "id": "30272", + "name": "男士新奇钥匙链", + "path": "服装、鞋靴和珠宝饰品/新奇物品/新奇服装和产品/新奇服装/男士新奇服装/男士新奇配饰/男士新奇钥匙链" + }, + { + "id": "995", + "name": "日程表本", + "path": "办公用品/日常办公用品/日历及个人规划用品/记事簿、替换芯和封皮/日程表本" + }, + { + "id": "1131", + "name": "挂孔纸", + "path": "办公用品/日常办公用品/办公用纸张/笔记本便签/挂孔纸" + }, + { + "id": "1201", + "name": "考勤卡", + "path": "办公用品/日常办公用品/考勤钟和考勤卡/考勤卡" + }, + { + "id": "977", + "name": "手提、单肩电脑包", + "path": "办公用品/日常办公用品/商务公文包及电脑包/笔记本电脑包/手提、单肩电脑包" + }, + { + "id": "30651", + "name": "男士证件夹", + "path": "服装、鞋靴和珠宝饰品/男士时尚/男装配饰/男士钱包、卡包/男士卡包和证件夹/男士证件夹" + }, + { + "id": "857", + "name": "邮票", + "path": "办公用品/日常办公用品/邮寄用品/邮票" + }, + { + "id": "902", + "name": "手工胶枪", + "path": "办公用品/日常办公用品/粘胶紧固用品/胶枪和胶棒/手工胶枪" + }, + { + "id": "874", + "name": "胶水", + "path": "办公用品/日常办公用品/粘胶紧固用品/办公用粘合剂和胶水/胶水" + }, + { + "id": "879", + "name": "打包胶带", + "path": "办公用品/日常办公用品/粘胶紧固用品/胶带/打包胶带" + }, + { + "id": "1429", + "name": "证件卡", + "path": "办公用品/日常办公用品/标签指示牌/证件卡及附件/证件卡" + }, + { + "id": "663", + "name": "手持设备及 PDA", + "path": "办公用品/办公设备/手持设备及 PDA" + }, + { + "id": "1222", + "name": "其他(文件归档产品)", + "path": "办公用品/日常办公用品/学校用品/文件归档产品/其他(文件归档产品)" + }, + { + "id": "1074", + "name": "活页夹线圈", + "path": "办公用品/日常办公用品/活页夹办公用品/活页夹配件/活页夹线圈" + }, + { + "id": "1345", + "name": "刮画及拓印板", + "path": "办公用品/日常办公用品/学校用品/美术用品和手工用品/刮画及拓印板" + }, + { + "id": "1272", + "name": "其他(笔和笔芯)", + "path": "办公用品/日常办公用品/学校用品/书写和修正用品/笔和笔芯/其他(笔和笔芯)" + }, + { + "id": "912", + "name": "重型订书机", + "path": "办公用品/日常办公用品/订书机/手动办公订书机/重型订书机" + }, + { + "id": "744", + "name": "扫描仪配件", + "path": "办公用品/办公设备/扫描仪和配件/扫描仪配件" + }, + { + "id": "1413", + "name": "可清除标签", + "path": "办公用品/日常办公用品/标签指示牌/办公标签和贴纸/可清除标签" + }, + { + "id": "1044", + "name": "文件夹标签", + "path": "办公用品/日常办公用品/文件归档产品/办公文件归档用品/文件夹标签" + }, + { + "id": "1130", + "name": "信件和信笺横格纸", + "path": "办公用品/日常办公用品/办公用纸张/笔记本便签/信件和信笺横格纸" + }, + { + "id": "1156", + "name": "橡皮擦", + "path": "办公用品/日常办公用品/书写和修正用品/橡皮涂改液涂改工具/橡皮/橡皮擦" + }, + { + "id": "1011", + "name": "校对夹", + "path": "办公用品/日常办公用品/办公桌面用品/校对夹" + }, + { + "id": "12161", + "name": "杂志架", + "path": "家居、厨房用品/家居装饰/家居装饰品/杂志架" + }, + { + "id": "1051", + "name": "其他(索引卡归档产品)", + "path": "办公用品/日常办公用品/文件归档产品/索引卡归档产品/其他(索引卡归档产品)" + }, + { + "id": "1187", + "name": "木制彩色铅笔", + "path": "办公用品/日常办公用品/书写和修正用品/铅笔/木制彩色铅笔" + }, + { + "id": "32334", + "name": "其他(运动医学产品)", + "path": "运动与户外用品/运动医学产品/其他(运动医学产品)" + }, + { + "id": "1188", + "name": "木制铅笔", + "path": "办公用品/日常办公用品/书写和修正用品/铅笔/木制铅笔" + }, + { + "id": "975", + "name": "笔记本内胆包", + "path": "办公用品/日常办公用品/商务公文包及电脑包/笔记本电脑包/笔记本内胆包" + }, + { + "id": "14540", + "name": "其他(建筑标记工具)", + "path": "家居装修/测量和设计工具/建筑标记工具/其他(建筑标记工具)" + }, + { + "id": "1415", + "name": "色码标签", + "path": "办公用品/日常办公用品/标签指示牌/办公标签和贴纸/色码标签" + }, + { + "id": "33282", + "name": "自行车车镜", + "path": "运动与户外用品/户外休闲/骑行用品/自行车整车附件/自行车车镜" + }, + { + "id": "32355", + "name": "护臂", + "path": "运动与户外用品/运动医学产品/绷带、夹板和背带/护臂、护手和护指/护臂" + }, + { + "id": "34862", + "name": "束发带", + "path": "运动与户外用品/运动户外服饰/男士运动户外服饰/男士运动休闲服装配饰/男士运动休闲头饰/束发带" + }, + { + "id": "1365", + "name": "海绵", + "path": "办公用品/日常办公用品/学校用品/美术用品和手工用品/海绵" + }, + { + "id": "1383", + "name": "镂空印花颜料", + "path": "办公用品/日常办公用品/学校用品/美术用品和手工用品/镂空绘画模板/镂空印花颜料" + }, + { + "id": "1329", + "name": "塑封用品", + "path": "办公用品/日常办公用品/学校用品/美术用品和手工用品/粘合剂/塑封用品" + }, + { + "id": "881", + "name": "管道胶带", + "path": "办公用品/日常办公用品/粘胶紧固用品/胶带/管道胶带" + }, + { + "id": "1189", + "name": "多功能书写工具", + "path": "办公用品/日常办公用品/书写和修正用品/多功能书写工具" + }, + { + "id": "1191", + "name": "圆规", + "path": "办公用品/日常办公用品/书写和修正用品/绘图工具/圆规" + }, + { + "id": "1339", + "name": "织物胶粘剂、粘合剂", + "path": "办公用品/日常办公用品/学校用品/美术用品和手工用品/粘合剂/织物胶粘剂、粘合剂" + }, + { + "id": "13003", + "name": "圣诞袜、节日装饰袜", + "path": "家居、厨房用品/节日装饰品/圣诞袜、节日装饰袜/圣诞袜、节日装饰袜" + }, + { + "id": "28984", + "name": "女袜袜套", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装/女袜/女袜袜套" + }, + { + "id": "4047", + "name": "笔记本散热器", + "path": "电子/电脑及配件/笔记本配件/笔记本电脑散热垫和外置风扇/笔记本散热器" + }, + { + "id": "29293", + "name": "女士围脖", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装配饰/女士围巾、披肩/女士围脖" + }, + { + "id": "25742", + "name": "儿童装扮面罩", + "path": "玩具与游戏/过家家/装扮与饰品/儿童装扮面罩" + }, + { + "id": "9148", + "name": "一次性吸管", + "path": "工业和科学/食品服务设备和用品/食品服务一次性用品/杯和吸管/一次性吸管" + }, + { + "id": "16698", + "name": "止汗剂除臭剂", + "path": "健康和家居用品/个人护理/香体剂和止汗剂/止汗剂除臭剂" + }, + { + "id": "1106", + "name": "桌卡、席位卡", + "path": "办公用品/日常办公用品/办公用纸张/卡片/桌卡、席位卡" + }, + { + "id": "10283", + "name": "其他(厨房保鲜、收纳)", + "path": "家居、厨房用品/厨房和餐厅/厨房保鲜、收纳/其他(厨房保鲜、收纳)" + }, + { + "id": "3806", + "name": "电脑维修套件", + "path": "电子/电脑及配件/外设产品/办公清洁用品/电脑维修套件" + }, + { + "id": "13376", + "name": "其他(儿童房间装饰品)", + "path": "家居、厨房用品/儿童家居用品/儿童房间装饰品/其他(儿童房间装饰品)" + }, + { + "id": "25783", + "name": "儿童海洋球", + "path": "玩具与游戏/运动户外用品/儿童户外游戏球/儿童海洋球" + }, + { + "id": "9779", + "name": "裱花袋、挤花袋", + "path": "家居、厨房用品/厨房和餐厅/烘焙用品/装饰工具/裱花袋、挤花袋" + }, + { + "id": "10337", + "name": "食品分装器", + "path": "家居、厨房用品/厨房和餐厅/厨房保鲜、收纳/食物存储/食品分装器" + }, + { + "id": "10487", + "name": "座位卡", + "path": "家居、厨房用品/厨房和餐厅/餐厨布艺/厨房和餐桌用布配饰/座位牌和座位牌夹/座位卡" + }, + { + "id": "39324", + "name": "耳堵及耳环配件", + "path": "艺术品、工艺品和缝纫用品/DIY珠饰、首饰用品/首饰制作零件/耳堵及耳环配件" + }, + { + "id": "13855", + "name": "电源适配器", + "path": "家居装修/电工/电线、适配器和多孔式插座/电源适配器和多孔式插座/电源适配器" + }, + { + "id": "1965", + "name": "水族箱入门套件", + "path": "宠物用品/水族用品/水族箱和鱼缸/水族箱入门套件" + }, + { + "id": "17735", + "name": "其他(键盘乐器配件)", + "path": "乐器/乐器配件/键盘乐器配件/其他(键盘乐器配件)" + }, + { + "id": "9394", + "name": "公用叉勺服务餐具套装", + "path": "工业和科学/食品服务设备和用品/餐饮服务餐桌和餐具/刀叉勺筷餐具/公用叉勺服务餐具套装" + }, + { + "id": "25729", + "name": "其他(装扮珠宝首饰)", + "path": "玩具与游戏/过家家/装扮与饰品/装扮珠宝首饰/其他(装扮珠宝首饰)" + }, + { + "id": "22794", + "name": "摩托车头盔面罩", + "path": "汽车用品/摩托车用品/摩托骑行服装/摩托车头盔配件/摩托车头盔面罩" + }, + { + "id": "11659", + "name": "飘带", + "path": "家居、厨房用品/活动和派对用品/派对装饰/飘带" + }, + { + "id": "24304", + "name": "手机防尘插头", + "path": "手机和配件/手机配件/手机保养、维护和维修/手机防尘插头" + }, + { + "id": "9231", + "name": "雕刻刀", + "path": "工业和科学/食品服务设备和用品/餐饮服务炊具、烘焙用具和工具/厨房刀具/雕刻刀" + }, + { + "id": "25488", + "name": "发条、弹簧类玩具", + "path": "玩具与游戏/新奇玩具/发条、弹簧类玩具" + }, + { + "id": "9746", + "name": "挞盘", + "path": "家居、厨房用品/厨房和餐厅/烘焙用品/馅饼、挞、法式咸派烤盘/挞盘" + }, + { + "id": "15143", + "name": "其他(垃圾处理器)", + "path": "家居装修/家电/垃圾处理器/其他(垃圾处理器)" + }, + { + "id": "20313", + "name": "防护罩", + "path": "汽车用品/汽车保养/整修产品/防护罩" + }, + { + "id": "24901", + "name": "其他(驱虫剂)", + "path": "庭院、草坪和园艺/防虫用品/驱虫剂/其他(驱虫剂)" + }, + { + "id": "25893", + "name": "婴幼儿浴室玩具", + "path": "玩具与游戏/婴幼玩具/婴幼儿浴室玩具" + }, + { + "id": "25692", + "name": "排序、堆砌、拼插玩具", + "path": "玩具与游戏/益智、科教玩具/早期开发和活动玩具/排序、堆砌、拼插玩具" + }, + { + "id": "24318", + "name": "手机相机固定架", + "path": "手机和配件/手机配件/手机固定架/手机相机固定架" + }, + { + "id": "39612", + "name": "其他(DIY 布面具用品)", + "path": "艺术品、工艺品和缝纫用品/缝纫、针织用品/缝纫用品/DIY 布面具用品/其他(DIY 布面具用品)" + }, + { + "id": "11673", + "name": "其他(派对小礼品)", + "path": "家居、厨房用品/活动和派对用品/派对小礼品/其他(派对小礼品)" + }, + { + "id": "8398", + "name": "护指", + "path": "工业和科学/专业医疗用品/耐用医疗设备/托架、夹板和支架/护臂、护手和护指/护指" + }, + { + "id": "14410", + "name": "车库门传感器", + "path": "家居装修/建筑材料/建筑材料/门/车库门、开门装置和零件/车库门五金/车库门传感器" + }, + { + "id": "33291", + "name": "自行车车罩", + "path": "运动与户外用品/户外休闲/骑行用品/自行车整车附件/自行车车罩" + }, + { + "id": "16979", + "name": "婴幼儿牙刷", + "path": "健康和家居用品/个人护理/口腔护理/婴幼儿牙科护理产品/婴幼儿口腔护理/婴幼儿牙刷" + }, + { + "id": "25762", + "name": "拼图游戏", + "path": "玩具与游戏/拼图/拼图游戏" + }, + { + "id": "26382", + "name": "女婴半身裙、裙裤", + "path": "母婴用品/服装和配饰/女婴服装和鞋靴/女婴服装/女婴下装/女婴半身裙、裙裤" + }, + { + "id": "29786", + "name": "其他(女童服饰配件)", + "path": "服装、鞋靴和珠宝饰品/女童时尚/女童服饰配件/其他(女童服饰配件)" + }, + { + "id": "22202", + "name": "汽车牌照套", + "path": "汽车用品/汽车外部配件/汽车车牌框架/汽车牌照套" + }, + { + "id": "29800", + "name": "其他(女童帽子)", + "path": "服装、鞋靴和珠宝饰品/女童时尚/女童服饰配件/女童帽子/其他(女童帽子)" + }, + { + "id": "40324", + "name": "大码女士薄丝袜", + "path": "服装、鞋靴和珠宝饰品/女士时尚/大码女装/大码女袜/大码女士薄丝袜" + }, + { + "id": "26927", + "name": "女婴连指、分指手套", + "path": "母婴用品/服装和配饰/女婴服装和鞋靴/女婴服饰配件/女婴连指、分指手套" + }, + { + "id": "26917", + "name": "安抚奶嘴", + "path": "母婴用品/婴幼儿洗护用品/安抚奶嘴及配件/安抚奶嘴" + }, + { + "id": "25887", + "name": "牙胶", + "path": "玩具与游戏/婴幼玩具/牙胶" + }, + { + "id": "4417", + "name": "手机保护袋", + "path": "电子/手机和配件/壳、皮套和固定夹/手机保护袋" + }, + { + "id": "26609", + "name": "婴幼儿浴室安全用品", + "path": "母婴用品/婴幼儿安全防护/婴幼儿浴室安全用品" + }, + { + "id": "26507", + "name": "尿布紧固件", + "path": "母婴用品/婴幼儿尿裤及更换用品/布尿布配件/尿布固定带、固定扣/尿布紧固件" + }, + { + "id": "19764", + "name": "假指甲贴片", + "path": "美容和个人护理/足部、手部和指甲护理产品/美甲/指甲片/假指甲贴片" + }, + { + "id": "19324", + "name": "护发精油", + "path": "美容和个人护理/美发护发/护发精油" + }, + { + "id": "3193", + "name": "其他(手机固定架)", + "path": "电子/电子配件及用品/手机配件/手机固定架/其他(手机固定架)" + }, + { + "id": "12782", + "name": "淋浴用品架", + "path": "家居、厨房用品/收纳用品/卫浴储物设备和收纳/淋浴用品架" + }, + { + "id": "1741", + "name": "狗碗、勺、杯", + "path": "宠物用品/狗狗用品类/狗喂食及饮水用具/狗用碗碟/狗碗、勺、杯" + }, + { + "id": "1635", + "name": "猫鼠玩具", + "path": "宠物用品/猫用品/猫玩具/猫鼠玩具" + }, + { + "id": "25483", + "name": "万花筒", + "path": "玩具与游戏/新奇玩具/棱镜和万花筒/万花筒" + }, + { + "id": "39661", + "name": "粘土", + "path": "艺术品、工艺品和缝纫用品/工艺工具和用品/制陶工艺/粘土和彩泥/粘土" + }, + { + "id": "34300", + "name": "游泳耳塞", + "path": "运动与户外用品/户外休闲/水上运动/游泳用品/游泳耳塞" + }, + { + "id": "3181", + "name": "手机防尘插头", + "path": "电子/电子配件及用品/手机配件/手机保养、维护和维修/手机防尘插头" + }, + { + "id": "10114", + "name": "锅具配件", + "path": "家居、厨房用品/厨房和餐厅/厨房炊具/锅具配件" + }, + { + "id": "25884", + "name": "毛绒公仔", + "path": "玩具与游戏/毛绒布艺/毛绒公仔" + }, + { + "id": "29154", + "name": "女士腕包", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女士手提包和钱包/女士腕包" + }, + { + "id": "39466", + "name": "相片角贴", + "path": "艺术品、工艺品和缝纫用品/剪贴、压印/剪贴簿粘合剂/相片角贴" + }, + { + "id": "1179", + "name": "专业水笔", + "path": "办公用品/日常办公用品/书写和修正用品/笔和笔芯/专业水笔" + }, + { + "id": "29488", + "name": "女士时尚个性戒指", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女士饰品/女士戒指/女士时尚个性戒指" + }, + { + "id": "10303", + "name": "锅盖架", + "path": "家居、厨房用品/厨房和餐厅/厨房保鲜、收纳/厨房置物架/家居橱柜收纳/锅盖架" + }, + { + "id": "26920", + "name": "女婴发绳", + "path": "母婴用品/婴幼儿洗护用品/宝宝头发护理/女婴发饰/女婴发绳" + }, + { + "id": "2420", + "name": "烫衣板", + "path": "家电/大家电配件/挂烫机及配件/烫衣板" + }, + { + "id": "16081", + "name": "脚掌护垫", + "path": "健康和家居用品/健康护理/足部护理/鞋垫和衬垫/脚掌护垫" + }, + { + "id": "15980", + "name": "弹性绷带", + "path": "健康和家居用品/健康护理/家庭急救、医疗耗材/绷带和包扎用品/弹性绷带" + }, + { + "id": "12817", + "name": "收纳挂袋", + "path": "家居、厨房用品/收纳用品/衣柜收纳/收纳挂袋" + }, + { + "id": "7322", + "name": "尖嘴钳", + "path": "工业和科学/工业工具/工业手工工具/钳子/尖嘴钳" + }, + { + "id": "31433", + "name": "运动腕带", + "path": "运动与户外用品/运动迷用品/运动服装配饰/运动腕带" + }, + { + "id": "29290", + "name": "女士围巾", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装配饰/女士围巾、披肩/女士围巾" + }, + { + "id": "33156", + "name": "女士户外袜子", + "path": "运动与户外用品/户外休闲/攀岩用品/服装/女士户外服饰/女士户外袜子" + }, + { + "id": "4012", + "name": "其他(平板电脑配件)", + "path": "电子/电脑及配件/平板电脑配件/其他(平板电脑配件)" + }, + { + "id": "13740", + "name": "电源插座盖", + "path": "家居装修/电工/电源插座和配件/电源插座盖" + }, + { + "id": "24613", + "name": "烤炉垫和地垫", + "path": "庭院、草坪和园艺/烧烤和户外烹饪/户外烹饪工具及配件/烤炉垫和地垫" + }, + { + "id": "12065", + "name": "生日蜡烛", + "path": "家居、厨房用品/家居装饰/蜡烛、烛台及配件/蜡烛/特制蜡烛/生日蜡烛" + }, + { + "id": "30978", + "name": "邮差包", + "path": "服装、鞋靴和珠宝饰品/皮具箱包/邮差包" + }, + { + "id": "17499", + "name": "其他(眼睛护理)", + "path": "健康和家居用品/眼睛护理/其他(眼睛护理)" + }, + { + "id": "19780", + "name": "指甲刷", + "path": "美容和个人护理/足部、手部和指甲护理产品/美甲/美甲造型工具/指甲刷" + }, + { + "id": "19784", + "name": "指甲油固化灯", + "path": "美容和个人护理/足部、手部和指甲护理产品/美甲/美甲造型工具/指甲油固化灯" + }, + { + "id": "12948", + "name": "清洁刷", + "path": "家居、厨房用品/家庭清洁用品/清洁刷" + }, + { + "id": "16485", + "name": "药丸压碎器和切药丸器", + "path": "健康和家居用品/医疗用品及设备/助行和日用辅助用品/药物治疗辅助用品/药丸压碎器和切药丸器" + }, + { + "id": "12773", + "name": "收纳篮", + "path": "家居、厨房用品/收纳用品/收纳篮、箱子、盒子/收纳篮" + }, + { + "id": "20300", + "name": "洗车工具", + "path": "汽车用品/汽车保养/外部护理用品/洗车装备/洗车工具" + }, + { + "id": "32968", + "name": "其他(睡袋配件)", + "path": "运动与户外用品/户外休闲/露营、徒步用品/户外寝具/睡袋配件/其他(睡袋配件)" + }, + { + "id": "16005", + "name": "其他(驱蚊用品)", + "path": "健康和家居用品/健康护理/驱蚊用品/其他(驱蚊用品)" + }, + { + "id": "16071", + "name": "其他(足部护理)", + "path": "健康和家居用品/健康护理/足部护理/其他(足部护理)" + }, + { + "id": "9783", + "name": "烘焙模具", + "path": "家居、厨房用品/厨房和餐厅/烘焙用品/装饰工具/烘焙模具" + }, + { + "id": "19236", + "name": "染发瓶", + "path": "美容和个人护理/美发护发/染发/染发和挑染工具/染发瓶" + }, + { + "id": "12661", + "name": "环保购物袋", + "path": "家居、厨房用品/收纳用品/厨房储物设备和收纳/旅行和外带食品容器/环保购物袋" + }, + { + "id": "10088", + "name": "一次性吸管", + "path": "家居、厨房用品/厨房和餐厅/厨房用具和小工具/饮料吸管/一次性吸管" + }, + { + "id": "26565", + "name": "婴儿围兜和饱嗝布套装", + "path": "母婴用品/婴幼儿喂养用品/婴儿围兜和饱嗝布/婴儿围兜和饱嗝布套装" + }, + { + "id": "3179", + "name": "手机维修套件", + "path": "电子/电子配件及用品/手机配件/手机保养、维护和维修/手机维修套件" + }, + { + "id": "44398", + "name": "蛋糕装饰", + "path": "各色美食/食品储藏室必备品/烹饪和烘焙/糖霜,糖衣和装饰品/蛋糕装饰" + }, + { + "id": "19448", + "name": "清洁毛巾和洗脸巾", + "path": "美容和个人护理/皮肤护理/面部护肤/面部清洁/清洁毛巾和洗脸巾" + }, + { + "id": "2309", + "name": "灶具旋钮", + "path": "家电/大家电配件/灶具零配件/灶具旋钮" + }, + { + "id": "16867", + "name": "其他(面部护肤)", + "path": "健康和家居用品/个人护理/皮肤护理/面部护肤/其他(面部护肤)" + }, + { + "id": "16076", + "name": "防磨脚贴", + "path": "健康和家居用品/健康护理/足部护理/防磨脚贴" + }, + { + "id": "2423", + "name": "熨衣板盖", + "path": "家电/大家电配件/挂烫机及配件/熨衣板盖" + }, + { + "id": "12912", + "name": "家庭马桶清洁剂", + "path": "家居、厨房用品/家庭清洁用品/家庭清洁/浴室清洁剂/家庭马桶清洁剂" + }, + { + "id": "30486", + "name": "男士项链", + "path": "服装、鞋靴和珠宝饰品/男士时尚/男士饰品/男士项链" + }, + { + "id": "6175", + "name": "实验室洗瓶", + "path": "工业和科学/实验室及科研用品/玻璃器皿、实验室器皿/实验室容器、瓶子/实验室洗瓶" + }, + { + "id": "39960", + "name": "其他(工艺品和缝纫用品储物)", + "path": "艺术品、工艺品和缝纫用品/艺术存储和运输/工艺品和缝纫用品储物/其他(工艺品和缝纫用品储物)" + }, + { + "id": "18987", + "name": "眼罩", + "path": "美容和个人护理/个人护理/皮肤护理/眼部护理/眼罩" + }, + { + "id": "17345", + "name": "空白便条卡套装", + "path": "健康和家居用品/文具和礼品包装用品/文具/空白便条卡套装" + }, + { + "id": "845", + "name": "气泡膜包装", + "path": "办公用品/日常办公用品/邮寄用品/包裹耗材/气泡膜包装" + }, + { + "id": "31047", + "name": "女士装扮配饰套装", + "path": "服装、鞋靴和珠宝饰品/装扮服饰和配饰/女士装扮服和配饰/女士装扮配饰/女士装扮配饰套装" + }, + { + "id": "6592", + "name": "大包装洗手液", + "path": "工业和科学/商业清洁/商用个人卫生用品/大包装洗手液" + }, + { + "id": "19823", + "name": "其他(美甲工具)", + "path": "美容和个人护理/足部、手部和指甲护理产品/美甲工具/其他(美甲工具)" + }, + { + "id": "12876", + "name": "家庭清洁手套", + "path": "家居、厨房用品/家庭清洁用品/家庭清洁/清洁工具/家庭清洁手套" + }, + { + "id": "16748", + "name": "个人剃毛刀", + "path": "健康和家居用品/个人护理/剃须和脱毛/女士脱毛和剃毛产品/除毛器、剃毛刀及修剪器/个人剃毛刀" + }, + { + "id": "16787", + "name": "男士电动剃须刀配件", + "path": "健康和家居用品/个人护理/剃须和脱毛/男士剃须和脱毛产品/电动剃须刀/男士电动剃须刀配件" + }, + { + "id": "12664", + "name": "可重复使用的包装袋", + "path": "家居、厨房用品/收纳用品/厨房储物设备和收纳/旅行和外带食品容器/可重复使用的包装袋" + }, + { + "id": "18914", + "name": "其他(沐浴工具)", + "path": "美容和个人护理/个人护理/浴室及淋浴配件/沐浴工具/其他(沐浴工具)" + }, + { + "id": "12163", + "name": "建筑模型摆件", + "path": "家居、厨房用品/家居装饰/家居装饰品/建筑摆件及配件/建筑模型摆件" + }, + { + "id": "12198", + "name": "装饰性铃", + "path": "家居、厨房用品/家居装饰/家居装饰品/家居摆件、挂件/装饰性铃" + }, + { + "id": "29153", + "name": "其他(女士手提包和钱包)", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女士手提包和钱包/其他(女士手提包和钱包)" + }, + { + "id": "3237", + "name": "相机隐私保护盖", + "path": "电子/电子配件及用品/手机配件/相机隐私保护盖" + }, + { + "id": "25705", + "name": "仿真食物", + "path": "玩具与游戏/过家家/厨房玩具/仿真食物" + }, + { + "id": "856", + "name": "中转袋", + "path": "办公用品/日常办公用品/邮寄用品/邮包和快递袋/中转袋" + }, + { + "id": "29926", + "name": "女婴袜子", + "path": "服装、鞋靴和珠宝饰品/婴儿服饰及鞋靴/女婴服装和鞋靴/女婴服饰配件/女婴袜子" + }, + { + "id": "19654", + "name": "眼线刷", + "path": "美容和个人护理/工具和配件/化妆工具/眼妆工具/眼线刷" + }, + { + "id": "29497", + "name": "女士时尚珠子吊饰", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女士饰品/女士时尚手链、手镯/女士时尚吊饰和吊饰手链/女士串珠/女士时尚珠子吊饰" + }, + { + "id": "2421", + "name": "熨烫配件", + "path": "家电/大家电配件/挂烫机及配件/熨烫配件" + }, + { + "id": "5134", + "name": "钢丝刷", + "path": "工业和科学/研磨和抛光产品/研磨刷/钢丝刷" + }, + { + "id": "3057", + "name": "其他(电线管理)", + "path": "电子/电子配件及用品/电线管理/其他(电线管理)" + }, + { + "id": "16688", + "name": "润唇膏和保湿霜", + "path": "健康和家居用品/个人护理/唇部护理/润唇膏和保湿霜" + }, + { + "id": "12863", + "name": "礼品包装收纳", + "path": "家居、厨房用品/收纳用品/礼品包装收纳" + }, + { + "id": "25615", + "name": "棋盘游戏", + "path": "玩具与游戏/游戏及配件/棋盘游戏" + }, + { + "id": "40405", + "name": "男士钥匙包", + "path": "服装、鞋靴和珠宝饰品/男士时尚/男装配饰/男士钱包、卡包/男士钥匙包" + }, + { + "id": "12749", + "name": "脏衣篮、收纳篮", + "path": "家居、厨房用品/收纳用品/洗晒熨/脏衣篮、收纳篮" + }, + { + "id": "9583", + "name": "牙签盒", + "path": "工业和科学/食品服务设备和用品/餐饮服务餐桌和餐具/亚麻布和桌子配件/桌面配件/牙签盒" + }, + { + "id": "4414", + "name": "手机壳、套", + "path": "电子/手机和配件/壳、皮套和固定夹/手机壳、套" + }, + { + "id": "9572", + "name": "桌布", + "path": "工业和科学/食品服务设备和用品/餐饮服务餐桌和餐具/亚麻布和桌子配件/桌布" + }, + { + "id": "2455", + "name": "其他(电风扇)", + "path": "家电/加热、冷却和空气质量电器/电风扇/其他(电风扇)" + }, + { + "id": "17159", + "name": "家用替换拖把垫", + "path": "健康和家居用品/日用品和清洁用品/清洁工具/拖把及配件/拖把配件/家用替换拖把垫" + }, + { + "id": "14866", + "name": "浴衣和毛巾挂钩", + "path": "家居装修/厨卫/家装卫浴用品/卫浴五金件及安装/浴衣和毛巾挂钩" + }, + { + "id": "26897", + "name": "婴幼儿指甲刀", + "path": "母婴用品/婴幼儿洗护用品/婴幼儿日常护理/婴幼儿指甲刀" + }, + { + "id": "27523", + "name": "空顶遮阳帽", + "path": "服装、鞋靴和珠宝饰品/体育专用服装/高尔高尔夫服/男士高尔夫服/男士高尔夫球服配饰/空顶遮阳帽" + }, + { + "id": "27619", + "name": "男士户外帽子", + "path": "服装、鞋靴和珠宝饰品/体育专用服装/户外服饰/男士户外服饰/男士户外帽子・头饰/男士户外帽子" + }, + { + "id": "27522", + "name": "帽子", + "path": "服装、鞋靴和珠宝饰品/体育专用服装/高尔高尔夫服/男士高尔夫服/男士高尔夫球服配饰/帽子" + }, + { + "id": "3140", + "name": "其他(手机配件)", + "path": "电子/电子配件及用品/手机配件/其他(手机配件)" + }, + { + "id": "13399", + "name": "墙贴和壁饰", + "path": "家居、厨房用品/儿童家居用品/儿童房间装饰品/儿童房壁饰/墙贴和壁饰" + }, + { + "id": "29127", + "name": "文胸收纳包", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装/女士内衣、睡衣和家居服/文胸、内衣/文胸配件/文胸收纳包" + }, + { + "id": "25654", + "name": "骰子游戏", + "path": "玩具与游戏/游戏及配件/骰子游戏" + }, + { + "id": "22135", + "name": "车载水杯架", + "path": "汽车用品/汽车内部配件/车载水杯架" + }, + { + "id": "19674", + "name": "洗漱套件", + "path": "美容和个人护理/工具和配件/化妆袋和化妆包/洗漱套件" + }, + { + "id": "16418", + "name": "长柄刷子和梳子", + "path": "健康和家居用品/医疗用品及设备/助行和日用辅助用品/卫浴用品/长柄刷子和梳子" + }, + { + "id": "17952", + "name": "多把吉他和贝斯支架", + "path": "乐器/乐器配件/吉他和贝斯配件/吉他和贝斯支架、悬架和架子/吉他和贝斯支架/多把吉他和贝斯支架" + }, + { + "id": "39590", + "name": "带扣", + "path": "艺术品、工艺品和缝纫用品/缝纫、针织用品/缝纫用品/缝纫紧固件/带扣" + }, + { + "id": "17871", + "name": "其他(吉他和贝斯配件)", + "path": "乐器/乐器配件/吉他和贝斯配件/其他(吉他和贝斯配件)" + }, + { + "id": "24319", + "name": "车把手机固定架", + "path": "手机和配件/手机配件/手机固定架/车把手机固定架" + }, + { + "id": "33064", + "name": "其他(露营帐篷配件)", + "path": "运动与户外用品/户外休闲/露营、徒步用品/露营帐篷和棚/露营帐篷配件/其他(露营帐篷配件)" + }, + { + "id": "12774", + "name": "其他(收纳篮、箱子、盒子)", + "path": "家居、厨房用品/收纳用品/收纳篮、箱子、盒子/其他(收纳篮、箱子、盒子)" + }, + { + "id": "33070", + "name": "其他(攀岩用品)", + "path": "运动与户外用品/户外休闲/攀岩用品/其他(攀岩用品)" + }, + { + "id": "15441", + "name": "其他(手用工具刀)", + "path": "家居装修/家装工具/手动工具/手用工具刀/其他(手用工具刀)" + }, + { + "id": "10309", + "name": "厨房纸架", + "path": "家居、厨房用品/厨房和餐厅/厨房保鲜、收纳/厨房置物架/厨房纸架" + }, + { + "id": "1390", + "name": "方格置物架", + "path": "办公用品/日常办公用品/学校用品/教室家具/方格置物架" + }, + { + "id": "33351", + "name": "自行车刹车片衬垫", + "path": "运动与户外用品/户外休闲/骑行用品/组装车零部件/自行车刹车组件/自行车刹车零件/自行车刹车片/自行车刹车片衬垫" + }, + { + "id": "12356", + "name": "地毯", + "path": "家居、厨房用品/家居装饰/地毯、地垫和保护剂/地毯" + }, + { + "id": "34562", + "name": "女士空顶遮阳帽", + "path": "运动与户外用品/运动户外服饰/女士运动户外服饰/女士运动休闲服装配饰/女士运动休闲头饰/女士空顶遮阳帽" + }, + { + "id": "9581", + "name": "杯垫、隔热垫", + "path": "工业和科学/食品服务设备和用品/餐饮服务餐桌和餐具/亚麻布和桌子配件/桌面配件/杯垫、隔热垫" + }, + { + "id": "1122", + "name": "网格本与数据本", + "path": "办公用品/日常办公用品/办公用纸张/笔记本便签/网格本与数据本" + }, + { + "id": "29505", + "name": "女士时尚手串", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女士饰品/女士时尚手链、手镯/女士时尚手串" + }, + { + "id": "11804", + "name": "其他(卫浴毛巾)", + "path": "家居、厨房用品/浴室用品/卫浴毛巾/其他(卫浴毛巾)" + }, + { + "id": "20042", + "name": "车身维修凹坑清除工具", + "path": "汽车用品/维修工具/车身及翼子板维修工具/车身维修凹坑清除工具" + }, + { + "id": "22376", + "name": "反光装置", + "path": "汽车用品/汽车外部配件/安全产品/反光装置" + }, + { + "id": "20303", + "name": "车用打蜡海绵", + "path": "汽车用品/汽车保养/外部护理用品/洗车装备/车用打蜡海绵" + }, + { + "id": "12891", + "name": "家用簸箕", + "path": "家居、厨房用品/家庭清洁用品/家庭清洁/清洁工具/家用扫帚、簸箕和配件/家用清扫零件和配件/家用簸箕" + }, + { + "id": "22120", + "name": "其他(汽车内部配件)", + "path": "汽车用品/汽车内部配件/其他(汽车内部配件)" + }, + { + "id": "4070", + "name": "浪涌保护器", + "path": "电子/电脑及配件/移动式插座和浪涌保护器/浪涌保护器" + }, + { + "id": "33018", + "name": "其他(户外炉具配件)", + "path": "运动与户外用品/户外休闲/露营、徒步用品/户外炊具/户外炉具配件/其他(户外炉具配件)" + }, + { + "id": "10000", + "name": "钳", + "path": "家居、厨房用品/厨房和餐厅/厨房用具和小工具/烹饪用具/钳" + }, + { + "id": "9238", + "name": "刀套、刀具收纳袋", + "path": "工业和科学/食品服务设备和用品/餐饮服务炊具、烘焙用具和工具/厨房刀具/刀套、刀具收纳袋" + }, + { + "id": "29704", + "name": "女童胸针、领针、丝巾扣", + "path": "服装、鞋靴和珠宝饰品/女童时尚/女童饰品/女童胸针、领针、丝巾扣" + }, + { + "id": "24383", + "name": "手机防水袋", + "path": "手机和配件/手机壳及外壳/手机防水袋" + }, + { + "id": "19689", + "name": "化妆镜", + "path": "美容和个人护理/工具和配件/镜子和放大镜/化妆镜" + }, + { + "id": "39569", + "name": "缝纫穿线器", + "path": "艺术品、工艺品和缝纫用品/缝纫、针织用品/缝纫用品/缝纫工具/缝纫穿线器" + }, + { + "id": "22413", + "name": "摩托车把手配件", + "path": "汽车用品/摩托车用品/摩托车配件/摩托车把手配件" + }, + { + "id": "28988", + "name": "内衬袜、船袜", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装/女袜/女袜短袜/内衬袜、船袜" + }, + { + "id": "34646", + "name": "户外休闲袜", + "path": "运动与户外用品/运动户外服饰/女士运动户外服饰/女士运动休闲袜/户外休闲袜" + }, + { + "id": "9272", + "name": "商用食品袋封口器", + "path": "工业和科学/食品服务设备和用品/餐饮服务电器和设备/商业食品加工设备和器具/商用食品包装设备/商用食品袋封口器" + }, + { + "id": "39419", + "name": "纸张打孔器", + "path": "艺术品、工艺品和缝纫用品/剪贴、压印/纸张打孔器" + }, + { + "id": "33008", + "name": "户外筷子、刀、叉", + "path": "运动与户外用品/户外休闲/露营、徒步用品/户外炊具/露营盘子和餐具/户外筷子、刀、叉" + }, + { + "id": "9396", + "name": "其他(公用叉勺服务餐具)", + "path": "工业和科学/食品服务设备和用品/餐饮服务餐桌和餐具/刀叉勺筷餐具/公用叉勺服务餐具/其他(公用叉勺服务餐具)" + }, + { + "id": "27544", + "name": "帽子", + "path": "服装、鞋靴和珠宝饰品/体育专用服装/高尔高尔夫服/女士高尔夫球服/女士高尔夫球服配饰/帽子" + }, + { + "id": "9926", + "name": "土豆捣碎器", + "path": "家居、厨房用品/厨房和餐厅/厨房用具和小工具/水果和蔬菜工具/薯压/土豆捣碎器" + }, + { + "id": "19661", + "name": "扇形刷", + "path": "美容和个人护理/工具和配件/化妆工具/面部化妆刷和工具/面部化妆刷/扇形刷" + }, + { + "id": "12781", + "name": "毛巾架", + "path": "家居、厨房用品/收纳用品/卫浴储物设备和收纳/毛巾架" + }, + { + "id": "17494", + "name": "眼镜清洁纸巾和擦布", + "path": "健康和家居用品/眼睛护理/眼镜清洁护理用品/眼镜清洁纸巾和擦布" + }, + { + "id": "2076", + "name": "小动物刷子", + "path": "宠物用品/小宠用品/小宠洗澡美容用具/小动物刷子" + }, + { + "id": "39327", + "name": "珠宝制作连接环", + "path": "艺术品、工艺品和缝纫用品/DIY珠饰、首饰用品/首饰制作零件/珠宝制作连接环" + }, + { + "id": "32902", + "name": "户外桌子", + "path": "运动与户外用品/户外休闲/露营、徒步用品/户外家具/户外桌子" + }, + { + "id": "17876", + "name": "吉他琴桥和琴桥配件", + "path": "乐器/乐器配件/吉他和贝斯配件/民谣、古典吉他部件/吉他琴桥和琴桥配件" + }, + { + "id": "3801", + "name": "电脑显示器防尘罩", + "path": "电子/电脑及配件/外设产品/电脑显示器配件/电脑显示器防尘罩" + }, + { + "id": "9337", + "name": "小型咖啡杯", + "path": "工业和科学/食品服务设备和用品/餐饮服务餐桌和餐具/玻璃杯和饮具/杯子、马克杯和碟子/小型咖啡杯" + }, + { + "id": "40449", + "name": "化纤发条", + "path": "美容和个人护理/美发护发/假发,接发与配件/化纤假发/发帘/化纤发条" + }, + { + "id": "39540", + "name": "花边", + "path": "艺术品、工艺品和缝纫用品/缝纫、针织用品/缝纫镶边、装饰/花边" + }, + { + "id": "11396", + "name": "魔鬼蛋托盘", + "path": "家居、厨房用品/厨房和餐厅/食品服务设备和用品/餐饮服务餐桌和餐具/上菜用品/上菜盘/上菜盘子、托盘和盘子/魔鬼蛋托盘" + }, + { + "id": "11762", + "name": "浴室托盘", + "path": "家居、厨房用品/浴室用品/浴室配件/洗漱用品/浴室托盘" + }, + { + "id": "32625", + "name": "战术袋", + "path": "运动与户外用品/打猎和钓鱼/打猎用品/枪配件、维护和储存/枪套、箱包/狩猎和射击包袋和背包/战术包/战术袋" + }, + { + "id": "9384", + "name": "甜点叉", + "path": "工业和科学/食品服务设备和用品/餐饮服务餐桌和餐具/刀叉勺筷餐具/餐叉/甜点叉" + }, + { + "id": "39334", + "name": "珠宝戒指坯与配件", + "path": "艺术品、工艺品和缝纫用品/DIY珠饰、首饰用品/首饰制作零件/珠宝戒指坯与配件" + }, + { + "id": "24691", + "name": "花园微缩雕塑", + "path": "庭院、草坪和园艺/户外饰品/雕塑、雕像/花园微缩模型/花园微缩雕塑" + }, + { + "id": "12735", + "name": "首饰盒", + "path": "家居、厨房用品/收纳用品/珠宝首饰盒和收纳/首饰盒" + }, + { + "id": "9931", + "name": "水果和蔬菜去核机", + "path": "家居、厨房用品/厨房和餐厅/厨房用具和小工具/水果和蔬菜工具/水果和蔬菜去核器/水果和蔬菜去核机" + }, + { + "id": "15991", + "name": "虱子梳", + "path": "健康和家居用品/健康护理/家庭急救、医疗耗材/虱子治疗用品/虱子梳" + }, + { + "id": "12812", + "name": "裤子衣架", + "path": "家居、厨房用品/收纳用品/衣柜收纳/衣架/裤子衣架" + }, + { + "id": "11739", + "name": "装饰性浴帘挂钩", + "path": "家居、厨房用品/浴室用品/浴室配件/浴帘和挂钩/浴帘挂钩/装饰性浴帘挂钩" + }, + { + "id": "9995", + "name": "漏盆、滤网", + "path": "家居、厨房用品/厨房和餐厅/厨房用具和小工具/过滤用具/漏盆、滤网" + }, + { + "id": "926", + "name": "硬币盒和硬币箱", + "path": "办公用品/日常办公用品/表单、记录和钱币管理/钱币管理产品/硬币盒和硬币箱" + }, + { + "id": "24684", + "name": "户外雕像", + "path": "庭院、草坪和园艺/户外饰品/雕塑、雕像/户外雕像" + }, + { + "id": "10001", + "name": "打蛋器、搅拌器", + "path": "家居、厨房用品/厨房和餐厅/厨房用具和小工具/烹饪用具/打蛋器、搅拌器" + }, + { + "id": "11505", + "name": "桌上碟子", + "path": "家居、厨房用品/厨房和餐厅/食品服务设备和用品/餐饮服务餐桌和餐具/正餐餐具/茶杯、马克杯和碟子/桌上碟子" + }, + { + "id": "10322", + "name": "碗盘架", + "path": "家居、厨房用品/厨房和餐厅/厨房保鲜、收纳/厨房置物架/碗盘架" + }, + { + "id": "40067", + "name": "专业绘画用纸", + "path": "艺术品、工艺品和缝纫用品/绘画用品/绘画用纸/专业绘画用纸" + }, + { + "id": "13875", + "name": "门手柄套装", + "path": "家居装修/五金/门用五金/门手柄套装" + }, + { + "id": "10293", + "name": "便当盒", + "path": "家居、厨房用品/厨房和餐厅/厨房保鲜、收纳/旅行和外带食品容器/便当盒" + }, + { + "id": "31528", + "name": "运动风束口袋", + "path": "运动与户外用品/运动迷用品/运动风箱包、背包和配件/运动风束口袋" + }, + { + "id": "31018", + "name": "徒步旅行背包", + "path": "服装、鞋靴和珠宝饰品/皮具箱包/双肩背包/徒步旅行背包" + }, + { + "id": "10317", + "name": "壁挂酒架", + "path": "家居、厨房用品/厨房和餐厅/厨房保鲜、收纳/厨房置物架/厨房酒架和橱柜/壁挂酒架" + }, + { + "id": "17343", + "name": "贺卡", + "path": "健康和家居用品/文具和礼品包装用品/文具/贺卡" + }, + { + "id": "2806", + "name": "其他(镜头配件)", + "path": "电子/电子配件及用品/相机和照片配件/镜头配件/其他(镜头配件)" + }, + { + "id": "31599", + "name": "充气设备配件", + "path": "运动与户外用品/运动与户外休闲用品/充气设备及配件/充气设备配件" + }, + { + "id": "13008", + "name": "胡桃夹子", + "path": "家居、厨房用品/节日装饰品/胡桃夹子" + }, + { + "id": "11157", + "name": "餐饮服务工具和餐具", + "path": "家居、厨房用品/厨房和餐厅/食品服务设备和用品/餐饮服务炊具、烘焙用具和工具/餐饮服务工具和餐具" + }, + { + "id": "9800", + "name": "巧克力模具", + "path": "家居、厨房用品/厨房和餐厅/烘焙用品/糖果制作工具/巧克力模具" + }, + { + "id": "9770", + "name": "饼干模具", + "path": "家居、厨房用品/厨房和餐厅/烘焙用品/烘焙工具/饼干模具" + }, + { + "id": "9738", + "name": "创意造型蛋糕模具", + "path": "家居、厨房用品/厨房和餐厅/烘焙用品/蛋糕模具/创意造型蛋糕模具" + }, + { + "id": "11766", + "name": "洗手液瓶", + "path": "家居、厨房用品/浴室用品/浴室配件/洗漱用品/浴室分配器/洗手液瓶" + }, + { + "id": "9352", + "name": "葡萄酒杯", + "path": "工业和科学/食品服务设备和用品/餐饮服务餐桌和餐具/玻璃杯和饮具/葡萄酒香槟酒杯/葡萄酒杯" + }, + { + "id": "2327", + "name": "冰箱蛋架", + "path": "家电/大家电配件/冰箱零配件/冰箱蛋架" + }, + { + "id": "930", + "name": "现金捆扎带", + "path": "办公用品/日常办公用品/表单、记录和钱币管理/钱币管理产品/现金捆扎带" + }, + { + "id": "22652", + "name": "摩托车链条调节器", + "path": "汽车用品/摩托车用品/动力运动零件/摩托车传动齿轮/摩托车链条及部件/摩托车链条调节器" + }, + { + "id": "9856", + "name": "胡椒瓶", + "path": "家居、厨房用品/厨房和餐厅/厨房用具和小工具/调味料和香料工具/盐和胡椒/胡椒瓶" + }, + { + "id": "9936", + "name": "挖球器", + "path": "家居、厨房用品/厨房和餐厅/厨房用具和小工具/水果和蔬菜工具/挖球器" + }, + { + "id": "12744", + "name": "钥匙挂钩", + "path": "家居、厨房用品/收纳用品/挂钩、粘钩/钥匙挂钩" + }, + { + "id": "10419", + "name": "茶漏、茶滤", + "path": "家居、厨房用品/厨房和餐厅/咖啡、茶和意式浓缩咖啡用品/茶具配件/滤茶器/茶漏、茶滤" + }, + { + "id": "11454", + "name": "开胃菜盘子", + "path": "家居、厨房用品/厨房和餐厅/食品服务设备和用品/餐饮服务餐桌和餐具/上菜用品/餐具/盘/开胃菜盘子" + }, + { + "id": "2071", + "name": "小动物喂食碗", + "path": "宠物用品/小宠用品/小宠喂食、喂水器/小动物喂食碗" + }, + { + "id": "10076", + "name": "刀盒、刀具收纳和保护器", + "path": "家居、厨房用品/厨房和餐厅/厨房用具和小工具/厨房刀具和配件/刀盒、刀具收纳和保护器" + }, + { + "id": "2391", + "name": "配件", + "path": "家电/大家电配件/地毯和室内装饰清洁器零件与配件/配件" + }, + { + "id": "23076", + "name": "房车配件", + "path": "汽车用品/房车及配件/RV 外部零件和配件/房车遮阳篷、屏风及配件/房车配件" + }, + { + "id": "12184", + "name": "装饰杆头", + "path": "家居、厨房用品/家居装饰/家居装饰品/家居摆件、挂件/装饰杆头" + }, + { + "id": "40382", + "name": "蛋糕装饰", + "path": "家居、厨房用品/活动和派对用品/蛋糕装饰" + }, + { + "id": "11728", + "name": "派对照相亭道具", + "path": "家居、厨房用品/活动和派对用品/派对照相亭道具" + }, + { + "id": "10342", + "name": "悬挂厨房篮", + "path": "家居、厨房用品/厨房和餐厅/厨房保鲜、收纳/食物存储/悬挂厨房篮" + }, + { + "id": "10534", + "name": "开瓶器", + "path": "家居、厨房用品/厨房和餐厅/餐具饮具/调酒分酒用具/酒吧用具/开塞钻和开瓶器/开瓶器" + }, + { + "id": "11927", + "name": "床单紧固件", + "path": "家居、厨房用品/床上用品/床上用品配件/床单紧固件" + }, + { + "id": "15261", + "name": "水龙头延长管", + "path": "家居装修/管道及排水装置/龙头配件/水龙头延长管" + }, + { + "id": "11410", + "name": "食物罩", + "path": "家居、厨房用品/厨房和餐厅/食品服务设备和用品/餐饮服务餐桌和餐具/上菜用品/上菜盘/食物罩" + }, + { + "id": "12265", + "name": "仿真植物造型", + "path": "家居、厨房用品/家居装饰/仿真植物、仿真花、花艺/仿真绿植和植物造型/仿真植物造型" + }, + { + "id": "11458", + "name": "餐垫", + "path": "家居、厨房用品/厨房和餐厅/食品服务设备和用品/餐饮服务餐桌和餐具/亚麻布和桌子配件/餐垫" + }, + { + "id": "39427", + "name": "其他(印章和印台、印泥)", + "path": "艺术品、工艺品和缝纫用品/剪贴、压印/印章和印台、印泥/其他(印章和印台、印泥)" + }, + { + "id": "9439", + "name": "冰茶勺", + "path": "工业和科学/食品服务设备和用品/餐饮服务餐桌和餐具/刀叉勺筷餐具/餐勺/特色勺/冰茶勺" + }, + { + "id": "12231", + "name": "窗帘钩窗帘扣", + "path": "家居、厨房用品/家居装饰/窗饰及配件/窗帘钩窗帘扣" + }, + { + "id": "1004", + "name": "桌垫", + "path": "办公用品/日常办公用品/办公桌面用品/桌垫" + }, + { + "id": "9568", + "name": "餐椅套", + "path": "工业和科学/食品服务设备和用品/餐饮服务餐桌和餐具/亚麻布和桌子配件/餐椅套" + }, + { + "id": "10493", + "name": "餐垫", + "path": "家居、厨房用品/厨房和餐厅/餐厨布艺/餐垫" + }, + { + "id": "12538", + "name": "悬挂式鞋子收纳袋", + "path": "家居、厨房用品/家具/门厅家具/鞋子收纳用品/悬挂式鞋子收纳袋" + }, + { + "id": "34312", + "name": "游泳装备包", + "path": "运动与户外用品/户外休闲/水上运动/游泳用品/游泳装备包" + }, + { + "id": "22117", + "name": "汽车遮阳板", + "path": "汽车用品/汽车内部配件/车内防晒/汽车遮阳板" + }, + { + "id": "11259", + "name": "玻璃杯", + "path": "家居、厨房用品/厨房和餐厅/食品服务设备和用品/餐饮服务餐桌和餐具/玻璃杯和饮具/玻璃杯" + }, + { + "id": "40411", + "name": "男士编织手链", + "path": "服装、鞋靴和珠宝饰品/男士时尚/男士饰品/男士手链、手镯/男士编织手链" + }, + { + "id": "12960", + "name": "地刮、玻璃刮板", + "path": "家居、厨房用品/家庭清洁用品/地刮、玻璃刮板" + }, + { + "id": "29507", + "name": "女士时尚手链", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女士饰品/女士时尚手链、手镯/女士时尚手链" + }, + { + "id": "14242", + "name": "脚垫", + "path": "家居装修/五金/家具五金/脚垫" + }, + { + "id": "29503", + "name": "女士时尚开口手镯", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女士饰品/女士时尚手链、手镯/女士时尚开口手镯" + }, + { + "id": "29523", + "name": "女士脚链", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女士饰品/女士脚链" + }, + { + "id": "31110", + "name": "鞋垫", + "path": "服装、鞋靴和珠宝饰品/鞋靴、首饰、手表配件/鞋靴配件/衬垫和鞋垫/鞋垫" + }, + { + "id": "9938", + "name": "水果和蔬菜清洁刷", + "path": "家居、厨房用品/厨房和餐厅/厨房用具和小工具/水果和蔬菜工具/水果和蔬菜清洁刷" + }, + { + "id": "22073", + "name": "托盘、袋子", + "path": "汽车用品/汽车内部配件/扶手箱和收纳/托盘、袋子" + }, + { + "id": "54427", + "name": "厨房清洁刷", + "path": "健康和家居用品/日用品和清洁用品/清洁工具/厨房清洁刷" + }, + { + "id": "19752", + "name": "美甲珍珠", + "path": "美容和个人护理/足部、手部和指甲护理产品/美甲/美甲配件/美甲珍珠" + }, + { + "id": "39375", + "name": "其他(织物装饰用品)", + "path": "艺术品、工艺品和缝纫用品/织物装饰用品/其他(织物装饰用品)" + }, + { + "id": "1739", + "name": "狗水壶", + "path": "宠物用品/狗狗用品类/狗喂食及饮水用具/狗水壶" + }, + { + "id": "30487", + "name": "男士袖扣", + "path": "服装、鞋靴和珠宝饰品/男士时尚/男士饰品/男士袖扣" + }, + { + "id": "19655", + "name": "睫毛膏刷", + "path": "美容和个人护理/工具和配件/化妆工具/眼妆工具/睫毛膏刷" + }, + { + "id": "11773", + "name": "浴室洗手台托盘", + "path": "家居、厨房用品/浴室用品/浴室配件/洗漱用品/浴室洗手台托盘" + }, + { + "id": "40390", + "name": "女士防晒手套", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装配饰/女士手套/女士防晒手套" + }, + { + "id": "32883", + "name": "户外背包防水袋、压缩包", + "path": "运动与户外用品/户外休闲/露营、徒步用品/户外背包/户外背包配件/户外背包防水袋、压缩包" + }, + { + "id": "12807", + "name": "收纳箱", + "path": "家居、厨房用品/收纳用品/衣柜收纳/收纳箱" + }, + { + "id": "2747", + "name": "双筒望远镜、相机、摄像机挂带及背包", + "path": "电子/电子配件及用品/相机和照片配件/箱包/双筒望远镜、相机、摄像机挂带及背包" + }, + { + "id": "1502", + "name": "猫抓板", + "path": "宠物用品/猫用品/猫窝及家具/猫抓板" + }, + { + "id": "17727", + "name": "乐谱文件夹", + "path": "乐器/乐器配件/乐器通用配件/乐谱文件夹" + }, + { + "id": "12379", + "name": "相册和相簿", + "path": "家居、厨房用品/家居装饰/相册、相框和配件/相册/相册和相簿" + }, + { + "id": "12879", + "name": "清洁海绵", + "path": "家居、厨房用品/家庭清洁用品/家庭清洁/清洁工具/清洁海绵" + }, + { + "id": "1437", + "name": "直尺", + "path": "办公用品/日常办公用品/裁切测量工具/直尺" + }, + { + "id": "19846", + "name": "指甲油固化灯", + "path": "美容和个人护理/足部、手部和指甲护理产品/美甲工具/美甲造型工具/指甲油固化灯" + }, + { + "id": "12737", + "name": "首饰架", + "path": "家居、厨房用品/收纳用品/珠宝首饰盒和收纳/首饰架" + }, + { + "id": "24937", + "name": "花园微缩雕塑", + "path": "庭院、草坪和园艺/田园工具和草坪护理/园艺雕塑和雕像/花园微缩模型/花园微缩雕塑" + }, + { + "id": "39525", + "name": "刺绣补丁贴", + "path": "艺术品、工艺品和缝纫用品/缝纫、针织用品/缝纫镶边、装饰/徽章、贴花/刺绣补丁贴" + }, + { + "id": "12826", + "name": "领带架", + "path": "家居、厨房用品/收纳用品/衣柜收纳/配饰收纳/领带架" + }, + { + "id": "3189", + "name": "其他(手机装饰)", + "path": "电子/电子配件及用品/手机配件/手机装饰/其他(手机装饰)" + }, + { + "id": "17957", + "name": "卷弦器", + "path": "乐器/乐器配件/吉他和贝斯配件/卷弦器" + }, + { + "id": "40048", + "name": "调色托盘", + "path": "艺术品、工艺品和缝纫用品/绘画用品/绘画用品/调色托盘" + }, + { + "id": "12748", + "name": "洗衣袋", + "path": "家居、厨房用品/收纳用品/洗晒熨/洗衣袋" + }, + { + "id": "2916", + "name": "收纳盒、展示盒", + "path": "电子/电子配件及用品/相机和照片配件/照明和工作室/影楼设备/摄影储存用品/收纳盒、展示盒" + }, + { + "id": "11678", + "name": "派对礼品盒包装", + "path": "家居、厨房用品/活动和派对用品/派对小礼品/派对礼品盒和礼品袋/派对礼品盒包装" + }, + { + "id": "32443", + "name": "钓鱼软饵", + "path": "运动与户外用品/打猎和钓鱼/钓鱼用品/假饵/钓鱼软饵" + }, + { + "id": "11809", + "name": "沙滩毛巾", + "path": "家居、厨房用品/浴室用品/卫浴毛巾/沙滩毛巾" + }, + { + "id": "12959", + "name": "海绵", + "path": "家居、厨房用品/家庭清洁用品/海绵" + }, + { + "id": "39968", + "name": "工艺品收纳盒和整理器", + "path": "艺术品、工艺品和缝纫用品/艺术存储和运输/工艺品收纳盒和整理器" + }, + { + "id": "25743", + "name": "发饰(头发装饰)", + "path": "玩具与游戏/过家家/装扮与饰品/发饰(头发装饰)" + }, + { + "id": "29297", + "name": "女士防寒连指手套", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装配饰/女士手套/女士防寒连指手套" + }, + { + "id": "19472", + "name": "其他(面部护理和面膜)", + "path": "美容和个人护理/皮肤护理/面部护肤/面部护理和面膜/其他(面部护理和面膜)" + }, + { + "id": "1843", + "name": "其他(狗清洁用品)", + "path": "宠物用品/狗狗用品类/狗清洁用品/其他(狗清洁用品)" + }, + { + "id": "18921", + "name": "浴球", + "path": "美容和个人护理/个人护理/浴室及淋浴配件/沐浴工具/浴球" + }, + { + "id": "39673", + "name": "粘土模具", + "path": "艺术品、工艺品和缝纫用品/工艺工具和用品/制陶工艺/粘土模具" + }, + { + "id": "13767", + "name": "其他(线缆管理)", + "path": "家居装修/电工/线缆管理/其他(线缆管理)" + }, + { + "id": "39326", + "name": "首饰链子", + "path": "艺术品、工艺品和缝纫用品/DIY珠饰、首饰用品/首饰制作零件/首饰链子" + }, + { + "id": "4307", + "name": "手机车载支架", + "path": "电子/手机和配件/配件/手机车载配件/手机车载支架" + }, + { + "id": "39534", + "name": "编织绳", + "path": "艺术品、工艺品和缝纫用品/缝纫、针织用品/缝纫镶边、装饰/缝纫穗带和绳子/编织绳" + }, + { + "id": "54010", + "name": "户外仿真绿植", + "path": "庭院、草坪和园艺/户外饰品/户外仿真绿植" + }, + { + "id": "12075", + "name": "其他(烛台)", + "path": "家居、厨房用品/家居装饰/蜡烛、烛台及配件/烛台/其他(烛台)" + }, + { + "id": "12143", + "name": "其他(展示架)", + "path": "家居、厨房用品/家居装饰/家居装饰品/展示架/其他(展示架)" + }, + { + "id": "11687", + "name": "派对头饰", + "path": "家居、厨房用品/活动和派对用品/派对头饰" + }, + { + "id": "39355", + "name": "珠饰套件", + "path": "艺术品、工艺品和缝纫用品/DIY珠饰、首饰用品/串珠用品/珠饰套件" + }, + { + "id": "11774", + "name": "卫生纸架", + "path": "家居、厨房用品/浴室用品/浴室配件/洗漱用品/卫生纸架" + }, + { + "id": "24310", + "name": "手机装饰品", + "path": "手机和配件/手机配件/手机装饰/手机装饰品" + }, + { + "id": "17925", + "name": "吉他维修工具", + "path": "乐器/乐器配件/吉他和贝斯配件/吉他维修工具" + }, + { + "id": "13526", + "name": "墙贴", + "path": "家居装修/油漆涂料与墙纸/墙贴和壁画/墙贴" + }, + { + "id": "54625", + "name": "女士公交卡套", + "path": "服装、鞋靴和珠宝饰品/女士时尚/女装配饰/女士钱包、卡包/女士卡包、卡夹/女士公交卡套" + }, + { + "id": "4021", + "name": "平板电脑贴纸", + "path": "电子/电脑及配件/平板电脑配件/平板电脑贴纸" + }, + { + "id": "22081", + "name": "车用收纳", + "path": "汽车用品/汽车内部配件/扶手箱和收纳/车用收纳" + }, + { + "id": "19667", + "name": "海绵粉扑", + "path": "美容和个人护理/工具和配件/化妆工具/面部化妆刷和工具/海绵粉扑" + }, + { + "id": "16893", + "name": "面膜", + "path": "健康和家居用品/个人护理/皮肤护理/面部护肤/面部护理和面膜/面膜" + } +] \ No newline at end of file diff --git a/temu建品/temu_deep.json b/temu建品/temu_deep.json new file mode 100644 index 0000000..84e9aae --- /dev/null +++ b/temu建品/temu_deep.json @@ -0,0 +1,133 @@ +{ + "items": [ + "* 店铺名称 [select] ①Alimingpro", + "* 产品分类 [input] ", + " 产品属性 [-] ", + " 店小秘分类 [-] ", + " 来源URL [input] ", + " [input] ", + "* 产品标题 [input] ", + " 英文标题 [input] ", + " 产品货号 [input] ", + "* 产地 [select] 中国大陆", + " 制造地点 [select] 中国大陆", + " 产地说明书 [input] ", + " 站外产品链接 [input] ", + " 敏感属性 [input] 1", + " 定制产品 [input] 1", + "* 产品轮播图 [input] on", + "* 产品素材图 [-] ", + " 产品视频 [-] ", + "* 外包装形状 [input] ", + "* 外包装类型 [input] ", + "* 外包装图片 [input] on", + " 产品说明书 [input] ", + " 描述视频 [-] ", + " 产品描述 [-] " + ], + "tables": [], + "dump": { + "temuAddProductStore": { + "formState": { + "mainImage": "[]", + "videoData": {}, + "productNumber": "", + "productName": "", + "productEnName": "", + "outerGoodsUrl": "", + "productOrigin": "CN", + "region2Id": "", + "region1ShortNames": "[1] \"CN\"", + "originFileUrl": "", + "checkedSensitiveList": "[]", + "sensitiveState": 0, + "batteryCapacity": "", + "maxLiquidCapacity": "", + "maxKnifeLength": "", + "knifeAngle": "", + "personalizationSwitch": 0, + "technology": 1, + "firstType": "", + "twiceType": "[]", + "invitation": { + "invitationName": "", + "siteName": "", + "id": "" + } + }, + "dataState": { + "newSizeGroups": "[]", + "newBootSizeGroups": "[]" + }, + "countryCode": "[282] {\"value\":\"CN\",\"label\":\"中国大陆\"}", + "regionCode": "[32] {\"value\":\"\",\"label\":\"请选择省份\"}", + "title_limit": { + "nameMin": 0, + "nameMax": 500 + }, + "img_limit": { + "popMinImgNum": 3, + "pddkjMinImgNum": 5, + "maxImgNum": 10 + } + }, + "temuAddSkuDataStore": { + "formState": { + "skuDataList": "[]", + "sitePrice": false, + "codeType": "1" + }, + "dataState": { + "warehouseList": "[]", + "goodsTemplateList": "[]", + "warehouseCheckedList": "[]" + } + }, + "temuAddSkuAttrStore": { + "formState": { + "skuAttrs": "[]", + "basePlateType": 0, + "sizeChartList": "[]" + }, + "dataState": { + "newBootSizeGroups": "[]", + "newSizeGroups": "[]", + "customThemeOptions": "[]", + "templateList": "[]" + }, + "customAttrOptions": {} + }, + "temuAddBasicStore": { + "formState": { + "shopId": "4021529", + "productSemiManagedReq": "100" + }, + "dataState": { + "categories": "[1038] {\"id\":4810363372086185,\"puid\":70000,\"platform\":\"pddkj\",\"site\":null,\"shopId\":4021529,\"categoryId\":\"1432\",\"num\":385,\"classType\":-1,\"createTime\":null,\"updateTime\":null,\"createId\":null,\"nameZh\":\"证件内页\",\"nameEn\":\"证件内页\",\"nodePath\":\"办公用品/日常办公用品/标签指", + "promiseTemplateList": "[]", + "freightTemplateList": "[]", + "commonHasNewBootSize": false, + "commonHasNewSize": false, + "categoryPathName": "", + "categoryPathIds": "[]" + }, + "keywordShowData": { + "attrKeywords": "[]", + "hotKeywords": "[]", + "upKeywords": "[]", + "lessKeywords": "[]" + } + }, + "temuAddAttrStore": { + "formState": { + "customAttrs": "[]", + "motorIds": "[]", + "motorAfid": "[]", + "templateData": "[]" + }, + "dataState": { + "motorTemplate": "[]" + } + } + } +} \ No newline at end of file diff --git a/temu建品/temu_map.json b/temu建品/temu_map.json new file mode 100644 index 0000000..2e60e36 --- /dev/null +++ b/temu建品/temu_map.json @@ -0,0 +1,80 @@ +{ + "stores": [ + "temuCarDataStore", + "temuAddProductStore", + "temuAddStore", + "temuAddAttrStore", + "temuAddSkuDataStore", + "temuAddSkuAttrStore", + "temuAddBasicStore", + "temuAddOtherStore" + ], + "items": [ + "* 店铺名称 [select] ①Alimingpro", + "* 产品分类 [input] ", + " 产品属性 [-] ", + " 店小秘分类 [-] ", + " 来源URL [input] ", + " [input] ", + "* 产品标题 [input] ", + " 英文标题 [input] ", + " 产品货号 [input] ", + "* 产地 [select] 中国大陆", + " 制造地点 [select] 中国大陆", + " 产地说明书 [input] ", + " 站外产品链接 [input] ", + " 敏感属性 [input] 1", + " 定制产品 [input] 1", + "* 产品轮播图 [input] on", + "* 产品素材图 [-] ", + " 产品视频 [-] ", + "* 外包装形状 [input] ", + "* 外包装类型 [input] ", + "* 外包装图片 [input] on", + " 产品说明书 [input] ", + " 描述视频 [-] ", + " 产品描述 [-] " + ], + "dump": { + "temuCarDataStore": { + "supportCarAttr": "false", + "supportCarCategory": "false", + "showBackStatus": "loadingFinish" + }, + "temuAddProductStore": { + "formState.productOrigin": "CN", + "formState.sensitiveState": "0", + "formState.personalizationSwitch": "0", + "formState.technology": "1", + "title_limit.nameMin": "0", + "title_limit.nameMax": "500", + "img_limit.popMinImgNum": "3", + "img_limit.pddkjMinImgNum": "5", + "img_limit.maxImgNum": "10" + }, + "temuAddStore": { + "attrsInfo.categoryType": "-1", + "attrsInfo.customThemeNum": "0", + "dataState.supportBasePlat": "false" + }, + "temuAddAttrStore": {}, + "temuAddSkuDataStore": { + "formState.sitePrice": "false", + "formState.codeType": "1" + }, + "temuAddSkuAttrStore": { + "formState.basePlateType": "0" + }, + "temuAddBasicStore": { + "formState.shopId": "4021529", + "formState.productSemiManagedReq": "100", + "dataState.commonHasNewBootSize": "false", + "dataState.commonHasNewSize": "false" + }, + "temuAddOtherStore": { + "dataState.isJoinChoice": "false", + "dataState.isShowQualificationModal": "false", + "packageFormState.inventoryRegion": "1" + } + } +} \ No newline at end of file diff --git a/temu建品/temu_route.json b/temu建品/temu_route.json new file mode 100644 index 0000000..6de2830 --- /dev/null +++ b/temu建品/temu_route.json @@ -0,0 +1,190 @@ +{ + "548459586741": { + "cat": "口哨", + "catId": "18723" + }, + "661190598139": { + "cat": "发圈和头绳", + "catId": "19285" + }, + "764423265986": { + "cat": "口腔温度计", + "catId": "8167" + }, + "685456757807": { + "cat": "编织绳", + "catId": "39534" + }, + "735147938123": { + "cat": "女士发箍", + "catId": "29276" + }, + "627879474686": { + "cat": "女婴袜子", + "catId": "26923" + }, + "610164857063": { + "cat": "女士发箍", + "catId": "29276" + }, + "676236596821": { + "cat": "发夹", + "catId": "19287" + }, + "708420302844": { + "cat": "女士钥匙环、钥匙链", + "catId": "29284" + }, + "866537106657": { + "cat": "纽扣", + "catId": "39592" + }, + "547183997437": { + "cat": "女士时尚链式项链", + "catId": "29548" + }, + "657617635303": { + "cat": "办公收纳用品", + "catId": "1239" + }, + "641673262387": { + "cat": "其他(饰品收纳)", + "catId": "31137" + }, + "953869908708": { + "cat": "墙贴", + "catId": "12169" + }, + "703822717997": { + "cat": "办公收纳用品", + "catId": "1239" + }, + "863524134410": { + "cat": "贴纸", + "catId": "39474" + }, + "694637537727": { + "cat": "午餐包、午餐袋", + "catId": "10292" + }, + "623011262210": { + "cat": "墙贴", + "catId": "12169" + }, + "836512561982": { + "cat": "化妆包", + "catId": "19669" + }, + "714492799386": { + "cat": "化妆包", + "catId": "19669" + }, + "591994902720": { + "cat": "笔袋", + "catId": "40458" + }, + "853414558425": { + "cat": "女士钥匙环、钥匙链", + "catId": "29284" + }, + "997450831819": { + "cat": "贴纸", + "catId": "39474" + }, + "639409307567": { + "cat": "墙贴", + "catId": "12169" + }, + "902440558099": { + "cat": "发圈和头绳", + "catId": "19285" + }, + "823838532886": { + "cat": "证件卡夹卡套", + "catId": "1431" + }, + "698782391248": { + "cat": "贴纸", + "catId": "39474" + }, + "707826905566": { + "cat": "女士卡包、证件包", + "catId": "29318" + }, + "1027332215847": { + "cat": "首饰盒", + "catId": "12735" + }, + "682195499823": { + "cat": "笔袋", + "catId": "40458" + }, + "823560564174": { + "cat": "发圈和头绳", + "catId": "19285" + }, + "739147684759": { + "cat": "纽扣", + "catId": "39592" + }, + "621300323670": { + "cat": "办公收纳用品", + "catId": "1239" + }, + "896469995553": { + "cat": "登山扣饰和钥匙扣", + "catId": "34174" + }, + "944470567338": { + "cat": "发夹", + "catId": "19287" + }, + "787261097583": { + "cat": "发夹", + "catId": "19287" + }, + "833753630925": { + "cat": "女士发箍", + "catId": "29276" + }, + "719391062058": { + "cat": "化妆品收纳盒", + "catId": "11800" + }, + "857781294719": { + "cat": "发夹", + "catId": "19287" + }, + "863384503032": { + "cat": "发夹", + "catId": "19287" + }, + "774494945453": { + "cat": "女士钥匙环、钥匙链", + "catId": "29284" + }, + "750271307455": { + "cat": "女士钥匙环、钥匙链", + "catId": "29284" + }, + "726442972676": { + "cat": "发夹", + "catId": "19287" + }, + "775057912118": { + "cat": "女士钥匙环、钥匙链", + "catId": "29284" + }, + "893592264148": { + "cat": "发夹", + "catId": "19287" + }, + "607330049419": { + "cat": "发圈和头绳", + "catId": "19285" + }, + "854003999648": { + "cat": "发圈和头绳", + "catId": "19285" + } +} \ No newline at end of file diff --git a/temu建品/tmbottom.mjs b/temu建品/tmbottom.mjs new file mode 100644 index 0000000..6d4f975 --- /dev/null +++ b/temu建品/tmbottom.mjs @@ -0,0 +1,18 @@ +import { attach } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/temu/add') || await attach('dianxiaomi.com'); +await c.evalJS(`window.scrollTo(0,document.body.scrollHeight)`); await wait(2000); +const o = await c.evalJS(`(()=>{ + const items=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null).map(x=>{ + const l=x.querySelector('label'); const lab=l?(l.innerText||'').replace(/\\s+/g,' ').trim():''; + const req=!!x.querySelector('.ant-form-item-required'); + const inp=x.querySelector('input:not([type=hidden])'); const ta=x.querySelector('textarea'); const sel=x.querySelector('.ant-select-selection-item'); + const r=x.getBoundingClientRect(); + return {y:Math.round(r.y), s:(req?'* ':' ')+lab.slice(0,20)+' ['+(ta?'ta':(sel?'select':(inp?'input':'-')))+'] '+(sel?sel.innerText.trim():(inp?inp.value:(ta?ta.value:''))).slice(0,20)}; + }).filter(x=>x.s.trim().length>4); + const tables=[...document.querySelectorAll('table')].filter(t=>t.offsetParent!==null).map(t=>({ + th:[...t.querySelectorAll('th')].map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim()).slice(0,12), + rows:[...t.querySelectorAll('tbody tr')].filter(x=>x.querySelectorAll('input').length).length})); + return JSON.stringify({tables, low:items.filter(x=>x.y>0).slice(-14).map(x=>x.s)},null,1);})()`); +console.log(String(o).slice(0,1400)); +process.exit(0); diff --git a/temu建品/tmcat.mjs b/temu建品/tmcat.mjs new file mode 100644 index 0000000..e0061df --- /dev/null +++ b/temu建品/tmcat.mjs @@ -0,0 +1,22 @@ +import { attach } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/temu/add') || await attach('dianxiaomi.com'); +const o = await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/产品分类/.test(l.innerText||'');}); + if(!it)return'nf'; return JSON.stringify({txt:(it.innerText||'').replace(/\\s+/g,' ').slice(0,120), html:it.innerHTML.slice(0,500)});})()`); +console.log('分类控件:', String(o).slice(0,700)); +const pos = JSON.parse(String(await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/产品分类/.test(l.innerText||'');}); + if(!it)return'[]'; const el=it.querySelector('.ant-select-selector')||it.querySelector('input'); if(!el)return'[]'; + el.scrollIntoView({block:'center'}); const r=el.getBoundingClientRect(); + return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); +if(pos.length){ for(const t of ['mousePressed','mouseReleased']) await c.send('Input.dispatchMouseEvent',{type:t,x:pos[0],y:pos[1],button:'left',clickCount:1}); await wait(4000); } +const o2 = await c.evalJS(`(()=>{ + const ms=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null).map(m=>({t:(m.querySelector('.ant-modal-title')||{}).innerText||'', + inputs:[...m.querySelectorAll('input')].map(i=>i.placeholder||i.type).slice(0,5), + btns:[...m.querySelectorAll('button')].map(b=>(b.innerText||'').trim()).slice(0,6), + txt:(m.innerText||'').replace(/\\s+/g,' ').slice(0,280)})); + const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).map(d=>(d.innerText||'').replace(/\\s+/g,' ').slice(0,220)); + return JSON.stringify({modals:ms, dropdowns:dd},null,1);})()`); +console.log(String(o2).slice(0,1200)); +process.exit(0); diff --git a/temu建品/tmcatall.mjs b/temu建品/tmcatall.mjs new file mode 100644 index 0000000..68cce88 --- /dev/null +++ b/temu建品/tmcatall.mjs @@ -0,0 +1,16 @@ +import { attach } from '/tmp/cdp3.mjs'; +import fs from 'fs'; +const c = await attach('/web/temu/add') || await attach('dianxiaomi.com'); +const o = await c.evalJS(`(()=>{const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const s=p._s.get('temuAddBasicStore').$state.dataState; + let cats=s.categories; if(typeof cats==='string') cats=JSON.parse(cats); + return JSON.stringify(cats.map(x=>({id:String(x.categoryId), name:x.nameZh, path:x.nodePath||''})));})()`); +const list = JSON.parse(String(o)); +fs.writeFileSync('/tmp/temu_cats_full.json', JSON.stringify(list,null,1)); +console.log('Temu 全量类目:', list.length); +const KEYS=['发夹','发饰','发圈','发箍','头绳','贴纸','墙贴','钥匙','笔袋','卡包','卡夹','化妆包','袜','收纳','项链','书签','纽扣','口哨','毛线','温度计','围巾']; +for(const k of KEYS){ + const hits=list.filter(x=>x.name.includes(k)).slice(0,5); + if(hits.length) console.log(` [${k}] ` + hits.map(h=>h.name).join(' / ')); +} +process.exit(0); diff --git a/temu建品/tmcats.mjs b/temu建品/tmcats.mjs new file mode 100644 index 0000000..a5aea28 --- /dev/null +++ b/temu建品/tmcats.mjs @@ -0,0 +1,19 @@ +import { attach } from '/tmp/cdp3.mjs'; +import fs from 'fs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/temu/add') || await attach('dianxiaomi.com'); +const all = new Set(); +for (let i=0;i<80;i++){ + const got = await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop(); + if(!dd)return'[]'; return JSON.stringify([...dd.querySelectorAll('.ant-select-item-option')].map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim()).filter(Boolean));})()`); + const arr=JSON.parse(String(got)); const before=all.size; arr.forEach(x=>all.add(x)); + const sc = await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop(); + if(!dd)return 0; const rc=dd.querySelector('.rc-virtual-list-holder')||dd; rc.scrollTop=rc.scrollTop+600; return rc.scrollTop;})()`); + await wait(400); + if (all.size===before && i>4 && Number(sc)===0) break; +} +const list=[...all]; +fs.writeFileSync('/tmp/temu_cats.json', JSON.stringify(list,null,1)); +console.log('Temu 类目数:', list.length); +list.forEach((x,i)=>console.log(` ${String(i).padStart(3)} ${x}`)); +process.exit(0); diff --git a/temu建品/tmdbg.mjs b/temu建品/tmdbg.mjs new file mode 100644 index 0000000..a44b7c3 --- /dev/null +++ b/temu建品/tmdbg.mjs @@ -0,0 +1,22 @@ +import { attach } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/temu/add') || await attach('dianxiaomi.com'); +await c.evalJS(`document.body.dispatchEvent(new MouseEvent('mousedown',{bubbles:true}));document.body.click();`); +await wait(1200); +const pos = JSON.parse(String(await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/产品分类/.test(l.innerText||'');}); + const el=it.querySelector('.ant-select-selector'); el.scrollIntoView({block:'center'}); + const r=el.getBoundingClientRect(); return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); +console.log('坐标:', JSON.stringify(pos)); +for(const t of ['mousePressed','mouseReleased']) await c.send('Input.dispatchMouseEvent',{type:t,x:pos[0],y:pos[1],button:'left',clickCount:1}); +await wait(3500); +const o = await c.evalJS(`(()=>{ + const dds=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null); + if(!dds.length) return 'no-dd'; + const dd=dds[dds.length-1]; + const opts=[...dd.querySelectorAll('.ant-select-item-option')]; + const anyItems=[...dd.querySelectorAll('[class*=item]')].slice(0,5).map(e=>String(e.className).slice(0,40)); + return JSON.stringify({n:opts.length, first:opts.slice(0,4).map(e=>JSON.stringify(e.innerText)), anyItems, + txt:(dd.innerText||'').replace(/\\s+/g,' ').slice(0,200)});})()`); +console.log('下拉:', String(o).slice(0,800)); +process.exit(0); diff --git a/temu建品/tmdeep.mjs b/temu建品/tmdeep.mjs new file mode 100644 index 0000000..a9ea2ea --- /dev/null +++ b/temu建品/tmdeep.mjs @@ -0,0 +1,35 @@ +import { attach } from '/tmp/cdp3.mjs'; +import fs from 'fs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/temu/add') || await attach('dianxiaomi.com'); +const CAT='发饰(头发装饰)'; +// 选类目 +const pk = await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop(); + if(!dd)return'no-dd'; const hit=[...dd.querySelectorAll('.ant-select-item-option')].find(o=>(o.innerText||'').trim()===${JSON.stringify(CAT)}); + if(!hit)return'no-hit'; for(const ev of ['mousedown','mouseup','click']) hit.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); + return 'picked';})()`); +console.log('类目:', pk); +await wait(12000); +const o = await c.evalJS(`(()=>{ + const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const items=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null).map(x=>{ + const l=x.querySelector('label'); const lab=l?(l.innerText||'').replace(/\\s+/g,' ').trim():''; + const req=!!x.querySelector('.ant-form-item-required'); + const inp=x.querySelector('input:not([type=hidden])'); const ta=x.querySelector('textarea'); const sel=x.querySelector('.ant-select-selection-item'); + return (req?'* ':' ')+lab.slice(0,22).padEnd(23)+'['+(ta?'ta':(sel?'select':(inp?'input':'-')))+'] '+(sel?sel.innerText.trim():(inp?inp.value:(ta?ta.value:''))).slice(0,22); + }).filter(x=>x.trim().length>4); + const tables=[...document.querySelectorAll('table')].filter(t=>t.offsetParent!==null).map(t=>({ + th:[...t.querySelectorAll('th')].map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim()).slice(0,12), + rows:[...t.querySelectorAll('tbody tr')].filter(x=>x.querySelectorAll('input').length).length})); + const cut=(x,d=0)=>(d>3?'…':(Array.isArray(x)?(x.length?'['+x.length+'] '+JSON.stringify(x[0]).slice(0,240):'[]'):(x&&typeof x==='object'?Object.fromEntries(Object.entries(x).map(([k,v])=>[k,cut(v,d+1)])):x))); + const dump={}; + for(const n of ['temuAddProductStore','temuAddSkuDataStore','temuAddSkuAttrStore','temuAddBasicStore','temuAddAttrStore']) + { try{dump[n]=cut(JSON.parse(JSON.stringify(p._s.get(n).$state)));}catch(e){dump[n]='ERR';} } + return JSON.stringify({items, tables, dump},null,1);})()`); +fs.writeFileSync('/tmp/temu_deep.json', String(o)); +const j=JSON.parse(String(o)); +console.log('=== form ==='); j.items.forEach(x=>console.log(' '+x)); +console.log('=== tables ==='); console.log(JSON.stringify(j.tables)); +console.log('=== stores ==='); +for(const [n,v] of Object.entries(j.dump)) console.log(' ##',n,JSON.stringify(v).slice(0,560)); +process.exit(0); diff --git a/temu建品/tmdeep2.mjs b/temu建品/tmdeep2.mjs new file mode 100644 index 0000000..1a6c79a --- /dev/null +++ b/temu建品/tmdeep2.mjs @@ -0,0 +1,55 @@ +import { attach } from '/tmp/cdp3.mjs'; +import fs from 'fs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/temu/add') || await attach('dianxiaomi.com'); +const CAT=process.argv[2]||'发夹'; +await c.evalJS(`document.body.dispatchEvent(new MouseEvent('mousedown',{bubbles:true}));document.body.click();`); +await wait(1200); +const pos = JSON.parse(String(await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/产品分类/.test(l.innerText||'');}); + const el=it.querySelector('.ant-select-selector'); el.scrollIntoView({block:'center'}); + const r=el.getBoundingClientRect(); return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); +for(const t of ['mousePressed','mouseReleased']) await c.send('Input.dispatchMouseEvent',{type:t,x:pos[0],y:pos[1],button:'left',clickCount:1}); +await wait(3000); +let res='nf'; +for(let i=0;i<90;i++){ + const r = await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop(); + if(!dd)return'no-dd'; const target=${JSON.stringify(CAT)}; + const hit=[...dd.querySelectorAll('.ant-select-item-option')].find(o=>(o.innerText||'').trim()===target); + if(!hit)return'scroll'; + for(const ev of ['mousedown','mouseup','click']) hit.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); + return 'picked';})()`); + if(r==='picked'){res='picked';break;} + if(r==='no-dd'){res='no-dd';break;} + await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop(); + if(!dd)return 0; const rc=dd.querySelector('.rc-virtual-list-holder')||dd; rc.scrollTop=rc.scrollTop+500; return rc.scrollTop;})()`); + await wait(280); +} +console.log('类目:', res, CAT); +if(res!=='picked') process.exit(1); +await wait(14000); +const o = await c.evalJS(`(()=>{ + const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const items=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null).map(x=>{ + const l=x.querySelector('label'); const lab=l?(l.innerText||'').replace(/\\s+/g,' ').trim():''; + const req=!!x.querySelector('.ant-form-item-required'); + const inp=x.querySelector('input:not([type=hidden])'); const ta=x.querySelector('textarea'); const sel=x.querySelector('.ant-select-selection-item'); + return (req?'* ':' ')+lab.slice(0,22).padEnd(23)+'['+(ta?'ta':(sel?'select':(inp?'input':'-')))+'] '+(sel?sel.innerText.trim():(inp?inp.value:(ta?ta.value:''))).slice(0,22); + }).filter(x=>x.trim().length>4); + const tables=[...document.querySelectorAll('table')].filter(t=>t.offsetParent!==null).map(t=>({ + th:[...t.querySelectorAll('th')].map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim()).slice(0,12), + rows:[...t.querySelectorAll('tbody tr')].filter(x=>x.querySelectorAll('input').length).length})); + const cut=(x,d=0)=>(d>3?'…':(Array.isArray(x)?(x.length?'['+x.length+'] '+JSON.stringify(x[0]).slice(0,260):'[]'):(x&&typeof x==='object'?Object.fromEntries(Object.entries(x).map(([k,v])=>[k,cut(v,d+1)])):x))); + const dump={}; + for(const n of ['temuAddProductStore','temuAddSkuDataStore','temuAddSkuAttrStore','temuAddBasicStore','temuAddAttrStore']) + { try{dump[n]=cut(JSON.parse(JSON.stringify(p._s.get(n).$state)));}catch(e){dump[n]='ERR';} } + const b=p._s.get('temuAddBasicStore').$state; + return JSON.stringify({items, tables, dump, catId:b.formState.categoryId, path:b.dataState.categoryPathName},null,1);})()`); +fs.writeFileSync('/tmp/temu_deep.json', String(o)); +const j=JSON.parse(String(o)); +console.log('catId:', j.catId, '| path:', j.path); +console.log('=== form ==='); j.items.forEach(x=>console.log(' '+x)); +console.log('=== tables ==='); console.log(JSON.stringify(j.tables)); +console.log('=== stores ==='); +for(const [n,v] of Object.entries(j.dump)) console.log(' ##',n,JSON.stringify(v).slice(0,520)); +process.exit(0); diff --git a/temu建品/tmfill.mjs b/temu建品/tmfill.mjs new file mode 100644 index 0000000..0ef44e4 --- /dev/null +++ b/temu建品/tmfill.mjs @@ -0,0 +1,52 @@ +import { attach } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/temu/add') || await attach('dianxiaomi.com'); +const reqs=[]; +c.on(m=>{ if(m.method==='Network.requestWillBeSent'){const r=m.params.request; + if(/temu/i.test(r.url)&&/\.json/.test(r.url)&&r.method==='POST') reqs.push(r.url.replace('https://www.dianxiaomi.com','')); }}); +await c.send('Network.enable').catch(()=>{}); +const IMGS=['https://cbu01.alicdn.com/img/ibank/O1CN01IHtNAHKMzNC1chua_!!2222444614399-0-cib.jpg', +'https://cbu01.alicdn.com/img/ibank/O1CN01UGEWafTzqTH1chua_!!2222444614399-0-cib.jpg', +'https://cbu01.alicdn.com/img/ibank/O1CN01d0hA4N72jzD1chua_!!2222444614399-0-cib.jpg', +'https://cbu01.alicdn.com/img/ibank/O1CN01edgGxIlmdtJ1chua_!!2222444614399-0-cib.jpg']; +const r = await c.evalJS(`(()=>{const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const f=p._s.get('temuAddProductStore').$state.formState; + const imgs=${JSON.stringify(IMGS)}; + // 试探 mainImage 形状 + if(Array.isArray(f.mainImage)) f.mainImage=imgs.map((u,i)=>({url:u,imgUrl:u,name:'img'+(i+1)+'.jpg',width:800,height:800})); + else f.mainImage=JSON.stringify(imgs.map((u,i)=>({url:u,imgUrl:u,name:'img'+(i+1)+'.jpg',width:800,height:800}))); + f.productName='Hair Clips Set for Women Girls Fashion Hair Accessories'; + const a=p._s.get('temuAddSkuAttrStore').$state.formState; + if(a.skuAttrs&&a.skuAttrs[0]) a.skuAttrs[0].options=[{optionName:'Black',name:'Black',value:'Black',optionId:1}]; + return JSON.stringify({imgIsArray:Array.isArray(${JSON.stringify(IMGS)}), mainImgType:Array.isArray(f.mainImage)?'array':typeof f.mainImage, + n:Array.isArray(f.mainImage)?f.mainImage.length:'?', opts:a.skuAttrs&&a.skuAttrs[0]?a.skuAttrs[0].options.length:0});})()`); +console.log('填充:', r); +await wait(3500); +// 找外包装形状并选“长方体” +await c.evalJS(`document.body.click()`); await wait(600); +const pos = JSON.parse(String(await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/外包装形状/.test(l.innerText||'');}); + if(!it)return'[]'; const s=it.querySelector('.ant-select-selector'); if(!s)return'[]'; + s.scrollIntoView({block:'center'}); const r=s.getBoundingClientRect(); + return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); +if(pos.length){ for(const t of ['mousePressed','mouseReleased']) await c.send('Input.dispatchMouseEvent',{type:t,x:pos[0],y:pos[1],button:'left',clickCount:1}); await wait(2500); } +const pk = await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop(); + if(!dd)return'no-dd'; const hit=[...dd.querySelectorAll('.ant-select-item-option')].find(o=>/长方体/.test(o.innerText||'')); + if(!hit)return'no-hit'; for(const ev of ['mousedown','mouseup','click']) hit.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return 'picked';})()`); +console.log('外包装形状:', pk); +await wait(2000); +// 保存并抓错误 +await c.evalJS(`window.scrollTo(0,0)`); await wait(600); +await c.evalJS(`(()=>{const x=[...document.querySelectorAll('button')].filter(e=>e.offsetParent!==null).find(e=>/^\\s*保存\\s*$/.test((e.innerText||'').trim())); + if(x) for(const ev of ['mousedown','mouseup','click']) x.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return 1;})()`); +await wait(10000); +const err = await c.evalJS(`(()=>{const ex=[...document.querySelectorAll('.ant-form-item-explain-error')].map(e=>(e.innerText||'').trim()).filter(Boolean); + const red=[]; document.querySelectorAll('*').forEach(el=>{ if(el.offsetParent===null||el.children.length)return; + const t=(el.innerText||'').trim(); if(!t||t.length>60)return; + const s=getComputedStyle(el); const m=(s.color||'').match(/rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)/); if(!m)return; + if(+m[1]>160&&+m[2]<140&&+m[3]<140) red.push(t); }); + const toasts=[...document.querySelectorAll('.ant-message-notice,.ant-notification-notice')].map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim()).filter(Boolean); + return JSON.stringify({ex:[...new Set(ex)].slice(0,12), red:[...new Set(red)].slice(0,14), toasts:[...new Set(toasts)].slice(0,3)});})()`); +console.log('校验:', String(err).slice(0,1000)); +console.log('POST:', JSON.stringify([...new Set(reqs)].slice(0,4))); +process.exit(0); diff --git a/temu建品/tmkeys.mjs b/temu建品/tmkeys.mjs new file mode 100644 index 0000000..4491c81 --- /dev/null +++ b/temu建品/tmkeys.mjs @@ -0,0 +1,19 @@ +import { attach } from '/tmp/cdp3.mjs'; +const c = await attach('/web/temu/add') || await attach('dianxiaomi.com'); +const o = await c.evalJS(`(()=>{const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const out={}; + for(const n of [...p._s.keys()].filter(k=>/temu/i.test(k))){ + const s=p._s.get(n).$state; const ks=[]; + const walk=(x,path,d)=>{ if(d>2||!x||typeof x!=='object')return; + if(Array.isArray(x)) return; + for(const k of Object.keys(x)){ if(/img|image|pic|photo|material/i.test(k)) ks.push(path+'.'+k+'='+JSON.stringify(x[k]).slice(0,40)); + else walk(x[k],path+'.'+k,d+1); } }; + walk(s,n,0); if(ks.length) out[n]=ks.slice(0,8); + } + // 外包装类型 是不是 input + const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/外包装类型/.test(l.innerText||'');}); + const info=it?{html:it.innerHTML.slice(0,360)}:{}; + return JSON.stringify({out, info},null,1);})()`); +console.log(String(o).slice(0,1800)); +process.exit(0); diff --git a/temu建品/tmmap.mjs b/temu建品/tmmap.mjs new file mode 100644 index 0000000..9d0dfb0 --- /dev/null +++ b/temu建品/tmmap.mjs @@ -0,0 +1,52 @@ +import { newTarget, CDP } from '/tmp/cdp3.mjs'; +import fs from 'fs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const SHOP='①Alimingpro'; +const tl = await (await fetch('http://127.0.0.1:9223/json/list')).json(); +for (const x of tl.filter(y=>y.type==='page'&&/temu/i.test(y.url))) await fetch(`http://127.0.0.1:9223/json/close/${x.id}`).catch(()=>{}); +await wait(900); +const nt = await newTarget('about:blank'); +const c = await CDP.connect(nt.webSocketDebuggerUrl); +await c.send('Page.enable'); await c.send('Runtime.enable'); +await c.send('Page.navigate',{url:'https://www.dianxiaomi.com/web/temu/add'}); +await wait(22000); +console.log('url:', await c.evalJS('location.href')); +// 店铺选择器 +const sp = JSON.parse(String(await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/店铺/.test(l.innerText||'');}); + const s=(it||document).querySelector('.ant-select-selector')||[...document.querySelectorAll('.ant-select-selector')].filter(e=>e.offsetParent!==null)[0]; + if(!s)return'[]'; s.scrollIntoView({block:'center'}); const r=s.getBoundingClientRect(); + return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); +for(const t of ['mousePressed','mouseReleased']) await c.send('Input.dispatchMouseEvent',{type:t,x:sp[0],y:sp[1],button:'left',clickCount:1}); +await wait(2500); +const pk = await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop(); + if(!dd)return'no-dd'; const hit=[...dd.querySelectorAll('.ant-select-item-option')].find(o=>(o.innerText||'').trim()===${JSON.stringify(SHOP)}); + if(!hit)return'no-hit:'+[...dd.querySelectorAll('.ant-select-item-option')].slice(0,4).map(o=>o.innerText.trim()).join(','); + for(const ev of ['mousedown','mouseup','click']) hit.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return 'ok';})()`); +console.log('选店铺:', pk); +await wait(9000); +const o = await c.evalJS(`(()=>{ + const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const stores=[...p._s.keys()].filter(k=>/temu|pddkj/i.test(k)); + const items=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null).map(x=>{ + const l=x.querySelector('label'); const lab=l?(l.innerText||'').replace(/\\s+/g,' ').trim():''; + const req=!!x.querySelector('.ant-form-item-required'); + const inp=x.querySelector('input:not([type=hidden])'); const ta=x.querySelector('textarea'); const sel=x.querySelector('.ant-select-selection-item'); + return (req?'* ':' ')+lab.slice(0,24).padEnd(25)+'['+(ta?'ta':(sel?'select':(inp?'input':'-')))+'] '+(sel?sel.innerText.trim():(inp?inp.value:(ta?ta.value:''))).slice(0,24); + }).filter(x=>x.trim().length>4); + const dump={}; + for(const n of stores){ try{ const s=p._s.get(n).$state; const o2={}; + for(const k of Object.keys(s)){ const v=s[k]; + if(v===null||['string','number','boolean'].includes(typeof v)){ if(v!==''&&v!==null&&String(v).length<60) o2[k]=String(v); } + else if(v&&typeof v==='object'&&!Array.isArray(v)){ for(const k2 of Object.keys(v)){ const v2=v[k2]; + if(v2===null||['string','number','boolean'].includes(typeof v2)){ if(v2!==''&&v2!==null&&String(v2).length<50) o2[k+'.'+k2]=String(v2); } } } } + dump[n]=o2; }catch(e){ dump[n]='ERR'; } } + return JSON.stringify({stores, items, dump},null,1);})()`); +fs.writeFileSync('/tmp/temu_map.json', String(o)); +const j=JSON.parse(String(o)); +console.log('stores:', j.stores.join(', ')); +console.log('--- form ---'); j.items.forEach(x=>console.log(' '+x)); +console.log('--- store 关键字段 ---'); +for(const [n,v] of Object.entries(j.dump)){ const hit=Object.entries(v||{}).filter(([k])=>/shop|site|currency|cat|brand|price|weight/i.test(k)); + if(hit.length) console.log(' ##',n,hit.map(([k,val])=>k+'='+val).join(' | ').slice(0,300)); } +process.exit(0); diff --git a/temu建品/tmpick.mjs b/temu建品/tmpick.mjs new file mode 100644 index 0000000..09390ac --- /dev/null +++ b/temu建品/tmpick.mjs @@ -0,0 +1,49 @@ +import { attach } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/temu/add') || await attach('dianxiaomi.com'); +const CAT = process.argv[2] || '发夹'; +const dd = () => `[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop()`; +// 滚回顶部 +await c.evalJS(`(()=>{const d=${dd()}; if(!d)return 0; const rc=d.querySelector('.rc-virtual-list-holder')||d; rc.scrollTop=0; return rc.scrollTop;})()`); +await wait(1200); +let res='nf'; +for(let i=0;i<120;i++){ + const r = await c.evalJS(`(()=>{const d=${dd()}; if(!d)return'no-dd'; + const target=${JSON.stringify(CAT)}; + const hit=[...d.querySelectorAll('.ant-select-item-option')].find(o=>(o.innerText||'').trim()===target); + if(!hit)return'scroll'; + for(const ev of ['mousedown','mouseup','click']) hit.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); + return 'picked';})()`); + if(r==='picked'){res='picked';break;} + if(r==='no-dd'){res='no-dd';break;} + await c.evalJS(`(()=>{const d=${dd()}; if(!d)return 0; const rc=d.querySelector('.rc-virtual-list-holder')||d; rc.scrollTop=rc.scrollTop+400; return rc.scrollTop;})()`); + await wait(230); +} +console.log('类目:', res, CAT); +if(res!=='picked') process.exit(1); +await wait(14000); +const o = await c.evalJS(`(()=>{ + const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const items=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null).map(x=>{ + const l=x.querySelector('label'); const lab=l?(l.innerText||'').replace(/\\s+/g,' ').trim():''; + const req=!!x.querySelector('.ant-form-item-required'); + const inp=x.querySelector('input:not([type=hidden])'); const ta=x.querySelector('textarea'); const sel=x.querySelector('.ant-select-selection-item'); + return (req?'* ':' ')+lab.slice(0,22).padEnd(23)+'['+(ta?'ta':(sel?'select':(inp?'input':'-')))+'] '+(sel?sel.innerText.trim():(inp?inp.value:(ta?ta.value:''))).slice(0,22); + }).filter(x=>x.trim().length>4); + const tables=[...document.querySelectorAll('table')].filter(t=>t.offsetParent!==null).map(t=>({ + th:[...t.querySelectorAll('th')].map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim()).slice(0,12), + rows:[...t.querySelectorAll('tbody tr')].filter(x=>x.querySelectorAll('input').length).length})); + const cut=(x,d=0)=>(d>3?'…':(Array.isArray(x)?(x.length?'['+x.length+'] '+JSON.stringify(x[0]).slice(0,260):'[]'):(x&&typeof x==='object'?Object.fromEntries(Object.entries(x).map(([k,v])=>[k,cut(v,d+1)])):x))); + const dump={}; + for(const n of ['temuAddProductStore','temuAddSkuDataStore','temuAddSkuAttrStore','temuAddBasicStore','temuAddAttrStore']) + { try{dump[n]=cut(JSON.parse(JSON.stringify(p._s.get(n).$state)));}catch(e){dump[n]='ERR';} } + const b=p._s.get('temuAddBasicStore').$state; + return JSON.stringify({items, tables, dump, catId:b.formState.categoryId, path:b.dataState.categoryPathName},null,1);})()`); +import('fs').then(fs=>fs.writeFileSync('/tmp/temu_deep.json', String(o))); +const j=JSON.parse(String(o)); +console.log('catId:', j.catId, '| path:', j.path); +console.log('=== form ==='); j.items.forEach(x=>console.log(' '+x)); +console.log('=== tables ==='); console.log(JSON.stringify(j.tables)); +console.log('=== stores ==='); +for(const [n,v] of Object.entries(j.dump)) console.log(' ##',n,JSON.stringify(v).slice(0,500)); +process.exit(0); diff --git a/temu建品/tmpkg.mjs b/temu建品/tmpkg.mjs new file mode 100644 index 0000000..98344f5 --- /dev/null +++ b/temu建品/tmpkg.mjs @@ -0,0 +1,30 @@ +import { attach } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/temu/add') || await attach('dianxiaomi.com'); +await c.evalJS(`document.body.click()`); await wait(700); +const pos = JSON.parse(String(await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/外包装类型/.test(l.innerText||'');}); + if(!it)return'[]'; const s=it.querySelector('.ant-select-selector'); if(!s)return'[]'; + s.scrollIntoView({block:'center'}); const r=s.getBoundingClientRect(); + return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); +console.log('坐标:', JSON.stringify(pos)); +for(const t of ['mousePressed','mouseReleased']) await c.send('Input.dispatchMouseEvent',{type:t,x:pos[0],y:pos[1],button:'left',clickCount:1}); +await wait(3000); +const o = await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop(); + if(!dd)return'no-dd'; return JSON.stringify([...dd.querySelectorAll('.ant-select-item-option')].map(e=>(e.innerText||'').trim()).slice(0,10));})()`); +console.log('外包装类型选项:', String(o).slice(0,400)); +const pk = await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop(); + if(!dd)return'no-dd'; const its=[...dd.querySelectorAll('.ant-select-item-option')]; if(!its.length)return'no-opt'; + const hit=its.find(o=>/袋|Box|盒|Bag/i.test(o.innerText||''))||its[0]; + for(const ev of ['mousedown','mouseup','click']) hit.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); + return 'picked:'+(hit.innerText||'').trim();})()`); +console.log('选择:', pk); +await wait(2000); +// 素材图 形状 +const o2 = await c.evalJS(`(()=>{const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const f=p._s.get('temuAddProductStore').$state.formState; + return JSON.stringify({matType:Array.isArray(f.materialImage)?'array':typeof f.materialImage, + mat:String(JSON.stringify(f.materialImage)).slice(0,220), mainN:Array.isArray(f.mainImage)?f.mainImage.length:'?', + pkg:(()=>{const q=p._s.get('temuAddOtherStore').$state; return JSON.stringify(q.packageFormState).slice(0,200);})()});})()`); +console.log('字段形状:', String(o2).slice(0,600)); +process.exit(0); diff --git a/temu建品/tmreq.mjs b/temu建品/tmreq.mjs new file mode 100644 index 0000000..e8d7778 --- /dev/null +++ b/temu建品/tmreq.mjs @@ -0,0 +1,13 @@ +import { attach } from '/tmp/cdp3.mjs'; +const c = await attach('/web/temu/add') || await attach('dianxiaomi.com'); +const o = await c.evalJS(`(()=>{ + const req=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null&&e.querySelector('.ant-form-item-required')); + const empty=[], filled=[]; + req.forEach(x=>{ const l=x.querySelector('label'); const lab=l?(l.innerText||'').replace(/\\s+/g,' ').trim():''; + const inp=x.querySelector('input:not([type=hidden])'); const ta=x.querySelector('textarea'); const sel=x.querySelector('.ant-select-selection-item'); + const v=sel?sel.innerText.trim():(inp?inp.value:(ta?ta.value:'')); + (v?filled:empty).push(lab+' ['+(ta?'ta':(sel?'select':(inp?'input':'-')))+']='+String(v).slice(0,16)); }); + const expl=[...document.querySelectorAll('.ant-form-item-explain-error')].map(e=>(e.innerText||'').trim()).filter(Boolean); + return JSON.stringify({empty, filled, expl:[...new Set(expl)].slice(0,10)},null,1);})()`); +console.log(String(o).slice(0,1600)); +process.exit(0); diff --git a/temu建品/tmsave.mjs b/temu建品/tmsave.mjs new file mode 100644 index 0000000..0c5c26c --- /dev/null +++ b/temu建品/tmsave.mjs @@ -0,0 +1,38 @@ +import { attach } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/temu/add') || await attach('dianxiaomi.com'); +const reqs=[]; +c.on(m=>{ if(m.method==='Network.requestWillBeSent'){const r=m.params.request; + if(/temu/i.test(r.url)&&/\.json/.test(r.url)&&r.method==='POST') reqs.push(r.url.replace('https://www.dianxiaomi.com','')); }}); +await c.send('Network.enable').catch(()=>{}); +const IMGS=['https://cbu01.alicdn.com/img/ibank/O1CN01IHtNAHKMzNC1chua_!!2222444614399-0-cib.jpg', +'https://cbu01.alicdn.com/img/ibank/O1CN01UGEWafTzqTH1chua_!!2222444614399-0-cib.jpg', +'https://cbu01.alicdn.com/img/ibank/O1CN01d0hA4N72jzD1chua_!!2222444614399-0-cib.jpg', +'https://cbu01.alicdn.com/img/ibank/O1CN01edgGxIlmdtJ1chua_!!2222444614399-0-cib.jpg', +'https://cbu01.alicdn.com/img/ibank/O1CN01wCkR921xkoEgfOWb0_!!2222444614399-0-cib.jpg']; +const r = await c.evalJS(`(()=>{const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const f=p._s.get('temuAddProductStore').$state.formState; + const imgs=${JSON.stringify(IMGS)}; + const mk=(u,i)=>({url:u,imgUrl:u,name:'img'+(i+1)+'.jpg',width:800,height:800}); + if(Array.isArray(f.mainImage)) f.mainImage=imgs.map(mk); else f.mainImage=JSON.stringify(imgs.map(mk)); + f.materialImage=imgs.slice(0,3).map(mk); + const q=p._s.get('temuAddOtherStore').$state; + if(q.packageFormState){ q.packageFormState.packageImages=imgs.slice(0,3).map(mk); q.packageFormState.packageShape=1; q.packageFormState.packageType=0; } + return JSON.stringify({main:Array.isArray(f.mainImage)?f.mainImage.length:'str', mat:Array.isArray(f.materialImage)?f.materialImage.length:'obj', + pkg:(q.packageFormState?q.packageFormState.packageImages.length:'-')});})()`); +console.log('填充:', r); +await wait(3500); +await c.evalJS(`window.scrollTo(0,0)`); await wait(600); +await c.evalJS(`(()=>{const x=[...document.querySelectorAll('button')].filter(e=>e.offsetParent!==null).find(e=>/^\\s*保存\\s*$/.test((e.innerText||'').trim())); + if(x) for(const ev of ['mousedown','mouseup','click']) x.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return 1;})()`); +await wait(11000); +const err = await c.evalJS(`(()=>{const ex=[...document.querySelectorAll('.ant-form-item-explain-error')].map(e=>(e.innerText||'').trim()).filter(Boolean); + const red=[]; document.querySelectorAll('*').forEach(el=>{ if(el.offsetParent===null||el.children.length)return; + const t=(el.innerText||'').trim(); if(!t||t.length>60)return; + const s=getComputedStyle(el); const m=(s.color||'').match(/rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)/); if(!m)return; + if(+m[1]>160&&+m[2]<140&&+m[3]<140) red.push(t); }); + const toasts=[...document.querySelectorAll('.ant-message-notice,.ant-notification-notice,.ant-modal')].map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim()).filter(Boolean); + return JSON.stringify({ex:[...new Set(ex)].slice(0,10), red:[...new Set(red)].slice(0,12), toasts:[...new Set(toasts)].slice(0,2)});})()`); +console.log('校验:', String(err).slice(0,800)); +console.log('POST:', JSON.stringify([...new Set(reqs)].slice(0,4))); +process.exit(0); diff --git a/temu建品/tmsel.mjs b/temu建品/tmsel.mjs new file mode 100644 index 0000000..778f9e5 --- /dev/null +++ b/temu建品/tmsel.mjs @@ -0,0 +1,20 @@ +import { attach } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/temu/add') || await attach('dianxiaomi.com'); +await c.evalJS(`document.body.click()`); await wait(600); +const pos = JSON.parse(String(await c.evalJS(`(()=>{ + const boxes=[...document.querySelectorAll('*')].filter(e=>e.offsetParent!==null&&/颜色/.test(e.innerText||'')&&e.querySelector('input[type=search]')&&e.querySelectorAll('*').length<300); + const box=boxes[boxes.length-1]; if(!box)return'[]'; + const s=box.closest('.ant-select')||box.querySelector('.ant-select')||box; + const sel=s.querySelector('.ant-select-selector')||s; + sel.scrollIntoView({block:'center'}); const r=sel.getBoundingClientRect(); + return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); +console.log('坐标:', JSON.stringify(pos)); +if(pos.length){ for(const t of ['mousePressed','mouseReleased']) await c.send('Input.dispatchMouseEvent',{type:t,x:pos[0],y:pos[1],button:'left',clickCount:1}); } +await wait(3000); +const o = await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop(); + if(!dd)return'no-dd'; + const opts=[...dd.querySelectorAll('.ant-select-item-option')].map(e=>(e.innerText||'').trim()); + return JSON.stringify({n:opts.length, first:opts.slice(0,10), txt:(dd.innerText||'').replace(/\\s+/g,' ').slice(0,180)});})()`); +console.log('下拉:', String(o).slice(0,600)); +process.exit(0); diff --git a/temu建品/tmsku.mjs b/temu建品/tmsku.mjs new file mode 100644 index 0000000..90c8298 --- /dev/null +++ b/temu建品/tmsku.mjs @@ -0,0 +1,12 @@ +import { attach } from '/tmp/cdp3.mjs'; +const c = await attach('/web/temu/add') || await attach('dianxiaomi.com'); +const o = await c.evalJS(`(()=>{const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const d=JSON.parse(JSON.stringify(p._s.get('temuAddSkuDataStore').$state)); + const a=JSON.parse(JSON.stringify(p._s.get('temuAddSkuAttrStore').$state)); + const tables=[...document.querySelectorAll('table')].filter(t=>t.offsetParent!==null).map(t=>({ + th:[...t.querySelectorAll('th')].map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim()).slice(0,12), + rows:[...t.querySelectorAll('tbody tr')].filter(x=>x.querySelectorAll('input').length).length})); + return JSON.stringify({tables, skuN:(d.formState.skuDataList||[]).length, row0:(d.formState.skuDataList||[])[0], + attrs:(a.formState.skuAttrs||[]).map(x=>({name:x.parentSpecName, n:(x.options||[]).length}))},null,1);})()`); +console.log(String(o).slice(0,1400)); +process.exit(0); diff --git a/temu建品/tmvar.mjs b/temu建品/tmvar.mjs new file mode 100644 index 0000000..2e6f772 --- /dev/null +++ b/temu建品/tmvar.mjs @@ -0,0 +1,39 @@ +import { attach } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/temu/add') || await attach('dianxiaomi.com'); +// 1. 主规格/变种区结构 +const o1 = await c.evalJS(`(()=>{const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const a=JSON.parse(JSON.stringify(p._s.get('temuAddSkuAttrStore').$state)); + const at=(a.formState.skuAttrs||[])[0]||{}; + return JSON.stringify({attrKeys:Object.keys(at), attr:{type:at.type,parentSpecId:at.parentSpecId,parentSpecName:at.parentSpecName, + optCount:(at.options||[]).length, opt0:(at.options||[])[0], vals:at.values||at.checked||null}, + customs:(a.dataState.customThemeOptions||[]).slice(0,2)});})()`); +console.log('变种属性:', String(o1).slice(0,900)); +// 2. 页面里变种可点元素 +const o2 = await c.evalJS(`(()=>{const boxes=[...document.querySelectorAll('*')].filter(e=>e.offsetParent!==null&&/颜色|Color/.test(e.innerText||'')&&e.querySelectorAll('*').length<200); + const box=boxes[boxes.length-1]; if(!box)return'nf'; + const opts=[...box.querySelectorAll('.ant-tag,.ant-checkbox-wrapper,[class*=option],[class*=spec]')].filter(e=>e.offsetParent!==null).slice(0,8) + .map(e=>({tag:e.tagName,cls:String(e.className||'').slice(0,45),t:(e.innerText||'').trim().slice(0,14)})); + const inputs=[...box.querySelectorAll('input')].slice(0,4).map(i=>({ph:i.placeholder||'',cls:String(i.className||'').slice(0,40)})); + return JSON.stringify({opts, inputs});})()`); +console.log('变种区:', String(o2).slice(0,800)); +// 3. 外包装形状/类型 的选项 +await c.evalJS(`document.body.click()`); await wait(700); +for (const lab of ['外包装形状','外包装类型']) { + const pos = JSON.parse(String(await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&new RegExp(${JSON.stringify(lab)}).test(l.innerText||'');}); + if(!it)return'[]'; const s=it.querySelector('.ant-select-selector'); if(!s)return'[]'; + s.scrollIntoView({block:'center'}); const r=s.getBoundingClientRect(); + return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); + if(pos.length){ for(const t of ['mousePressed','mouseReleased']) await c.send('Input.dispatchMouseEvent',{type:t,x:pos[0],y:pos[1],button:'left',clickCount:1}); await wait(2500); } + const o = await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop(); + if(!dd)return'no-dd'; return JSON.stringify([...dd.querySelectorAll('.ant-select-item-option')].map(e=>(e.innerText||'').trim()).slice(0,12));})()`); + console.log(lab+':', String(o).slice(0,300)); + await c.evalJS(`document.body.click()`); await wait(700); +} +// 4. 图片字段类型 +const o4 = await c.evalJS(`(()=>{const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const f=p._s.get('temuAddProductStore').$state.formState; + return JSON.stringify({mainImageType:typeof f.mainImage, mainImage:String(f.mainImage).slice(0,60)});})()`); +console.log('图片字段:', String(o4).slice(0,300)); +process.exit(0); diff --git a/temu建品/tmvarui.mjs b/temu建品/tmvarui.mjs new file mode 100644 index 0000000..a6597a7 --- /dev/null +++ b/temu建品/tmvarui.mjs @@ -0,0 +1,11 @@ +import { attach } from '/tmp/cdp3.mjs'; +const c = await attach('/web/temu/add') || await attach('dianxiaomi.com'); +const o = await c.evalJS(`(()=>{ + const boxes=[...document.querySelectorAll('*')].filter(e=>e.offsetParent!==null&&/颜色/.test(e.innerText||'')&&e.querySelectorAll('input').length>0&&e.querySelectorAll('*').length<300); + const box=boxes[boxes.length-1]; if(!box)return'nf'; + const ins=[...box.querySelectorAll('input')].map(i=>({ph:i.placeholder||'',type:i.type,cls:String(i.className||'').slice(0,45)})); + const btns=[...box.querySelectorAll('button,a,span')].filter(e=>e.offsetParent!==null&&(e.innerText||'').trim()).slice(0,10).map(e=>({tag:e.tagName,t:(e.innerText||'').trim().slice(0,14)})); + return JSON.stringify({txt:(box.innerText||'').replace(/\\s+/g,' ').slice(0,260), ins, btns, + html:box.innerHTML.slice(0,400)},null,1);})()`); +console.log(String(o).slice(0,1500)); +process.exit(0); diff --git a/temu建品/tmvin.mjs b/temu建品/tmvin.mjs new file mode 100644 index 0000000..9a46bf4 --- /dev/null +++ b/temu建品/tmvin.mjs @@ -0,0 +1,11 @@ +import { attach } from '/tmp/cdp3.mjs'; +const c = await attach('/web/temu/add') || await attach('dianxiaomi.com'); +const o = await c.evalJS(`(()=>{ + // 找含“颜色”且含“添加/请选择”的容器 + const cands=[...document.querySelectorAll('div')].filter(e=>e.offsetParent!==null&&/颜色/.test(e.innerText||'')&&e.querySelectorAll('input').length>=1&&e.querySelectorAll('*').length<400); + const box=cands[cands.length-1]; if(!box)return'nf'; + const ins=[...box.querySelectorAll('input')].filter(i=>i.offsetParent!==null).map(i=>({type:i.type,ph:i.placeholder||'',cls:String(i.className||'').slice(0,50),dis:i.disabled})); + const btns=[...box.querySelectorAll('button')].filter(e=>e.offsetParent!==null).map(b=>({t:(b.innerText||'').trim().slice(0,12),dis:b.disabled,cls:String(b.className||'').slice(0,40)})); + return JSON.stringify({n:cands.length, txt:(box.innerText||'').replace(/\\s+/g,' ').slice(0,320), ins, btns},null,1);})()`); +console.log(String(o).slice(0,1500)); +process.exit(0); diff --git a/tiktok建品/tk_done.json b/tiktok建品/tk_done.json new file mode 100644 index 0000000..91b0b0f --- /dev/null +++ b/tiktok建品/tk_done.json @@ -0,0 +1,182 @@ +{ + "548459586741": { + "ok": false, + "cat": "" + }, + "764423265986": { + "ok": true, + "cat": "picked[0/1]:Peralatan Dapur(厨房用品)/Perkakas & Alat Dapur(厨房器具)/Termometer Dapur(厨房温度计)" + }, + "685456757807": { + "ok": false, + "cat": "" + }, + "735147938123": { + "ok": true, + "cat": "picked[0/1]:Aksesori Fesyen(时尚配件)/Aksesori Rambut(发饰)/Cekak Rambut(发带发箍)" + }, + "610164857063": { + "ok": true, + "cat": "picked[0/1]:Aksesori Fesyen(时尚配件)/Aksesori Rambut(发饰)/Cekak Rambut(发带发箍)" + }, + "676236596821": { + "ok": true, + "cat": "picked[0/1]:Aksesori Fesyen(时尚配件)/Aksesori Rambut(发饰)/Klip Rambut & Pin Rambut(发夹发簪)" + }, + "708420302844": { + "ok": true, + "cat": "picked[0/1]:Aksesori Fesyen(时尚配件)/Barang Kemas & Aksesori Kostum(平价饰品)/Rantai Kunci(钥匙扣)" + }, + "866537106657": { + "ok": true, + "cat": "picked[0/1]:Bayi & Bersalin(母婴用品)/Penjagaan & Kesihatan Bayi(婴儿护理与健康)/Lampin(尿布)/Aksesori Lampin Kain(布尿布配件)/P" + }, + "547183997437": { + "ok": true, + "cat": "picked[0/14]:Aksesori & Hasil Barang Kemas(珠宝与衍生品)/Ambar(琥珀)/Rantai & Loket Ambar(琥珀项链&吊坠) | 尝试: 项链→picked[0/14]:Aksesori & Hasil Barang Kemas(珠宝" + }, + "657617635303": { + "ok": true, + "cat": "picked[0/3]:Bekalan Rumah(居家日用)/Pengatur Rumah(家居收纳)/Kotak & Tong Penyimpanan(收纳盒) | 尝试: 收纳盒→picked[0/3]:Bekalan Rumah(居家日用)/Pengatur Ruma" + }, + "641673262387": { + "ok": true, + "cat": "picked[0/1]:Bagasi & Beg(箱包)/Beg Bagasi & Perjalanan(旅行箱包)/Pengaturan Perjalanan(旅行收纳袋) | 尝试: 首饰袋→no-result / 首饰盒→no-result / 收纳袋→picked[0/1]:Bagasi & Beg(箱包)/Beg Bagasi & Per" + }, + "953869908708": { + "ok": true, + "cat": "picked[0/4]:Komputer & Peralatan Pejabat(电脑办公)/Alat Tulis & Bekalan Pejabat(办公文具用品)/Label, Pembahagi Indeks & | 尝试: 窗贴→no-result / 贴纸→picked[0/4]:Komputer & Peralatan Pejabat(电脑办公" + }, + "703822717997": { + "ok": true, + "cat": "picked[0/19]:Komputer & Peralatan Pejabat(电脑办公)/Alat Tulis & Bekalan Pejabat(办公文具用品)/Alatan Penulisan & Pembet | 尝试: 笔夹→no-result / 笔夹→no-result / 文具→picked[0/19]:Komputer & Peralatan Pejabat(电脑办" + }, + "863524134410": { + "ok": true, + "cat": "picked[0/4]:Komputer & Peralatan Pejabat(电脑办公)/Alat Tulis & Bekalan Pejabat(办公文具用品)/Label, Pembahagi Indeks & | 尝试: 贴纸→picked[0/4]:Komputer & Peralatan Pejabat(电脑办公" + }, + "694637537727": { + "ok": true, + "cat": "picked[0/1]:Bagasi & Beg(箱包)/Beg Fungsian(功能箱包)/Beg Pendingin(保温袋) | 尝试: 保温袋→picked[0/1]:Bagasi & Beg(箱包)/Beg Fungsian(功能箱" + }, + "623011262210": { + "ok": true, + "cat": "picked[0/4]:Komputer & Peralatan Pejabat(电脑办公)/Alat Tulis & Bekalan Pejabat(办公文具用品)/Label, Pembahagi Indeks & | 尝试: 窗贴→no-result / 贴纸→picked[0/4]:Komputer & Peralatan Pejabat(电脑办公" + }, + "836512561982": { + "ok": true, + "cat": "picked[0/2]:Kecantikan & Penjagaan Diri(美妆个护)/Mekap(美妆)/Alatan Solekan(化妆工具)/Beg dan Bekas Solek(化妆包及化妆盒) | 尝试: 化妆包→picked[0/2]:Kecantikan & Penjagaan Diri(美妆个护)" + }, + "714492799386": { + "ok": true, + "cat": "picked[0/2]:Kecantikan & Penjagaan Diri(美妆个护)/Mekap(美妆)/Alatan Solekan(化妆工具)/Beg dan Bekas Solek(化妆包及化妆盒) | 尝试: 化妆包→picked[0/2]:Kecantikan & Penjagaan Diri(美妆个护)" + }, + "591994902720": { + "ok": true, + "cat": "picked[0/19]:Komputer & Peralatan Pejabat(电脑办公)/Alat Tulis & Bekalan Pejabat(办公文具用品)/Alatan Penulisan & Pembet | 尝试: 笔袋→no-result / 笔袋→no-result / 文具→picked[0/19]:Komputer & Peralatan Pejabat(电脑办" + }, + "853414558425": { + "ok": true, + "cat": "picked[0/1]:Telefon & Elektronik(手机与数码)/Aksesori Telefon(手机配件)/Tali & Hiasan Telefon(手机挂绳与挂件) | 尝试: 手机挂绳→picked[0/1]:Telefon & Elektronik(手机与数码)/Akses" + }, + "997450831819": { + "ok": true, + "cat": "picked[0/4]:Komputer & Peralatan Pejabat(电脑办公)/Alat Tulis & Bekalan Pejabat(办公文具用品)/Label, Pembahagi Indeks & | 尝试: 贴纸→picked[0/4]:Komputer & Peralatan Pejabat(电脑办公" + }, + "639409307567": { + "ok": true, + "cat": "picked[0/4]:Komputer & Peralatan Pejabat(电脑办公)/Alat Tulis & Bekalan Pejabat(办公文具用品)/Label, Pembahagi Indeks & | 尝试: 墙贴→no-result / 贴纸→picked[0/4]:Komputer & Peralatan Pejabat(电脑办公" + }, + "902440558099": { + "ok": true, + "cat": "picked[1/6]:Bayi & Bersalin(母婴用品)/Aksesori Fesyen Bayi(婴儿时尚配件)/Aksesori Rambut Bayi(婴儿发饰) | 尝试: 发圈→no-result / 发饰→picked[1/6]:Bayi & Bersalin(母婴用品)/Aksesori Fe" + }, + "823838532886": { + "ok": true, + "cat": "picked[0/2]:Bagasi & Beg(箱包)/Beg Lelaki(男包)/Dompet(钱包) | 尝试: 卡套→no-result / 卡包→no-result / 卡套→no-result / 钱包→picked[0/2]:Bagasi & Beg(箱包)/Beg Lelaki(男包)/D" + }, + "698782391248": { + "ok": true, + "cat": "picked[0/4]:Komputer & Peralatan Pejabat(电脑办公)/Alat Tulis & Bekalan Pejabat(办公文具用品)/Label, Pembahagi Indeks & | 尝试: 贴纸→picked[0/4]:Komputer & Peralatan Pejabat(电脑办公" + }, + "707826905566": { + "ok": true, + "cat": "picked[0/2]:Bagasi & Beg(箱包)/Beg Lelaki(男包)/Dompet(钱包) | 尝试: 卡包→no-result / 卡包→no-result / 卡套→no-result / 钱包→picked[0/2]:Bagasi & Beg(箱包)/Beg Lelaki(男包)/D" + }, + "1027332215847": { + "ok": true, + "cat": "picked[0/3]:Bekalan Rumah(居家日用)/Pengatur Rumah(家居收纳)/Kotak & Tong Penyimpanan(收纳盒) | 尝试: 收纳盒→picked[0/3]:Bekalan Rumah(居家日用)/Pengatur Ruma" + }, + "682195499823": { + "ok": true, + "cat": "picked[0/19]:Komputer & Peralatan Pejabat(电脑办公)/Alat Tulis & Bekalan Pejabat(办公文具用品)/Alatan Penulisan & Pembet | 尝试: 笔袋→no-result / 笔袋→no-result / 文具→picked[0/19]:Komputer & Peralatan Pejabat(电脑办" + }, + "823560564174": { + "ok": true, + "cat": "picked[1/6]:Bayi & Bersalin(母婴用品)/Aksesori Fesyen Bayi(婴儿时尚配件)/Aksesori Rambut Bayi(婴儿发饰) | 尝试: 发圈→no-result / 发饰→picked[1/6]:Bayi & Bersalin(母婴用品)/Aksesori Fe" + }, + "739147684759": { + "ok": true, + "cat": "picked[0/1]:Bayi & Bersalin(母婴用品)/Penjagaan & Kesihatan Bayi(婴儿护理与健康)/Lampin(尿布)/Aksesori Lampin Kain(布尿布配件)/P | 尝试: 纽扣→picked[0/1]:Bayi & Bersalin(母婴用品)/Penjagaan &" + }, + "621300323670": { + "ok": true, + "cat": "picked[0/78]:Komputer & Peralatan Pejabat(电脑办公)/Peralatan Pejabat(办公设备)/Alat Ganti Peralatan Pejabat(办公设备零部件) | 尝试: 胶带座→no-result / 胶带座→no-result / 办公→picked[0/78]:Komputer & Peralatan Pejabat(电脑办" + }, + "896469995553": { + "ok": true, + "cat": "picked[0/1]:Aksesori Fesyen(时尚配件)/Barang Kemas & Aksesori Kostum(平价饰品)/Rantai Kunci(钥匙扣) | 尝试: 钥匙扣→picked[0/1]:Aksesori Fesyen(时尚配件)/Barang Kema" + }, + "944470567338": { + "ok": true, + "cat": "picked[0/1]:Aksesori Fesyen(时尚配件)/Aksesori Rambut(发饰)/Klip Rambut & Pin Rambut(发夹发簪) | 尝试: 发夹→picked[0/1]:Aksesori Fesyen(时尚配件)/Aksesori Ra" + }, + "787261097583": { + "ok": true, + "cat": "picked[0/1]:Aksesori Fesyen(时尚配件)/Aksesori Rambut(发饰)/Klip Rambut & Pin Rambut(发夹发簪) | 尝试: 发夹→picked[0/1]:Aksesori Fesyen(时尚配件)/Aksesori Ra" + }, + "833753630925": { + "ok": true, + "cat": "picked[0/1]:Aksesori Fesyen(时尚配件)/Aksesori Rambut(发饰)/Cekak Rambut(发带发箍) | 尝试: 发箍→picked[0/1]:Aksesori Fesyen(时尚配件)/Aksesori Ra" + }, + "719391062058": { + "ok": true, + "cat": "picked[0/3]:Bekalan Rumah(居家日用)/Pengatur Rumah(家居收纳)/Kotak & Tong Penyimpanan(收纳盒) | 尝试: 收纳盒→picked[0/3]:Bekalan Rumah(居家日用)/Pengatur Ruma" + }, + "857781294719": { + "ok": true, + "cat": "picked[0/1]:Aksesori Fesyen(时尚配件)/Aksesori Rambut(发饰)/Klip Rambut & Pin Rambut(发夹发簪) | 尝试: 发夹→picked[0/1]:Aksesori Fesyen(时尚配件)/Aksesori Ra" + }, + "863384503032": { + "ok": true, + "cat": "picked[0/1]:Aksesori Fesyen(时尚配件)/Aksesori Rambut(发饰)/Klip Rambut & Pin Rambut(发夹发簪) | 尝试: 发夹→picked[0/1]:Aksesori Fesyen(时尚配件)/Aksesori Ra" + }, + "774494945453": { + "ok": true, + "cat": "picked[0/1]:Aksesori Fesyen(时尚配件)/Barang Kemas & Aksesori Kostum(平价饰品)/Rantai Kunci(钥匙扣) | 尝试: 钥匙扣→picked[0/1]:Aksesori Fesyen(时尚配件)/Barang Kema" + }, + "750271307455": { + "ok": true, + "cat": "picked[0/1]:Aksesori Fesyen(时尚配件)/Barang Kemas & Aksesori Kostum(平价饰品)/Rantai Kunci(钥匙扣) | 尝试: 钥匙扣→picked[0/1]:Aksesori Fesyen(时尚配件)/Barang Kema" + }, + "726442972676": { + "ok": true, + "cat": "picked[0/1]:Aksesori Fesyen(时尚配件)/Aksesori Rambut(发饰)/Klip Rambut & Pin Rambut(发夹发簪) | 尝试: 发夹→picked[0/1]:Aksesori Fesyen(时尚配件)/Aksesori Ra" + }, + "775057912118": { + "ok": true, + "cat": "picked[0/1]:Aksesori Fesyen(时尚配件)/Barang Kemas & Aksesori Kostum(平价饰品)/Rantai Kunci(钥匙扣) | 尝试: 钥匙扣→picked[0/1]:Aksesori Fesyen(时尚配件)/Barang Kema" + }, + "893592264148": { + "ok": true, + "cat": "picked[0/1]:Aksesori Fesyen(时尚配件)/Aksesori Rambut(发饰)/Klip Rambut & Pin Rambut(发夹发簪) | 尝试: 发夹→picked[0/1]:Aksesori Fesyen(时尚配件)/Aksesori Ra" + }, + "607330049419": { + "ok": true, + "cat": "picked[1/6]:Bayi & Bersalin(母婴用品)/Aksesori Fesyen Bayi(婴儿时尚配件)/Aksesori Rambut Bayi(婴儿发饰) | 尝试: 发圈→no-result / 发饰→picked[1/6]:Bayi & Bersalin(母婴用品)/Aksesori Fe" + }, + "854003999648": { + "ok": true, + "cat": "picked[1/6]:Bayi & Bersalin(母婴用品)/Aksesori Fesyen Bayi(婴儿时尚配件)/Aksesori Rambut Bayi(婴儿发饰) | 尝试: 发圈→no-result / 发饰→picked[1/6]:Bayi & Bersalin(母婴用品)/Aksesori Fe" + } +} \ No newline at end of file diff --git a/tiktok建品/tk_input.json b/tiktok建品/tk_input.json new file mode 100644 index 0000000..a8650a0 --- /dev/null +++ b/tiktok建品/tk_input.json @@ -0,0 +1,1435 @@ +{ + "548459586741": { + "title": "6.5cm Colorful Plastic Party Whistles for Kids, Blow Out Whistle Toys for Birthday Sports Games", + "bullets": [ + "Bright 6.5cm colorful plastic whistles that instantly attract kids attention", + "Lightweight and durable plastic, safe and long lasting for daily play", + "Perfect party favor for birthdays, sports events and noisy group games", + "Compact size fits comfortably in small children hands", + "Great value bulk pack for party bags, classroom prizes and giveaways" + ], + "keywords": "kids party whistle, plastic whistle toy, blow out whistle, birthday party favors, children sport whistle, colorful whistle, bulk party toys, school prizes, noisy whistle, 6.5cm whistle", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/4069213206_162883618.jpg", + "https://cbu01.alicdn.com/img/ibank/4068620881_162883618.jpg", + "https://cbu01.alicdn.com/img/ibank/4069204672_162883618.jpg", + "https://cbu01.alicdn.com/img/ibank/4069210278_162883618.jpg", + "https://cbu01.alicdn.com/img/ibank/11952842804_162883618.jpg", + "https://cbu01.alicdn.com/img/ibank/2017/573/244/4061442375_1990928757.jpg" + ], + "cost": 10.0, + "weight": 100, + "price_cny": 34.0, + "price_myr": 20.4, + "guess": "cost~,w~", + "cat_kw": "口哨", + "cat_fb": [ + "口哨", + "玩具", + "乐器", + "派对" + ] + }, + "661190598139": { + "title": "Retro Hair Tie with Crystal Pendant for Dreadlocks & African Braids", + "bullets": [ + "Stylish retro design features elegant sparkling crystal pendants", + "Durable metal alloy base ensures long-lasting daily wear comfort", + "Perfect for decorating dreadlocks and African protective hairstyles", + "Compact size fits securely without causing scalp discomfort", + "Neutral tone matches any outfit for versatile fashion styling" + ], + "keywords": "hair tie with pendant, dreadlock accessories, retro hair elastic, crystal hair tie, african braid accessories, metal hair tie, hair jewelry, women's hair accessories, crystal pendant hair tie", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN019OjUlH27ZUOLoQpei_!!1879927811-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01CUtCyc27ZUOMSo4va_!!1879927811-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01RWnpXI27ZUOEBHkyi_!!1879927811-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01bAqN0x27ZUOC3PewO_!!1879927811-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01ifAIhU27ZUOC3RP6g_!!1879927811-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN0114LDBr27ZUOEELt6Q_!!1879927811-0-cib.jpg" + ], + "cost": 10.0, + "weight": 10, + "price_cny": 26.64, + "price_myr": 15.98, + "guess": "cost~", + "cat_kw": "发圈", + "cat_fb": [ + "发饰", + "头饰", + "饰品" + ] + }, + "764423265986": { + "title": "Magnetic Digital Thermometer Hygrometer for Home Office Kitchen", + "bullets": [ + "High precision temperature and humidity measurement", + "Strong magnetic mount or double-sided adhesive backing", + "Compact design fits kitchen, bedroom, and office spaces", + "Bright digital display for easy data reading at a glance", + "Powered by one battery with long-lasting energy saving" + ], + "keywords": "digital thermometer hygrometer, home weather station, magnetic thermometer, indoor humidity sensor, mini hygrometer, electronic thermometer, office climate monitor, accurate hygrometer", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN012PoAQq1xkoFeQD38q_!!2216829686482-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01hTOWMZ1xkoEjwuaTo_!!2216829686482-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01wrv2Qa1xkoDaHRS6C_!!2216829686482-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01eL0Uvf1xkoDog0Lmn_!!2216829686482-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01vNmnuT1xkoDcdWcox_!!2216829686482-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01wCkR921xkoEgfOWb0_!!2216829686482-0-cib.jpg" + ], + "cost": 10.0, + "weight": 100, + "price_cny": 34.0, + "price_myr": 20.4, + "guess": "cost~,w~", + "cat_kw": "温度计", + "cat_fb": [ + "温度计", + "家用电器", + "测量" + ] + }, + "685456757807": { + "title": "Pure Natural Cotton Yarn for Baby Knitting - Soft 16-Ply", + "bullets": [ + "Made from pure natural cotton, safe for baby skin", + "16-ply thickness creates warm and dense knitted items", + "Hypoallergenic composition prevents irritation on sensitive skin", + "Soft yarn structure ensures comfort and warmth in cold weather", + "Universal color blends easily for unique custom patterns" + ], + "keywords": "baby cotton yarn, knitting wool, children yarn, 100 cotton, kids knitting threads, newborn knitting, cotton yarn for babies, natural baby yarn, toy yarn, kids knitwear", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01rNiO691y0NqLe60YM_!!2821086516-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01UFWBxA1y0NjAqOP41_!!2821086516-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01ewYID91y0NjCL5Jm6_!!2821086516-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01HYDuhx1y0NjFTvVa8_!!2821086516-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01lXtktg1y0NjGm4KWJ_!!2821086516-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01keIaUE1y0NjGAyVX0_!!2821086516-0-cib.jpg" + ], + "cost": 10.0, + "weight": 10, + "price_cny": 26.64, + "price_myr": 15.98, + "guess": "cost~", + "cat_kw": "毛线", + "cat_fb": [ + "毛线", + "纱线", + "编织", + "手工", + "手工艺" + ] + }, + "735147938123": { + "title": "Wide Denim Retro Hair Band for Women College Style Headband", + "bullets": [ + "Dense denim fabric securely holds hairstyles without slipping.", + "Retro and college style adds elegance and modern appeal.", + "Neutral color refreshes the face and matches any outfit.", + "Comfortable fit with no pressure allows all-day wear.", + "Perfect accessory for daily outings and Instagram photos." + ], + "keywords": "wide denim headband, retro hair band, college style accessory, women hair tie, secure fit headband, neutral color band, casual hair accessory, denim headband", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01ULIdVK1W1TL1ihzBB_!!933462728-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01NbGw1e1W1TKuXB6Nr_!!933462728-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN016ualih1W1TL35HBhT_!!933462728-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN010dvKXW1W1TKySWuIY_!!933462728-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01oPzVf51W1TL1ijjLf_!!933462728-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01NbGw1e1W1TKuXB6Nr_!!933462728-0-cib.jpg?__r__=1692585741948" + ], + "cost": 10.0, + "weight": 100, + "price_cny": 34.0, + "price_myr": 20.4, + "guess": "cost~,w~", + "cat_kw": "发箍", + "cat_fb": [ + "发饰", + "头饰", + "饰品" + ] + }, + "627879474686": { + "title": "Cotton Cartoon Print High Socks for Girls Kids Autumn Warm", + "bullets": [ + "Soft breathable cotton fabric ensures all-day comfort for kids", + "Vibrant cartoon design adds playful style to any outfit", + "High rise elastic band fits snugly without slipping or marks", + "Perfect for school uniforms and casual walks in cool weather", + "Durable knit resists shrinking and keeps colors bright after wash" + ], + "keywords": "kids socks, girl socks, high socks, cartoon socks, cotton socks, school socks, children clothing, autumn socks, fun socks, knee high socks", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/21188872389_1708617215.jpg", + "https://cbu01.alicdn.com/img/ibank/21188800766_1708617215.jpg", + "https://cbu01.alicdn.com/img/ibank/21112422650_1708617215.jpg", + "https://cbu01.alicdn.com/img/ibank/21112416695_1708617215.jpg", + "https://cbu01.alicdn.com/img/ibank/21188806554_1708617215.jpg", + "https://cbu01.alicdn.com/img/ibank/21112512060_1708617215.jpg" + ], + "cost": 10.0, + "weight": 100, + "price_cny": 34.0, + "price_myr": 20.4, + "guess": "cost~,w~", + "cat_kw": "袜子", + "cat_fb": [ + "袜子", + "婴幼儿服饰", + "服装" + ] + }, + "610164857063": { + "title": "Breathable Sports Headband Non-Slip Running Yoga Fitness Accessory", + "bullets": [ + "Made from breathable elastic material for all-day training comfort", + "Special non-slip texture securely holds headband during active movement", + "Vibrant candy colors create a stylish and energetic sporty look", + "Perfect for running, football, yoga, and other physical activities", + "Lightweight design prevents head pressure and ensures smooth airflow" + ], + "keywords": "sports headband, running headband, yoga headband, fitness accessory, non-slip headband, elastic headband, candy color headband, hair accessory", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01YouCXn2BAXdly1XjW_!!962328298-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01lsiV3L2BAXdlxxv1d_!!962328298-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01zZXh1L2BAXUkHVcPV_!!962328298-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01JxdOvV2BAXdlotAMr_!!962328298-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01qUPQkU2BAXdly3UOz_!!962328298-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN017IvZLu2BAXdmOMMYh_!!962328298-0-cib.jpg" + ], + "cost": 10.0, + "weight": 100, + "price_cny": 34.0, + "price_myr": 20.4, + "guess": "cost~,w~", + "cat_kw": "发带", + "cat_fb": [ + "发饰", + "头饰", + "饰品" + ] + }, + "676236596821": { + "title": "Cute Cartoon Baby Hair Clips Set, 3 Pcs Fabric Barrettes for Infant Toddler Girls", + "bullets": [ + "Soft fabric coating protects delicate baby scalp", + "Secure grip design prevents slipping for all-day wear", + "Vibrant playful patterns add charm to daily outfits", + "Perfect for everyday styling and special party events", + "Pack of 3 stylish hair accessories for little girls" + ], + "keywords": "kids hair clips, fabric hair ties, children hair accessories, girls hair clips, hair clips set, cute hair bows, baby hair ties, party hair accessories", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01kUeTJr1xSwc6l1BBi_!!933356443-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01xm61kQ1xSwc32k1pz_!!933356443-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01O2M9mB1xSwc32kQmC_!!933356443-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01EtJrkj1xSwc6kyYzL_!!933356443-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01JU7EXw1Bs2lBdgula_!!0-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01eiZ4571xSwc0h21Kc_!!933356443-0-cib.jpg" + ], + "cost": 10.0, + "weight": 100, + "price_cny": 34.0, + "price_myr": 20.4, + "guess": "cost~,w~", + "cat_kw": "发夹", + "cat_fb": [ + "发饰", + "头饰", + "饰品" + ] + }, + "708420302844": { + "title": "Brass Keychain with 12 Zodiac Signs & 5 Emperor Coins", + "bullets": [ + "Durable brass material resists tarnish and keeps shine", + "Symbolizes protection and luck based on Eastern philosophy", + "Opens freely for easy attachment to keys or bags", + "Compact size fits anywhere for convenient daily carry", + "Perfect gift for fans of Asian culture and mysticism" + ], + "keywords": "brass keychain, zodiac keychain, emperor coins, lucky talisman, feng shui gift, men's keychain, key holder, brass souvenir, eastern symbols, protective charm", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01j7tfYm1cMR7BNf9h8_!!3014813586-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01z1hXTS1cMR75irXYL_!!3014813586-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01MWuT5y1cMR79jmGy0_!!3014813586-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01w6thlD1cMR78M4B0l_!!3014813586-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01i9uRCx1cMR79jljhi_!!3014813586-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01CjVIqw1Bs2p0pIRTE_!!0-0-cib.jpg" + ], + "cost": 10.0, + "weight": 130, + "price_cny": 36.45, + "price_myr": 21.87, + "guess": "cost~", + "cat_kw": "钥匙扣", + "cat_fb": [ + "钥匙扣", + "钥匙链", + "饰品" + ] + }, + "866537106657": { + "title": "Butterfly Resin Buttons for Sweaters Coats Cardigans", + "bullets": [ + "High-quality durable resin material for long-lasting use", + "Elegant butterfly design adds sophistication to any outfit", + "Perfect for decorating sweaters, cardigans, and winter coats", + "Secure construction ensures reliable attachment to fabric", + "Versatile style fits various clothing designs and patterns" + ], + "keywords": "resin buttons, butterfly buttons, sweater buttons, coat buttons, cardigan buttons, decorative buttons, clothing hardware, sewing accessories, fashion buttons, garment fasteners", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01Yu3MGQ1OX3sagfP2T_!!2200837941714-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Ig5fmF1OX3sYDPJ3b_!!2200837941714-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01pupDNT1OX3sZiqkiv_!!2200837941714-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01QIfy2a1OX3sSyUt8U_!!2200837941714-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01BmysN21OX3saaTjNY_!!2200837941714-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN012R28yG1OX3sbJ1NWy_!!2200837941714-0-cib.jpg" + ], + "cost": 10.0, + "weight": 100, + "price_cny": 34.0, + "price_myr": 20.4, + "guess": "cost~,w~", + "cat_kw": "纽扣", + "cat_fb": [ + "纽扣", + "服装辅料", + "手工艺" + ] + }, + "547183997437": { + "title": "Cute Horse Pendant Necklace Set Silver Jewelry for Girls", + "bullets": [ + "Adorable small horse design catches attention instantly", + "High quality hypoallergenic materials ensure skin safety", + "Perfect for daily wear and special gift occasions", + "Trendy style accessory ideal for young ladies", + "Complete set includes necklace and extra accessories" + ], + "keywords": "horse pendant necklace, silver jewelry set, cute necklace, girl accessories, gift for her, fashion jewelry, horse charm, trendy necklace", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/8816879752_343533664.jpg", + "https://cbu01.alicdn.com/img/ibank/11757891659_343533664.jpg", + "https://cbu01.alicdn.com/img/ibank/11757906170_343533664.jpg", + "https://cbu01.alicdn.com/img/ibank/11826257991_343533664.jpg", + "https://cbu01.alicdn.com/img/ibank/11757879880_343533664.jpg", + "https://cbu01.alicdn.com/img/ibank/11826278475_343533664.jpg" + ], + "cost": 10.0, + "weight": 130, + "price_cny": 36.45, + "price_myr": 21.87, + "guess": "cost~", + "cat_kw": "项链", + "cat_fb": [ + "项链", + "首饰", + "饰品" + ] + }, + "657617635303": { + "title": "Clear Magnetic Paperclip Box with Pastel Macaron Design", + "bullets": [ + "Transparent body instantly reveals paperclip color and count.", + "Built-in magnet securely holds metal clips to prevent spills.", + "Vibrant pastel macaron style adds desk aesthetic and order.", + "Compact square shape saves space and fits any drawer shelf.", + "Made from durable scratch-resistant plastic for daily use." + ], + "keywords": "paperclip box, magnetic organizer, clear container, desk storage, stationery holder, office accessories, pastel organizer, square box", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01dzl8zf1GbAC0Q6I3i_!!2200734000640-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN014PeP2X1GbAK3Yw8Di_!!2200734000640-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN010vt6SS1GbAJyj99Wf_!!2200734000640-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN010m6kzy1GbAJyj91C7_!!2200734000640-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01rjISmk1GbAJpfrccR_!!2200734000640-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01uid9tq1GbAX2TRFFW_!!2200734000640-0-cib.jpg" + ], + "cost": 10.0, + "weight": 130, + "price_cny": 36.45, + "price_myr": 21.87, + "guess": "cost~", + "cat_kw": "收纳盒", + "cat_fb": [ + "收纳盒", + "收纳", + "家居" + ] + }, + "641673262387": { + "title": "Organza Jewelry Pouch Bag with Drawstring, Clear White Gift Box for Rings Earrings", + "bullets": [ + "Sheer organza fabric highlights your jewelry with an elegant airy look.", + "Adjustable drawstring closure securely holds rings, earrings, and bracelets.", + "Perfect eco-friendly gift packaging for weddings, parties, and special occasions.", + "Lightweight material resists deformation and folds into a compact size.", + "Ideal for storing and presenting delicate accessories in a clear white bag." + ], + "keywords": "organza jewelry pouch, clear jewelry bag, drawstring gift pouch, white organza bag, ring storage box, earring organizer, wedding gift wrap, transparent pouch, jewelry packaging", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01Q8h8aQ1jewZZteYvf_!!2975064574-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01goxBxW1jewXlLYEAL_!!2975064574-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01qongvO1jewH5CiW7M_!!2975064574-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01LM1c8n1jewH2GIRJj_!!2975064574-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01RGugla1jewH7JavLq_!!2975064574-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01vxriDJ1jewZHllJ3F_!!2975064574-0-cib.jpg" + ], + "cost": 10.0, + "weight": 130, + "price_cny": 36.45, + "price_myr": 21.87, + "guess": "cost~", + "cat_kw": "首饰袋", + "cat_fb": [ + "首饰盒", + "收纳袋", + "首饰" + ] + }, + "953869908708": { + "title": "Transparent Window Stickers Christmas Snowflakes & Cats for Shop Display", + "bullets": [ + "Clear vinyl base maintains full visibility through glass", + "Bright snowflakes and cartoon cats create festive holiday mood", + "Easy to apply on clean surfaces and remove without residue", + "Perfect for decorating shop windows, offices, and home decor", + "Compact size allows creating dense and striking decorative patterns" + ], + "keywords": "christmas window stickers,transparent glass decals,shop display stickers,cat snowflake stickers,holiday window decor,clear vinyl stickers,office window stickers,new year decorations,retail window stickers,festive window decals", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01VAbxVA26BqgCKAL09_!!2986907624-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01mljG3326BqgC350WD_!!2986907624-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN010YyqLz26BqgCM3Ugr_!!2986907624-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01oi0tN426BqgbjyoYx_!!2986907624-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN019TmlN626BqgC36x5l_!!2986907624-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01arsGZ226BqgCsLVwv_!!2986907624-0-cib.jpg" + ], + "cost": 0.9, + "weight": 130, + "price_cny": 19.91, + "price_myr": 11.95, + "guess": "", + "cat_kw": "窗贴", + "cat_fb": [ + "贴纸", + "墙贴", + "装饰" + ] + }, + "703822717997": { + "title": "Stainless Steel Spring Clip for Notebook Pen Holder, Pocket Organizer", + "bullets": [ + "Premium corrosion-resistant stainless steel construction", + "Spring mechanism ensures secure and convenient pen grip", + "Compact design fits easily in pockets without blocking writing", + "Universal fit for notebooks, planners, and file folders", + "No drilling or glue needed for instant installation" + ], + "keywords": "stainless steel pen clip, notebook holder, pocket organizer, metal pen clip, stationery accessory, pen clip for planner, desk organizer, stainless steel clip, pen holder, notebook clip", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01KGXt6D24YAUfhowdX_!!2200774267402-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01EtX3qx24YAUZeuBAy_!!2200774267402-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01iqxbp324YAUjy4diW_!!2200774267402-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Ev2VEM24YAUh8FDOn_!!2200774267402-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01F011kN24YAUjy4RG5_!!2200774267402-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01lTgU8B24YAUjy5Zvg_!!2200774267402-0-cib.jpg" + ], + "cost": 1.375, + "weight": 130, + "price_cny": 20.77, + "price_myr": 12.46, + "guess": "", + "cat_kw": "笔夹", + "cat_fb": [ + "笔夹", + "文具", + "办公" + ] + }, + "863524134410": { + "title": "50pcs Pink Aesthetic Vinyl Stickers for Laptop Suitcase DIY Decor Waterproof", + "bullets": [ + "Set of 50 unique pink aesthetic vinyl stickers", + "Made from durable waterproof vinyl material", + "Perfect for decorating laptops phones and suitcases", + "Easy to apply and remove without residue", + "Bright design for creative DIY personalization" + ], + "keywords": "vinyl stickers, pink aesthetic, laptop decor, suitcase stickers, DIY stickers, waterproof decals, removable stickers, 50 piece set", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01NxOthI1jtbIejFcqp_!!2204108134606-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01wzX1fS1jtbJsPEhYp_!!2204108134606-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01s9BreI1jtbIe2xl0s_!!2204108134606-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Sdrh221jtbIfIixLc_!!2204108134606-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN0171CPVN1jtbIbQiuVb_!!2204108134606-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01iSmRjm1jtbIemWiMM_!!2204108134606-0-cib.jpg" + ], + "cost": 2.7, + "weight": 100, + "price_cny": 20.73, + "price_myr": 12.44, + "guess": "w~", + "cat_kw": "贴纸", + "cat_fb": [ + "贴纸", + "墙贴", + "装饰" + ] + }, + "694637537727": { + "title": "Large Aluminum Foil Food Thermos Bag Insulated Lunch Carrier", + "bullets": [ + "Made from durable aluminum foil to keep food hot or cold", + "Spacious interior fits meals, fruits, and drinks together", + "Comfortable handle for easy carrying and compact storage design", + "Waterproof and stain-resistant surface wipes clean easily", + "Neutral style suits men and women for office or outdoor use" + ], + "keywords": "thermos bag, food carrier, lunch box, thermos, foil bag, lunch bag, insulated bag, large thermos, picnic bag, food thermos", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01qWWoBZ240HAZMOOjv_!!3912887328-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Nm4HsN240HAjKmLQ2_!!3912887328-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Dg6bNG240HAdC7EDB_!!3912887328-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01E3yOFS240HAiBA8qv_!!3912887328-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01FMRWHv240HAeqbRKP_!!3912887328-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01eOdoFI240HASSvofE_!!3912887328-0-cib.jpg" + ], + "cost": 2.15, + "weight": 130, + "price_cny": 22.18, + "price_myr": 13.31, + "guess": "", + "cat_kw": "保温袋", + "cat_fb": [ + "保温袋", + "午餐袋", + "收纳袋" + ] + }, + "623011262210": { + "title": "Transparent Snowflake Window Stickers for Christmas Decor", + "bullets": [ + "Clear base leaves no residue after removal", + "Perfect for shop windows and office glass", + "Easy to apply on any smooth surface without glue", + "Creates festive holiday atmosphere for New Year", + "Waterproof and fade-resistant under sunlight" + ], + "keywords": "window stickers, snowflake decals, Christmas decor, shop window display, static cling film, holiday window art, winter patterns, New Year decorations", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/2020/382/811/17921118283_68146657.jpg", + "https://cbu01.alicdn.com/img/ibank/2020/826/019/18052910628_68146657.jpg", + "https://cbu01.alicdn.com/img/ibank/2020/656/204/17980402656_68146657.jpg", + "https://cbu01.alicdn.com/img/ibank/2020/244/319/18052913442_68146657.jpg", + "https://cbu01.alicdn.com/img/ibank/2020/045/880/17921088540_68146657.jpg", + "https://cbu01.alicdn.com/img/ibank/2020/224/529/18052925422_68146657.jpg" + ], + "cost": 3.0, + "weight": 100, + "price_cny": 21.27, + "price_myr": 12.76, + "guess": "w~", + "cat_kw": "窗贴", + "cat_fb": [ + "贴纸", + "墙贴", + "装饰" + ] + }, + "836512561982": { + "title": "Cute Plush Velvet Cosmetic Case with Bear Design for Girls", + "bullets": [ + "Soft velvet material feels gentle and premium to touch", + "Adorable bear print design perfect for young girls", + "Compact portable size fits easily into your handbag", + "Spacious interior holds brushes, lipstick and small items", + "Durable zipper ensures secure storage for all cosmetics" + ], + "keywords": "cosmetic bag, velvet case, bear design, portable pouch, girl gift, makeup organizer, soft storage, travel accessory", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01RxkZlE1vHq0JmKQVA_!!2215348976148-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01iXveXC1vHq0Kz26uA_!!2215348976148-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Pvi2pp1vHq0HOtKTy_!!2215348976148-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Z1fBSD1vHq0Jg8xlA_!!2215348976148-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01XatUnq1vHq0KHiKcj_!!2215348976148-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01E8l5tL1vHq0JjPZRK_!!2215348976148-0-cib.jpg" + ], + "cost": 6.56, + "weight": 130, + "price_cny": 30.2, + "price_myr": 18.12, + "guess": "", + "cat_kw": "化妆包", + "cat_fb": [ + "化妆包", + "收纳包", + "美妆" + ] + }, + "714492799386": { + "title": "Canvas Makeup Bag Macaron Color Compact Cosmetic Pouch", + "bullets": [ + "Durable canvas material, easy to clean and long-lasting", + "Compact size perfect for storing cosmetics and small items", + "Bright pastel macaron colors make the accessory stylish", + "Convenient handle allows carrying by hand or over shoulder", + "Multifunctional use for cosmetics, stationery or accessories" + ], + "keywords": "makeup bag, cosmetic pouch, canvas bag, macaron color, compact organizer, cosmetic case, women's bag, travel pouch, small bag, storage case", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01nHq8ti1vHpqYyWaDj_!!2215348976148-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01xRKcKL1vHpqYyRx3X_!!2215348976148-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Zpcupp1vHpqREBOzx_!!2215348976148-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN0139B9R81vHpqX2a6QL_!!2215348976148-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01SVdVNK1vHpqU9BC6T_!!2215348976148-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01YgEDaF1vHpqOXPYLN_!!2215348976148-0-cib.jpg" + ], + "cost": 6.9, + "weight": 100, + "price_cny": 28.36, + "price_myr": 17.02, + "guess": "w~", + "cat_kw": "化妆包", + "cat_fb": [ + "化妆包", + "收纳包", + "美妆" + ] + }, + "591994902720": { + "title": "Cute Cat Pencil Case with Moving Ears and Tail, Soft Plush Pen Organizer", + "bullets": [ + "Realistic cat design with movable ears and tail for fun", + "Soft high-quality plush material feels gentle to touch", + "Spacious interior holds pens, pencils, and small stationery", + "Compact size fits perfectly in school bags or backpacks", + "Perfect gift for kids, students, and office workers" + ], + "keywords": "cat pencil case, soft pen organizer, school supplies, cute stationery, cat pencil pouch, plush pencil case, office organizer, kids gift, school bag accessory, cat pen holder", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01P5i2Qj2Ha582390F0_!!3040829166-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/10808136178_2084930772.jpg", + "https://cbu01.alicdn.com/img/ibank/10838035389_2084930772.jpg", + "https://cbu01.alicdn.com/img/ibank/10838041260_2084930772.jpg", + "https://cbu01.alicdn.com/img/ibank/10838047018_2084930772.jpg", + "https://cbu01.alicdn.com/img/ibank/10838032428_2084930772.jpg" + ], + "cost": 7.5, + "weight": 130, + "price_cny": 31.91, + "price_myr": 19.15, + "guess": "", + "cat_kw": "笔袋", + "cat_fb": [ + "笔袋", + "文具", + "收纳袋" + ] + }, + "853414558425": { + "title": "Soft Silicone Heart Phone Bracelet Keychain Pink Strap", + "bullets": [ + "Made of high-quality soft skin-safe silicone material", + "Securely attaches to phone to prevent drops and loss", + "Ergonomic heart shape ensures comfortable wrist wear", + "Compact and lightweight design perfect for daily use", + "Bright pink color adds style and matches any accessory" + ], + "keywords": "phone bracelet, silicone wristband, phone keychain, anti-drop strap, phone accessory, heart bracelet, pink strap, phone charm, silicone keyring, gift for her", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01PCNEwW2GCRHk1ssaB_!!2211036698979-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Mdkzjv2GCRI8waDXq_!!2211036698979-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01GhQiDH2GCRI6ecCxj_!!2211036698979-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01hoMusI2GCRI7e6mKI_!!2211036698979-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01UptdDL2GCRI6eJ4WX_!!2211036698979-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01hAV82S2GCRHhFhCRj_!!2211036698979-0-cib.jpg" + ], + "cost": 1.2, + "weight": 130, + "price_cny": 20.45, + "price_myr": 12.27, + "guess": "", + "cat_kw": "手机挂绳", + "cat_fb": [ + "手机挂绳", + "手机配件", + "挂绳" + ] + }, + "997450831819": { + "title": "Matte PET Emoji Stickers for Goodnotes & Scrapbooking, 10 Sheets Waterproof", + "bullets": [ + "Made from durable waterproof PET material", + "Matte surface prevents glare and fingerprints", + "Perfect for decorating Goodnotes and notebooks", + "Easy to cut allowing precise custom shapes", + "10 sheets set ensures long-lasting use" + ], + "keywords": "pet stickers, goodnotes stickers, emoji stickers, scrapbooking stickers, notebook decor, waterproof stickers, matte stickers, handmade stickers, planner stickers, face stickers", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01XmOhS41JSPrqQuope_!!2217233001027-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01M5BAoT1JSPrq5L90T_!!2217233001027-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01EOqmrN1JSPrp0ZXL1_!!2217233001027-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01JEBsX91JSPrpvzNyU_!!2217233001027-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01WaiPP71JSPrpw1fSU_!!2217233001027-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN011aTMGx1JSPrkKUMkJ_!!2217233001027-0-cib.jpg" + ], + "cost": 1.24, + "weight": 100, + "price_cny": 18.07, + "price_myr": 10.84, + "guess": "w~", + "cat_kw": "贴纸", + "cat_fb": [ + "贴纸", + "墙贴", + "装饰" + ] + }, + "639409307567": { + "title": "3D Glowing Butterfly Wall Stickers, Magnetic Light Up Decals", + "bullets": [ + "Double-layer 3D wings design for realistic look", + "Glow in dark for atmospheric night lighting", + "Magnetic backing allows easy repositioning", + "Set of 12 pieces for dense decorative pattern", + "Peel and stick installation without wall damage" + ], + "keywords": "butterfly wall stickers, 3d glowing decals, magnetic light up, night light decor, room decoration, butterfly stickers, wall art, home interior, glow in dark, removable stickers", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01pG1wXn1sF8UpcAZ30_!!2210165385736-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01ZwwR381sF8UnZT9nL_!!2210165385736-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Hux9ot1sF8Up701n5_!!2210165385736-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01fToNMu1sF8Up6zI8m_!!2210165385736-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Q55oBK1sF8UgULJGp_!!2210165385736-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01YReLNR1sF8VADhBzg_!!2210165385736-0-cib.jpg" + ], + "cost": 5.5, + "weight": 100, + "price_cny": 25.82, + "price_myr": 15.49, + "guess": "w~", + "cat_kw": "墙贴", + "cat_fb": [ + "贴纸", + "墙贴", + "装饰" + ] + }, + "902440558099": { + "title": "Large Beige Fabric Hair Tie with Pearl for Buns and Low Ponytails", + "bullets": [ + "Large size perfect for voluminous buns and low ponytails", + "Soft fabric base protects hair and prevents creases", + "Decorative pearls add elegance and a retro style touch", + "Strong construction holds even thick and long hair securely", + "Neutral beige color matches any outfit and wardrobe style" + ], + "keywords": "hair tie, large hair tie, pearl hair tie, bun hair tie, fabric hair tie, hair accessories, low ponytail holder, non-damaging hair tie, women's hair ties, retro style hair band", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01HmReEa1ZEFP4sE6KQ_!!2206788333162-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01FI5Gak1ZEFP55mMc7_!!2206788333162-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Jda8sH1ZEFP5f6QVJ_!!2206788333162-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01a0yWZN1ZEFP54b6qm_!!2206788333162-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01bpjWmS1ZEFP3CfQ1y_!!2206788333162-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01fISxQo1ZEFP3CeHJ2_!!2206788333162-0-cib.jpg" + ], + "cost": 4.95, + "weight": 130, + "price_cny": 27.27, + "price_myr": 16.36, + "guess": "", + "cat_kw": "发圈", + "cat_fb": [ + "发饰", + "头饰", + "饰品" + ] + }, + "823838532886": { + "title": "Cute Cartoon Cat Key Card Holder for Metro Office & Bag", + "bullets": [ + "Bright cartoon cat design adds a stylish touch to daily accessories", + "Convenient loop allows attaching to bags or backpacks securely", + "Protects transit and bank cards from scratches and daily wear", + "Fits student, bank, and access cards in a compact size", + "Slim profile saves space in pockets or bags for easy access" + ], + "keywords": "cartoon cat card holder, key card case, metro card holder, office card wallet, cute keychain, anime style accessory, student ID case, bank card protector", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN019wrWjM1mrG51WJVnw_!!2207659525007-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN0136dtYP1mrG4uVjFCR_!!2207659525007-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01QNoiLQ1mrG52AM9ab_!!2207659525007-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01lm63Ff1mrG53OSZW1_!!2207659525007-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Pl83cj1mrG54B2xZG_!!2207659525007-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01cvE1191mrG54B15A6_!!2207659525007-0-cib.jpg" + ], + "cost": 4.8, + "weight": 130, + "price_cny": 27.0, + "price_myr": 16.2, + "guess": "", + "cat_kw": "卡套", + "cat_fb": [ + "卡包", + "卡套", + "钱包" + ] + }, + "698782391248": { + "title": "Boho Style White PVC Laptop Stickers 10cm Round Decal", + "bullets": [ + "Made from durable long-lasting PVC material", + "Clean white color matches any device design", + "Easy to apply and remove without residue", + "Perfect for laptops tablets and gadget decor", + "Elegant boho style adds unique personal touch" + ], + "keywords": "laptop stickers, PVC stickers, round decals, white stickers, tablet decor, boho style, removable stickers, tech accessories", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN011ipfmT1gOxkR9GgE0_!!2213225374133-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01nQWBVj1gOxkSjUFJt_!!2213225374133-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01AiticH1gOxkPcu74t_!!2213225374133-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01iaaD2O1gOxkGY9M3J_!!2213225374133-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Yu1rnN1gOxkR9DOSQ_!!2213225374133-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01KSbnXz1gOxjhrCxHa_!!2213225374133-0-cib.jpg?__r__=1668662764223" + ], + "cost": 4.28, + "weight": 100, + "price_cny": 23.6, + "price_myr": 14.16, + "guess": "w~", + "cat_kw": "贴纸", + "cat_fb": [ + "贴纸", + "墙贴", + "装饰" + ] + }, + "707826905566": { + "title": "Ultra-Slim Card Holder Wallet for Men Women, Compact Cash & Card Pouch", + "bullets": [ + "Ultra-thin design fits easily in jeans or jacket pockets", + "Spacious compartment holds many cards, IDs, and cash notes", + "Premium smooth texture material with elegant modern appearance", + "Unisex neutral style suitable for both men and women", + "Compact lightweight size ensures comfortable daily carry" + ], + "keywords": "slim card holder wallet, ultra thin wallet, men card wallet, women card holder, compact cash wallet, minimalist card case, leather card pouch, mini wallet", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01fScYyq1EjI6B49xme_!!1865160387-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01wV4rbd1EjI6FFTvWm_!!1865160387-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01jAF5fu1EjI6B3wKkT_!!1865160387-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01QcqMCZ1EjI6Egdo3f_!!1865160387-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01uqpeAh1EjI699JgKG_!!1865160387-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Snunew1EjIElgNGPT_!!1865160387-0-cib.jpg" + ], + "cost": 3.7, + "weight": 100, + "price_cny": 22.55, + "price_myr": 13.53, + "guess": "w~", + "cat_kw": "卡包", + "cat_fb": [ + "卡包", + "卡套", + "钱包" + ] + }, + "1027332215847": { + "title": "Silver Matte Tin Photo Box with Clear Window for Cards", + "bullets": [ + "Clear window shows contents without opening the lid", + "Matte silver finish adds a stylish modern look to decor", + "Perfect for storing collectible cards photos and small items", + "Durable metal construction protects your valuables from damage", + "Compact size fits easily on shelves or desks for organization" + ], + "keywords": "photo box, tin box, card storage, clear window, organizer, metal box, silver box, collection storage, decorative box, window box", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01I8H1XZ20X1BwKmCgA_!!2215551256858-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01fSCfc920X1BwKjWOM_!!2215551256858-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Q306PS20X1BxljheR_!!2215551256858-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01LUaVFu20X1Bw1JWlE_!!2215551256858-0-cib.jpg" + ], + "cost": 3.7, + "weight": 100, + "price_cny": 22.55, + "price_myr": 13.53, + "guess": "w~", + "cat_kw": "收纳盒", + "cat_fb": [ + "收纳盒", + "收纳", + "家居" + ] + }, + "682195499823": { + "title": "96-Cell Brush Organizer Case for Watercolor & Gouache", + "bullets": [ + "Holds 96 brushes for large art tool collections", + "Made from durable moisture and paint-resistant plastic", + "Removable sections adapt size to your brush needs", + "Compact portable design fits studios and field work", + "Easy assembly and disassembly for quick storage" + ], + "keywords": "brush organizer, paint brush holder, 96 cell case, watercolor brushes, gouache storage, oil paint case, art supplies, plastic organizer, brush case", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01J1brM81Kv5xHTMhAm_!!2742851225-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Mp7jWs1Kv5xNpADgR_!!2742851225-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN0145fPNr1Kv5xNpD6Sx_!!2742851225-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01nJS4jP1Kv5xCrUCDg_!!2742851225-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01agpLhP1Kv5xCrTrUx_!!2742851225-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01IGpTXY1Kv64ptNumj_!!2742851225-0-cib.jpg" + ], + "cost": 3.04, + "weight": 100, + "price_cny": 21.35, + "price_myr": 12.81, + "guess": "w~", + "cat_kw": "笔袋", + "cat_fb": [ + "笔袋", + "文具", + "收纳袋" + ] + }, + "823560564174": { + "title": "Cute Heart Hair Ties Set, Soft Elastic Bands for Buns & Ponytails, Colorful Hair Accessories", + "bullets": [ + "Bright hearts add a playful and sweet touch to your style", + "Soft elastic material prevents hair breakage and leaves no marks", + "Gentle grip tangles and protects strands during daily wear", + "Perfect for creating voluminous buns and secure ponytails", + "Compact size lets you carry multiple pieces easily in your bag" + ], + "keywords": "heart hair ties, elastic hair bands, cute hair accessories, hair ties set, no residue bands, ponytail holders, colorful hair ties, women hair accessories, soft hair ties, braid bands", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01aO9g5D24BGr5xAjxy_!!2201241497352-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01EfqtTJ24BGr1jO5fv_!!2201241497352-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01sT7ymu24BGr5wzSV6_!!2201241497352-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01JruufI24BGr4ynaLE_!!2201241497352-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN016iqWfg24BGr77LK38_!!2201241497352-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01gtlweh24BGr4UUUKD_!!2201241497352-0-cib.jpg" + ], + "cost": 2.66, + "weight": 130, + "price_cny": 23.11, + "price_myr": 13.87, + "guess": "", + "cat_kw": "发圈", + "cat_fb": [ + "发饰", + "头饰", + "饰品" + ] + }, + "739147684759": { + "title": "Metallic Rectangular Coat Buttons with Leather Cover for Jackets", + "bullets": [ + "High-quality metal alloy with secure locking mechanism", + "Rectangular shape fits modern coats and blazers perfectly", + "Natural leather finish adds a premium look to garments", + "Easy installation designed for durability and frequent use", + "Universal design suitable for both men's and women's wear" + ], + "keywords": "coat buttons, jacket hardware, metal fasteners, leather buttons, rectangular snaps, coat closures, sewing accessories, blazer buttons, decorative snaps", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01VDNtBv1r7WVglSoCs_!!2214741685584-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN017WczMV1r7WViS8hGJ_!!2214741685584-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01KnoJfV1r7WVZN62n7_!!2214741685584-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01E0mK9O1r7WVTX2r2W_!!2214741685584-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01FywEpQ1r7WVgl3AF6_!!2214741685584-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01dNQk6f1r7WVTX2r2q_!!2214741685584-0-cib.jpg" + ], + "cost": 2.1, + "weight": 100, + "price_cny": 19.64, + "price_myr": 11.78, + "guess": "w~", + "cat_kw": "纽扣", + "cat_fb": [ + "纽扣", + "服装辅料", + "手工艺" + ] + }, + "621300323670": { + "title": "Round Transparent Desktop Tape Dispenser with Smooth Cutter", + "bullets": [ + "Compact design saves valuable desk space", + "Clear body shows remaining tape level easily", + "Smooth cutting mechanism ensures clean tape edges", + "Durable plastic built for daily office use", + "Universal size fits standard roll tape sizes" + ], + "keywords": "tape dispenser, desk organizer, office supplies, clear dispenser, round dispenser, tape cutter, stationery, tape storage, desktop accessories", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/2020/300/016/17092610003_478487208.jpg", + "https://cbu01.alicdn.com/img/ibank/2020/475/094/17092490574_478487208.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN015pqfmc1t6GUBN50nU_!!2208149675852-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/2020/787/080/16969080787_478487208.jpg", + "https://cbu01.alicdn.com/img/ibank/2020/168/340/16342043861_478487208.jpg", + "https://cbu01.alicdn.com/img/ibank/2020/549/921/16276129945_478487208.jpg" + ], + "cost": 1.99, + "weight": 130, + "price_cny": 21.89, + "price_myr": 13.13, + "guess": "", + "cat_kw": "胶带座", + "cat_fb": [ + "胶带座", + "办公", + "文具" + ] + }, + "601964534137": { + "title": "Transparent Universal Remote Case - Dust & Liquid Protection for TV AC", + "bullets": [ + "Clear material lets you see buttons without removing the cover.", + "Protects remote from dust, dirt, and accidental liquid spills.", + "Universal size fits most TV, AC, and media player remotes.", + "Flexible plastic won't deform and fits any brand easily.", + "Durable and easy to clean with just a damp cloth." + ], + "keywords": "remote case,transparent cover,universal remote protector,dust proof case,tv remote cover,ac remote case,plastic remote cover,liquid proof case", + "imgs": [], + "cost": 1.15, + "weight": 100, + "price_cny": 17.91, + "price_myr": 10.75, + "guess": "w~", + "cat_kw": "遥控器保护套", + "cat_fb": [ + "遥控器", + "保护套", + "家用电器" + ] + }, + "896469995553": { + "title": "Angel Wings & Stars Keychain Y2K Retro Bag Charm Cute Accessory", + "bullets": [ + "Stylish Y2K and 90s retro aesthetic design", + "Charming angel wings and stars add magic", + "Perfect for bags, backpacks, or key decoration", + "Lightweight durable material ensures longevity", + "Ideal gift for anime lovers and cute style fans" + ], + "keywords": "keychain, angel wings, Y2K, retro, bag charm, cute accessory, stars, anime style, key holder, gift for her, fashion jewelry, Japanese style", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01dfH0OL1HFvltR6F90_!!2214979130729-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01vaFnIf1HFvlrK836z_!!2214979130729-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01GqSdFo1HFvltR7BKN_!!2214979130729-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01QFkAlB1HFvltsSKq0_!!2214979130729-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01tOqVnh1HFvls65uEb_!!2214979130729-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01b4kfcz1HFvlvGxFfS_!!2214979130729-0-cib.jpg" + ], + "cost": 3.8, + "weight": 130, + "price_cny": 25.18, + "price_myr": 15.11, + "guess": "", + "cat_kw": "钥匙扣", + "cat_fb": [ + "钥匙扣", + "钥匙链", + "饰品" + ] + }, + "944470567338": { + "title": "Korean Style Plaid Triangle Hair Clip with Decorative Button", + "bullets": [ + "Stylish triangle design for neat and secure hair styling", + "Elegant plaid pattern featuring a decorative button accent", + "Reliable grip prevents slipping while protecting hair from pain", + "Lightweight material ensures all-day comfort for daily wear", + "Versatile accessory perfect for creating trendy Korean fashion looks" + ], + "keywords": "hair clip, triangle hair clip, Korean fashion, hair accessory, plaid hair clip, women's hair clips, hair styling, trendy accessory, button hair clip", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01CBb1Ge2NT74SeDXXx_!!933979963-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Kibm1U2NT74OHkyjl_!!933979963-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01ldnxDI2NT74T8EVQc_!!933979963-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01aawtfy2NT74T8CE4a_!!933979963-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN010Q2EsA2NT74UGm3dd_!!933979963-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01x8HUgE2NT74TAtGET_!!933979963-0-cib.jpg" + ], + "cost": 3.5, + "weight": 100, + "price_cny": 22.18, + "price_myr": 13.31, + "guess": "w~", + "cat_kw": "发夹", + "cat_fb": [ + "发饰", + "头饰", + "饰品" + ] + }, + "787261097583": { + "title": "Transparent Crab Hair Clips with Hearts, Clear Acrylic Set", + "bullets": [ + "Clear acrylic material with glass-like finish", + "Bright colorful hearts for stylish everyday look", + "Secure grip design protects hair from damage", + "Lightweight construction ensures comfortable all-day wear", + "Pack of 3 clips for versatile styling needs" + ], + "keywords": "hair clips, crab clips, transparent clips, acrylic hair accessories, heart clips, women hair clips, hair styling tools, hair accessories set", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN019ACbxI1jqqqqoA3Dq_!!2847654600-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01uts3rY1jqqu4iP9xO_!!2847654600-0-cib.250x250.jpg", + "https://cbu01.alicdn.com/img/ibank/20861607657_64356601.250x250.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01P12Iqq1jqqsfKZLSH_!!2847654600-0-cib.250x250.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01uFqFmE1jqqgMzzKrY_!!2847654600-0-cib.250x250.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01ewbL6I1jqqiLGgvt8_!!2847654600-0-cib.250x250.jpg" + ], + "cost": 3.5, + "weight": 100, + "price_cny": 22.18, + "price_myr": 13.31, + "guess": "w~", + "cat_kw": "发夹", + "cat_fb": [ + "发饰", + "头饰", + "饰品" + ] + }, + "833753630925": { + "title": "Wide Plaid Fabric Headband for Women - Comfortable Hair Accessory", + "bullets": [ + "Stylish plaid pattern adds elegance and cozy charm to any outfit", + "Wide elastic band securely holds hair without slipping during wear", + "Soft fabric material ensures comfort and prevents pressure on scalp", + "Perfect for face washing, sleeping, and daily casual wear occasions", + "Versatile accessory that easily matches with any style of wardrobe" + ], + "keywords": "wide headband, plaid headband, fabric hair band, women hair accessories, elastic headband, sleep headband, face wash headband, stylish hair accessory", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01s6wxqm1W1TSOTEjRh_!!933462728-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01w5L4dP1W1TSMb6Ms0_!!933462728-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01i8tk6C1W1TSQbVR5x_!!933462728-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01anulWq1W1TSRhP6S1_!!933462728-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01KNAL3F1W1TSOTi9fD_!!933462728-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01CUYUIY1W1TSPcTShZ_!!933462728-0-cib.jpg" + ], + "cost": 3.0, + "weight": 100, + "price_cny": 21.27, + "price_myr": 12.76, + "guess": "w~", + "cat_kw": "发箍", + "cat_fb": [ + "发饰", + "头饰", + "饰品" + ] + }, + "719391062058": { + "title": "Clear Cosmetic Organizer with 6 Drawers for Desk Storage", + "bullets": [ + "Transparent body for easy access to small items", + "Six separate compartments for organized storage", + "Dust-proof cover keeps contents clean and fresh", + "Compact size fits perfectly on any workspace", + "Bright design adds modern style to your decor" + ], + "keywords": "cosmetic organizer, drawer organizer, clear storage box, jewelry organizer, desk accessories, plastic organizer, makeup storage, vanity drawer, hair accessories, small parts box", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01Sb6qVt2M8fYLWzuhF_!!991279783-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01hlhGvI2M8fYOjZhfJ_!!991279783-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01TxDTOY2M8fYKreidb_!!991279783-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01JVyfTF2M8fYJjLc93_!!991279783-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01ZDK97u2M8fYKrfeqo_!!991279783-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01VM8TqY2M8fYLX0W7D_!!991279783-0-cib.jpg" + ], + "cost": 2.99, + "weight": 130, + "price_cny": 23.71, + "price_myr": 14.23, + "guess": "", + "cat_kw": "收纳盒", + "cat_fb": [ + "收纳盒", + "收纳", + "家居" + ] + }, + "857781294719": { + "title": "Cute Bunny Ear Hair Clips for Kids with Ribbon Bow, 2 Pcs", + "bullets": [ + "Adorable 3D bunny ears with bow design for little girls", + "Hypoallergenic safe materials gentle on sensitive skin", + "Comfortable grip holds hair securely without pulling pain", + "Perfect for parties photoshoots and daily casual outfits", + "Pack of 2 matching clips create a symmetrical cute look" + ], + "keywords": "children hair clips, bunny ear hair ties, girl hair accessories, cute hair bows, kids hair clips, party hair accessories, toddler hair clips, bunny hair clips", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01dXFhto1ntNZ7D48vY_!!932875147-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01XAFVA11ntNZ8ED1e3_!!932875147-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN018ROdfp1ntNZ3rfaRU_!!932875147-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Acg6wb1ntNZ57M19v_!!932875147-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01nj0RSH1ntNf7EydbI_!!932875147-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Vnotmm1ntNf85naqY_!!932875147-0-cib.jpg" + ], + "cost": 2.45, + "weight": 130, + "price_cny": 22.73, + "price_myr": 13.64, + "guess": "", + "cat_kw": "发夹", + "cat_fb": [ + "发饰", + "头饰", + "饰品" + ] + }, + "863384503032": { + "title": "Elegant Red Rose Crab Hair Clip for Women Stylish Accessory", + "bullets": [ + "Elegant artificial red rose creates a stylish and feminine look", + "Compact size perfect for securing bangs or side hair strands", + "Reliable crab mechanism ensures strong hold without slipping", + "Vibrant red color adds festive mood for holidays and parties", + "Lightweight material keeps hair comfortable for daily wear" + ], + "keywords": "hair clip, crab clip, red rose, women accessory, hair tie, bangs clip, festive gift, hair ornament", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01WFdkNp1Li6a30TvAu_!!2212835891332-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Zda2cu1Li6a3ftYbS_!!2212835891332-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01DJU0ka1Li6a2waqak_!!2212835891332-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN018fXA631Li6a3fwAmO_!!2212835891332-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN0154JLoO1Li6a0KTikW_!!2212835891332-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01QrdjHh1Li6a4CUyaD_!!2212835891332-0-cib.jpg" + ], + "cost": 2.2, + "weight": 100, + "price_cny": 19.82, + "price_myr": 11.89, + "guess": "w~", + "cat_kw": "发夹", + "cat_fb": [ + "发饰", + "头饰", + "饰品" + ] + }, + "774494945453": { + "title": "Stainless Steel Cat Keychain with Fish Charm Cute Bag Ornament", + "bullets": [ + "Made from durable rust-resistant stainless steel material", + "Cute cartoon cat design holding a fish for fun style", + "Perfect key holder accessory for bags or backpack straps", + "Ideal romantic gift for couples or friends to enjoy", + "Compact lightweight size for daily everyday use needs" + ], + "keywords": "stainless steel keychain, cat key ring, fish charm, bag ornament, couple gift, cartoon cat, durable metal, daily accessory", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01TNCxpD2CMHFzNVkmU_!!1625548459-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01mSLA7a2CMHFuP8BQO_!!1625548459-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01sBs1Hk2CMHFw8eyJo_!!1625548459-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01ebt0hw2CMHFwzeGc2_!!1625548459-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01SagrwE2CMHG1AXrNy_!!1625548459-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01cOMjAe2CMHFtzyNXI_!!1625548459-0-cib.jpg" + ], + "cost": 2.0, + "weight": 100, + "price_cny": 19.45, + "price_myr": 11.67, + "guess": "w~", + "cat_kw": "钥匙扣", + "cat_fb": [ + "钥匙扣", + "钥匙链", + "饰品" + ] + }, + "750271307455": { + "title": "Romantic Heart Keychain for Couples Silver Plated Valentine Gift", + "bullets": [ + "Romantic heart design perfect for loving couples", + "Elegant silver plated finish looks stylish and chic", + "Ideal gift for Valentine's Day wedding or anniversary", + "Compact size fits easily on keys or handbag strap", + "Durable attachment ensures long lasting daily use" + ], + "keywords": "heart keychain, couple gift, silver plated, Valentine's Day gift, wedding present, key accessory, romantic gift, anniversary present, keychain for him, keychain for her", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01BFtkOs1UAyLk5a3zQ_!!2215916542478-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01BeELUt1UAyLma0JRW_!!2215916542478-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Zd0jy41UAyLna1Iti_!!2215916542478-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01NJVhcN1UAyLqswEvo_!!2215916542478-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01kqXqmU1UAyLixaIBA_!!2215916542478-0-cib.jpg" + ], + "cost": 1.05, + "weight": 130, + "price_cny": 20.18, + "price_myr": 12.11, + "guess": "", + "cat_kw": "钥匙扣", + "cat_fb": [ + "钥匙扣", + "钥匙链", + "饰品" + ] + }, + "726442972676": { + "title": "Cute Cartoon Animal Mini Hair Clips for Bangs and Small Strands", + "bullets": [ + "Compact size perfect for securing small hair sections and bangs", + "Bright cartoon animal design adds a playful touch to your look", + "Secure grip mechanism holds firmly without damaging or leaving marks", + "Lightweight material ensures all-day comfort and easy wear", + "Versatile accessory for creating casual and creative hairstyles daily" + ], + "keywords": "hair clips, mini clips, bang clips, cute hair accessories, cartoon hair ties, small hair clips, animal hair clips, colorful hair clips", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01xNsQC22A6aNG2TQW4_!!3192968154-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01LzOvnK2A6aNL7Br9x_!!3192968154-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01MO2q0b2A6aNJboquc_!!3192968154-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN014p4viz1Bs2qxZ9Le4_!!0-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01w7LvGJ2A6aNH5BFNV_!!3192968154-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01eFzsml2A6aNKgmNZp_!!3192968154-0-cib.jpg" + ], + "cost": 1.0, + "weight": 130, + "price_cny": 20.09, + "price_myr": 12.05, + "guess": "", + "cat_kw": "发夹", + "cat_fb": [ + "发饰", + "头饰", + "饰品" + ] + }, + "775057912118": { + "title": "Stainless Steel Keychain with English Letter, Polished Metal Key Holder for Car Bag", + "bullets": [ + "Made from durable rust-resistant stainless steel", + "Elegant design featuring a cut-out English letter", + "Perfect key holder for car, backpack or daily use", + "Smooth polished surface feels great and cleans easily", + "Compact size and lightweight for convenient carrying" + ], + "keywords": "stainless steel keychain, English letter key holder, metal key organizer, car key accessory, backpack key ring, polished steel, personalized gift, durable key case, stylish keychain", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01NE1nW12CMHG0heD4q_!!1625548459-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01JGyIeU2CMHG0dZ7IK_!!1625548459-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01vDMZkK2CMHFsEx4y0_!!1625548459-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01abqJvf2CMHG018dV7_!!1625548459-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01r2wwZp2CMHGLR7Gm2_!!1625548459-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01s1Ossl2CMHFwlJJeX_!!1625548459-0-cib.jpg" + ], + "cost": 0.86, + "weight": 130, + "price_cny": 19.84, + "price_myr": 11.9, + "guess": "", + "cat_kw": "钥匙扣", + "cat_fb": [ + "钥匙扣", + "钥匙链", + "饰品" + ] + }, + "893592264148": { + "title": "Cute Plaid Hair Clips & Bands for Kids, Bright Yellow Children's Hair Accessories", + "bullets": [ + "Vibrant yellow plaid design adds a cheerful spring vibe to any outfit.", + "Soft comfortable construction secures strands without pulling or pain.", + "Perfect for styling bangs and side sections for neat, tidy looks.", + "Gentle materials are safe for sensitive children's skin and delicate hair.", + "Versatile style suits school uniforms and festive party occasions alike." + ], + "keywords": "kids hair clips, yellow hair bands, plaid hair accessories, children hair ties, cute hair clips for girls, school hair accessories, spring hair bows, baby hair bands", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01xvp2cf1GX2xCn1Nrh_!!2208013600631-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01T9e6kk1GX2x97QMcz_!!2208013600631-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN017yd7911GX2xBDhGbo_!!2208013600631-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01gEAwbt1GX2x8y7GzH_!!2208013600631-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01cQ5Hdy1Bs32GARQWc_!!0-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01kSV6x91GX2xBDifu0_!!2208013600631-0-cib.jpg" + ], + "cost": 4.5, + "weight": 130, + "price_cny": 26.45, + "price_myr": 15.87, + "guess": "", + "cat_kw": "发夹", + "cat_fb": [ + "发饰", + "头饰", + "饰品" + ] + }, + "607330049419": { + "title": "50 Pcs Elastic Thin Hair Ties for Women Girls Daily Use", + "bullets": [ + "Set of 50 hair ties for everyday styling needs", + "High elasticity and durable material for long wear", + "Gently secures hair without causing bumps or marks", + "Thin design fits any hairstyle from buns to ponytails", + "Universal soft hair ties suitable for all hair types" + ], + "keywords": "hair ties, hair elastics, hair accessories, women hair ties, thin hair bands, elastic hair ties, hair tie set, girl hair accessories", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/12541551473_249655965.jpg", + "https://cbu01.alicdn.com/img/ibank/12617036034_249655965.jpg", + "https://cbu01.alicdn.com/img/ibank/12579682715_249655965.jpg", + "https://cbu01.alicdn.com/img/ibank/12579703017_249655965.jpg", + "https://cbu01.alicdn.com/img/ibank/12579676830_249655965.jpg", + "https://cbu01.alicdn.com/img/ibank/12579694241_249655965.jpg" + ], + "cost": 2.18, + "weight": 130, + "price_cny": 22.24, + "price_myr": 13.34, + "guess": "", + "cat_kw": "发圈", + "cat_fb": [ + "发饰", + "头饰", + "饰品" + ] + }, + "854003999648": { + "title": "High Elastic Wide Hair Ties Set of 5, Soft No-Break Hair Bands", + "bullets": [ + "High elasticity and durability for frequent daily use", + "Wide design holds hair gently without causing creases", + "Soft material prevents leaving marks or damage on strands", + "Universal style fits any outfit, occasion, and hair type", + "Practical set of 5 pieces in convenient protective packaging" + ], + "keywords": "hair ties set, wide hair bands, elastic hair ties, no break hair ties, soft hair bands, hair ties 5 pack, no crease hair ties, universal hair ties", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01gAVULs1K90bWwPHWu_!!2216020981120-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01HReYKQ1K90e0LLLNu_!!2216020981120-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01uRW6gc1K90e0LMPue_!!2216020981120-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01w2Z2er1K90e6t6ypL_!!2216020981120-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN010KaRKf1K90e4bkge0_!!2216020981120-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01fdM3Tm1K90e6X09cd_!!2216020981120-0-cib.jpg" + ], + "cost": 1.58, + "weight": 130, + "price_cny": 21.15, + "price_myr": 12.69, + "guess": "", + "cat_kw": "发圈", + "cat_fb": [ + "发饰", + "头饰", + "饰品" + ] + } +} \ No newline at end of file diff --git a/tiktok建品/tk_offline_all.json b/tiktok建品/tk_offline_all.json new file mode 100644 index 0000000..219a88d --- /dev/null +++ b/tiktok建品/tk_offline_all.json @@ -0,0 +1 @@ +{"n":184,"items":[{"id":"184807703510005077","name":"Pure Natural Cotton Yarn for Baby Knitting - Soft 16-Ply","shop":5880976,"cat":951816,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703510004697","name":"6.5cm Colorful Plastic Party Whistles for Kids, Blow Out Whistle Toys for Birthday Sports Games","shop":5880976,"cat":604390,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703510004269","name":"High Elastic Wide Hair Ties Set of 5, Soft No-Break Hair Bands","shop":5880976,"cat":962696,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703510004059","name":"50 Pcs Elastic Thin Hair Ties for Women Girls Daily Use","shop":5880976,"cat":962696,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703510003789","name":"Cute Plaid Hair Clips & Bands for Kids, Bright Yellow Children's Hair Accessories","shop":5880976,"cat":908552,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703510003519","name":"Stainless Steel Keychain with English Letter, Polished Metal Key Holder for Car Bag","shop":5880976,"cat":907656,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703510003301","name":"Cute Cartoon Animal Mini Hair Clips for Bangs and Small Strands","shop":5880976,"cat":908552,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703510003143","name":"Romantic Heart Keychain for Couples Silver Plated Valentine Gift","shop":5880976,"cat":907656,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703510002979","name":"Stainless Steel Cat Keychain with Fish Charm Cute Bag Ornament","shop":5880976,"cat":907656,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703510002811","name":"Elegant Red Rose Crab Hair Clip for Women Stylish Accessory","shop":5880976,"cat":908552,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703510002613","name":"Cute Bunny Ear Hair Clips for Kids with Ribbon Bow, 2 Pcs","shop":5880976,"cat":908552,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703510002419","name":"Clear Cosmetic Organizer with 6 Drawers for Desk Storage","shop":5880976,"cat":600621,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703510002205","name":"Wide Plaid Fabric Headband for Women - Comfortable Hair Accessory","shop":5880976,"cat":605271,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703510001565","name":"Transparent Crab Hair Clips with Hearts, Clear Acrylic Set","shop":5880976,"cat":908552,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703510000821","name":"Korean Style Plaid Triangle Hair Clip with Decorative Button","shop":5880976,"cat":908552,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703510000487","name":"Angel Wings & Stars Keychain Y2K Retro Bag Charm Cute Accessory","shop":5880976,"cat":907656,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703510000053","name":"Round Transparent Desktop Tape Dispenser with Smooth Cutter","shop":5880976,"cat":987656,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509999761","name":"Metallic Rectangular Coat Buttons with Leather Cover for Jackets","shop":5880976,"cat":1944336,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509999371","name":"Cute Heart Hair Ties Set, Soft Elastic Bands for Buns & Ponytails, Colorful Hair Accessories","shop":5880976,"cat":962696,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509998877","name":"96-Cell Brush Organizer Case for Watercolor & Gouache","shop":5880976,"cat":603002,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509998697","name":"Silver Matte Tin Photo Box with Clear Window for Cards","shop":5880976,"cat":600621,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509998203","name":"Ultra-Slim Card Holder Wallet for Men Women, Compact Cash & Card Pouch","shop":5880976,"cat":601430,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509997509","name":"Boho Style White PVC Laptop Stickers 10cm Round Decal","shop":5880976,"cat":988296,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509997369","name":"Cute Cartoon Cat Key Card Holder for Metro Office & Bag","shop":5880976,"cat":601430,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509996723","name":"Large Beige Fabric Hair Tie with Pearl for Buns and Low Ponytails","shop":5880976,"cat":962696,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509996281","name":"3D Glowing Butterfly Wall Stickers, Magnetic Light Up Decals","shop":5880976,"cat":988296,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509995631","name":"Matte PET Emoji Stickers for Goodnotes & Scrapbooking, 10 Sheets Waterproof","shop":5880976,"cat":988296,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509995245","name":"Soft Silicone Heart Phone Bracelet Keychain Pink Strap","shop":5880976,"cat":601936,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509995095","name":"Cute Cat Pencil Case with Moving Ears and Tail, Soft Plush Pen Organizer","shop":5880976,"cat":603002,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509994735","name":"Canvas Makeup Bag Macaron Color Compact Cosmetic Pouch","shop":5880976,"cat":1397904,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509994405","name":"Cute Plush Velvet Cosmetic Case with Bear Design for Girls","shop":5880976,"cat":1397904,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509994003","name":"Transparent Snowflake Window Stickers for Christmas Decor","shop":5880976,"cat":988296,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509993371","name":"Large Aluminum Foil Food Thermos Bag Insulated Lunch Carrier","shop":5880976,"cat":904328,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509993017","name":"50pcs Pink Aesthetic Vinyl Stickers for Laptop Suitcase DIY Decor Waterproof","shop":5880976,"cat":988296,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509992495","name":"Stainless Steel Spring Clip for Notebook Pen Holder, Pocket Organizer","shop":5880976,"cat":603002,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509991913","name":"Transparent Window Stickers Christmas Snowflakes & Cats for Shop Display","shop":5880976,"cat":988296,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509991527","name":"Organza Jewelry Pouch Bag with Drawstring, Clear White Gift Box for Rings Earrings","shop":5880976,"cat":903816,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509990913","name":"Clear Magnetic Paperclip Box with Pastel Macaron Design","shop":5880976,"cat":600621,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509990473","name":"Cute Horse Pendant Necklace Set Silver Jewelry for Girls","shop":5880976,"cat":975624,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509990223","name":"Butterfly Resin Buttons for Sweaters Coats Cardigans","shop":5880976,"cat":600251,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509989845","name":"Brass Keychain with 12 Zodiac Signs & 5 Emperor Coins","shop":5880976,"cat":907656,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509989663","name":"Cute Cartoon Baby Hair Clips Set, 3 Pcs Fabric Barrettes for Infant Toddler Girls","shop":5880976,"cat":908552,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509989401","name":"Breathable Sports Headband Non-Slip Running Yoga Fitness Accessory","shop":5880976,"cat":605271,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509989205","name":"Wide Denim Retro Hair Band for Women College Style Headband","shop":5880976,"cat":605271,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509988543","name":"Magnetic Digital Thermometer Hygrometer for Home Office Kitchen","shop":5880976,"cat":865544,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509987871","name":"Cotton Cartoon Print High Socks for Girls Kids Autumn Warm","shop":5880976,"cat":888584,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509987229","name":"Retro Hair Tie with Crystal Pendant for Dreadlocks & African Braids","shop":5880976,"cat":908424,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509486725","name":"30pcs/set Simple Star Sealing Sticker Card Envelope Scrapbooking Self-Adhesive Decorative Stickers Gift Packaging Stickers","shop":6827688,"cat":600073,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509486031","name":"M5 Refill Paper 20 Sheets PET Double-Sided Film Sticker Washi Tape Storage Organizer Journal Notebook","shop":6827688,"cat":600073,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509485279","name":"Personalized Five pointed Star R Star Car Logo Body Sticker Car Triangle Window Sticker Fuel Tank Cap Car Sticker","shop":6827688,"cat":600073,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509485071","name":"Kawaii Korean Rabbit Rainbow Pudding Stickers Silver Foil Glitter DIY Kpop Fans Photocard Decor Stickers","shop":6827688,"cat":600073,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509484751","name":"10pcs Cute Cat Die‑Cut Stickers, Laser Transparent Pet Stickers for Journal Phone Case Laptop DIY Scrapbook Decor Supplies","shop":6827688,"cat":600073,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509484395","name":"40/80/160 Pages White Small Marking Tabs Self Adhesive Paper Sticky Notes Portable Student Office Memo Index Bookmark Labels","shop":6827688,"cat":600073,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509483713","name":"Cute Fresh Style Embossed Stickers Colorful Irregular Graffiti DIY Decor for Mobile Phone Case Diy Self-Adhesive Decals","shop":6827688,"cat":600073,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509483573","name":"1PC Snowflakes Nail Art Stickers New Year Christmas Image Nail Design Sliders Winter Manicure Accessories Art Gel Polish Decals","shop":6827688,"cat":600073,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509483407","name":"3D Metal Car Styling Sticker Hollow Fish Shark Emblem Badge Decals Automobiles Motorcycle Computer Fuel Cap Accessories Decals","shop":6827688,"cat":600073,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509483285","name":"3D Puffy Stickers Set Cartoon Princess Rabbit Heart Crystal Jelly Decals for Journaling Decoden Phone Case DIY Craft","shop":6827688,"cat":600073,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509482827","name":"10Pcs Double Transparent Sticker Star Transparent Decoration Laser High Value Ancient Film Cutting Hand Account Material Parity","shop":6827688,"cat":600073,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509482605","name":"3D Puffy Cartoon Animal Stickers Kawaii Style Aesthetic Art Deco Stickers For Scrapbook Journal Stationery DIY","shop":6827688,"cat":600073,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509482221","name":"Cute Ins Ocean World & Flower Jelly 3D Large Stickers Self Adhesive DIY Decorative Sticker for Camera Tablet Journal Ornament","shop":6827688,"cat":600073,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509482029","name":"Russian Alphabet Keyboard Decals Matte Anti-wear Replacement Stickers for Computer Notebook Keyboard","shop":6827688,"cat":600073,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703509481895","name":"New Cute Mood Jelly Sticker Waterproof Adhesive DIY Mobile Phone Case Computer Decorative Sticker","shop":6827688,"cat":600073,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703508381875","name":"Portable Zip Lock PVC Face Masks Bag Cartoon Chicken Dust-proof Transparent Storage Bags Home Travel Cosmetic Organizer Case","shop":4405375,"cat":603002,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703508381559","name":"Kawaii Polka Dot Pencil Case Korean Minimalist Pen Bag Large Capacity Girls Student Stationery Storage Pouch Back to School","shop":4405375,"cat":832392,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703508381483","name":"Sweet Pink Color Fashion Pencil Case Creative Design Bow Makeup Case Student Stationery Organizer Portable Kawaii Cosmetic Bags","shop":4405375,"cat":832392,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703508381235","name":"Korean Simple Polka Dot Pencil Case, Large Capacity Student Stationery Bag, Cute Girls Pencil Pouch Portable Storage Bag","shop":4405375,"cat":603002,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703507219353","name":"1Pcs Mini Portable Contact Lens Case Eyes Contacts Care Container Box Contact Lenses Storage Box Colored Contact Lens Box","shop":4902406,"cat":605268,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703507218955","name":"Solid PU Eyewear Bags Convenient Eyeglasses Storage Bags Fashion Portable Outdoor Women Sunglasses Bags Eyeglasses Accessories","shop":4902406,"cat":907016,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504022937","name":"1PCS Women's Small Large Cosmetic Wash Bag Travel Makeup Storage Bag Portable Multi-functional Toiletry Handbag for Female","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504022501","name":"Soft Large Capacity Pencil Case, Multi-purpose Stationery Jewelry Storage Bag Pouch Back To School Girls Supplies","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504021555","name":"Elegant Transparent Makeup Brush Organizer Pouch with Zipper Portable Cosmetic Bag for Women","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504020543","name":"INS Clear Badge Holder 58mm 75mm Double-Sided Round Transparent Pin Display Case Scratch-Resistant Badge Protector for Anime","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504020283","name":"Women Small Coin Retro Card Purses Men Change Purses Canvas Mini Coin Wallet Bag Solid Color Zipper Key Bag Money Pocket Purse","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504020037","name":"Women's cute bow dot print Sanitary Napkin Storage Bag Portable Pads Cosmetic Travel Purse Small card key money earphone Bags","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504019535","name":"Women Makeup Handbags Organizer Pouch Pencilcase Bags Black Lace Pencil Case Travel Cosmetic Lipstick Stationery Storage Bag","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504019285","name":"Soft Leather Womens Coin Purse Small Cute Zipper Wallet Mini Ladies Purse Key Pouch Credit Card Holder Money Pocket","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504018623","name":"Pink Flower Women Lace Small Makeup Bag Travel Organizer Cosmetic Coins Handbag Pouch Gilrs Cute Bow Square Zipper Wallet Bags","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504018437","name":"Cute Animal Shape Pig Coin Purse Mini Fuzzy Wallet for Kids Key Storage Bag Accessories Organization Creative Lovely Cartoon","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504018295","name":"New Korea Fashion Transparent Black Mesh Strong Durable Cosmetic Bag Wholesale","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504018057","name":"Oxofrd Cosmetic Bag New Fashion Square Star Heart Embroidere Makeup Pouch Earphone Bag Coin Purse Large Capacity Storage Bag","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504017841","name":"Floral Striped Cute Student Coin Purse Korean Fashion Wallet for Girls Portable Small Storage Bag","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504017539","name":"Korean Lace Pen Bag Portable Large Capacity High-value Stationery Pouch for Teen Girls Back To School Pencil Case","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504017175","name":"Cartoon Cute Girls Coin Purses Mini Sanitary Pads Lipstick Storage Makeup Bag Travel Toiletry Beauty Case Make Up Organizer Bag","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504016847","name":"New PU Leather Soft Bag Glasses Case, Premium Sunglasses Glasses Storage Bag, Solid Color Pressure and Dust-proof Glasses Bag.","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504016489","name":"1Pc INS American Retro Style Pink Plush Coin Purse Portable Makeup Pouch for Girls Earphone Organizer Key Bag Credit Card Holder","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504015457","name":"Large Capacity Flannel Cosmetic Bag, Portable Mini Travel Toiletry Organizer Pouch, Soft Makeup Storage Bag for Skincare","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504015013","name":"Cute Winter Girl Portable Sanitary Cotton Bag Fashion Retro Plush Square Leopard Print Makeup Bag Storage Wallet Women's Gift","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504014679","name":"Kawaii Polka Dot Pencil Case Korean Minimalist Pen Bag Large Capacity Girls Student Stationery Storage Pouch Back to School","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504014539","name":"New Diamond Large Capacity Skin Care Bag Travel Change Bag Sundry Storage Luggage Cosmetic Bags Cases","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504014249","name":"Creative Bags Pendant Cartoon Cute Zipper Coin Purse Plush Wallet Earphone Case Girl Key Lipstick Organizer Kids Cute Purse Gift","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504014065","name":"Corduroy Cute Small Wallet Zipper Coin Purse Card Bag with Key Ring","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504013555","name":"Minimalist Embroidered Canvas Triangular Pencil Case - Bear Design Cosmetic Bag for Friends & Couples","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504013333","name":"Light Lace Makeup Bag with Mesh Organizer Portable Toiletry Bag for Trave Fashion Cosmetic Pouch with Zipper Wash Bag for Women","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504013037","name":"INS Star Little Cat Pen Bag Multifunctional Student Gift Pencil Case Large Capacity Canvas Stationery Organizer School Office","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504012871","name":"mini Small Earphone Lipstick Storage Wallet Pouch Women Cosmetic Organizer Mesh Makeup Bag","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504012649","name":"New Korea Fashion Transparent Black Mesh Strong Durable Cosmetic Bag Wholesale","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504012417","name":"Mini Anime Doll Display Bag Transparent Coin Purse Keychain Pendant Square Pouch Organizer Key Lipstick Earphone Storage Bag","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504012205","name":"Classic Polka Dot Fabric Zipper Card Key Bag, Mobile Phone Toilet Makeup Storage Bag.","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703504011979","name":"Cute Heart Pattern Fabric Makeup Pouch, Fresh Portable Handheld Cosmetic Bag, Multi-purpose Travel Sundry Inner Storage Bag","shop":5881039,"cat":802064,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703501792011","name":"1 Pair INS Casual Lace Trim Sheer Mid-Calf Socks Spring Summer Seamless Thin Breathable Lolita Sweet Style Socks for Girls","shop":6827576,"cat":845448,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703499851979","name":"Highlighters Eyeshadow Pencils Pearlescent,delicate,shimmering, Brightening,long-lasting,non-smudging Eyeshadow Stick Dual-ended","shop":5621791,"cat":601588,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703499848419","name":"Shimmer Matte Eyeshadow Sticks 1Pc Blendable Long-Lasting Eye Shadow Pencils Smooth Applications for Bold or Natural Multi-Color","shop":5621791,"cat":601588,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703499847481","name":"Banana Shaped Eyeshadow Makeup Stencil Models Template Card Eyeliner Eye Liner Makeup Accessories Eyes Stencils Shaping Tool","shop":5621791,"cat":1398416,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703499846367","name":"7 Color Glitter Eye Sparkly Glitter Hair Shimmer Gel Flash Heart Loose Sequins Glitter Eyeshadow Party Face Body Decoration","shop":5621791,"cat":601588,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703499845639","name":"Glitter Eyeshadow Gel Makeup Palette Metallic Dark Silver Wet Eyes Shadow Highlighters Pearl Pigments Cosmetics Punk Smoky Black","shop":5621791,"cat":601588,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703499845239","name":"Liquid Contour Bronzer Stick Natural Face Highlighter Cream Nose Shadow Matte Contouring Brighten Face Makeup Waterproof Lasting","shop":5621791,"cat":601555,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703499844933","name":"Eyeshadow Palette Matte Pearlescent Low Saturation Long Lasting Brown Pink Glitter Eye Shadow Eye Makeup Palette 16-Color Korean","shop":5621791,"cat":601588,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703499844527","name":"Eye Shadow Pads 6 In 1 Eye Makeup Stencils Stencil Eyeliner Stencils Eyes Makeup Stamp Applicator for Women Beauty Shaping Tools","shop":5621791,"cat":1400080,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703499844299","name":"Eyeshadow Pencil Stick 12 Colors Metallic Glitter Eye Shadow Highlighter Pen Makeup Tool Waterproof Pearlescent Smoky Dark Green","shop":5621791,"cat":601588,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703499844021","name":"Monochrome Eyeshadow Fine Glitter Sequins Spiciness Powdery Soft Waxy Highlights Brightencool Affordable Makeup Monochrome Plate","shop":5621791,"cat":601588,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703499843699","name":"Diamond Eye Shadow Palette Bright Shiny Glitter Eyeshadow Pearlescent Highlighter Powder Makeup Eyes Make Up Cosmetics","shop":5621791,"cat":601588,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703499843425","name":"Matte High-gloss Smoked Eyeshadow Disc, Powdery, Delicate and Long-lasting Color Development, Naturally Brightening Eyeshadow","shop":5621791,"cat":601588,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703499842801","name":"Chocolate Warm Brown Eyeshadow INS Same Nine-color Eyeshadow Disc Matte Orange Brown Earth Color Pearl Flash","shop":5621791,"cat":601588,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703499842209","name":"Eyeshadow Sticks Long Lasting High Pigmented Shimmer Glitter and Matte Neutral Brown Eyeshadow Pencils Crayon 1PC Waterproof New","shop":5621791,"cat":601588,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703499841307","name":"2025New Eyeliners Stencils Model Stencils Whale Eye Template Shapers Eyeliner Card Women Eye Make Up Beauty Tool Easy To Make Up","shop":5621791,"cat":1400080,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703499840283","name":"3Pcs/set Blade Eyeliner Brushes Eyebrow Brush Portable Flat Fine Eye Liner Brow Contour Makeup Brush Make Up Tool Wholesale 2025","shop":5621791,"cat":1398416,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703499839665","name":"Eyeshadow Stick Pencil Waterproof Glitter Matte Eyeshadow 2 in 1 Pearly Makeup High Pigmented Eyelid Under Crease Eyeshadow Pen","shop":5621791,"cat":601588,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703499839119","name":"Nail Art Powder Symphony Neon Powder Color Changing Polarized Makeup DIY Eyeshadow Aurora Pearl Powder Wholesale","shop":5621791,"cat":601588,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703499838629","name":"Metallic Double-headed Eyeshadow Stick Shimmer Glitter Eye Shadow High Pigmented Monochrome Creamy Eyeshadow Pen Women Cosmetics","shop":5621791,"cat":601588,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703499837883","name":"16 Colors Sunset Magic Eye Shadow Plate Pearl Matte Earth Color Korean Makeup Eye Shadow for Women Cosmetics 2026 Blue Grey Pink","shop":5621791,"cat":601588,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703498611593","name":"Children White Black Striped Sport Cotton Soft Tube School Ankle Short Socks for Baby Infant Toddler Kids Boys Girls Clothes","shop":5047863,"cat":803464,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703498611485","name":"0-1Y Baby Non-Slip Socks Cartoon Bear Bunny Doll Ankle Socks for Infants Toddlers Spring Summer Newborn Short Socks Clothing","shop":5047863,"cat":803464,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703498610517","name":"2pcs Beaded Mushroom Elastic Hair Band Cartoon Hair Rope Tie Ponytail Holder Rubber Band Children's Hair Accessories Headwear","shop":5047863,"cat":807304,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703498610363","name":"50g/bag Assorted Acrylic Beads DIY Jewelry Making Kit for DIY Apparel Sewing Supplies Garment Beads Bracelets Necklaces Craft","shop":5047863,"cat":807304,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703498610147","name":"Pair Korean Style Lace Bow Hair Clip Handmade High End Children Headgear for Little Girls Temperament Hairpin Accessories","shop":5047863,"cat":807304,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703497589007","name":"1pcs 2/4/6M Professional Glitter Dance Ribbon for Rhythmic Art Gymnastics Ballet Twirling Rod Stick Kids Training Equipment","shop":4902352,"cat":968840,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703497588623","name":"1 Pair Cotton Non-slip Yoga Sock Women Ballet Fitness Floor Sports Socks Dance Gym Socks Pilates Socks for Women","shop":4902352,"cat":836872,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703496497153","name":"Solid Color Baby Cotton Fabric Pacifier Chain Beech Pacifier Clip Infant Teething Toys Holder Newborn Kids Gifts Feeding Tools","shop":4823663,"cat":891912,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703496496837","name":"Long Cute Cartoon Baby Pacifier Clip Silicone Teether New Safety Strap To Prevent Dropping Soothing Chewing Toy for Infants","shop":4823663,"cat":891912,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703496496415","name":"New Silicone Two-in-one Anti-lost Chain Teether Feeding Bottle Leash Anti Lost Nipple Accessories for Infants Pacifiers Leashes","shop":4823663,"cat":891912,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"184807703495372673","name":"Coil Springs Keychain Stretchy Spiral Spring Coil Retractable Coil Springs Keychain With Metal Clasp Key Chain Holder Lanyard","shop":4823600,"cat":603002,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365556239901","name":"Children Room Removable Living Room Decoration Wall Decals Cartoon Bear Fox Heart Rainbow Animal Wall Stickers for Kids Room","shop":6827688,"cat":600338,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365556237211","name":"Cartoon Space Moon Whale Wall Stickers Ins Style Cartoon Decals for Kids Room Nursery Kindergarten Decor Home Background Decal","shop":6827688,"cat":600338,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365556236785","name":"1PC Cute Berry Self Adhesive Wall Stickers Simple Sweet Style for Bedroom Background Wall Decoration","shop":6827688,"cat":600338,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365555243499","name":"Transparent Acrylic Ruler Cute Multifunctional Straight Ruler Creative Journal Tool Student Stationery For Girls","shop":4405375,"cat":988552,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365555242539","name":"DIY Animal Theme Stencils Painting Template Lace Ruler Personalized Scratch Drawing for Card Making Decoration School Supplies","shop":4405375,"cat":831752,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365554489515","name":"100g Thick Fur Yarns Fluffy Anti-Pilling Artificial Fur Solid Color Yarns DIY Crocheting Material","shop":4902406,"cat":605268,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365554486045","name":"Multi-purpose Metal Pins 55mm-83mm Large Black Metal Safety Pin Woman's Scarf Clothing Adjustable Pins","shop":4902406,"cat":605268,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365554477753","name":"Calf Socks Women's Autumn and Winter Thickened Warm Wool Pile Socks Simple Solid Color Versatile Softcomfortable Boot Socks","shop":4902406,"cat":605268,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365552350409","name":"1PC Red Women Men Necessary Cosmetic Bag Transparent Travel Organizer Fashion Small Large Black Toiletry Bags Makeup Pouch","shop":5724831,"cat":1000072,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365550150939","name":"Summer Lace Mesh Transparent Women Socks Ultra-thin Breathable Women Girls Short Socks Harajuku Vintage Streetwear Crew Socks","shop":6827576,"cat":845448,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365550150671","name":"Hollow Out Lace Mesh Tights Pantyhose Lolita Japanese Fishnet Stockings Women Nylon Floral Print Sexy Summer Party Pantyhose","shop":6827576,"cat":844552,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365548310735","name":"Unicorn Makeup Brush, Rose Gold Colorful Loose Powder Brush, Horse Head Nail Brush, Beauty Tool","shop":5621791,"cat":1937168,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365546291207","name":"Beautiful Retainer Clips for Clothing Cute 3 Little Owls Metal Convenient Clips Woman's Clothing Accessories","shop":5047863,"cat":807304,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365543342953","name":"6pcs Butterfly Retractable Gel Pens Box Set, High Aesthetic Smooth Writing Black Ink Pens, Cute Girly Pens for Students Exam","shop":4823600,"cat":603002,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365543342695","name":"5Pcs Kawaii Quick Dry Gel Pen Set Simple Solid Color Writing Pens Student School Office Stationery Supplies","shop":4823600,"cat":603002,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365542330565","name":"Kawaii Japanese Anime Girl Tinplate Box Cute Desktop Organizer for Girl KPOP Photo Card Sticker Hair Clip Dustproof Storage Case","shop":4991121,"cat":600299,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365542330165","name":"Pink Empty Transparent Puff Drying Box Storage Case Portable Sponge Stand Cosmetic Egg Shape Rack Makeup Puff Holder Transparent","shop":4991121,"cat":600621,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365535262909","name":"DIY Decoration Accessory for Living Room Desk Car Suitable for Micro Landscape Enthusiasts Mini Scene Cute Lucky Cat Figure","shop":6827688,"cat":600299,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365530757361","name":"Advanced Sense Liquid Women's Daily Alloy Opal Hollow Flower Hairpin Niche Personality Exquisite Versatile Duck Bill Clip","shop":4902406,"cat":908552,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365530757273","name":"Women Girls Fashion Silver Hair Clip Metal Hairpin Party Butterfly Flower Zircon Bows Hair Bang Clip for Women Hair Accessories","shop":4902406,"cat":908552,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365530757237","name":"Woman Alloy Glitter Shiny Sliver Bangs Hairpin Butterfly Floral Zircon Hair Clips Girls Y2k Side Clips Fashion Hair Accessories","shop":4902406,"cat":908552,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365520131853","name":"Unisex Wave Jacquard Knitted Beanie, Warm Winter Round Top Skull Cap For Men Women Daily Wear","shop":5880697,"cat":603654,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365520081527","name":"Toddler Summer Bucket Hat, Lightweight & Adjustable Chin Strap, Anti-UV For Beach & Hiking Activities","shop":5880697,"cat":603654,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365497814979","name":"5pcs Creative Hand-shaped Buttons Gold/Silver Color Metal Hand Shank Buttons Clothes Decorative Buttons","shop":4902406,"cat":605281,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365495670535","name":"Women Summer Thin Dog Korean Kawaii Cute Middle Tube Socks Women Polka Dot Casual Striped Cotton Breathable High Long Socks","shop":6827576,"cat":845448,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365451637049","name":"3pcs/set Popular PVC Water-filled Hot Water Bottle and Waist Belt Warmer Three-piece Set with Water-filled Hot Water Bottle","shop":4902406,"cat":605268,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365430199773","name":"1Pc Kitchen Sink Dishrag Sponge Storage Rack Dish Cloth Drying Rack Sponge Drain Water Hollow Tray Kitchen Accessories Organizer","shop":5874111,"cat":602532,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365349006903","name":"2pcs Red New Year Korean Style Hair Clips for Girls Sweet Dot Plaid Bow Barrettes Kids Children Hair Accessories Hair Pin","shop":5874111,"cat":962696,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365349006873","name":"New Children's Ballet Dance Ball Hair Net Cover Girl Snow Gauze Lace Updo Hair Net Hood Flower Drawstring","shop":5874111,"cat":602532,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365349006855","name":"2pcs New Korean Version Fabric Bow Velvet BB Clip Cute Girl Children Hairpin Sparkling Broken Hair Headgear","shop":5874111,"cat":962696,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365349006835","name":"Winter Baby Warm Cotton Mittens Newborn Children Kids Winter Gloves Plush Thicken Boys Girls Gloves Kids Green Accessories","shop":5874111,"cat":962056,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365349006831","name":"10 Pcs Hair Clip Candy Color DropCandy Color Hairpin Bangs Clip Side Clip Hair Accessories for Female Baby Child","shop":5874111,"cat":962696,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365349006817","name":"Soft Thick Cotton Headband for Kids Girls Children Winter Warmth Solid Color Simple Design Comfortable Hair Accessories","shop":5874111,"cat":962696,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365349006811","name":"2pcs Drill Simple Bear Hair Rope Children's Cartoon Hair Band Jumping Tie Rope High Elastic Rubber Band Hair Accessories","shop":5874111,"cat":962696,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365349006797","name":"Soft Coral Fleece Cartoon Bear Hair Towel for Adult and Children Quick Dry Bath Cap Hair Towel Home Textile","shop":5874111,"cat":892296,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365349006787","name":"Korean autumn winter versatile cute cartoon rabbit children's hair band headwear Girls kids Women Hair Accessories","shop":5874111,"cat":962696,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365348722383","name":"Coral Fleece Backpack 2025 New Cartoon Bear Ears Kids Schoolbag Fashion Casual Backpack for Children Girls Boys","shop":5874111,"cat":602532,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365348722355","name":"Children's Dance Elastic Band Ballet Assisted Training 8-grid Digital Practice Bandage Yoga Belts Dance Loop Fitness Tension","shop":5874111,"cat":602532,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365348722321","name":"30 Koreandisc Hair Simple One-word Clip Versatile Bangs Hairpin Children's Broken Hair Clip Women's Boxed Metal One-word","shop":5874111,"cat":602532,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365348722285","name":"Frosted Banana Clip Vertical Clip Back Head Twist Hairpin Disc Hair Ponytail Clip Children's Hair Accessories Wholesale","shop":5874111,"cat":602532,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365348722239","name":"Lolita Style Lace Bow Hair Clip with Frills for Cosplay Bangs Side Hair Accessories Baby Children Girl 2pc Kids Headwear","shop":5874111,"cat":962696,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365348722205","name":"JK Lolita Knee High Bow Socks for Kids Girls Korean School Long Leggings Stocking Tights Cotton Spring Autumn Children Socks","shop":5874111,"cat":888584,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365348722175","name":"Korean Baby Hat Winter Cute Super Cute Children's Ear Protection Cartoon Cat Ear Baby Wool Hat Wholesale","shop":5874111,"cat":962312,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365348722149","name":"2pcs New Sweet Knitted Flower Children's Oval BB Clip Pair Hairpin Edge Clip Bangs Clip","shop":5874111,"cat":962696,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365348722083","name":"Girls' Socks, Children's Socks with Lace, Mid Tube Socks, Children's Socks 5pair","shop":5874111,"cat":888584,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365348722031","name":"Autumn and Winter Trendy Children's Socks, Cute Candy Colored Girls' Versatile Mid Tube Socks","shop":5874111,"cat":888584,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365348721989","name":"Spring Summer New Children's Lace Thin Hollow Mesh Black and White Solid Color Medium Tube Stacking Socks Wholesale","shop":5874111,"cat":602532,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365348721933","name":"Women Men Business Card Holder Multicolor Credit Bank ID Badge Child Bus Card Cover Case Cartoon Cute","shop":5874111,"cat":602532,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365348721897","name":"Multicolor Card Holder for Women Men Business Credit Bank ID Badge Child Bus Card Cover Case","shop":5874111,"cat":602532,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365348721859","name":"Baby Princess Kids Girls Knee High Long Sock Children White Black Pearl Bow Calf Children Sock Soft Cotton School Pile Stockings","shop":5874111,"cat":888584,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365348721815","name":"Children's Wig Braids Korean Girls Colored Hair Band Hair Accessories Tied Hair Rubber Band Braided Headgear","shop":5874111,"cat":962696,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365348721797","name":"Kids Boys Girls School Socks Letter M Knee High Long Stockings for Toddler Stocking Children Spring Autumn Cotton Soft Sock","shop":5874111,"cat":888584,"catPath":"","img":1,"vars":0,"price":"","weight":""},{"id":"4810365348721731","name":"Children's Gradual Change Wig Bow Hairpin Headgear Girls Long Hair Decorative Braided Hair Color Hair Accessories","shop":5874111,"cat":602532,"catPath":"","img":1,"vars":0,"price":"","weight":""}]} \ No newline at end of file diff --git a/tiktok建品/tkbatch.mjs b/tiktok建品/tkbatch.mjs new file mode 100644 index 0000000..12aacac --- /dev/null +++ b/tiktok建品/tkbatch.mjs @@ -0,0 +1,211 @@ +import { newTarget, CDP, SAN } from '/tmp/cdp3.mjs'; +import fs from 'fs'; + +/* ── TikTok (AutoMavenShop_MY) 建品配方 ── + node tkbatch.mjs <oid> [catKeyword] [variantValue] + 流程:选店铺 → 分类弹窗 → 标题/卖点/关键词/描述 → 变种属性 → SKU价+库存 + → 重量/尺寸 → 仓库 → 图片(外链) → 来源URL → 保存 → 回读 */ + +const OID = process.argv[2]; +const CAT_KW = process.argv[3] || ''; +const VAR_VAL = process.argv[4] || 'Default'; +if (!OID) { console.log('用法: node tkbatch.mjs <oid> [catKeyword] [variantValue]'); process.exit(1); } + +const IN = JSON.parse(fs.readFileSync('/tmp/tk_input.json', 'utf8'))[OID]; +if (!IN) { console.log('无输入数据', OID); process.exit(1); } + +const wait = ms => new Promise(z => setTimeout(z, ms)); +const log = (...a) => console.log(' ', ...a); +const DIMS = (() => { const W = Math.max(100, Math.round(IN.weight * 1.3)); + return { L: Math.max(60, Math.min(400, W)), Wi: Math.max(40, Math.min(300, Math.round(W * 0.6))), H: Math.max(10, Math.min(200, Math.round(W * 0.2))) }; })(); + +// 0. 清理编辑页 +const tl = await (await fetch('http://127.0.0.1:9223/json/list')).json(); +let k = 0; +for (const t of tl.filter(x => x.type === 'page' && /tiktok/i.test(x.url))) { await fetch(`http://127.0.0.1:9223/json/close/${t.id}`).catch(() => {}); k++; } +if (k) { log(`清理 tiktok 页 ${k} 个`); await wait(1200); } + +const t = await newTarget('about:blank'); +const c = await CDP.connect(t.webSocketDebuggerUrl); +await c.send('Page.enable'); await c.send('Runtime.enable'); +await c.send('Page.navigate', { url: 'https://www.dianxiaomi.com/web/tiktokProduct/add' }); +await wait(20000); + +const cur = async () => String(await c.evalJS(`(()=>{const s=[...document.querySelectorAll('.ant-select')].filter(e=>e.offsetParent!==null)[0]; + return s?((s.querySelector('.ant-select-selection-item')||{}).innerText||''):'';})()`)); + +// 1. 选店铺 AutoMavenShop_MY +async function pickShop() { + for (let attempt = 0; attempt < 3; attempt++) { + const pos = JSON.parse(String(await c.evalJS(`(()=>{const s=[...document.querySelectorAll('.ant-select')].filter(e=>e.offsetParent!==null)[0]; + if(!s)return'[]'; s.scrollIntoView({block:'center'}); const r=s.getBoundingClientRect(); + return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); + if (!pos.length) return 'no-select'; + for (const type of ['mousePressed', 'mouseReleased']) await c.send('Input.dispatchMouseEvent', { type, x: pos[0], y: pos[1], button: 'left', clickCount: 1 }); + await wait(1800); + await c.evalJS(`(()=>{const inp=document.querySelector('.ant-select-selection-search-input')||document.querySelector('.ant-select input'); + if(!inp)return 0; inp.focus(); + Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,'value').set.call(inp,'AutoMaven'); + inp.dispatchEvent(new Event('input',{bubbles:true})); return 1;})()`); + await wait(2200); + const r = await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null); + if(!dd.length)return'no-dd'; const d=dd[dd.length-1]; + const hit=[...d.querySelectorAll('.ant-select-item-option')].find(o=>/AutoMavenShop_MY/i.test(o.innerText||'')); + if(!hit)return'no-hit'; + for(const ev of ['mousedown','mouseup','click']) hit.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); + return 'picked';})()`); + await wait(6000); + const s = await cur(); + if (/AutoMavenShop_MY/i.test(s)) return 'ok:' + s; + log(' 店铺重试', attempt + 1, r, JSON.stringify(s)); + } + return 'fail'; +} + +// 2. 分类 +async function pickCategory(kw) { + await c.evalJS(`(()=>{document.querySelectorAll('.ant-select-dropdown').forEach(d=>{if(d.offsetParent!==null)d.style.display='none';}); + document.body.dispatchEvent(new MouseEvent('mousedown',{bubbles:true})); document.body.click(); return 1;})()`); + await wait(1000); + const open = await c.evalJS(`(()=>{const b=[...document.querySelectorAll('button,a,span')].filter(e=>e.offsetParent!==null&&/^\\s*选择分类\\s*$/.test(e.innerText||'')); + if(!b.length)return'nf'; for(const ev of ['mousedown','mouseup','click']) b[0].dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return 'ok';})()`); + if (open === 'nf') return 'no-btn'; + await wait(3500); + const r = await c.evalJS(`(()=>{const m=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null).pop(); + if(!m)return'no-modal'; const inp=m.querySelector('input[placeholder="搜索分类名称"]'); if(!inp)return'no-input'; + inp.focus(); Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,'value').set.call(inp,${JSON.stringify(kw)}); + inp.dispatchEvent(new Event('input',{bubbles:true})); inp.dispatchEvent(new Event('change',{bubbles:true})); + const b=[...m.querySelectorAll('button')].find(x=>/^\\s*搜索\\s*$/.test(x.innerText||'')); + if(b) for(const ev of ['mousedown','mouseup','click']) b.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); + return 'searched';})()`); + if (r !== 'searched') return r; + await wait(4000); + const pick = await c.evalJS(`(()=>{const m=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null).pop(); + if(!m)return'no-modal'; const its=[...m.querySelectorAll('.search-result-item')]; + if(!its.length)return'no-result'; + const BAD=/二手|Barang Terpakai|Second|Used|Pre-?owned|Refurb/i; + const texts=its.map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim()); + let idx=texts.findIndex(t=>!BAD.test(t)); + if(idx<0) idx=0; + const hit=its[idx]; + for(const ev of ['mousedown','mouseup','click']) hit.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); + return 'picked['+idx+'/'+texts.length+']:'+texts[idx];})()`); + await wait(4500); + return pick; +} + +// 2b. 多关键词回退 + 失败即中止 +async function pickCategoryAny(kws) { + const tried = []; + for (const kw of kws) { + const r = String(await pickCategory(kw)); + tried.push(kw + '\u2192' + r.slice(0, 45)); + if (!/no-result|no-input|no-modal|no-btn/.test(r)) return { r, tried }; + await c.evalJS(`(()=>{const m=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null).pop(); + if(m){const x=m.querySelector('.ant-modal-close'); if(x&&x.offsetParent!==null)x.click();} return 1;})()`); + await wait(1500); + } + return { r: 'ALL-FAILED', tried }; +} + +// 3. 直填 store +const setStore = (js) => c.evalJS(js); + +log('=== TikTok 建品 ===', OID, IN.title.slice(0, 50)); +log('1) 店铺:', await pickShop()); + +const kw = CAT_KW || IN.cat_kw || IN.title.split(/[ ,]+/).slice(0, 2).join(' '); +const catRes = await pickCategoryAny([kw].concat(IN.cat_fb || [])); +log('2) 分类:', SAN(String(catRes.r)).slice(0, 110), '| 尝试:', catRes.tried.join(' / ')); +if (/ALL-FAILED|no-result|no-input|no-btn/.test(String(catRes.r))) { log('\u274c 分类未选中,跳过保存'); await c.shot('/tmp/tk_fail_' + OID + '.jpeg').catch(() => {}); process.exit(2); } + +// 4. 文案 +const desc = IN.bullets.map(b => '• ' + b).join('<br>') + '<br><br>Keywords: ' + (IN.keywords || ''); +const wr = await setStore(`(()=>{const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const f=p._s.get('tiktokGlobalAddProductStore').$state.formState; + f.productName=${JSON.stringify(IN.title)}; + f.keyProductFeatures=${JSON.stringify(IN.bullets.slice(0, 5))}; + f.searchTerms=${JSON.stringify((IN.keywords || '').split(',').map(s => s.trim()).filter(Boolean).slice(0, 10))}; + f.description='<style>img{display: block}p{margin-block-start: 0; margin-block-end: 0}</style>'+${JSON.stringify(desc)}; + return 'ok';})()`); +log('3) 文案:', wr, '| 标长', IN.title.length); + +// 5. 变种属性 +const vr = await c.evalJS(`(()=>{ + const h=[...document.querySelectorAll('*')].filter(e=>e.offsetParent!==null&&/^\\s*变种属性\\s*$/.test((e.innerText||'').trim())).pop(); + if(!h)return'no-sec'; let box=h; + for(let i=0;i<6&&box.parentElement;i++){ box=box.parentElement; if(box.querySelector('input[class*="!w-200"]'))break; } + const inp=box.querySelector('input[class*="!w-200"]'); if(!inp)return'no-inp'; + inp.focus(); Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,'value').set.call(inp,${JSON.stringify(VAR_VAL)}); + inp.dispatchEvent(new Event('input',{bubbles:true})); inp.dispatchEvent(new Event('change',{bubbles:true})); + inp.dispatchEvent(new KeyboardEvent('keydown',{key:'Enter',code:'Enter',keyCode:13,which:13,bubbles:true})); + const btn=[...box.querySelectorAll('button,a,span')].find(e=>/^\\s*(添加|Add)\\s*$/.test(e.innerText||'')); + if(btn) for(const ev of ['mousedown','mouseup','click']) btn.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); + return 'ok';})()`); +log('4) 变种属性:', vr, VAR_VAL); +await wait(3500); + +// 6. SKU 价格/库存 +const SKU = 'AM-' + OID; +const sr = await c.evalJS(`(()=>{ + const setV=(el,v)=>{ Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,'value').set.call(el,String(v)); + el.dispatchEvent(new Event('input',{bubbles:true})); el.dispatchEvent(new Event('change',{bubbles:true})); el.dispatchEvent(new Event('blur',{bubbles:true})); }; + const tbl=[...document.querySelectorAll('table')].filter(t=>t.offsetParent!==null).find(t=>[...t.querySelectorAll('th')].some(h=>/本地展示价/.test(h.innerText||''))); + if(!tbl)return'no-table'; + const ths=[...tbl.querySelectorAll('th')].map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim()); + const rows=[...tbl.querySelectorAll('tbody tr')].filter(x=>x.querySelectorAll('input').length); + const done=[]; + rows.forEach((tr,ri)=>{ [...tr.querySelectorAll('td')].forEach((td,ci)=>{ const name=ths[ci]||''; const ins=[...td.querySelectorAll('input')]; + if(/^SKU/i.test(name)&&ins[0]&&!ins[0].value){ setV(ins[0],${JSON.stringify(SKU)}+(rows.length>1?('-'+ri):'')); done.push('sku'); } + if(/本地展示价/.test(name)&&ins[0]&&!ins[0].value){ setV(ins[0],${JSON.stringify(String(IN.price_myr))}); done.push('price'); } + if(/^库存/.test(name)&&ins[0]&&!ins[0].value){ setV(ins[0],'999'); done.push('stock'); } }); }); + return 'rows'+rows.length+':'+[...new Set(done)].join(',');})()`); +log('5) SKU:', sr, '| MYR', IN.price_myr); +await wait(2000); + +// 7. 重量 + 尺寸 +const setItem = (rx, sel, val) => c.evalJS(`(()=>{ + const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null).find(x=>{const l=x.querySelector('label'); return l&&new RegExp(${JSON.stringify(rx)}).test(l.innerText||'');}); + const el=it?it.querySelector(${JSON.stringify(sel)}):null; if(!el)return'nf'; + const proto=el.tagName==='TEXTAREA'?window.HTMLTextAreaElement.prototype:window.HTMLInputElement.prototype; + Object.getOwnPropertyDescriptor(proto,'value').set.call(el, ${JSON.stringify(String(val))}); + el.dispatchEvent(new Event('input',{bubbles:true})); el.dispatchEvent(new Event('change',{bubbles:true})); el.dispatchEvent(new Event('blur',{bubbles:true})); return 'ok';})()`); +log('6) 重量:', await setItem('重量', 'input:not([type=hidden])', IN.weight)); +const dim = await c.evalJS(`(()=>{ + const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null).find(x=>{const l=x.querySelector('label'); return l&&/尺寸规格/.test(l.innerText||'');}); + if(!it)return'nf'; const ins=[...it.querySelectorAll('input')]; + const setV=(el,v)=>{ Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,'value').set.call(el,String(v)); + el.dispatchEvent(new Event('input',{bubbles:true})); el.dispatchEvent(new Event('change',{bubbles:true})); el.dispatchEvent(new Event('blur',{bubbles:true})); }; + const L=ins.find(i=>i.placeholder==='长')||ins[0], W2=ins.find(i=>i.placeholder==='宽')||ins[1], H=ins.find(i=>i.placeholder==='高')||ins[2]; + if(L)setV(L,${DIMS.L}); if(W2)setV(W2,${DIMS.Wi}); if(H)setV(H,${DIMS.H}); + return 'ok:'+ins.length;})()`); +log('7) 尺寸:', dim, JSON.stringify(DIMS)); + +// 8. 图片 +const ir = await c.evalJS(`(()=>{const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const st=p._s.get('tiktokGlobalImgStore').$state; + const urls=${JSON.stringify(IN.imgs)}; + st.formState.mainImage=urls.map((u,i)=>({url:u,imgUrl:u,name:'img'+(i+1)+'.jpg',width:800,height:800,checked:true})); + return 'imgs:'+st.formState.mainImage.length;})()`); +log('8) 图片:', ir, '(共', IN.imgs.length, ')'); +await wait(2500); + +// 9. 来源URL +log('9) 来源URL:', await setItem('来源URL', 'input:not([type=hidden])', 'https://detail.1688.com/offer/' + OID + '.html')); +await wait(1200); + +// 10. 保存 +const before = await c.evalJS(`(()=>{const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const b=p._s.get('tiktokGlobalAddBasicStore').$state; + return JSON.stringify({shopId:b.formState.shopId, cat:b.formState.categoryId, site:b.site});})()`); +log('10) 保存前状态:', before); +const sv = await c.evalJS(`(()=>{const b=[...document.querySelectorAll('button,a,span')].filter(e=>e.offsetParent!==null&&/^\\s*保存\\s*$/.test(e.innerText||'')); + if(!b.length)return'nf'; for(const ev of ['mousedown','mouseup','click']) b[b.length-1].dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return 'clicked';})()`); +log('11) 保存点击:', sv); +await wait(9000); +const msg = await c.evalJS(`(()=>{const ms=[...document.querySelectorAll('.ant-message-notice,.ant-notification-notice,.ant-modal')].filter(e=>e.offsetParent!==null) + .map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim().slice(0,160)).filter(Boolean); + return JSON.stringify({url:location.href, msgs:ms.slice(0,4)});})()`); +log('12) 结果:', SAN(String(msg)).slice(0, 400)); +await c.shot('/tmp/tk_pilot.jpeg').catch(() => {}); +process.exit(0); diff --git a/walmart建品/ean_69803093_3400-3446.txt b/walmart建品/ean_69803093_3400-3446.txt new file mode 100644 index 0000000..73cb3ec --- /dev/null +++ b/walmart建品/ean_69803093_3400-3446.txt @@ -0,0 +1,47 @@ +6980309334003 +6980309334010 +6980309334027 +6980309334034 +6980309334041 +6980309334058 +6980309334065 +6980309334072 +6980309334089 +6980309334096 +6980309334102 +6980309334119 +6980309334126 +6980309334133 +6980309334140 +6980309334157 +6980309334164 +6980309334171 +6980309334188 +6980309334195 +6980309334201 +6980309334218 +6980309334225 +6980309334232 +6980309334249 +6980309334256 +6980309334263 +6980309334270 +6980309334287 +6980309334294 +6980309334300 +6980309334317 +6980309334324 +6980309334331 +6980309334348 +6980309334355 +6980309334362 +6980309334379 +6980309334386 +6980309334393 +6980309334409 +6980309334416 +6980309334423 +6980309334430 +6980309334447 +6980309334454 +6980309334461 diff --git a/walmart建品/wm_after_cat.json b/walmart建品/wm_after_cat.json new file mode 100644 index 0000000..eebe9c6 --- /dev/null +++ b/walmart建品/wm_after_cat.json @@ -0,0 +1,97 @@ +{ + "items": [ + "* 店铺账号 [select] Snowmountain", + "* 新版产品分类 [select] 发夹、别针和夹子(Hair Barret", + " 是否为单品 [input] false", + " 店小秘分类 [-] ", + " 来源URL [input] ", + " [input] ", + "* Product Name (产品名称) [input] ", + "* SKU [input] ", + "* Product Identifiers (产品标识符) [select] UPC", + "* 产品属性 [ta] Gram", + "* Brand(品牌) [input] ", + " Small Parts Warning Code(小零件警告代码) [input] 2 - Choking hazard c", + " Net Content(净内容) [select] Gram", + " Multipack Quantity(多包装数量) [input] 1", + " Material(材料) [input] rhinestone", + " Label Image(标签图像) [ta] ", + " Label Image URL(标签图片URL) [ta] ", + " Label Image Contains(标签图像包含) [select] ", + " Is Prop 65 Warning Required(需要65号提案警告吗?) [select] No", + " Has Written Warranty(已书面保修) [select] No", + " Count Per Pack(每包计数) [input] 1", + " Condition(条件) [select] New(New)", + " Color Category(颜色类别) [input] ", + " Color(颜色) [ta] ", + " Assembled Product Width(组装产品宽度) [select] in", + " Assembled Product Depth(组装产品深度) [select] in", + " Age Group(年龄组) [input] Newborn", + " Country of Origin - Substantial Transformation(原产国-实质性转变) [input] ", + " Automate Pricing(自动定价) [ta] ", + " Minimum Seller Allowed Price(最低卖家允许价格) [input] ", + " Maximum Seller Allowed Price(卖方允许的最高价格) [input] ", + " Repricer Strategy(重新定价策略) [ta] ", + " External Product Identifier(外部产品标识符) [ta] ", + " External Product ID Type(外部产品ID类型) [select] ", + " External Product ID(外部产品ID) [ta] ", + " Product Package Dimensions and Weight(产品包装尺寸及重量) [input] ", + " Product Package Dimensions Depth (in)(产品包装尺寸深度(英寸)) [input] ", + " Product Package Weight (lbs)(产品包装重量(磅)) [input] ", + " Product Package Dimensions Height (in)(产品包装尺寸 高度(英寸)) [input] ", + " Product Package Dimensions Width (in)(产品包装尺寸 宽度(英寸)) [input] ", + " Site Start Date(网站开始日期) [input] ", + " Site End Date(网站结束日期) [input] ", + " State Restrictions(州限制) [ta] ", + " State Restrictions Reason(国家限制原因) [select] ", + " ZIP Codes(邮政编码) [ta] ", + " States(各州) [select] ", + " Academic Institution(学术机构) [ta] ", + " Character(性格) [input] ", + " Character Group(字符组) [input] ", + " Collection(收藏) [ta] ", + " Total Count(总计数) [input] ", + " Designer(设计师) [ta] ", + " Embellishment Type(装饰类型) [input] ", + " Closure Type(闭合类型) [input] Clip", + " Brand License(品牌授权) [input] ", + " Hair Barrette, Pin & Clip Type(发夹、别针和夹子类型) [input] Tiara Hairpin", + " Retail Packaging(零售包装) [input] ", + " Is Primary Variant(是主要变体) [input] ", + " Manufacturer Name(制造商名称) [ta] ", + " Manufacturer Part Number(制造商零件编号) [ta] ", + " Model Number(型号) [ta] ", + " Net Content Statement(净内容声明) [ta] ", + " Occasion(场合) [input] ", + " Pattern(图案) [input] ", + " Number of Pieces(件数) [input] ", + " Product Line(产品线) [input] ", + " California Prop 65 Warning Text(加州65号提案警告文本) [ta] ", + " Required Storage Condition(所需存储条件) [input] Ambient Storage", + " Season(季节) [input] Winter", + " Shape(形状) [ta] ", + " Size(尺寸) [ta] ", + " Size Descriptor(大小描述符) [input] ", + " Sports League(体育联盟) [input] ", + " Sports Team(运动队) [input] ", + " Style(风格) [input] ", + " Theme(主题) [ta] ", + " Third Party Accreditation Symbol on Product Package Code(产品包装代码上的第三方认可符号) [input] ", + " Warranty Text(保修文本) [ta] ", + " Warranty URL(保修网址) [input] ", + "* 价格 [input] ", + "* 库存 [input] ", + "* 运输重量 [input] ", + " MSRP [input] ", + "* 产品图片 [-] ", + "* 产品描述 [ta] ", + "* key feature [ta] ", + " Fulfillment Lag Time (Lag Time) [input] ", + " Must ship alone? (单独运输) [input] ", + " Ships in Original Packaging (原装运输) [input] ", + " Product is or Contains this Battery Type(电子元器件类型) [input] ", + " Product is or Contains a Chemical, Aerosol or Pesticide?(是否包含化学品) [input] ", + " Product is or Contains an Electronic Component?(是否包含电子元器件) [input] " + ], + "tables": [] +} \ No newline at end of file diff --git a/walmart建品/wm_cats.json b/walmart建品/wm_cats.json new file mode 100644 index 0000000..53eddf2 --- /dev/null +++ b/walmart建品/wm_cats.json @@ -0,0 +1,154 @@ +[ + "眼镜盒(Eyeglass Cases)", + "缝纫别针(Sewing Pins)", + "文件文件夹(File Folders)", + "钱夹(Money Clips)", + "自行车瓶笼(Bicycle Bottle Cages)", + "肥皂盘和持有人(Soap Dishes & Holders)", + "时尚头带(Fashion Headbands)", + "鞋带(Shoelaces)", + "化妆包(Makeup Bags)", + "举重手套(Weight Lifting Gloves)", + "剪贴簿装饰(Scrapbooking Embellishments)", + "自行车后视镜(Bicycle Mirrors)", + "桌面管理器(Desktop Organizers)", + "行李标签(Luggage Tags)", + "汽车装饰内饰五金配件(Automotive Decorative Interior Hardware & Accessories)", + "零钱包(Coin Purses)", + "汽车组织者(Automotive Organizers)", + "牙刷套(Toothbrush Covers)", + "墙贴和贴纸(Wall Decals & Stickers)", + "钩环紧固件(Hook & Loop Fasteners)", + "窗膜(Window Film)", + "自行车制动器组(Bicycle Brake Sets)", + "标签(Labels)", + "黑头和白头去除工具(Blackhead & Whitehead Remover Tools)", + "无焰蜡烛(Flameless Candles)", + "礼品袋(Gift Bags)", + "跳绳(Jump Ropes)", + "冰箱储物箱、搁板和储物篮(Refrigerator Bins, Shelves & Baskets)", + "可重复使用的环保袋(Reusable Eco Bags)", + "首饰盒(Jewelry Boxes)", + "耳环(Earrings)", + "派对横幅(Party Banners)", + "应急准备工具包(Emergency Preparedness Kits)", + "手套和连指手套(Gloves & Mittens)", + "别针和胸针(Pins & Brooches)", + "急救包(First Aid Kits)", + "数学工具包(Math Tool Kits)", + "风铃(Wind Chimes)", + "护照持有人(Passport Holders)", + "铅笔盒(Pencil Boxes)", + "标尺(Rulers)", + "书签(Bookmarks)", + "浴室贴花(Bath Appliques)", + "花园雕像(Garden Statues)", + "浇水喷嘴(Watering Nozzles)", + "袜子(Socks)", + "隐形眼镜盒(Contact Lens Cases)", + "缝纫紧固件(Sewing Fasteners)", + "摩托车配件(Motorcycle Accessories)", + "汽车反光镜(Automotive Reflectors)", + "耳机盒(Headphone Cases)", + "洗漱用具包(Toiletry Kits & Bags)", + "手提包挂钩衣架(Handbag Hook Hangers)", + "铅笔(Pencils)", + "刷刷(Basting Brushes)", + "按摩器(Massagers)", + "篮子(Baskets)", + "荧光笔(Highlighters)", + "计算机机架和支架(Computer Racks & Mounts)", + "熨烫垫(Ironing Mats)", + "游泳袋(Swimming Gear Bags)", + "手袋(Handbags)", + "空白识别徽章(Blank Identification Badges)", + "新奇和堵嘴玩具(Novelty & Gag Toys)", + "葡萄酒手提袋、包和背包(Wine Totes, Bags & Backpacks)", + "隐形眼镜清洁系统(Contact Lens Cleaning Systems)", + "化妆刷和涂抹器(Makeup Brushes & Applicators)", + "发夹、别针和夹子(Hair Barrettes, Pins & Clips)", + "手机的皮肤(Skins for Cell Phones)", + "贴纸(Stickers)", + "自行车车架包(Bicycle Frame Bags)", + "标记(Markers)", + "卷发器(Hair Rollers)", + "自行车座杆夹具(Bicycle Seatpost Clamps)", + "墙纸(Wallpaper)", + "便当盒(Bento Boxes)", + "化妆组织者(Makeup Organizers)", + "硬件挂钩(Hardware Hooks)", + "储物箱和储物箱(Storage Chests & Boxes)", + "自行车铃铛和喇叭(Bicycle Bells & Horns)", + "汽车贴花和贴纸(Automotive Decals & Stickers)", + "酒塞和软木塞(Wine Stoppers & Corks)", + "腰包(Fanny Packs)", + "手提包整理包和插页(Handbag Organizers & Inserts)", + "药丸组织者(Pill Organizers)", + "运动装备包(Sports Equipment Bags)", + "浴帽(Shower Caps)", + "面部镜子(Face Mirrors)", + "钱包(Wallets)", + "钢笔(Pens)", + "鼻子和耳朵修剪器(Nose & Ear Trimmers)", + "卷发器(Hair Curling Irons)", + "钥匙扣(Keychains)", + "壁橱收纳盒(Closet Organizers)", + "项链吊坠(Necklace Pendants)", + "项链(Necklaces)", + "气球(Balloons)", + "漏斗和漏斗组(Funnels & Funnel Sets)", + "铅笔盒(Pencil Cases)", + "医用袋(Medical Bags)", + "键盘保护器(Keyboard Protectors)", + "鞋袋(Shoe Bags)", + "铅笔和钢笔橡皮擦(Pencil & Pen Erasers)", + "排水蛇(Drain Snakes)", + "学校和办公用纸(School & Office Paper)", + "牙刷架(Toothbrush Holders)", + "行李带(Luggage Straps)", + "包装组织者,立方体和文件夹(Packing Organizers, Cubes & Folders)", + "艺术画笔(Art Brushes)", + "眼影(Eye Shadow)", + "自行车灯(Bicycle Lights)", + "书挡(Bookends)", + "游戏附加组件(Game Add-On)", + "蜡笔(Crayons)", + "设备盖(Appliance Covers)", + "写作笔记本和素描本(Writing Notebooks & Sketch Books)", + "食品储存罐和容器(Food Storage Jars & Containers)", + "背包(Backpacks)", + "小雕像和小装饰品(Figurines & Knick-Knacks)", + "自行车拨链器(Bicycle Derailleurs)", + "手动卷笔刀(Manual Pencil Sharpeners)", + "花盆和花盆(Plant Pots & Planters)", + "公文包(Briefcases)", + "行李袋(Duffel Bags)", + "帽子(Hats)", + "面部清洁刷(Facial Cleansing Brushes)", + "头发刷子(Hair Brushes)", + "自行车曲柄(Bicycle Cranksets)", + "装饰品(Ornaments)", + "包包饰物(Bag Charms)", + "自行车工具(Bicycle Tools)", + "睫毛夹(Eyelash Curlers)", + "文具及文具套装(Stationery & Stationery Sets)", + "发梳(Hair Combs)", + "可重复使用的午餐袋和盒子(Reusable Lunch Bags & Boxes)", + "信使包和单肩包(Messenger & Shoulder Bags)", + "便条卡(Note Cards)", + "腕带(Wristbands)", + "铅笔握把(Pencil Grips)", + "车把胶带(Handlebar Tape)", + "绑腿(Gaiters)", + "摩托车零件(Motorcycle Parts)", + "明信片(Postcards)", + "牙签(Toothpicks)", + "自行车挡泥板(Bicycle Fenders)", + "名片夹(Business Card Holders)", + "其他化妆刷和工具(Other Makeup Brushes & Tools)", + "其他发型造型工具和产品(Other Hair Styling Tools & Products)", + "其他派对用品(Other Party Supplies)", + "其他手机配件(Other Cell Phone Accessories)", + "Other Bicycle Parts(Other Bicycle Parts)", + "其他旅行配件(Other Travel Accessories)" +] \ No newline at end of file diff --git a/walmart建品/wm_done.json b/walmart建品/wm_done.json new file mode 100644 index 0000000..f6a96a0 --- /dev/null +++ b/walmart建品/wm_done.json @@ -0,0 +1,227 @@ +{ + "1027332215847": { + "cat": "picked:储物箱和储物箱(Storage", + "err": "仍报错的字段: []", + "ok": true + }, + "547183997437": { + "cat": "picked:项链吊坠(Necklace", + "err": "仍报错的字段: []", + "ok": true + }, + "548459586741": { + "cat": "picked:其他派对用品(Other", + "err": "仍报错的字段: []", + "ok": true + }, + "591994902720": { + "cat": "picked:铅笔盒(Pencil", + "err": "仍报错的字段: []", + "ok": true + }, + "610164857063": { + "cat": "picked:时尚头带(Fashion", + "err": "仍报错的字段: []", + "ok": true + }, + "621300323670": { + "cat": "picked:桌面管理器(Desktop", + "err": "仍报错的字段: []", + "ok": true + }, + "623011262210": { + "cat": "picked:墙贴和贴纸(Wall", + "err": "仍报错的字段: []", + "ok": true + }, + "627879474686": { + "cat": "picked:袜子(Socks)", + "err": "仍报错的字段: []", + "ok": true + }, + "639409307567": { + "cat": "picked:墙贴和贴纸(Wall", + "err": "仍报错的字段: []", + "ok": true + }, + "641673262387": { + "cat": "picked:首饰盒(Jewelry", + "err": "仍报错的字段: []", + "ok": true + }, + "657617635303": { + "cat": "picked:桌面管理器(Desktop", + "err": "仍报错的字段: []", + "ok": true + }, + "661190598139": { + "cat": "picked:发夹、别针和夹子(Hair", + "err": "仍报错的字段: []", + "ok": true + }, + "676236596821": { + "cat": "picked:发夹、别针和夹子(Hair", + "err": "仍报错的字段: []", + "ok": true + }, + "682195499823": { + "cat": "picked:铅笔盒(Pencil", + "err": "仍报错的字段: []", + "ok": true + }, + "685456757807": { + "cat": "picked:缝纫紧固件(Sewing", + "err": "仍报错的字段: []", + "ok": true + }, + "694637537727": { + "cat": "picked:可重复使用的午餐袋和盒子(Reusable", + "err": "仍报错的字段: []", + "ok": true + }, + "698782391248": { + "cat": "picked:贴纸(Stickers)", + "err": "仍报错的字段: []", + "ok": true + }, + "703822717997": { + "cat": "picked:桌面管理器(Desktop", + "err": "仍报错的字段: []", + "ok": true + }, + "707826905566": { + "cat": "picked:钱包(Wallets)", + "err": "仍报错的字段: []", + "ok": true + }, + "708420302844": { + "cat": "picked:钥匙扣(Keychains)", + "err": "仍报错的字段: []", + "ok": true + }, + "714492799386": { + "cat": "picked:化妆包(Makeup", + "err": "仍报错的字段: []", + "ok": true + }, + "719391062058": { + "cat": "picked:化妆组织者(Makeup", + "err": "仍报错的字段: []", + "ok": true + }, + "726442972676": { + "cat": "picked:发夹、别针和夹子(Hair", + "err": "仍报错的字段: []", + "ok": true + }, + "735147938123": { + "cat": "picked:时尚头带(Fashion", + "err": "仍报错的字段: []", + "ok": true + }, + "739147684759": { + "cat": "picked:缝纫紧固件(Sewing", + "err": "仍报错的字段: []", + "ok": true + }, + "750271307455": { + "cat": "picked:钥匙扣(Keychains)", + "err": "仍报错的字段: []", + "ok": true + }, + "774494945453": { + "cat": "picked:钥匙扣(Keychains)", + "err": "仍报错的字段: []", + "ok": true + }, + "775057912118": { + "cat": "picked:钥匙扣(Keychains)", + "err": "仍报错的字段: []", + "ok": true + }, + "787261097583": { + "cat": "picked:发夹、别针和夹子(Hair", + "err": "仍报错的字段: []", + "ok": true + }, + "823560564174": { + "cat": "picked:发夹、别针和夹子(Hair", + "err": "仍报错的字段: []", + "ok": true + }, + "823838532886": { + "cat": "picked:名片夹(Business", + "err": "仍报错的字段: []", + "ok": true + }, + "833753630925": { + "cat": "picked:时尚头带(Fashion", + "err": "仍报错的字段: []", + "ok": true + }, + "836512561982": { + "cat": "picked:化妆包(Makeup", + "err": "仍报错的字段: []", + "ok": true + }, + "853414558425": { + "cat": "picked:其他手机配件(Other", + "err": "仍报错的字段: []", + "ok": true + }, + "854003999648": { + "cat": "picked:发夹、别针和夹子(Hair", + "err": "仍报错的字段: []", + "ok": true + }, + "857781294719": { + "cat": "picked:发夹、别针和夹子(Hair", + "err": "仍报错的字段: []", + "ok": true + }, + "863384503032": { + "cat": "picked:发夹、别针和夹子(Hair", + "err": "仍报错的字段: []", + "ok": true + }, + "863524134410": { + "cat": "picked:贴纸(Stickers)", + "err": "仍报错的字段: []", + "ok": true + }, + "866537106657": { + "cat": "picked:缝纫紧固件(Sewing", + "err": "仍报错的字段: []", + "ok": true + }, + "893592264148": { + "cat": "picked:发夹、别针和夹子(Hair", + "err": "仍报错的字段: []", + "ok": true + }, + "896469995553": { + "cat": "picked:钥匙扣(Keychains)", + "err": "仍报错的字段: []", + "ok": true + }, + "902440558099": { + "cat": "picked:发夹、别针和夹子(Hair", + "err": "仍报错的字段: []", + "ok": true + }, + "944470567338": { + "cat": "picked:发夹、别针和夹子(Hair", + "err": "仍报错的字段: []", + "ok": true + }, + "953869908708": { + "cat": "picked:墙贴和贴纸(Wall", + "err": "仍报错的字段: []", + "ok": true + }, + "997450831819": { + "cat": "picked:贴纸(Stickers)", + "err": "仍报错的字段: []", + "ok": true + } +} \ No newline at end of file diff --git a/walmart建品/wm_ids.json b/walmart建品/wm_ids.json new file mode 100644 index 0000000..aaa7e50 --- /dev/null +++ b/walmart建品/wm_ids.json @@ -0,0 +1,48 @@ +{ + "997450831819": "184807701434436987", + "953869908708": "184807701434436937", + "944470567338": "184807701434436423", + "902440558099": "184807701434436399", + "896469995553": "184807701434436361", + "893592264148": "184807701434436319", + "866537106657": "184807701434436311", + "863524134410": "184807701434436289", + "863384503032": "184807701434436279", + "857781294719": "184807701434436257", + "854003999648": "184807701434436227", + "853414558425": "184807701434436183", + "836512561982": "184807701434436131", + "833753630925": "184807701434435981", + "823838532886": "184807701434435937", + "823560564174": "184807701434435823", + "787261097583": "184807701434435821", + "775057912118": "184807701434435805", + "774494945453": "184807701434435785", + "750271307455": "184807701434435757", + "739147684759": "184807701434435749", + "735147938123": "184807701434435731", + "726442972676": "184807701434435725", + "719391062058": "184807701434435723", + "714492799386": "184807701434435703", + "708420302844": "184807701434435695", + "707826905566": "184807701434435659", + "703822717997": "184807701434435649", + "698782391248": "184807701434435563", + "694637537727": "184807701434435549", + "685456757807": "184807701434435539", + "682195499823": "184807701434435519", + "676236596821": "184807701434435509", + "661190598139": "184807701434435491", + "657617635303": "184807701434435461", + "641673262387": "184807701434435433", + "639409307567": "184807701434435427", + "627879474686": "184807701434435419", + "623011262210": "184807701434435411", + "621300323670": "184807701434435409", + "610164857063": "184807701434435397", + "591994902720": "184807701434435375", + "548459586741": "184807701434435371", + "547183997437": "184807701434435369", + "1027332215847": "184807701434434765", + "607330049419": "184807701434434763" +} \ No newline at end of file diff --git a/walmart建品/wm_input.json b/walmart建品/wm_input.json new file mode 100644 index 0000000..6402a35 --- /dev/null +++ b/walmart建品/wm_input.json @@ -0,0 +1,1195 @@ +{ + "1027332215847": { + "title": "Silver Matte Tin Photo Box with Clear Window for Cards", + "bullets": [ + "Clear window shows contents without opening the lid", + "Matte silver finish adds a stylish modern look to decor", + "Perfect for storing collectible cards photos and small items", + "Durable metal construction protects your valuables from damage", + "Compact size fits easily on shelves or desks for organization" + ], + "keywords": "photo box, tin box, card storage, clear window, organizer, metal box, silver box, collection storage, decorative box, window box", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01I8H1XZ20X1BwKmCgA_!!2215551256858-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01fSCfc920X1BwKjWOM_!!2215551256858-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Q306PS20X1BxljheR_!!2215551256858-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01LUaVFu20X1Bw1JWlE_!!2215551256858-0-cib.jpg" + ], + "weight": 100, + "ean": "6980309334003", + "pc": 3400, + "cat_index": 78, + "cat": "储物箱和储物箱(Storage Chests & Boxes)", + "price_usd": 3.37, + "weight_lbs": 0.22 + }, + "547183997437": { + "title": "Cute Horse Pendant Necklace Set Silver Jewelry for Girls", + "bullets": [ + "Adorable small horse design catches attention instantly", + "High quality hypoallergenic materials ensure skin safety", + "Perfect for daily wear and special gift occasions", + "Trendy style accessory ideal for young ladies", + "Complete set includes necklace and extra accessories" + ], + "keywords": "horse pendant necklace, silver jewelry set, cute necklace, girl accessories, gift for her, fashion jewelry, horse charm, trendy necklace", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/8816879752_343533664.jpg", + "https://cbu01.alicdn.com/img/ibank/11757891659_343533664.jpg", + "https://cbu01.alicdn.com/img/ibank/11757906170_343533664.jpg", + "https://cbu01.alicdn.com/img/ibank/11826257991_343533664.jpg", + "https://cbu01.alicdn.com/img/ibank/11757879880_343533664.jpg", + "https://cbu01.alicdn.com/img/ibank/11826278475_343533664.jpg" + ], + "weight": 130, + "ean": "6980309334010", + "pc": 3401, + "cat_index": 94, + "cat": "项链吊坠(Necklace Pendants)", + "price_usd": 5.45, + "weight_lbs": 0.287 + }, + "548459586741": { + "title": "6.5cm Colorful Plastic Party Whistles for Kids, Blow Out Whistle Toys for Birthday Sports Games", + "bullets": [ + "Bright 6.5cm colorful plastic whistles that instantly attract kids attention", + "Lightweight and durable plastic, safe and long lasting for daily play", + "Perfect party favor for birthdays, sports events and noisy group games", + "Compact size fits comfortably in small children hands", + "Great value bulk pack for party bags, classroom prizes and giveaways" + ], + "keywords": "kids party whistle, plastic whistle toy, blow out whistle, birthday party favors, children sport whistle, colorful whistle, bulk party toys, school prizes, noisy whistle, 6.5cm whistle", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/4069213206_162883618.jpg", + "https://cbu01.alicdn.com/img/ibank/4068620881_162883618.jpg", + "https://cbu01.alicdn.com/img/ibank/4069204672_162883618.jpg", + "https://cbu01.alicdn.com/img/ibank/4069210278_162883618.jpg", + "https://cbu01.alicdn.com/img/ibank/11952842804_162883618.jpg", + "https://cbu01.alicdn.com/img/ibank/2017/573/244/4061442375_1990928757.jpg" + ], + "weight": 100, + "ean": "6980309334027", + "pc": 3402, + "cat_index": 148, + "cat": "其他派对用品(Other Party Supplies)", + "price_usd": 5.09, + "weight_lbs": 0.22 + }, + "591994902720": { + "title": "Cute Cat Pencil Case with Moving Ears and Tail, Soft Plush Pen Organizer", + "bullets": [ + "Realistic cat design with movable ears and tail for fun", + "Soft high-quality plush material feels gentle to touch", + "Spacious interior holds pens, pencils, and small stationery", + "Compact size fits perfectly in school bags or backpacks", + "Perfect gift for kids, students, and office workers" + ], + "keywords": "cat pencil case, soft pen organizer, school supplies, cute stationery, cat pencil pouch, plush pencil case, office organizer, kids gift, school bag accessory, cat pen holder", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01P5i2Qj2Ha582390F0_!!3040829166-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/10808136178_2084930772.jpg", + "https://cbu01.alicdn.com/img/ibank/10838035389_2084930772.jpg", + "https://cbu01.alicdn.com/img/ibank/10838041260_2084930772.jpg", + "https://cbu01.alicdn.com/img/ibank/10838047018_2084930772.jpg", + "https://cbu01.alicdn.com/img/ibank/10838032428_2084930772.jpg" + ], + "weight": 130, + "ean": "6980309334034", + "pc": 3403, + "cat_index": 98, + "cat": "铅笔盒(Pencil Cases)", + "price_usd": 4.77, + "weight_lbs": 0.287 + }, + "607330049419": { + "title": "50 Pcs Elastic Thin Hair Ties for Women Girls Daily Use", + "bullets": [ + "Set of 50 hair ties for everyday styling needs", + "High elasticity and durable material for long wear", + "Gently secures hair without causing bumps or marks", + "Thin design fits any hairstyle from buns to ponytails", + "Universal soft hair ties suitable for all hair types" + ], + "keywords": "hair ties, hair elastics, hair accessories, women hair ties, thin hair bands, elastic hair ties, hair tie set, girl hair accessories", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/12541551473_249655965.jpg", + "https://cbu01.alicdn.com/img/ibank/12617036034_249655965.jpg", + "https://cbu01.alicdn.com/img/ibank/12579682715_249655965.jpg", + "https://cbu01.alicdn.com/img/ibank/12579703017_249655965.jpg", + "https://cbu01.alicdn.com/img/ibank/12579676830_249655965.jpg", + "https://cbu01.alicdn.com/img/ibank/12579694241_249655965.jpg" + ], + "weight": 130, + "ean": "6980309334041", + "pc": 3404, + "cat_index": 67, + "cat": "发夹、别针和夹子(Hair Barrettes, Pins & Clips)", + "price_usd": 3.33, + "weight_lbs": 0.287 + }, + "610164857063": { + "title": "Breathable Sports Headband Non-Slip Running Yoga Fitness Accessory", + "bullets": [ + "Made from breathable elastic material for all-day training comfort", + "Special non-slip texture securely holds headband during active movement", + "Vibrant candy colors create a stylish and energetic sporty look", + "Perfect for running, football, yoga, and other physical activities", + "Lightweight design prevents head pressure and ensures smooth airflow" + ], + "keywords": "sports headband, running headband, yoga headband, fitness accessory, non-slip headband, elastic headband, candy color headband, hair accessory", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01YouCXn2BAXdly1XjW_!!962328298-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01lsiV3L2BAXdlxxv1d_!!962328298-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01zZXh1L2BAXUkHVcPV_!!962328298-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01JxdOvV2BAXdlotAMr_!!962328298-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01qUPQkU2BAXdly3UOz_!!962328298-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN017IvZLu2BAXdmOMMYh_!!962328298-0-cib.jpg" + ], + "weight": 100, + "ean": "6980309334058", + "pc": 3405, + "cat_index": 6, + "cat": "时尚头带(Fashion Headbands)", + "price_usd": 5.09, + "weight_lbs": 0.22 + }, + "621300323670": { + "title": "Round Transparent Desktop Tape Dispenser with Smooth Cutter", + "bullets": [ + "Compact design saves valuable desk space", + "Clear body shows remaining tape level easily", + "Smooth cutting mechanism ensures clean tape edges", + "Durable plastic built for daily office use", + "Universal size fits standard roll tape sizes" + ], + "keywords": "tape dispenser, desk organizer, office supplies, clear dispenser, round dispenser, tape cutter, stationery, tape storage, desktop accessories", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/2020/300/016/17092610003_478487208.jpg", + "https://cbu01.alicdn.com/img/ibank/2020/475/094/17092490574_478487208.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN015pqfmc1t6GUBN50nU_!!2208149675852-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/2020/787/080/16969080787_478487208.jpg", + "https://cbu01.alicdn.com/img/ibank/2020/168/340/16342043861_478487208.jpg", + "https://cbu01.alicdn.com/img/ibank/2020/549/921/16276129945_478487208.jpg" + ], + "weight": 130, + "ean": "6980309334065", + "pc": 3406, + "cat_index": 12, + "cat": "桌面管理器(Desktop Organizers)", + "price_usd": 3.27, + "weight_lbs": 0.287 + }, + "623011262210": { + "title": "Transparent Snowflake Window Stickers for Christmas Decor", + "bullets": [ + "Clear base leaves no residue after removal", + "Perfect for shop windows and office glass", + "Easy to apply on any smooth surface without glue", + "Creates festive holiday atmosphere for New Year", + "Waterproof and fade-resistant under sunlight" + ], + "keywords": "window stickers, snowflake decals, Christmas decor, shop window display, static cling film, holiday window art, winter patterns, New Year decorations", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/2020/382/811/17921118283_68146657.jpg", + "https://cbu01.alicdn.com/img/ibank/2020/826/019/18052910628_68146657.jpg", + "https://cbu01.alicdn.com/img/ibank/2020/656/204/17980402656_68146657.jpg", + "https://cbu01.alicdn.com/img/ibank/2020/244/319/18052913442_68146657.jpg", + "https://cbu01.alicdn.com/img/ibank/2020/045/880/17921088540_68146657.jpg", + "https://cbu01.alicdn.com/img/ibank/2020/224/529/18052925422_68146657.jpg" + ], + "weight": 100, + "ean": "6980309334072", + "pc": 3407, + "cat_index": 18, + "cat": "墙贴和贴纸(Wall Decals & Stickers)", + "price_usd": 3.18, + "weight_lbs": 0.22 + }, + "627879474686": { + "title": "Cotton Cartoon Print High Socks for Girls Kids Autumn Warm", + "bullets": [ + "Soft breathable cotton fabric ensures all-day comfort for kids", + "Vibrant cartoon design adds playful style to any outfit", + "High rise elastic band fits snugly without slipping or marks", + "Perfect for school uniforms and casual walks in cool weather", + "Durable knit resists shrinking and keeps colors bright after wash" + ], + "keywords": "kids socks, girl socks, high socks, cartoon socks, cotton socks, school socks, children clothing, autumn socks, fun socks, knee high socks", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/21188872389_1708617215.jpg", + "https://cbu01.alicdn.com/img/ibank/21188800766_1708617215.jpg", + "https://cbu01.alicdn.com/img/ibank/21112422650_1708617215.jpg", + "https://cbu01.alicdn.com/img/ibank/21112416695_1708617215.jpg", + "https://cbu01.alicdn.com/img/ibank/21188806554_1708617215.jpg", + "https://cbu01.alicdn.com/img/ibank/21112512060_1708617215.jpg" + ], + "weight": 100, + "ean": "6980309334089", + "pc": 3408, + "cat_index": 45, + "cat": "袜子(Socks)", + "price_usd": 5.09, + "weight_lbs": 0.22 + }, + "639409307567": { + "title": "3D Glowing Butterfly Wall Stickers, Magnetic Light Up Decals", + "bullets": [ + "Double-layer 3D wings design for realistic look", + "Glow in dark for atmospheric night lighting", + "Magnetic backing allows easy repositioning", + "Set of 12 pieces for dense decorative pattern", + "Peel and stick installation without wall damage" + ], + "keywords": "butterfly wall stickers, 3d glowing decals, magnetic light up, night light decor, room decoration, butterfly stickers, wall art, home interior, glow in dark, removable stickers", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01pG1wXn1sF8UpcAZ30_!!2210165385736-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01ZwwR381sF8UnZT9nL_!!2210165385736-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Hux9ot1sF8Up701n5_!!2210165385736-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01fToNMu1sF8Up6zI8m_!!2210165385736-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Q55oBK1sF8UgULJGp_!!2210165385736-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01YReLNR1sF8VADhBzg_!!2210165385736-0-cib.jpg" + ], + "weight": 100, + "ean": "6980309334096", + "pc": 3409, + "cat_index": 18, + "cat": "墙贴和贴纸(Wall Decals & Stickers)", + "price_usd": 3.86, + "weight_lbs": 0.22 + }, + "641673262387": { + "title": "Organza Jewelry Pouch Bag with Drawstring, Clear White Gift Box for Rings Earrings", + "bullets": [ + "Sheer organza fabric highlights your jewelry with an elegant airy look.", + "Adjustable drawstring closure securely holds rings, earrings, and bracelets.", + "Perfect eco-friendly gift packaging for weddings, parties, and special occasions.", + "Lightweight material resists deformation and folds into a compact size.", + "Ideal for storing and presenting delicate accessories in a clear white bag." + ], + "keywords": "organza jewelry pouch, clear jewelry bag, drawstring gift pouch, white organza bag, ring storage box, earring organizer, wedding gift wrap, transparent pouch, jewelry packaging", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01Q8h8aQ1jewZZteYvf_!!2975064574-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01goxBxW1jewXlLYEAL_!!2975064574-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01qongvO1jewH5CiW7M_!!2975064574-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01LM1c8n1jewH2GIRJj_!!2975064574-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01RGugla1jewH7JavLq_!!2975064574-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01vxriDJ1jewZHllJ3F_!!2975064574-0-cib.jpg" + ], + "weight": 130, + "ean": "6980309334102", + "pc": 3410, + "cat_index": 29, + "cat": "首饰盒(Jewelry Boxes)", + "price_usd": 5.45, + "weight_lbs": 0.287 + }, + "657617635303": { + "title": "Clear Magnetic Paperclip Box with Pastel Macaron Design", + "bullets": [ + "Transparent body instantly reveals paperclip color and count.", + "Built-in magnet securely holds metal clips to prevent spills.", + "Vibrant pastel macaron style adds desk aesthetic and order.", + "Compact square shape saves space and fits any drawer shelf.", + "Made from durable scratch-resistant plastic for daily use." + ], + "keywords": "paperclip box, magnetic organizer, clear container, desk storage, stationery holder, office accessories, pastel organizer, square box", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01dzl8zf1GbAC0Q6I3i_!!2200734000640-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN014PeP2X1GbAK3Yw8Di_!!2200734000640-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN010vt6SS1GbAJyj99Wf_!!2200734000640-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN010m6kzy1GbAJyj91C7_!!2200734000640-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01rjISmk1GbAJpfrccR_!!2200734000640-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01uid9tq1GbAX2TRFFW_!!2200734000640-0-cib.jpg" + ], + "weight": 130, + "ean": "6980309334119", + "pc": 3411, + "cat_index": 12, + "cat": "桌面管理器(Desktop Organizers)", + "price_usd": 5.45, + "weight_lbs": 0.287 + }, + "661190598139": { + "title": "Retro Hair Tie with Crystal Pendant for Dreadlocks & African Braids", + "bullets": [ + "Stylish retro design features elegant sparkling crystal pendants", + "Durable metal alloy base ensures long-lasting daily wear comfort", + "Perfect for decorating dreadlocks and African protective hairstyles", + "Compact size fits securely without causing scalp discomfort", + "Neutral tone matches any outfit for versatile fashion styling" + ], + "keywords": "hair tie with pendant, dreadlock accessories, retro hair elastic, crystal hair tie, african braid accessories, metal hair tie, hair jewelry, women's hair accessories, crystal pendant hair tie", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN019OjUlH27ZUOLoQpei_!!1879927811-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01CUtCyc27ZUOMSo4va_!!1879927811-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01RWnpXI27ZUOEBHkyi_!!1879927811-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01bAqN0x27ZUOC3PewO_!!1879927811-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01ifAIhU27ZUOC3RP6g_!!1879927811-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN0114LDBr27ZUOEELt6Q_!!1879927811-0-cib.jpg" + ], + "weight": 10, + "ean": "6980309334126", + "pc": 3412, + "cat_index": 67, + "cat": "发夹、别针和夹子(Hair Barrettes, Pins & Clips)", + "price_usd": 3.98, + "weight_lbs": 0.022 + }, + "676236596821": { + "title": "Cute Cartoon Baby Hair Clips Set, 3 Pcs Fabric Barrettes for Infant Toddler Girls", + "bullets": [ + "Soft fabric coating protects delicate baby scalp", + "Secure grip design prevents slipping for all-day wear", + "Vibrant playful patterns add charm to daily outfits", + "Perfect for everyday styling and special party events", + "Pack of 3 stylish hair accessories for little girls" + ], + "keywords": "kids hair clips, fabric hair ties, children hair accessories, girls hair clips, hair clips set, cute hair bows, baby hair ties, party hair accessories", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01kUeTJr1xSwc6l1BBi_!!933356443-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01xm61kQ1xSwc32k1pz_!!933356443-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01O2M9mB1xSwc32kQmC_!!933356443-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01EtJrkj1xSwc6kyYzL_!!933356443-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01JU7EXw1Bs2lBdgula_!!0-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01eiZ4571xSwc0h21Kc_!!933356443-0-cib.jpg" + ], + "weight": 100, + "ean": "6980309334133", + "pc": 3413, + "cat_index": 67, + "cat": "发夹、别针和夹子(Hair Barrettes, Pins & Clips)", + "price_usd": 5.09, + "weight_lbs": 0.22 + }, + "682195499823": { + "title": "96-Cell Brush Organizer Case for Watercolor & Gouache", + "bullets": [ + "Holds 96 brushes for large art tool collections", + "Made from durable moisture and paint-resistant plastic", + "Removable sections adapt size to your brush needs", + "Compact portable design fits studios and field work", + "Easy assembly and disassembly for quick storage" + ], + "keywords": "brush organizer, paint brush holder, 96 cell case, watercolor brushes, gouache storage, oil paint case, art supplies, plastic organizer, brush case", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01J1brM81Kv5xHTMhAm_!!2742851225-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Mp7jWs1Kv5xNpADgR_!!2742851225-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN0145fPNr1Kv5xNpD6Sx_!!2742851225-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01nJS4jP1Kv5xCrUCDg_!!2742851225-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01agpLhP1Kv5xCrTrUx_!!2742851225-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01IGpTXY1Kv64ptNumj_!!2742851225-0-cib.jpg" + ], + "weight": 100, + "ean": "6980309334140", + "pc": 3414, + "cat_index": 98, + "cat": "铅笔盒(Pencil Cases)", + "price_usd": 3.19, + "weight_lbs": 0.22 + }, + "685456757807": { + "title": "Pure Natural Cotton Yarn for Baby Knitting - Soft 16-Ply", + "bullets": [ + "Made from pure natural cotton, safe for baby skin", + "16-ply thickness creates warm and dense knitted items", + "Hypoallergenic composition prevents irritation on sensitive skin", + "Soft yarn structure ensures comfort and warmth in cold weather", + "Universal color blends easily for unique custom patterns" + ], + "keywords": "baby cotton yarn, knitting wool, children yarn, 100 cotton, kids knitting threads, newborn knitting, cotton yarn for babies, natural baby yarn, toy yarn, kids knitwear", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01rNiO691y0NqLe60YM_!!2821086516-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01UFWBxA1y0NjAqOP41_!!2821086516-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01ewYID91y0NjCL5Jm6_!!2821086516-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01HYDuhx1y0NjFTvVa8_!!2821086516-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01lXtktg1y0NjGm4KWJ_!!2821086516-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01keIaUE1y0NjGAyVX0_!!2821086516-0-cib.jpg" + ], + "weight": 10, + "ean": "6980309334157", + "pc": 3415, + "cat_index": 47, + "cat": "缝纫紧固件(Sewing Fasteners)", + "price_usd": 3.98, + "weight_lbs": 0.022 + }, + "694637537727": { + "title": "Large Aluminum Foil Food Thermos Bag Insulated Lunch Carrier", + "bullets": [ + "Made from durable aluminum foil to keep food hot or cold", + "Spacious interior fits meals, fruits, and drinks together", + "Comfortable handle for easy carrying and compact storage design", + "Waterproof and stain-resistant surface wipes clean easily", + "Neutral style suits men and women for office or outdoor use" + ], + "keywords": "thermos bag, food carrier, lunch box, thermos, foil bag, lunch bag, insulated bag, large thermos, picnic bag, food thermos", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01qWWoBZ240HAZMOOjv_!!3912887328-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Nm4HsN240HAjKmLQ2_!!3912887328-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Dg6bNG240HAdC7EDB_!!3912887328-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01E3yOFS240HAiBA8qv_!!3912887328-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01FMRWHv240HAeqbRKP_!!3912887328-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01eOdoFI240HASSvofE_!!3912887328-0-cib.jpg" + ], + "weight": 130, + "ean": "6980309334164", + "pc": 3416, + "cat_index": 134, + "cat": "可重复使用的午餐袋和盒子(Reusable Lunch Bags & Boxes)", + "price_usd": 3.32, + "weight_lbs": 0.287 + }, + "698782391248": { + "title": "Boho Style White PVC Laptop Stickers 10cm Round Decal", + "bullets": [ + "Made from durable long-lasting PVC material", + "Clean white color matches any device design", + "Easy to apply and remove without residue", + "Perfect for laptops tablets and gadget decor", + "Elegant boho style adds unique personal touch" + ], + "keywords": "laptop stickers, PVC stickers, round decals, white stickers, tablet decor, boho style, removable stickers, tech accessories", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN011ipfmT1gOxkR9GgE0_!!2213225374133-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01nQWBVj1gOxkSjUFJt_!!2213225374133-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01AiticH1gOxkPcu74t_!!2213225374133-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01iaaD2O1gOxkGY9M3J_!!2213225374133-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Yu1rnN1gOxkR9DOSQ_!!2213225374133-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01KSbnXz1gOxjhrCxHa_!!2213225374133-0-cib.jpg?__r__=1668662764223" + ], + "weight": 100, + "ean": "6980309334171", + "pc": 3417, + "cat_index": 69, + "cat": "贴纸(Stickers)", + "price_usd": 3.53, + "weight_lbs": 0.22 + }, + "703822717997": { + "title": "Stainless Steel Spring Clip for Notebook Pen Holder, Pocket Organizer", + "bullets": [ + "Premium corrosion-resistant stainless steel construction", + "Spring mechanism ensures secure and convenient pen grip", + "Compact design fits easily in pockets without blocking writing", + "Universal fit for notebooks, planners, and file folders", + "No drilling or glue needed for instant installation" + ], + "keywords": "stainless steel pen clip, notebook holder, pocket organizer, metal pen clip, stationery accessory, pen clip for planner, desk organizer, stainless steel clip, pen holder, notebook clip", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01KGXt6D24YAUfhowdX_!!2200774267402-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01EtX3qx24YAUZeuBAy_!!2200774267402-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01iqxbp324YAUjy4diW_!!2200774267402-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Ev2VEM24YAUh8FDOn_!!2200774267402-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01F011kN24YAUjy4RG5_!!2200774267402-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01lTgU8B24YAUjy5Zvg_!!2200774267402-0-cib.jpg" + ], + "weight": 130, + "ean": "6980309334188", + "pc": 3418, + "cat_index": 12, + "cat": "桌面管理器(Desktop Organizers)", + "price_usd": 3.11, + "weight_lbs": 0.287 + }, + "707826905566": { + "title": "Ultra-Slim Card Holder Wallet for Men Women, Compact Cash & Card Pouch", + "bullets": [ + "Ultra-thin design fits easily in jeans or jacket pockets", + "Spacious compartment holds many cards, IDs, and cash notes", + "Premium smooth texture material with elegant modern appearance", + "Unisex neutral style suitable for both men and women", + "Compact lightweight size ensures comfortable daily carry" + ], + "keywords": "slim card holder wallet, ultra thin wallet, men card wallet, women card holder, compact cash wallet, minimalist card case, leather card pouch, mini wallet", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01fScYyq1EjI6B49xme_!!1865160387-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01wV4rbd1EjI6FFTvWm_!!1865160387-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01jAF5fu1EjI6B3wKkT_!!1865160387-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01QcqMCZ1EjI6Egdo3f_!!1865160387-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01uqpeAh1EjI699JgKG_!!1865160387-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Snunew1EjIElgNGPT_!!1865160387-0-cib.jpg" + ], + "weight": 100, + "ean": "6980309334195", + "pc": 3419, + "cat_index": 88, + "cat": "钱包(Wallets)", + "price_usd": 3.37, + "weight_lbs": 0.22 + }, + "708420302844": { + "title": "Brass Keychain with 12 Zodiac Signs & 5 Emperor Coins", + "bullets": [ + "Durable brass material resists tarnish and keeps shine", + "Symbolizes protection and luck based on Eastern philosophy", + "Opens freely for easy attachment to keys or bags", + "Compact size fits anywhere for convenient daily carry", + "Perfect gift for fans of Asian culture and mysticism" + ], + "keywords": "brass keychain, zodiac keychain, emperor coins, lucky talisman, feng shui gift, men's keychain, key holder, brass souvenir, eastern symbols, protective charm", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01j7tfYm1cMR7BNf9h8_!!3014813586-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01z1hXTS1cMR75irXYL_!!3014813586-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01MWuT5y1cMR79jmGy0_!!3014813586-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01w6thlD1cMR78M4B0l_!!3014813586-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01i9uRCx1cMR79jljhi_!!3014813586-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01CjVIqw1Bs2p0pIRTE_!!0-0-cib.jpg" + ], + "weight": 130, + "ean": "6980309334201", + "pc": 3420, + "cat_index": 92, + "cat": "钥匙扣(Keychains)", + "price_usd": 5.45, + "weight_lbs": 0.287 + }, + "714492799386": { + "title": "Canvas Makeup Bag Macaron Color Compact Cosmetic Pouch", + "bullets": [ + "Durable canvas material, easy to clean and long-lasting", + "Compact size perfect for storing cosmetics and small items", + "Bright pastel macaron colors make the accessory stylish", + "Convenient handle allows carrying by hand or over shoulder", + "Multifunctional use for cosmetics, stationery or accessories" + ], + "keywords": "makeup bag, cosmetic pouch, canvas bag, macaron color, compact organizer, cosmetic case, women's bag, travel pouch, small bag, storage case", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01nHq8ti1vHpqYyWaDj_!!2215348976148-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01xRKcKL1vHpqYyRx3X_!!2215348976148-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Zpcupp1vHpqREBOzx_!!2215348976148-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN0139B9R81vHpqX2a6QL_!!2215348976148-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01SVdVNK1vHpqU9BC6T_!!2215348976148-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01YgEDaF1vHpqOXPYLN_!!2215348976148-0-cib.jpg" + ], + "weight": 100, + "ean": "6980309334218", + "pc": 3421, + "cat_index": 8, + "cat": "化妆包(Makeup Bags)", + "price_usd": 4.24, + "weight_lbs": 0.22 + }, + "719391062058": { + "title": "Clear Cosmetic Organizer with 6 Drawers for Desk Storage", + "bullets": [ + "Transparent body for easy access to small items", + "Six separate compartments for organized storage", + "Dust-proof cover keeps contents clean and fresh", + "Compact size fits perfectly on any workspace", + "Bright design adds modern style to your decor" + ], + "keywords": "cosmetic organizer, drawer organizer, clear storage box, jewelry organizer, desk accessories, plastic organizer, makeup storage, vanity drawer, hair accessories, small parts box", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01Sb6qVt2M8fYLWzuhF_!!991279783-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01hlhGvI2M8fYOjZhfJ_!!991279783-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01TxDTOY2M8fYKreidb_!!991279783-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01JVyfTF2M8fYJjLc93_!!991279783-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01ZDK97u2M8fYKrfeqo_!!991279783-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01VM8TqY2M8fYLX0W7D_!!991279783-0-cib.jpg" + ], + "weight": 130, + "ean": "6980309334225", + "pc": 3422, + "cat_index": 76, + "cat": "化妆组织者(Makeup Organizers)", + "price_usd": 3.55, + "weight_lbs": 0.287 + }, + "726442972676": { + "title": "Cute Cartoon Animal Mini Hair Clips for Bangs and Small Strands", + "bullets": [ + "Compact size perfect for securing small hair sections and bangs", + "Bright cartoon animal design adds a playful touch to your look", + "Secure grip mechanism holds firmly without damaging or leaving marks", + "Lightweight material ensures all-day comfort and easy wear", + "Versatile accessory for creating casual and creative hairstyles daily" + ], + "keywords": "hair clips, mini clips, bang clips, cute hair accessories, cartoon hair ties, small hair clips, animal hair clips, colorful hair clips", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01xNsQC22A6aNG2TQW4_!!3192968154-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01LzOvnK2A6aNL7Br9x_!!3192968154-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01MO2q0b2A6aNJboquc_!!3192968154-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN014p4viz1Bs2qxZ9Le4_!!0-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01w7LvGJ2A6aNH5BFNV_!!3192968154-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01eFzsml2A6aNKgmNZp_!!3192968154-0-cib.jpg" + ], + "weight": 130, + "ean": "6980309334232", + "pc": 3423, + "cat_index": 67, + "cat": "发夹、别针和夹子(Hair Barrettes, Pins & Clips)", + "price_usd": 3.01, + "weight_lbs": 0.287 + }, + "735147938123": { + "title": "Wide Denim Retro Hair Band for Women College Style Headband", + "bullets": [ + "Dense denim fabric securely holds hairstyles without slipping.", + "Retro and college style adds elegance and modern appeal.", + "Neutral color refreshes the face and matches any outfit.", + "Comfortable fit with no pressure allows all-day wear.", + "Perfect accessory for daily outings and Instagram photos." + ], + "keywords": "wide denim headband, retro hair band, college style accessory, women hair tie, secure fit headband, neutral color band, casual hair accessory, denim headband", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01ULIdVK1W1TL1ihzBB_!!933462728-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01NbGw1e1W1TKuXB6Nr_!!933462728-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN016ualih1W1TL35HBhT_!!933462728-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN010dvKXW1W1TKySWuIY_!!933462728-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01oPzVf51W1TL1ijjLf_!!933462728-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01NbGw1e1W1TKuXB6Nr_!!933462728-0-cib.jpg?__r__=1692585741948" + ], + "weight": 100, + "ean": "6980309334249", + "pc": 3424, + "cat_index": 6, + "cat": "时尚头带(Fashion Headbands)", + "price_usd": 5.09, + "weight_lbs": 0.22 + }, + "739147684759": { + "title": "Metallic Rectangular Coat Buttons with Leather Cover for Jackets", + "bullets": [ + "High-quality metal alloy with secure locking mechanism", + "Rectangular shape fits modern coats and blazers perfectly", + "Natural leather finish adds a premium look to garments", + "Easy installation designed for durability and frequent use", + "Universal design suitable for both men's and women's wear" + ], + "keywords": "coat buttons, jacket hardware, metal fasteners, leather buttons, rectangular snaps, coat closures, sewing accessories, blazer buttons, decorative snaps", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01VDNtBv1r7WVglSoCs_!!2214741685584-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN017WczMV1r7WViS8hGJ_!!2214741685584-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01KnoJfV1r7WVZN62n7_!!2214741685584-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01E0mK9O1r7WVTX2r2W_!!2214741685584-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01FywEpQ1r7WVgl3AF6_!!2214741685584-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01dNQk6f1r7WVTX2r2q_!!2214741685584-0-cib.jpg" + ], + "weight": 100, + "ean": "6980309334256", + "pc": 3425, + "cat_index": 47, + "cat": "缝纫紧固件(Sewing Fasteners)", + "price_usd": 2.94, + "weight_lbs": 0.22 + }, + "750271307455": { + "title": "Romantic Heart Keychain for Couples Silver Plated Valentine Gift", + "bullets": [ + "Romantic heart design perfect for loving couples", + "Elegant silver plated finish looks stylish and chic", + "Ideal gift for Valentine's Day wedding or anniversary", + "Compact size fits easily on keys or handbag strap", + "Durable attachment ensures long lasting daily use" + ], + "keywords": "heart keychain, couple gift, silver plated, Valentine's Day gift, wedding present, key accessory, romantic gift, anniversary present, keychain for him, keychain for her", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01BFtkOs1UAyLk5a3zQ_!!2215916542478-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01BeELUt1UAyLma0JRW_!!2215916542478-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Zd0jy41UAyLna1Iti_!!2215916542478-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01NJVhcN1UAyLqswEvo_!!2215916542478-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01kqXqmU1UAyLixaIBA_!!2215916542478-0-cib.jpg" + ], + "weight": 130, + "ean": "6980309334263", + "pc": 3426, + "cat_index": 92, + "cat": "钥匙扣(Keychains)", + "price_usd": 3.02, + "weight_lbs": 0.287 + }, + "774494945453": { + "title": "Stainless Steel Cat Keychain with Fish Charm Cute Bag Ornament", + "bullets": [ + "Made from durable rust-resistant stainless steel material", + "Cute cartoon cat design holding a fish for fun style", + "Perfect key holder accessory for bags or backpack straps", + "Ideal romantic gift for couples or friends to enjoy", + "Compact lightweight size for daily everyday use needs" + ], + "keywords": "stainless steel keychain, cat key ring, fish charm, bag ornament, couple gift, cartoon cat, durable metal, daily accessory", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01TNCxpD2CMHFzNVkmU_!!1625548459-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01mSLA7a2CMHFuP8BQO_!!1625548459-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01sBs1Hk2CMHFw8eyJo_!!1625548459-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01ebt0hw2CMHFwzeGc2_!!1625548459-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01SagrwE2CMHG1AXrNy_!!1625548459-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01cOMjAe2CMHFtzyNXI_!!1625548459-0-cib.jpg" + ], + "weight": 100, + "ean": "6980309334270", + "pc": 3427, + "cat_index": 92, + "cat": "钥匙扣(Keychains)", + "price_usd": 2.91, + "weight_lbs": 0.22 + }, + "775057912118": { + "title": "Stainless Steel Keychain with English Letter, Polished Metal Key Holder for Car Bag", + "bullets": [ + "Made from durable rust-resistant stainless steel", + "Elegant design featuring a cut-out English letter", + "Perfect key holder for car, backpack or daily use", + "Smooth polished surface feels great and cleans easily", + "Compact size and lightweight for convenient carrying" + ], + "keywords": "stainless steel keychain, English letter key holder, metal key organizer, car key accessory, backpack key ring, polished steel, personalized gift, durable key case, stylish keychain", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01NE1nW12CMHG0heD4q_!!1625548459-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01JGyIeU2CMHG0dZ7IK_!!1625548459-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01vDMZkK2CMHFsEx4y0_!!1625548459-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01abqJvf2CMHG018dV7_!!1625548459-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01r2wwZp2CMHGLR7Gm2_!!1625548459-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01s1Ossl2CMHFwlJJeX_!!1625548459-0-cib.jpg" + ], + "weight": 130, + "ean": "6980309334287", + "pc": 3428, + "cat_index": 92, + "cat": "钥匙扣(Keychains)", + "price_usd": 2.97, + "weight_lbs": 0.287 + }, + "787261097583": { + "title": "Transparent Crab Hair Clips with Hearts, Clear Acrylic Set", + "bullets": [ + "Clear acrylic material with glass-like finish", + "Bright colorful hearts for stylish everyday look", + "Secure grip design protects hair from damage", + "Lightweight construction ensures comfortable all-day wear", + "Pack of 3 clips for versatile styling needs" + ], + "keywords": "hair clips, crab clips, transparent clips, acrylic hair accessories, heart clips, women hair clips, hair styling tools, hair accessories set", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN019ACbxI1jqqqqoA3Dq_!!2847654600-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01uts3rY1jqqu4iP9xO_!!2847654600-0-cib.250x250.jpg", + "https://cbu01.alicdn.com/img/ibank/20861607657_64356601.250x250.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01P12Iqq1jqqsfKZLSH_!!2847654600-0-cib.250x250.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01uFqFmE1jqqgMzzKrY_!!2847654600-0-cib.250x250.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01ewbL6I1jqqiLGgvt8_!!2847654600-0-cib.250x250.jpg" + ], + "weight": 100, + "ean": "6980309334294", + "pc": 3429, + "cat_index": 67, + "cat": "发夹、别针和夹子(Hair Barrettes, Pins & Clips)", + "price_usd": 3.32, + "weight_lbs": 0.22 + }, + "823560564174": { + "title": "Cute Heart Hair Ties Set, Soft Elastic Bands for Buns & Ponytails, Colorful Hair Accessories", + "bullets": [ + "Bright hearts add a playful and sweet touch to your style", + "Soft elastic material prevents hair breakage and leaves no marks", + "Gentle grip tangles and protects strands during daily wear", + "Perfect for creating voluminous buns and secure ponytails", + "Compact size lets you carry multiple pieces easily in your bag" + ], + "keywords": "heart hair ties, elastic hair bands, cute hair accessories, hair ties set, no residue bands, ponytail holders, colorful hair ties, women hair accessories, soft hair ties, braid bands", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01aO9g5D24BGr5xAjxy_!!2201241497352-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01EfqtTJ24BGr1jO5fv_!!2201241497352-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01sT7ymu24BGr5wzSV6_!!2201241497352-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01JruufI24BGr4ynaLE_!!2201241497352-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN016iqWfg24BGr77LK38_!!2201241497352-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01gtlweh24BGr4UUUKD_!!2201241497352-0-cib.jpg" + ], + "weight": 130, + "ean": "6980309334300", + "pc": 3430, + "cat_index": 67, + "cat": "发夹、别针和夹子(Hair Barrettes, Pins & Clips)", + "price_usd": 3.46, + "weight_lbs": 0.287 + }, + "823838532886": { + "title": "Cute Cartoon Cat Key Card Holder for Metro Office & Bag", + "bullets": [ + "Bright cartoon cat design adds a stylish touch to daily accessories", + "Convenient loop allows attaching to bags or backpacks securely", + "Protects transit and bank cards from scratches and daily wear", + "Fits student, bank, and access cards in a compact size", + "Slim profile saves space in pockets or bags for easy access" + ], + "keywords": "cartoon cat card holder, key card case, metro card holder, office card wallet, cute keychain, anime style accessory, student ID case, bank card protector", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN019wrWjM1mrG51WJVnw_!!2207659525007-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN0136dtYP1mrG4uVjFCR_!!2207659525007-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01QNoiLQ1mrG52AM9ab_!!2207659525007-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01lm63Ff1mrG53OSZW1_!!2207659525007-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Pl83cj1mrG54B2xZG_!!2207659525007-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01cvE1191mrG54B15A6_!!2207659525007-0-cib.jpg" + ], + "weight": 130, + "ean": "6980309334317", + "pc": 3431, + "cat_index": 145, + "cat": "名片夹(Business Card Holders)", + "price_usd": 4.04, + "weight_lbs": 0.287 + }, + "833753630925": { + "title": "Wide Plaid Fabric Headband for Women - Comfortable Hair Accessory", + "bullets": [ + "Stylish plaid pattern adds elegance and cozy charm to any outfit", + "Wide elastic band securely holds hair without slipping during wear", + "Soft fabric material ensures comfort and prevents pressure on scalp", + "Perfect for face washing, sleeping, and daily casual wear occasions", + "Versatile accessory that easily matches with any style of wardrobe" + ], + "keywords": "wide headband, plaid headband, fabric hair band, women hair accessories, elastic headband, sleep headband, face wash headband, stylish hair accessory", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01s6wxqm1W1TSOTEjRh_!!933462728-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01w5L4dP1W1TSMb6Ms0_!!933462728-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01i8tk6C1W1TSQbVR5x_!!933462728-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01anulWq1W1TSRhP6S1_!!933462728-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01KNAL3F1W1TSOTi9fD_!!933462728-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01CUYUIY1W1TSPcTShZ_!!933462728-0-cib.jpg" + ], + "weight": 100, + "ean": "6980309334324", + "pc": 3432, + "cat_index": 6, + "cat": "时尚头带(Fashion Headbands)", + "price_usd": 3.18, + "weight_lbs": 0.22 + }, + "836512561982": { + "title": "Cute Plush Velvet Cosmetic Case with Bear Design for Girls", + "bullets": [ + "Soft velvet material feels gentle and premium to touch", + "Adorable bear print design perfect for young girls", + "Compact portable size fits easily into your handbag", + "Spacious interior holds brushes, lipstick and small items", + "Durable zipper ensures secure storage for all cosmetics" + ], + "keywords": "cosmetic bag, velvet case, bear design, portable pouch, girl gift, makeup organizer, soft storage, travel accessory", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01RxkZlE1vHq0JmKQVA_!!2215348976148-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01iXveXC1vHq0Kz26uA_!!2215348976148-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Pvi2pp1vHq0HOtKTy_!!2215348976148-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Z1fBSD1vHq0Jg8xlA_!!2215348976148-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01XatUnq1vHq0KHiKcj_!!2215348976148-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01E8l5tL1vHq0JjPZRK_!!2215348976148-0-cib.jpg" + ], + "weight": 130, + "ean": "6980309334331", + "pc": 3433, + "cat_index": 8, + "cat": "化妆包(Makeup Bags)", + "price_usd": 4.52, + "weight_lbs": 0.287 + }, + "853414558425": { + "title": "Soft Silicone Heart Phone Bracelet Keychain Pink Strap", + "bullets": [ + "Made of high-quality soft skin-safe silicone material", + "Securely attaches to phone to prevent drops and loss", + "Ergonomic heart shape ensures comfortable wrist wear", + "Compact and lightweight design perfect for daily use", + "Bright pink color adds style and matches any accessory" + ], + "keywords": "phone bracelet, silicone wristband, phone keychain, anti-drop strap, phone accessory, heart bracelet, pink strap, phone charm, silicone keyring, gift for her", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01PCNEwW2GCRHk1ssaB_!!2211036698979-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Mdkzjv2GCRI8waDXq_!!2211036698979-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01GhQiDH2GCRI6ecCxj_!!2211036698979-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01hoMusI2GCRI7e6mKI_!!2211036698979-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01UptdDL2GCRI6eJ4WX_!!2211036698979-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01hAV82S2GCRHhFhCRj_!!2211036698979-0-cib.jpg" + ], + "weight": 130, + "ean": "6980309334348", + "pc": 3434, + "cat_index": 149, + "cat": "其他手机配件(Other Cell Phone Accessories)", + "price_usd": 3.06, + "weight_lbs": 0.287 + }, + "854003999648": { + "title": "High Elastic Wide Hair Ties Set of 5, Soft No-Break Hair Bands", + "bullets": [ + "High elasticity and durability for frequent daily use", + "Wide design holds hair gently without causing creases", + "Soft material prevents leaving marks or damage on strands", + "Universal style fits any outfit, occasion, and hair type", + "Practical set of 5 pieces in convenient protective packaging" + ], + "keywords": "hair ties set, wide hair bands, elastic hair ties, no break hair ties, soft hair bands, hair ties 5 pack, no crease hair ties, universal hair ties", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01gAVULs1K90bWwPHWu_!!2216020981120-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01HReYKQ1K90e0LLLNu_!!2216020981120-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01uRW6gc1K90e0LMPue_!!2216020981120-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01w2Z2er1K90e6t6ypL_!!2216020981120-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN010KaRKf1K90e4bkge0_!!2216020981120-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01fdM3Tm1K90e6X09cd_!!2216020981120-0-cib.jpg" + ], + "weight": 130, + "ean": "6980309334355", + "pc": 3435, + "cat_index": 67, + "cat": "发夹、别针和夹子(Hair Barrettes, Pins & Clips)", + "price_usd": 3.16, + "weight_lbs": 0.287 + }, + "857781294719": { + "title": "Cute Bunny Ear Hair Clips for Kids with Ribbon Bow, 2 Pcs", + "bullets": [ + "Adorable 3D bunny ears with bow design for little girls", + "Hypoallergenic safe materials gentle on sensitive skin", + "Comfortable grip holds hair securely without pulling pain", + "Perfect for parties photoshoots and daily casual outfits", + "Pack of 2 matching clips create a symmetrical cute look" + ], + "keywords": "children hair clips, bunny ear hair ties, girl hair accessories, cute hair bows, kids hair clips, party hair accessories, toddler hair clips, bunny hair clips", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01dXFhto1ntNZ7D48vY_!!932875147-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01XAFVA11ntNZ8ED1e3_!!932875147-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN018ROdfp1ntNZ3rfaRU_!!932875147-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Acg6wb1ntNZ57M19v_!!932875147-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01nj0RSH1ntNf7EydbI_!!932875147-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Vnotmm1ntNf85naqY_!!932875147-0-cib.jpg" + ], + "weight": 130, + "ean": "6980309334362", + "pc": 3436, + "cat_index": 67, + "cat": "发夹、别针和夹子(Hair Barrettes, Pins & Clips)", + "price_usd": 3.4, + "weight_lbs": 0.287 + }, + "863384503032": { + "title": "Elegant Red Rose Crab Hair Clip for Women Stylish Accessory", + "bullets": [ + "Elegant artificial red rose creates a stylish and feminine look", + "Compact size perfect for securing bangs or side hair strands", + "Reliable crab mechanism ensures strong hold without slipping", + "Vibrant red color adds festive mood for holidays and parties", + "Lightweight material keeps hair comfortable for daily wear" + ], + "keywords": "hair clip, crab clip, red rose, women accessory, hair tie, bangs clip, festive gift, hair ornament", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01WFdkNp1Li6a30TvAu_!!2212835891332-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Zda2cu1Li6a3ftYbS_!!2212835891332-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01DJU0ka1Li6a2waqak_!!2212835891332-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN018fXA631Li6a3fwAmO_!!2212835891332-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN0154JLoO1Li6a0KTikW_!!2212835891332-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01QrdjHh1Li6a4CUyaD_!!2212835891332-0-cib.jpg" + ], + "weight": 100, + "ean": "6980309334379", + "pc": 3437, + "cat_index": 67, + "cat": "发夹、别针和夹子(Hair Barrettes, Pins & Clips)", + "price_usd": 2.96, + "weight_lbs": 0.22 + }, + "863524134410": { + "title": "50pcs Pink Aesthetic Vinyl Stickers for Laptop Suitcase DIY Decor Waterproof", + "bullets": [ + "Set of 50 unique pink aesthetic vinyl stickers", + "Made from durable waterproof vinyl material", + "Perfect for decorating laptops phones and suitcases", + "Easy to apply and remove without residue", + "Bright design for creative DIY personalization" + ], + "keywords": "vinyl stickers, pink aesthetic, laptop decor, suitcase stickers, DIY stickers, waterproof decals, removable stickers, 50 piece set", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01NxOthI1jtbIejFcqp_!!2204108134606-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01wzX1fS1jtbJsPEhYp_!!2204108134606-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01s9BreI1jtbIe2xl0s_!!2204108134606-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Sdrh221jtbIfIixLc_!!2204108134606-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN0171CPVN1jtbIbQiuVb_!!2204108134606-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01iSmRjm1jtbIemWiMM_!!2204108134606-0-cib.jpg" + ], + "weight": 100, + "ean": "6980309334386", + "pc": 3438, + "cat_index": 69, + "cat": "贴纸(Stickers)", + "price_usd": 3.1, + "weight_lbs": 0.22 + }, + "866537106657": { + "title": "Butterfly Resin Buttons for Sweaters Coats Cardigans", + "bullets": [ + "High-quality durable resin material for long-lasting use", + "Elegant butterfly design adds sophistication to any outfit", + "Perfect for decorating sweaters, cardigans, and winter coats", + "Secure construction ensures reliable attachment to fabric", + "Versatile style fits various clothing designs and patterns" + ], + "keywords": "resin buttons, butterfly buttons, sweater buttons, coat buttons, cardigan buttons, decorative buttons, clothing hardware, sewing accessories, fashion buttons, garment fasteners", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01Yu3MGQ1OX3sagfP2T_!!2200837941714-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Ig5fmF1OX3sYDPJ3b_!!2200837941714-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01pupDNT1OX3sZiqkiv_!!2200837941714-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01QIfy2a1OX3sSyUt8U_!!2200837941714-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01BmysN21OX3saaTjNY_!!2200837941714-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN012R28yG1OX3sbJ1NWy_!!2200837941714-0-cib.jpg" + ], + "weight": 100, + "ean": "6980309334393", + "pc": 3439, + "cat_index": 47, + "cat": "缝纫紧固件(Sewing Fasteners)", + "price_usd": 5.09, + "weight_lbs": 0.22 + }, + "893592264148": { + "title": "Cute Plaid Hair Clips & Bands for Kids, Bright Yellow Children's Hair Accessories", + "bullets": [ + "Vibrant yellow plaid design adds a cheerful spring vibe to any outfit.", + "Soft comfortable construction secures strands without pulling or pain.", + "Perfect for styling bangs and side sections for neat, tidy looks.", + "Gentle materials are safe for sensitive children's skin and delicate hair.", + "Versatile style suits school uniforms and festive party occasions alike." + ], + "keywords": "kids hair clips, yellow hair bands, plaid hair accessories, children hair ties, cute hair clips for girls, school hair accessories, spring hair bows, baby hair bands", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01xvp2cf1GX2xCn1Nrh_!!2208013600631-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01T9e6kk1GX2x97QMcz_!!2208013600631-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN017yd7911GX2xBDhGbo_!!2208013600631-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01gEAwbt1GX2x8y7GzH_!!2208013600631-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01cQ5Hdy1Bs32GARQWc_!!0-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01kSV6x91GX2xBDifu0_!!2208013600631-0-cib.jpg" + ], + "weight": 130, + "ean": "6980309334409", + "pc": 3440, + "cat_index": 67, + "cat": "发夹、别针和夹子(Hair Barrettes, Pins & Clips)", + "price_usd": 3.96, + "weight_lbs": 0.287 + }, + "896469995553": { + "title": "Angel Wings & Stars Keychain Y2K Retro Bag Charm Cute Accessory", + "bullets": [ + "Stylish Y2K and 90s retro aesthetic design", + "Charming angel wings and stars add magic", + "Perfect for bags, backpacks, or key decoration", + "Lightweight durable material ensures longevity", + "Ideal gift for anime lovers and cute style fans" + ], + "keywords": "keychain, angel wings, Y2K, retro, bag charm, cute accessory, stars, anime style, key holder, gift for her, fashion jewelry, Japanese style", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01dfH0OL1HFvltR6F90_!!2214979130729-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01vaFnIf1HFvlrK836z_!!2214979130729-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01GqSdFo1HFvltR7BKN_!!2214979130729-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01QFkAlB1HFvltsSKq0_!!2214979130729-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01tOqVnh1HFvls65uEb_!!2214979130729-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01b4kfcz1HFvlvGxFfS_!!2214979130729-0-cib.jpg" + ], + "weight": 130, + "ean": "6980309334416", + "pc": 3441, + "cat_index": 92, + "cat": "钥匙扣(Keychains)", + "price_usd": 3.77, + "weight_lbs": 0.287 + }, + "902440558099": { + "title": "Large Beige Fabric Hair Tie with Pearl for Buns and Low Ponytails", + "bullets": [ + "Large size perfect for voluminous buns and low ponytails", + "Soft fabric base protects hair and prevents creases", + "Decorative pearls add elegance and a retro style touch", + "Strong construction holds even thick and long hair securely", + "Neutral beige color matches any outfit and wardrobe style" + ], + "keywords": "hair tie, large hair tie, pearl hair tie, bun hair tie, fabric hair tie, hair accessories, low ponytail holder, non-damaging hair tie, women's hair ties, retro style hair band", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01HmReEa1ZEFP4sE6KQ_!!2206788333162-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01FI5Gak1ZEFP55mMc7_!!2206788333162-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Jda8sH1ZEFP5f6QVJ_!!2206788333162-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01a0yWZN1ZEFP54b6qm_!!2206788333162-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01bpjWmS1ZEFP3CfQ1y_!!2206788333162-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01fISxQo1ZEFP3CeHJ2_!!2206788333162-0-cib.jpg" + ], + "weight": 130, + "ean": "6980309334423", + "pc": 3442, + "cat_index": 67, + "cat": "发夹、别针和夹子(Hair Barrettes, Pins & Clips)", + "price_usd": 4.08, + "weight_lbs": 0.287 + }, + "944470567338": { + "title": "Korean Style Plaid Triangle Hair Clip with Decorative Button", + "bullets": [ + "Stylish triangle design for neat and secure hair styling", + "Elegant plaid pattern featuring a decorative button accent", + "Reliable grip prevents slipping while protecting hair from pain", + "Lightweight material ensures all-day comfort for daily wear", + "Versatile accessory perfect for creating trendy Korean fashion looks" + ], + "keywords": "hair clip, triangle hair clip, Korean fashion, hair accessory, plaid hair clip, women's hair clips, hair styling, trendy accessory, button hair clip", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01CBb1Ge2NT74SeDXXx_!!933979963-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01Kibm1U2NT74OHkyjl_!!933979963-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01ldnxDI2NT74T8EVQc_!!933979963-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01aawtfy2NT74T8CE4a_!!933979963-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN010Q2EsA2NT74UGm3dd_!!933979963-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01x8HUgE2NT74TAtGET_!!933979963-0-cib.jpg" + ], + "weight": 100, + "ean": "6980309334430", + "pc": 3443, + "cat_index": 67, + "cat": "发夹、别针和夹子(Hair Barrettes, Pins & Clips)", + "price_usd": 3.32, + "weight_lbs": 0.22 + }, + "953869908708": { + "title": "Transparent Window Stickers Christmas Snowflakes & Cats for Shop Display", + "bullets": [ + "Clear vinyl base maintains full visibility through glass", + "Bright snowflakes and cartoon cats create festive holiday mood", + "Easy to apply on clean surfaces and remove without residue", + "Perfect for decorating shop windows, offices, and home decor", + "Compact size allows creating dense and striking decorative patterns" + ], + "keywords": "christmas window stickers,transparent glass decals,shop display stickers,cat snowflake stickers,holiday window decor,clear vinyl stickers,office window stickers,new year decorations,retail window stickers,festive window decals", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01VAbxVA26BqgCKAL09_!!2986907624-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01mljG3326BqgC350WD_!!2986907624-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN010YyqLz26BqgCM3Ugr_!!2986907624-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01oi0tN426BqgbjyoYx_!!2986907624-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN019TmlN626BqgC36x5l_!!2986907624-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01arsGZ226BqgCsLVwv_!!2986907624-0-cib.jpg" + ], + "weight": 130, + "ean": "6980309334447", + "pc": 3444, + "cat_index": 18, + "cat": "墙贴和贴纸(Wall Decals & Stickers)", + "price_usd": 2.98, + "weight_lbs": 0.287 + }, + "997450831819": { + "title": "Matte PET Emoji Stickers for Goodnotes & Scrapbooking, 10 Sheets Waterproof", + "bullets": [ + "Made from durable waterproof PET material", + "Matte surface prevents glare and fingerprints", + "Perfect for decorating Goodnotes and notebooks", + "Easy to cut allowing precise custom shapes", + "10 sheets set ensures long-lasting use" + ], + "keywords": "pet stickers, goodnotes stickers, emoji stickers, scrapbooking stickers, notebook decor, waterproof stickers, matte stickers, handmade stickers, planner stickers, face stickers", + "imgs": [ + "https://cbu01.alicdn.com/img/ibank/O1CN01XmOhS41JSPrqQuope_!!2217233001027-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01M5BAoT1JSPrq5L90T_!!2217233001027-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01EOqmrN1JSPrp0ZXL1_!!2217233001027-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01JEBsX91JSPrpvzNyU_!!2217233001027-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN01WaiPP71JSPrpw1fSU_!!2217233001027-0-cib.jpg", + "https://cbu01.alicdn.com/img/ibank/O1CN011aTMGx1JSPrkKUMkJ_!!2217233001027-0-cib.jpg" + ], + "weight": 100, + "ean": "6980309334454", + "pc": 3445, + "cat_index": 69, + "cat": "贴纸(Stickers)", + "price_usd": 2.7, + "weight_lbs": 0.22 + } +} \ No newline at end of file diff --git a/walmart建品/wm_map.json b/walmart建品/wm_map.json new file mode 100644 index 0000000..2e48667 --- /dev/null +++ b/walmart建品/wm_map.json @@ -0,0 +1,117 @@ +{ + "stores": [ + "walmartAddStore", + "walmartBasicStore", + "walmartProductStore", + "walmartAttrStore", + "walmartImgStore", + "walmartDescStore", + "walmartPackStore", + "walmartSupplementStore", + "walmartAddVariationStore", + "walmartDxmInfoStore", + "walmartAddThemeStore", + "walmartPriceShippingStore" + ], + "items": [ + { + "lab": "店铺账号", + "req": true, + "kind": "select", + "val": "Snowmountain" + }, + { + "lab": "新版产品分类", + "req": true, + "kind": "input", + "val": "" + }, + { + "lab": "是否为单品", + "req": false, + "kind": "input", + "val": "false" + }, + { + "lab": "店小秘分类", + "req": false, + "kind": "-", + "val": "" + }, + { + "lab": "来源URL", + "req": false, + "kind": "input", + "val": "" + }, + { + "lab": "产品属性", + "req": false, + "kind": "-", + "val": "" + }, + { + "lab": "单位数量单价", + "req": false, + "kind": "input", + "val": "" + }, + { + "lab": "库存", + "req": true, + "kind": "input", + "val": "" + }, + { + "lab": "产品图片", + "req": true, + "kind": "-", + "val": "" + }, + { + "lab": "产品描述", + "req": true, + "kind": "textarea", + "val": "" + }, + { + "lab": "key feature", + "req": true, + "kind": "textarea", + "val": "" + } + ], + "dump": { + "walmartAddStore": { + "sharedData.isTemplateQuoting": "false", + "sharedData.isVariationTemplateEditing": "false", + "sharedData.pageType": "add", + "attrsInfo.hasPpuQuantity": "false", + "defaultAttrsInfo.hasPpuQuantity": "false" + }, + "walmartBasicStore": { + "formState.shopId": "7661631", + "formState.hasVariant": "false" + }, + "walmartProductStore": { + "formState.productIdType": "UPC", + "dataState.skuChecked": "false", + "dataState.productIdChecked": "false" + }, + "walmartAttrStore": { + "formState.isNoBrand": "false" + }, + "walmartImgStore": {}, + "walmartDescStore": {}, + "walmartPackStore": {}, + "walmartSupplementStore": {}, + "walmartAddVariationStore": { + "fieldProductIdType": "UPC", + "baseState.skuChecked": "false", + "baseState.upcChecked": "false" + }, + "walmartDxmInfoStore": {}, + "walmartAddThemeStore": {}, + "walmartPriceShippingStore": {} + } +} \ No newline at end of file diff --git a/walmart建品/wmbatch.mjs b/walmart建品/wmbatch.mjs new file mode 100644 index 0000000..5971e19 --- /dev/null +++ b/walmart建品/wmbatch.mjs @@ -0,0 +1,140 @@ +import { newTarget, CDP, SAN } from '/tmp/cdp3.mjs'; +import fs from 'fs'; + +/* ── Walmart (Snowmountain, shopId 7661631) 建品配方 ── + node wmbatch.mjs <oid> + 选店铺 → 选类目(索引) → Product Name/SKU/UPC(EAN)/Brand → 价格+库存+运输重量 + → 图片 → 描述+key feature → 保存 → 回读 */ + +const OID = process.argv[2]; +if (!OID) { console.log('用法: node wmbatch.mjs <oid>'); process.exit(1); } +const IN = JSON.parse(fs.readFileSync('/tmp/wm_input.json', 'utf8'))[OID]; +if (!IN) { console.log('无输入数据', OID); process.exit(1); } +const CATS = JSON.parse(fs.readFileSync('/tmp/wm_cats.json', 'utf8')); +const CAT = CATS[IN.cat_index]; + +const SHOP = 'Snowmountain'; +const SKU = 'WM-' + OID; +const BRAND = process.env.WM_BRAND || 'Generic'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const log = (...a) => console.log(' ', ...a); + +const tl = await (await fetch('http://127.0.0.1:9223/json/list')).json(); +let k = 0; +for (const t of tl.filter(x => x.type === 'page' && /walmart/i.test(x.url))) { await fetch(`http://127.0.0.1:9223/json/close/${t.id}`).catch(() => {}); k++; } +if (k) { log(`清理 walmart 页 ${k} 个`); await wait(1200); } + +const t = await newTarget('about:blank'); +const c = await CDP.connect(t.webSocketDebuggerUrl); +await c.send('Page.enable'); await c.send('Runtime.enable'); +await c.send('Page.navigate', { url: 'https://www.dianxiaomi.com/web/walmartProduct/add' }); +await wait(24000); + +// 1. 店铺 +const spos = JSON.parse(String(await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/店铺/.test(l.innerText||'');}); + const s=it.querySelector('.ant-select-selector'); s.scrollIntoView({block:'center'}); const r=s.getBoundingClientRect(); + return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); +for (const type of ['mousePressed', 'mouseReleased']) await c.send('Input.dispatchMouseEvent', { type, x: spos[0], y: spos[1], button: 'left', clickCount: 1 }); +await wait(2500); +const pk = await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop(); + if(!dd)return'no-dd'; const hit=[...dd.querySelectorAll('.ant-select-item-option')].find(o=>new RegExp('^\\\\s*${SHOP}\\\\s*$','i').test(o.innerText||'')); + if(!hit)return'no-hit'; for(const ev of ['mousedown','mouseup','click']) hit.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return 'ok';})()`); +log('1) 店铺:', pk); +await wait(9000); + +// 2. 类目 +await c.evalJS(`document.body.dispatchEvent(new MouseEvent('mousedown',{bubbles:true}));document.body.click();`); +await wait(1200); +const cpos = JSON.parse(String(await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/产品分类/.test(l.innerText||'');}); + const s=it.querySelector('.ant-select-selector'); s.scrollIntoView({block:'center'}); const r=s.getBoundingClientRect(); + return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); +for (const type of ['mousePressed', 'mouseReleased']) await c.send('Input.dispatchMouseEvent', { type, x: cpos[0], y: cpos[1], button: 'left', clickCount: 1 }); +await wait(3000); +let catRes = 'nf'; +for (let i = 0; i < 70; i++) { + const r = await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop(); + if(!dd)return'no-dd'; const target=${JSON.stringify(CAT)}; + const hit=[...dd.querySelectorAll('.ant-select-item-option')].find(o=>(o.innerText||'').trim()===target); + if(!hit)return'scroll'; + for(const ev of ['mousedown','mouseup','click']) hit.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); + return 'picked';})()`); + if (r === 'picked') { catRes = 'picked:' + CAT; break; } + if (r === 'no-dd') { catRes = 'no-dd'; break; } + await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop(); + if(!dd)return 0; const rc=dd.querySelector('.rc-virtual-list-holder')||dd; rc.scrollTop=rc.scrollTop+340; return rc.scrollTop;})()`); + await wait(330); +} +log('2) 类目:', catRes); +if (catRes === 'nf' || catRes === 'no-dd') { log('❌ 类目未选中,中止'); process.exit(2); } +await wait(16000); + +// 3. 全部字段直填 store +const wr = await c.evalJS(`(()=>{const p=document.querySelector('#app').__vue_app__.config.globalProperties.$pinia; + const g=n=>p._s.get(n).$state; + const basic=g('walmartBasicStore').formState; + basic.hasVariant=false; + const pr=g('walmartProductStore').formState; + pr.productName=${JSON.stringify(IN.title)}; + pr.productIdType='UPC'; + pr.productId=${JSON.stringify(IN.ean)}; + pr.sku=${JSON.stringify(SKU)}; + const at=g('walmartAttrStore').formState; + at.brand=${JSON.stringify(BRAND)}; + const ps=g('walmartPriceShippingStore').formState; + ps.price=${JSON.stringify(String(IN.price_usd))}; + ps.inventory='999'; + ps.shippingWeight=${JSON.stringify(String(IN.weight_lbs))}; + const ds=g('walmartDescStore').formState; + ds.description=${JSON.stringify(IN.bullets.map(b => '• ' + b).join('<br>'))}; + ds.keyFeatures=${JSON.stringify(IN.bullets.slice(0, 3).map(b => b.slice(0, 100)))}; + const im=g('walmartImgStore').formState; + const urls=${JSON.stringify(IN.imgs)}; + im.mainImage=urls.map((u,i)=>({url:u,imgUrl:u,name:'img'+(i+1)+'.jpg',width:800,height:800})); + return JSON.stringify({name:pr.productName.length, upc:pr.productId, price:ps.price, w:ps.shippingWeight, imgs:urls.length, kf:ds.keyFeatures.length});})()`); +log('3) 字段:', wr); +await wait(2500); + +// 3b. DOM 兜底:把关键文本字段再按真实事件写一遍(Brand/价格/库存/重量等 store 不绑 DOM) +const setByLabel = (rx, val) => c.evalJS(`(()=>{ + const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&new RegExp(${JSON.stringify(rx)}).test(l.innerText||'');}); + if(!it)return'nf'; + const el=it.querySelector('textarea')||it.querySelector('input:not([type=hidden])'); + if(!el)return'no-el'; + const proto=el.tagName==='TEXTAREA'?window.HTMLTextAreaElement.prototype:window.HTMLInputElement.prototype; + Object.getOwnPropertyDescriptor(proto,'value').set.call(el, ${JSON.stringify(String(val))}); + el.dispatchEvent(new Event('input',{bubbles:true})); el.dispatchEvent(new Event('change',{bubbles:true})); el.dispatchEvent(new Event('blur',{bubbles:true})); + return 'ok';})()`); +const fills = [ + ['Product Name|产品名称', IN.title], + ['^\\s*SKU', SKU], + ['^\\s*Brand|品牌', BRAND], + ['^\\s*价格', String(IN.price_usd)], + ['^\\s*库存', '999'], + ['运输重量', String(IN.weight_lbs)], + ['产品描述', IN.bullets.map(b => '• ' + b).join('\n')], + ['key feature', IN.bullets.slice(0, 3).join('\n')], +]; +const fillRes = []; +for (const [rx, v] of fills) fillRes.push(rx.split('|')[0] + '=' + (await setByLabel(rx, v))); +log('3b) DOM兜底:', fillRes.join(' ')); +await wait(2000); + +// 4. 保存 +const sv = await c.evalJS(`(()=>{const b=[...document.querySelectorAll('button,a,span')].filter(e=>e.offsetParent!==null&&/^\\s*保存\\s*$/.test(e.innerText||'')); + if(!b.length)return'nf'; for(const ev of ['mousedown','mouseup','click']) b[b.length-1].dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return 'clicked';})()`); +log('4) 保存:', sv); +const seen = []; +for (let i = 0; i < 18; i++) { + await wait(700); + const m = await c.evalJS(`(()=>{const ms=[...document.querySelectorAll('.ant-message-notice,.ant-notification-notice,.ant-modal-confirm')].map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim()).filter(Boolean); return JSON.stringify(ms.slice(0,3));})()`); + JSON.parse(String(m)).forEach(x => seen.push(x)); +} +log('5) 提示:', SAN([...new Set(seen)].join(' || ')).slice(0, 420) || '(无)'); +const er = await c.evalJS(`(()=>{const e=[...document.querySelectorAll('.ant-form-item-has-error')].map(x=>{const l=x.querySelector('label'); return (l?l.innerText.trim():'?');}); + return JSON.stringify([...new Set(e)].slice(0,8));})()`); +log('6) 仍报错的字段:', SAN(String(er)).slice(0, 200)); +await c.shot('/tmp/wm_pilot.jpeg').catch(() => {}); +process.exit(0); diff --git a/walmart建品/wmfix_done.json b/walmart建品/wmfix_done.json new file mode 100644 index 0000000..b112c5c --- /dev/null +++ b/walmart建品/wmfix_done.json @@ -0,0 +1,278 @@ +{ + "1027332215847": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 4", + "save": "保存: 成功", + "ok": true + }, + "547183997437": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "548459586741": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "591994902720": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "607330049419": { + "brand": "brand 现值: Unbranded", + "imgs": "补后图片数: 4", + "save": "保存: 成功", + "ok": true + }, + "610164857063": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "621300323670": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "623011262210": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "627879474686": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "639409307567": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "641673262387": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "657617635303": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "661190598139": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "676236596821": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "682195499823": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "685456757807": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "694637537727": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "698782391248": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "703822717997": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "707826905566": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "708420302844": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "714492799386": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "719391062058": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "726442972676": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "735147938123": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "739147684759": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "750271307455": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 5", + "save": "保存: 成功", + "ok": true + }, + "774494945453": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "775057912118": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "787261097583": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "823560564174": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "823838532886": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "833753630925": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "836512561982": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "853414558425": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "854003999648": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "857781294719": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "863384503032": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "863524134410": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "866537106657": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "893592264148": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "896469995553": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "902440558099": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "944470567338": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "953869908708": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + }, + "997450831819": { + "brand": "brand 现值: Generic", + "imgs": "补后图片数: 6", + "save": "保存: 成功", + "ok": true + } +} \ No newline at end of file diff --git a/walmart建品/wmfixone.mjs b/walmart建品/wmfixone.mjs new file mode 100644 index 0000000..fe546be --- /dev/null +++ b/walmart建品/wmfixone.mjs @@ -0,0 +1,80 @@ +import { attach } from '/tmp/cdp3.mjs'; +import fs from 'fs'; +/* 给已存在的 Walmart 产品补:无品牌 + 网络图片 */ +const PID = process.argv[2]; +const OID = process.argv[3]; +const IN = JSON.parse(fs.readFileSync('/tmp/wm_input.json','utf8'))[OID]; +if(!PID||!IN){ console.log('用法: node wmfixone.mjs <pid> <oid>'); process.exit(1); } +const wait = ms => new Promise(z => setTimeout(z, ms)); +const log=(...a)=>console.log(' ',...a); +const tl=await (await fetch('http://127.0.0.1:9223/json/list')).json(); +for(const t of tl.filter(x=>x.type==='page'&&/walmart/i.test(x.url))) await fetch(`http://127.0.0.1:9223/json/close/${t.id}`).catch(()=>{}); +await wait(1000); +const t=await (await import('/tmp/cdp3.mjs')).newTarget('about:blank'); +const {CDP}=await import('/tmp/cdp3.mjs'); +const c=await CDP.connect(t.webSocketDebuggerUrl); +await c.send('Page.enable'); await c.send('Runtime.enable'); +await c.send('Page.navigate',{url:`https://www.dianxiaomi.com/web/walmartProduct/edit?id=${PID}`}); +await wait(24000); +// 1. 无品牌 +const br=await c.evalJS(`(()=>{const lab=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/Brand/.test(l.innerText||'');}); + if(!lab)return'nf'; + const inp=lab.querySelector('input[name=brand]'); + if(inp&&inp.value&&inp.value!=='')return 'already:'+inp.value; + const cb=[...lab.querySelectorAll('.ant-checkbox-wrapper')].find(e=>/无品牌/.test(e.innerText||'')); + if(!cb)return'no-cb'; + for(const ev of ['mousedown','mouseup','click']) cb.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); + const i2=cb.querySelector('input[type=checkbox]'); if(i2) i2.click(); + return 'clicked';})()`); +log('无品牌:',br); +await wait(2000); +const bv=await c.evalJS(`(()=>{const lab=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/Brand/.test(l.innerText||'');}); + const inp=lab?lab.querySelector('input[name=brand]'):null; return inp?inp.value:'?';})()`); +log('brand 现值:', String(bv)); +// 2. 图片(若已有则跳过) +const cur=await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/产品图片/.test(l.innerText||'');}); + const m=(it?it.innerText:'').match(/已经选用了\\s*(\\d+)\\s*张/); return m?Number(m[1]):-1;})()`); +log('已有图片数:', String(cur)); +if (Number(cur) < 4) { + const pos=JSON.parse(String(await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/产品图片/.test(l.innerText||'');}); + const b=[...it.querySelectorAll('button')].find(e=>/选择图片/.test(e.innerText||'')); + b.scrollIntoView({block:'center'}); const r=b.getBoundingClientRect(); + return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); + await c.send('Input.dispatchMouseEvent',{type:'mouseMoved',x:pos[0],y:pos[1]}); await wait(1500); + await c.send('Input.dispatchMouseEvent',{type:'mouseMoved',x:pos[0]+2,y:pos[1]+2}); await wait(2200); + const hit=JSON.parse(String(await c.evalJS(`(()=>{const d=[...document.querySelectorAll('.ant-dropdown')].filter(e=>e.offsetParent!==null).pop(); + if(!d)return'[]'; const it=[...d.querySelectorAll('li,.ant-dropdown-menu-item')].find(e=>/网络图片/.test(e.innerText||'')); + if(!it)return'[]'; const r=it.getBoundingClientRect(); return JSON.stringify([Math.round(r.x+r.width/2),Math.round(r.y+r.height/2)]);})()`))); + if(hit.length){ await c.send('Input.dispatchMouseEvent',{type:'mouseMoved',x:hit[0],y:hit[1]}); await wait(300); + for(const type of ['mousePressed','mouseReleased']) await c.send('Input.dispatchMouseEvent',{type,x:hit[0],y:hit[1],button:'left',clickCount:1}); } + await wait(4000); + const f=await c.evalJS(`(()=>{const m=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null).pop(); + if(!m)return'no-modal'; const ta=m.querySelector('textarea'); if(!ta)return'no-ta'; + ta.focus(); Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,'value').set.call(ta, ${JSON.stringify((IN.imgs||[]).join('\n'))}); + ta.dispatchEvent(new Event('input',{bubbles:true})); ta.dispatchEvent(new Event('change',{bubbles:true})); + return 'n='+ta.value.split('\\n').filter(Boolean).length;})()`); + log('填URL:', f); + await wait(1200); + await c.evalJS(`(()=>{const m=[...document.querySelectorAll('.ant-modal')].filter(e=>e.offsetParent!==null).pop(); + if(!m)return 0; const b=[...m.querySelectorAll('button')].find(x=>/^\\s*添加\\s*$/.test(x.innerText||'')); + if(b) for(const ev of ['mousedown','mouseup','click']) b.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return 1;})()`); + await wait(15000); +} +const after=await c.evalJS(`(()=>{const it=[...document.querySelectorAll('.ant-form-item')].filter(e=>e.offsetParent!==null) + .find(x=>{const l=x.querySelector('label'); return l&&/产品图片/.test(l.innerText||'');}); + const m=(it?it.innerText:'').match(/已经选用了\\s*(\\d+)\\s*张/); return m?Number(m[1]):-1;})()`); +log('补后图片数:', String(after)); +// 3. 保存 +await c.evalJS(`(()=>{const b=[...document.querySelectorAll('button')].filter(e=>e.offsetParent!==null&&/^\\s*保存\\s*$/.test((e.innerText||'').trim())); + const el=b[b.length-1]; el.scrollIntoView({block:'center'}); + for(const ev of ['mousedown','mouseup','click']) el.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return 1;})()`); +let ok=false; +for(let i=0;i<16;i++){ await wait(800); + const m=await c.evalJS(`(()=>[...document.querySelectorAll('.ant-modal,.ant-message-notice')].some(e=>e.offsetParent!==null&&/成功/.test(e.innerText||'')))()`); + if(m){ ok=true; break; } } +log('保存:', ok?'成功':'未见成功提示'); +process.exit(ok?0:3); diff --git a/速卖通建品/smt_batch_done.json b/速卖通建品/smt_batch_done.json new file mode 100644 index 0000000..84ca6b9 --- /dev/null +++ b/速卖通建品/smt_batch_done.json @@ -0,0 +1,433 @@ +{ + "548459586741": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kw": "whistle", + "time": "2026-09-19T09:43:14.224Z" + }, + "627879474686": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kw": "socks", + "time": "2026-09-19T09:49:34.908Z" + }, + "735147938123": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "headband", + "hair" + ], + "time": "2026-09-19T09:58:13.215Z" + }, + "764423265986": { + "ok": false, + "msg": "[]", + "imgs": 6, + "kws": [ + "thermometer", + "hygrometer" + ], + "time": "2026-09-20T07:43:15.046Z" + }, + "610164857063": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "headband", + "hair" + ], + "time": "2026-09-19T10:02:44.735Z" + }, + "676236596821": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "clip", + "hair" + ], + "time": "2026-09-19T10:04:28.203Z" + }, + "866537106657": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "button" + ], + "time": "2026-09-19T10:06:11.668Z" + }, + "863524134410": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "sticker" + ], + "time": "2026-09-19T10:07:55.135Z" + }, + "623011262210": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "sticker" + ], + "time": "2026-09-19T10:09:38.601Z" + }, + "714492799386": { + "ok": false, + "msg": "分类失败:makeup bag → noresult [modal未关/无cat]" + }, + "997450831819": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "sticker" + ], + "time": "2026-09-19T10:12:19.863Z" + }, + "639409307567": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "sticker" + ], + "time": "2026-09-19T10:14:03.296Z" + }, + "698782391248": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "sticker" + ], + "time": "2026-09-19T10:15:46.706Z" + }, + "707826905566": { + "ok": false, + "msg": "[]", + "imgs": 6, + "kws": [ + "card holder", + "wallet" + ], + "time": "2026-09-20T07:53:22.225Z" + }, + "1027332215847": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 4, + "kws": [ + "box" + ], + "time": "2026-09-19T10:18:27.975Z" + }, + "682195499823": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "pencil case", + "brush" + ], + "time": "2026-09-20T07:56:07.816Z" + }, + "739147684759": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "button" + ], + "time": "2026-09-19T10:21:09.254Z" + }, + "944470567338": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "clip", + "hair" + ], + "time": "2026-09-19T10:22:52.766Z" + }, + "787261097583": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "clip", + "hair" + ], + "time": "2026-09-19T10:24:36.330Z" + }, + "833753630925": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "headband", + "hair" + ], + "time": "2026-09-19T10:26:19.820Z" + }, + "863384503032": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "clip", + "hair" + ], + "time": "2026-09-19T10:28:03.320Z" + }, + "774494945453": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "keychain" + ], + "time": "2026-09-19T10:29:46.680Z" + }, + "661190598139": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "hair", + "hairband" + ], + "time": "2026-09-19T10:31:30.243Z" + }, + "685456757807": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "yarn" + ], + "time": "2026-09-19T10:33:13.720Z" + }, + "708420302844": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "keychain" + ], + "time": "2026-09-19T10:34:57.167Z" + }, + "547183997437": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "necklace" + ], + "time": "2026-09-19T10:36:40.675Z" + }, + "657617635303": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "clip", + "hair" + ], + "time": "2026-09-19T10:38:24.097Z" + }, + "641673262387": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "earring" + ], + "time": "2026-09-19T10:40:07.524Z" + }, + "953869908708": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "sticker" + ], + "time": "2026-09-19T10:41:50.993Z" + }, + "703822717997": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "clip", + "hair" + ], + "time": "2026-09-19T10:43:34.366Z" + }, + "694637537727": { + "ok": false, + "msg": "分类失败:insulated bag → noresult [modal未关/无cat]" + }, + "836512561982": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "box" + ], + "time": "2026-09-19T10:46:15.578Z" + }, + "591994902720": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "pencil case", + "pen bag" + ], + "time": "2026-09-20T07:50:36.285Z" + }, + "853414558425": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "keychain" + ], + "time": "2026-09-19T10:48:56.820Z" + }, + "902440558099": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "hair", + "hairband" + ], + "time": "2026-09-19T10:50:40.305Z" + }, + "823838532886": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "card" + ], + "time": "2026-09-19T10:52:23.793Z" + }, + "823560564174": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "hair", + "hairband" + ], + "time": "2026-09-19T10:54:07.265Z" + }, + "621300323670": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "tape" + ], + "time": "2026-09-19T10:55:50.760Z" + }, + "896469995553": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "keychain" + ], + "time": "2026-09-19T10:57:34.189Z" + }, + "719391062058": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "storage box", + "organizer" + ], + "time": "2026-09-20T07:58:53.640Z" + }, + "857781294719": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "clip", + "hair" + ], + "time": "2026-09-19T11:00:15.538Z" + }, + "750271307455": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 5, + "kws": [ + "keychain" + ], + "time": "2026-09-19T11:01:58.924Z" + }, + "726442972676": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "clip", + "hair" + ], + "time": "2026-09-19T11:03:42.512Z" + }, + "775057912118": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "keychain" + ], + "time": "2026-09-19T11:05:25.954Z" + }, + "893592264148": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "clip", + "hair" + ], + "time": "2026-09-19T11:07:09.457Z" + }, + "607330049419": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "hair", + "hairband" + ], + "time": "2026-09-19T11:08:53.317Z" + }, + "854003999648": { + "ok": true, + "msg": "[\"消息提示 您的产品已保存到「 待发布」,请在待发布页完成发布! 创建新产品继续编辑\"]", + "imgs": 6, + "kws": [ + "hair", + "hairband" + ], + "time": "2026-09-19T11:10:36.759Z" + } +} \ No newline at end of file diff --git a/速卖通建品/smt_check.json b/速卖通建品/smt_check.json new file mode 100644 index 0000000..f5d8af1 --- /dev/null +++ b/速卖通建品/smt_check.json @@ -0,0 +1 @@ +[{"oid":"548459586741","batch":"OK","found":2,"id":"184807708921479685","cat":"202213618","subj":"6.5cm Colorful Plastic Party Whistles fo"},{"oid":"661190598139","batch":"OK","found":1,"id":"184807708921552911","cat":"201223336","subj":"Retro Hair Tie with Crystal Pendant for "},{"oid":"764423265986","batch":"FAIL","found":0,"id":"","cat":"","subj":""},{"oid":"685456757807","batch":"OK","found":1,"id":"184807708921553779","cat":"200001531","subj":"Pure Natural Cotton Yarn for Baby Knitti"},{"oid":"735147938123","batch":"OK","found":1,"id":"184807708921513553","cat":"201303801","subj":"Wide Denim Retro Hair Band for Women Col"},{"oid":"627879474686","batch":"OK","found":1,"id":"184807708921502753","cat":"202220055","subj":"Cotton Cartoon Print High Socks for Girl"},{"oid":"610164857063","batch":"OK","found":1,"id":"184807708921526779","cat":"201303801","subj":"Breathable Sports Headband Non-Slip Runn"},{"oid":"676236596821","batch":"OK","found":1,"id":"184807708921530261","cat":"200352146","subj":"Cute Cartoon Baby Hair Clips Set, 3 Pcs "},{"oid":"708420302844","batch":"OK","found":1,"id":"184807708921554161","cat":"200387151","subj":"Brass Keychain with 12 Zodiac Signs & 5 "},{"oid":"866537106657","batch":"OK","found":1,"id":"184807708921535221","cat":"200127142","subj":"Butterfly Resin Buttons for Sweaters Coa"},{"oid":"547183997437","batch":"OK","found":1,"id":"184807708921555383","cat":"200001699","subj":"Cute Horse Pendant Necklace Set Silver J"},{"oid":"657617635303","batch":"OK","found":1,"id":"184807708921556577","cat":"200352146","subj":"Clear Magnetic Paperclip Box with Pastel"},{"oid":"641673262387","batch":"OK","found":1,"id":"184807708921557607","cat":"200001691","subj":"Organza Jewelry Pouch Bag with Drawstrin"},{"oid":"953869908708","batch":"OK","found":1,"id":"184807708921558109","cat":"200003295","subj":"Transparent Window Stickers Christmas Sn"},{"oid":"703822717997","batch":"OK","found":1,"id":"184807708921558801","cat":"200352146","subj":"Stainless Steel Spring Clip for Notebook"},{"oid":"863524134410","batch":"OK","found":1,"id":"184807708921536363","cat":"200003295","subj":"50pcs Pink Aesthetic Vinyl Stickers for "},{"oid":"694637537727","batch":"FAIL","found":0,"id":"","cat":"","subj":""},{"oid":"623011262210","batch":"OK","found":1,"id":"184807708921537457","cat":"200003295","subj":"Transparent Snowflake Window Stickers fo"},{"oid":"836512561982","batch":"OK","found":1,"id":"184807708921559613","cat":"37042004","subj":"Cute Plush Velvet Cosmetic Case with Bea"},{"oid":"714492799386","batch":"FAIL","found":0,"id":"","cat":"","subj":""},{"oid":"591994902720","batch":"OK","found":1,"id":"184807708922339527","cat":"211113","subj":"Cute Cat Pencil Case with Moving Ears an"},{"oid":"853414558425","batch":"OK","found":1,"id":"184807708921560431","cat":"200387151","subj":"Soft Silicone Heart Phone Bracelet Keych"},{"oid":"997450831819","batch":"OK","found":1,"id":"184807708921538449","cat":"200003295","subj":"Matte PET Emoji Stickers for Goodnotes &"},{"oid":"639409307567","batch":"OK","found":1,"id":"184807708921540367","cat":"200003295","subj":"3D Glowing Butterfly Wall Stickers, Magn"},{"oid":"902440558099","batch":"OK","found":1,"id":"184807708921561153","cat":"201223336","subj":"Large Beige Fabric Hair Tie with Pearl f"},{"oid":"823838532886","batch":"OK","found":1,"id":"184807708921562235","cat":"200364150","subj":"Cute Cartoon Cat Key Card Holder for Met"},{"oid":"698782391248","batch":"OK","found":1,"id":"184807708921542239","cat":"200003295","subj":"Boho Style White PVC Laptop Stickers 10c"},{"oid":"707826905566","batch":"FAIL","found":0,"id":"","cat":"","subj":""},{"oid":"1027332215847","batch":"OK","found":1,"id":"184807708921544281","cat":"37042004","subj":"Silver Matte Tin Photo Box with Clear Wi"},{"oid":"682195499823","batch":"OK","found":1,"id":"184807708922342261","cat":"211113","subj":"96-Cell Brush Organizer Case for Waterco"},{"oid":"823560564174","batch":"OK","found":1,"id":"184807708921564695","cat":"201223336","subj":"Cute Heart Hair Ties Set, Soft Elastic B"},{"oid":"739147684759","batch":"OK","found":1,"id":"184807708921545827","cat":"200127142","subj":"Metallic Rectangular Coat Buttons with L"},{"oid":"621300323670","batch":"OK","found":1,"id":"184807708921568715","cat":"40512","subj":"Round Transparent Desktop Tape Dispenser"},{"oid":"601964534137","batch":"-","found":0,"id":"","cat":"","subj":""},{"oid":"896469995553","batch":"OK","found":1,"id":"184807708921569227","cat":"200387151","subj":"Angel Wings & Stars Keychain Y2K Retro B"},{"oid":"944470567338","batch":"OK","found":1,"id":"184807708921546567","cat":"200352146","subj":"Korean Style Plaid Triangle Hair Clip wi"},{"oid":"787261097583","batch":"OK","found":1,"id":"184807708921548291","cat":"200352146","subj":"Transparent Crab Hair Clips with Hearts,"},{"oid":"833753630925","batch":"OK","found":1,"id":"184807708921549201","cat":"201303801","subj":"Wide Plaid Fabric Headband for Women - C"},{"oid":"719391062058","batch":"OK","found":2,"id":"184807708922343565","cat":"201222631","subj":"Clear Cosmetic Organizer with 6 Drawers "},{"oid":"857781294719","batch":"OK","found":1,"id":"184807708921570197","cat":"200352146","subj":"Cute Bunny Ear Hair Clips for Kids with "},{"oid":"863384503032","batch":"OK","found":1,"id":"184807708921550767","cat":"200352146","subj":"Elegant Red Rose Crab Hair Clip for Wome"},{"oid":"774494945453","batch":"OK","found":1,"id":"184807708921551555","cat":"200387151","subj":"Stainless Steel Cat Keychain with Fish C"},{"oid":"750271307455","batch":"OK","found":1,"id":"184807708921571655","cat":"200387151","subj":"Romantic Heart Keychain for Couples Silv"},{"oid":"726442972676","batch":"OK","found":1,"id":"184807708921574391","cat":"200352146","subj":"Cute Cartoon Animal Mini Hair Clips for "},{"oid":"775057912118","batch":"OK","found":1,"id":"184807708921575013","cat":"200387151","subj":"Stainless Steel Keychain with English Le"},{"oid":"893592264148","batch":"OK","found":1,"id":"184807708921575647","cat":"200352146","subj":"Cute Plaid Hair Clips & Bands for Kids, "},{"oid":"607330049419","batch":"OK","found":1,"id":"184807708921576025","cat":"201223336","subj":"50 Pcs Elastic Thin Hair Ties for Women "},{"oid":"854003999648","batch":"OK","found":1,"id":"184807708921576857","cat":"201223336","subj":"High Elastic Wide Hair Ties Set of 5, So"}] \ No newline at end of file diff --git a/速卖通建品/smtbatch.mjs b/速卖通建品/smtbatch.mjs new file mode 100644 index 0000000..ed5e412 --- /dev/null +++ b/速卖通建品/smtbatch.mjs @@ -0,0 +1,256 @@ +import { newTarget, CDP, SAN } from '/tmp/cdp3.mjs'; +import fs from 'fs'; + +/* 速卖通批量建品(全自动):分类走 UI 弹窗搜索,其余按已验证配方 */ +const SHOP = 4024039; +const FREIGHT_NAME = process.argv[2] || 'MY beauty 30g+1美金'; +const ONLY = process.argv[3]; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const log = (...a) => console.log(' ', ...a); + +const EN = JSON.parse(fs.readFileSync('/tmp/en_all.json', 'utf8')); +const CLEAN = JSON.parse(fs.readFileSync('/tmp/wm_clean.json', 'utf8')); +const ALL = JSON.parse(fs.readFileSync('/tmp/all48.json', 'utf8')); +const KW_FB = {}; +const DONE_F = '/tmp/smt_batch_done.json'; +const DONE = fs.existsSync(DONE_F) ? JSON.parse(fs.readFileSync(DONE_F, 'utf8')) : {}; + +// 分类关键词:从英文标题里取最能定位品类的词 +function catKeywords(oid) { + const t = (EN[oid] || {}).title || ''; + const CAND = [ + [/whistle/i, ['whistle']], + [/hair tie|scrunchie|hair ring|ponytail|elastic/i, ['hair', 'hairband']], + [/hair clip|barrette|hairpin|clip/i, ['clip', 'hair']], + [/headband|hair band/i, ['headband', 'hair']], + [/keychain|key ring|key holder/i, ['keychain']], + [/sticker|decal/i, ['sticker']], + [/thermometer|hygrometer/i, ['thermometer']], + [/button/i, ['button']], + [/yarn|knitting/i, ['yarn']], + [/sock/i, ['socks']], + [/necklace|pendant/i, ['necklace']], + [/bracelet/i, ['bracelet']], + [/earring/i, ['earring']], + [/card holder|card case|badge/i, ['card']], + [/organizer|storage/i, ['organizer']], + [/box|case|holder|container/i, ['box']], + [/bag|pouch/i, ['bag']], + [/comb|brush/i, ['comb']], + [/mirror/i, ['mirror']], + [/tape dispenser/i, ['tape']], + [/hair dryer/i, ['hair dryer']], + ]; + for (const [rx, ks] of CAND) if (rx.test(t)) return ks; + return [(t.split(/\s+/)[0] || 'gift')]; +} + +const oids = ONLY ? [ONLY] : Object.keys(ALL).filter(o => !DONE[o] && (CLEAN[o] || []).length >= 1); +log(`待建商品: ${oids.length} | 已有记录: ${Object.keys(DONE).length}`); + +for (const oid of oids) { + const en = EN[oid], imgs = CLEAN[oid] || []; + let kws = catKeywords(oid); + if (!en || !imgs.length) { log(`⚠ ${oid} 缺文案或图片,跳过`); continue; } + log(''); + log(`═══ ${oid} | 图${imgs.length} 张 | 关键词候选 ${JSON.stringify(kws)} ═══`); + + // 清掉旧标签 + const tl = await (await fetch('http://127.0.0.1:9223/json/list')).json(); + for (const t of tl.filter(x => x.type === 'page' && /\/web\/smt\/add/.test(x.url))) await fetch(`http://127.0.0.1:9223/json/close/${t.id}`).catch(() => {}); + await wait(900); + + const t = await newTarget('about:blank'); + const c = await CDP.connect(t.webSocketDebuggerUrl); + await c.send('Page.enable'); await c.send('Runtime.enable'); await c.send('Network.enable'); + let posted = false; + c.on(m => { if (m.method === 'Network.requestWillBeSent') { const r = m.params.request; + if (r.method === 'POST' && /\/api\/smtProduct\/add\.json/.test(r.url)) posted = true; } }); + + try { + await c.send('Page.navigate', { url: 'https://www.dianxiaomi.com/web/smt/add' }); + await wait(32000); + + await c.evalJS(`(function(){ + window.__f=function(rx,val,sel){ sel=sel||'input'; + var its=[].slice.call(document.querySelectorAll('.ant-form-item')); + for(var i=0;i<its.length;i++){ var it=its[i]; var lb=it.querySelector('label'); if(!lb) continue; + if((lb.innerText||'').indexOf(rx)<0) continue; + var el=it.querySelector(sel); if(!el) return 'nf'; + var proto=el.tagName==='TEXTAREA'?window.HTMLTextAreaElement.prototype:window.HTMLInputElement.prototype; + Object.getOwnPropertyDescriptor(proto,'value').set.call(el,String(val)); + ['input','change','blur'].forEach(function(ev){el.dispatchEvent(new Event(ev,{bubbles:true}));}); + return 'ok'; } + return 'noitem'; }; + window.__openSel=function(rx){ + var its=[].slice.call(document.querySelectorAll('.ant-form-item')); + for(var i=0;i<its.length;i++){ var it=its[i]; var lb=it.querySelector('label'); if(!lb) continue; + if((lb.innerText||'').indexOf(rx)<0) continue; + var sel=it.querySelector('.ant-select'); if(!sel) return 'nosel'; + var tg=sel.querySelector('.ant-select-selector')||sel; tg.scrollIntoView({block:'center'}); + ['mousedown','mouseup','click'].forEach(function(ev){tg.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window}));}); + return 'opened'; } + return 'noitem'; }; + window.__pick=function(txt){ var dds=[].slice.call(document.querySelectorAll('.ant-select-dropdown')).filter(function(e){return e.offsetParent!==null;}); + if(!dds.length)return 'nodrop'; var os=[].slice.call(dds[dds.length-1].querySelectorAll('.ant-select-item-option')); if(!os.length)return 'noopt'; + var o=txt? os.filter(function(x){return (x.innerText||'').trim()===txt;})[0] : os[0]; if(!o)o=os[0]; + ['mouseenter','mouseover','mousedown','mouseup','click'].forEach(function(ev){o.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window}));}); + return 'picked:'+(o.innerText||'').trim().slice(0,26); }; + return 'ready';})()`); + + // ① 店铺 + 模板 + await c.evalJS(`(async function(){var el=document.querySelector('#app');var p=el.__vue_app__.config.globalProperties.$pinia; + var b=p._s.get('smtAddBasicStore'); + try{await b.updateShop(${SHOP});}catch(e){} await new Promise(z=>setTimeout(z,2500)); + try{await b.updateShopIdFun(${SHOP});}catch(e){} await new Promise(z=>setTimeout(z,3000)); return 1;})()`, true); + const tplN = await c.evalJS(`(function(){var el=document.querySelector('#app');var p=el.__vue_app__.config.globalProperties.$pinia; + return (p._s.get('smtAddBasicStore').$state.dataState.freightTemplateList||[]).length;})()`); + log(` ① 店铺 ok,运费模板 ${tplN} 个`); + + // ② 分类(UI 弹窗,多关键词重试 + 校验关闭) + let catOk = false, catInfo = ''; + if (process.env.SMT_KW) { kws = process.env.SMT_KW.split(',').filter(Boolean); log(' 关键词覆盖:', kws.join('/')); } else { kws = kws.concat(KW_FB[oid] || []); } + for (const kw of kws) { + await c.evalJS(`(function(){var ms=[].slice.call(document.querySelectorAll('.ant-modal')).filter(function(e){return e.offsetParent!==null;}); + ms.forEach(function(m){var cb=m.querySelector('.ant-modal-close'); if(cb)cb.click();}); return 1;})()`); + await wait(1200); + await c.evalJS(`(function(){var bs=[].slice.call(document.querySelectorAll('button')).filter(function(e){return e.offsetParent!==null&&/选择分类/.test(e.innerText||'');}); + if(bs.length){bs[0].scrollIntoView({block:'center'});['mousedown','mouseup','click'].forEach(function(ev){bs[0].dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window}));});} return 1;})()`); + await wait(4200); + const n0 = await c.evalJS(`(function(){return [].slice.call(document.querySelectorAll('.ant-modal')).filter(function(e){return e.offsetParent!==null;}).length;})()`); + if (!n0) { catInfo = 'modal未开'; continue; } + await c.evalJS(`(function(){var ms=[].slice.call(document.querySelectorAll('.ant-modal')).filter(function(e){return e.offsetParent!==null;}); if(!ms.length)return 0; + var m=ms[ms.length-1]; var el=m.querySelector('input[name="searchCategory"]'); if(!el)return 0; + Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,'value').set.call(el,${JSON.stringify(kw)}); + ['input','change'].forEach(function(ev){el.dispatchEvent(new Event(ev,{bubbles:true}));}); + var b=[].slice.call(m.querySelectorAll('button')).filter(function(x){return /搜索/.test(x.innerText||'');}); if(b.length)b[0].click(); return 1;})()`); + await wait(5500); + const picked = await c.evalJS(`(function(){var ms=[].slice.call(document.querySelectorAll('.ant-modal')).filter(function(e){return e.offsetParent!==null;}); if(!ms.length)return 'nomodal'; + var m=ms[ms.length-1]; var its=[].slice.call(m.querySelectorAll('.search-result-item')); + if(!its.length) return 'noresult'; + var best=null,bs=-999; + var TITLE=${JSON.stringify((EN[oid]||{}).title||'')}; + var BAD=/慈善|Благотвор|二手|Second-?hand|Used|Refurb|Sexual|情趣|Dewasa/i; + var KID=/Baby|Kids|Kanak|婴儿|儿童|Infant|Toddler/i; + var AUTO=/Automobile|Automotive|汽车|Motosikal/i; + var ISK=KID.test(TITLE), ISA=AUTO.test(TITLE); + var KW=${JSON.stringify(kw)}.toLowerCase(); + its.forEach(function(it){ var tx=(it.innerText||'').replace(/\\s+/g,' ').trim(); var s=0; + if(BAD.test(tx)) { s-=200; } + if(!ISK && KID.test(tx)) s-=60; + if(!ISA && AUTO.test(tx)) s-=60; + var segs=tx.split('/'); var lastSeg=(segs[segs.length-1]||'').replace(/\(.*?\)/g,'').trim().toLowerCase(); + if(KW && lastSeg.indexOf(KW)>=0) s+=40; + if(/小百货|配饰|饰品|发饰|家居|住宅|文具|玩具|运动|美容|健康/i.test(tx)) s+=12; + s -= Math.min(tx.length/80,5); + if(s>bs){bs=s;best=it;} }); + if(!best) return 'noresult'; + best.scrollIntoView({block:'center'}); + ['mousedown','mouseup','click'].forEach(function(ev){best.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window}));}); + return 'picked:'+(best.innerText||'').replace(/\\s+/g,' ').trim().slice(0,60);})()`); + await wait(7000); + const left = await c.evalJS(`(function(){return [].slice.call(document.querySelectorAll('.ant-modal')).filter(function(e){return e.offsetParent!==null && (e.innerText||'').indexOf('选择类目')>=0;}).length;})()`); + const cid = await c.evalJS(`(function(){var el=document.querySelector('#app');var p=el.__vue_app__.config.globalProperties.$pinia; + return String(p._s.get('smtAddBasicStore').$state.formState.categoryId||'');})()`); + catInfo = kw + ' → ' + SAN(String(picked)).slice(0,60); + if (!left && cid) { catOk = true; break; } + catInfo += ' [modal未关/无cat]'; + } + log(` ② 分类${catOk ? '✅' : '❌'}: ${catInfo.slice(0, 100)}`); + if (!catOk) { log(' 分类失败,跳过该商品'); DONE[oid] = { ok:false, msg:'分类失败:'+catInfo.slice(0,60) }; fs.writeFileSync(DONE_F, JSON.stringify(DONE,null,1)); c.close(); await wait(1000); continue; } + + // ③ 文本 + 尺寸 + await c.evalJS(`(function(){ + window.__f('产品标题',${JSON.stringify(en.title)},'input:not([type=hidden])'); + window.__f('零售价格','1.99'); window.__f('货值','0.50'); window.__f('库存数量','100'); + window.__f('重量(kg)','0.02'); window.__f('包装后重量','0.02'); return 1;})()`); + await c.evalJS(`(function(){ + var set=function(el,v){Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,'value').set.call(el,v); + ['input','change','blur'].forEach(function(ev){el.dispatchEvent(new Event(ev,{bubbles:true}));});}; + [['长','10'],['宽','5'],['高','3']].forEach(function(p){ var els=[].slice.call(document.querySelectorAll('input')).filter(function(e){return e.offsetParent!==null&&(e.placeholder||'')===p[0];}); + if(els.length) set(els[els.length-1],p[1]); }); + var its=[].slice.call(document.querySelectorAll('.ant-form-item')); + for(var i=0;i<its.length;i++){ var lb=its[i].querySelector('label'); if(!lb) continue; + if((lb.innerText||'').indexOf('包装后尺寸')<0) continue; + var ins=[].slice.call(its[i].querySelectorAll('input')); ['10','5','3'].forEach(function(v,k){ if(ins[k]) set(ins[k],v); }); } + return 1;})()`); + await wait(2000); + log(' ③ 文本+尺寸 ok'); + + // ④ 模板下拉 + await c.evalJS(`window.__openSel('运费模板')`); await wait(3000); + let fr = await c.evalJS(`window.__pick(${JSON.stringify(FREIGHT_NAME)})`); + if (/noopt|nodrop/.test(String(fr))) fr = await c.evalJS(`window.__pick()`); + log(` ④ 运费模板: ${SAN(String(fr))}`); + await wait(2500); + await c.evalJS(`window.__openSel('服务模板')`); await wait(3000); + log(` 服务模板: ${SAN(String(await c.evalJS(`window.__pick()`)))}`); + await wait(2500); + await c.evalJS(`window.__openSel('是否原箱')`); await wait(2800); + log(` 是否原箱: ${SAN(String(await c.evalJS(`window.__pick('否')`)))}`); + await wait(2200); + + // ⑤ 含税 + await c.evalJS(`(function(){var its=[].slice.call(document.querySelectorAll('.ant-form-item')); + for(var i=0;i<its.length;i++){ var it=its[i]; if((it.innerText||'').indexOf('报价是否含关税')<0) continue; + var ws=[].slice.call(it.querySelectorAll('.ant-radio-wrapper')); + for(var j=0;j<ws.length;j++){ if((ws[j].innerText||'').indexOf('不含关税')>=0){ var inp=ws[j].querySelector('input'); if(inp&&!inp.checked)inp.click(); return 1; } } } + return 0;})()`); + await wait(1800); + + // ⑥ 物流属性(直接赋值,不依赖 UI 点击) + await c.evalJS(`(function(){var el=document.querySelector('#app');var p=el.__vue_app__.config.globalProperties.$pinia; + p._s.get('smtAddProductStore').$state.formState.specialProductTypeList=['1983471271:2025103']; return 1;})()`); + await wait(1500); + log(' ⑤ 含税+物流属性 ok'); + + // ⑦ 属性(含 check_box 归一化) + await c.evalJS(`(function(){ + var el=document.querySelector('#app');var p=el.__vue_app__.config.globalProperties.$pinia; + var at=p._s.get('smtAddAttrStore'); var a=p._s.get('smtAddStore').$state.attrsInfo.attrsList||[]; + var want={'品牌':'201512802','产地':'9441741844','化学品':'23399591357'}; + var d=at.$state.dynamicFormData||{}; + for(var i=0;i<a.length;i++){ var nm=a[i].nameZh||''; var key=String(a[i].arrtNameId); + for(var k in want){ if(nm.indexOf(k)>=0) d[key]='history-'+want[k]; } } + var ra=at.$state.renderAttrs||[]; + for(var j=0;j<ra.length;j++){ var x=ra[j]; var kk=String(x.arrtNameId); var st=String(x.attributeShowTypeValue||''); + var needArr=(st==='check_box'||st==='multiSelect'||st==='selectPercent'); + if(needArr && d[kk]!==undefined && !Array.isArray(d[kk])) d[kk]=[d[kk]]; + if(!needArr && Array.isArray(d[kk])) d[kk]=d[kk][0]||''; } + at.$state.dynamicFormData=d; return 1;})()`); + await wait(1500); + + // ⑧ 描述 + await c.evalJS(`(function(){ + try{ if(typeof CKEDITOR==='undefined'||!CKEDITOR.instances) return 0; + var n=Object.keys(CKEDITOR.instances)[0]; var ed=CKEDITOR.instances[n]; + ed.setData(${JSON.stringify('<p>' + en.bullets.map(b => '• ' + b).join('<br/>') + '</p><p><strong>Keywords:</strong> ' + en.keywords + '</p>')}); + ed.fire('change'); ed.fire('blur'); ed.updateElement(); return 1; }catch(e){ return 0; }})()`); + await wait(2000); + + // ⑨ 图片(直接赋值,外部 URL 可用) + const imgData = imgs.slice(0, 6).map((u, i) => ({ id: String(i + 1), url: u, name: 'img' + i + '.jpg', width: 800, height: 800, imgId: String(1000 + i), checked: false })); + await c.evalJS(`(function(){var el=document.querySelector('#app');var p=el.__vue_app__.config.globalProperties.$pinia; + p._s.get('smtAddProductStore').$state.formState.imageList=${JSON.stringify(imgData)}; return 1;})()`); + await wait(3000); + log(` ⑥ 描述+图片(${imgData.length}张) ok`); + + // ⑩ 保存 + await c.evalJS(`(function(){var bs=[].slice.call(document.querySelectorAll('button')).filter(function(e){return e.offsetParent!==null&&/^\\s*保存\\s*$/.test((e.innerText||'').trim());}); + if(bs.length) bs[0].click(); return 1;})()`); + await wait(17000); + const msg = String(await c.evalJS(`JSON.stringify([].slice.call(document.querySelectorAll('.ant-modal,.ant-message-notice')).filter(function(e){return e.offsetParent!==null;}).map(function(e){return (e.innerText||'').replace(/\\s+/g,' ').trim().slice(0,120);}))`)); + const ok = /已保存到/.test(msg); + log(` ${ok ? '✅' : '❌'} 保存: ${SAN(msg).slice(0, 110)} | POST=${posted}`); + DONE[oid] = { ok, msg: SAN(msg).slice(0, 100), imgs: imgData.length, kws, time: new Date().toISOString() }; + fs.writeFileSync(DONE_F, JSON.stringify(DONE, null, 1)); + } catch (e) { + log(` ❌ 异常: ${String(e).slice(0, 90)}`); + DONE[oid] = { ok: false, err: String(e).slice(0, 90) }; + fs.writeFileSync(DONE_F, JSON.stringify(DONE, null, 1)); + } + try { c.close(); } catch (e) {} + await wait(1200); +} +log(''); +log(`全部结束。成功 ${Object.values(DONE).filter(x => x.ok).length} / ${Object.keys(DONE).length}`); diff --git a/静默拦截诊断/HOOK.md b/静默拦截诊断/HOOK.md new file mode 100644 index 0000000..aba2b21 --- /dev/null +++ b/静默拦截诊断/HOOK.md @@ -0,0 +1,47 @@ +# 店小秘编辑器「保存静默拦截」诊断法 + +## 症状 +点「保存」→ **不发任何 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 省份)和类目相关的文件字段(速卖通说明书)都不在这个扫描范围内。 +以后遇到「点了没反应」,第一步就该挂这个钩子。 diff --git a/静默拦截诊断/shhook.mjs b/静默拦截诊断/shhook.mjs new file mode 100644 index 0000000..49f4b0c --- /dev/null +++ b/静默拦截诊断/shhook.mjs @@ -0,0 +1,34 @@ +import { attach } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/sheinProduct/add') || await attach('dianxiaomi.com'); +console.log('url:', await c.evalJS('location.href')); +// 探测可用的消息库 +const probe = await c.evalJS(`(()=>{const keys=['MYJ','Vue','antd','$message','ELEMENT']; + const found={}; + keys.forEach(k=>{ try{ found[k]=typeof window[k]; }catch(e){ found[k]='err'; } }); + return JSON.stringify(found);})()`); +console.log('全局对象:', String(probe)); +// 埋钩子(尽量广) +const hook = await c.evalJS(`(()=>{window.__cap=[]; let n=0; + function wrap(obj,name,label){ try{ if(!obj||!obj[name])return; const o=obj[name]; + obj[name]=function(){ try{ window.__cap.push(label+': '+Array.prototype.slice.call(arguments).map(function(a){return typeof a==='string'?a:JSON.stringify(a);}).join(' ').slice(0,200)); }catch(e){} + return o.apply(obj,arguments); }; n++; }catch(e){} } + try{ if(window.MYJ&&window.MYJ.message){ ['error','warning','info','success'].forEach(k=>wrap(window.MYJ.message,k,'MYJ.'+k)); } }catch(e){} + try{ if(window.antd&&window.antd.message){ ['error','warning','info','success'].forEach(k=>wrap(window.antd.message,k,'antd.'+k)); } }catch(e){} + try{ if(window.$message){ ['error','warning','info','success'].forEach(k=>wrap(window.$message,k,'$message.'+k)); } }catch(e){} + return 'wrapped '+n;})()`); +console.log('钩子:', String(hook)); +// 点保存 +await c.evalJS(`window.scrollTo(0,0)`); await wait(600); +await c.evalJS(`(()=>{const x=[...document.querySelectorAll('button')].filter(e=>e.offsetParent!==null).find(e=>/^\\s*保存\\s*$/.test((e.innerText||'').trim())); + if(x) for(const ev of ['mousedown','mouseup','click']) x.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return 1;})()`); +await wait(9000); +const cap = await c.evalJS(`JSON.stringify(window.__cap||[])`); +console.log('★ 捕获:', String(cap).slice(0,600)); +const errs = await c.evalJS(`JSON.stringify([].slice.call(document.querySelectorAll('.ant-form-item-explain-error')).map(function(e){ + var p=e.closest?e.closest('.ant-form-item'):null; var l=p?(p.querySelector('label')||{}).innerText||'':''; + return l.replace(/\\s+/g,' ').trim().slice(0,30)+' → '+(e.innerText||'').trim();}).filter(Boolean))`); +console.log('行内错误:', String(errs).slice(0,400)); +const errItems = await c.evalJS(`JSON.stringify([].slice.call(document.querySelectorAll('.ant-form-item-has-error')).map(function(x){var l=x.querySelector('label');return l?(l.innerText||'').replace(/\\s+/g,' ').trim().slice(0,36):'?';}))`); +console.log('出错字段:', String(errItems).slice(0,300)); +process.exit(0); diff --git a/静默拦截诊断/smtdebug.mjs b/静默拦截诊断/smtdebug.mjs new file mode 100644 index 0000000..2af3418 --- /dev/null +++ b/静默拦截诊断/smtdebug.mjs @@ -0,0 +1,283 @@ +import { newTarget, CDP, SAN } from '/tmp/cdp3.mjs'; +import fs from 'fs'; + +/* 速卖通批量建品(全自动):分类走 UI 弹窗搜索,其余按已验证配方 */ +const SHOP = 4024039; +const FREIGHT_NAME = process.argv[2] || 'MY beauty 30g+1美金'; +const ONLY = process.argv[3]; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const log = (...a) => console.log(' ', ...a); + +const EN = JSON.parse(fs.readFileSync('/tmp/en_all.json', 'utf8')); +const CLEAN = JSON.parse(fs.readFileSync('/tmp/wm_clean.json', 'utf8')); +const ALL = JSON.parse(fs.readFileSync('/tmp/all48.json', 'utf8')); +const KW_FB = {}; +const DONE_F = '/tmp/smt_batch_done.json'; +const DONE = fs.existsSync(DONE_F) ? JSON.parse(fs.readFileSync(DONE_F, 'utf8')) : {}; + +// 分类关键词:从英文标题里取最能定位品类的词 +function catKeywords(oid) { + const t = (EN[oid] || {}).title || ''; + const CAND = [ + [/whistle/i, ['whistle']], + [/hair tie|scrunchie|hair ring|ponytail|elastic/i, ['hair', 'hairband']], + [/hair clip|barrette|hairpin|clip/i, ['clip', 'hair']], + [/headband|hair band/i, ['headband', 'hair']], + [/keychain|key ring|key holder/i, ['keychain']], + [/sticker|decal/i, ['sticker']], + [/thermometer|hygrometer/i, ['thermometer']], + [/button/i, ['button']], + [/yarn|knitting/i, ['yarn']], + [/sock/i, ['socks']], + [/necklace|pendant/i, ['necklace']], + [/bracelet/i, ['bracelet']], + [/earring/i, ['earring']], + [/card holder|card case|badge/i, ['card']], + [/organizer|storage/i, ['organizer']], + [/box|case|holder|container/i, ['box']], + [/bag|pouch/i, ['bag']], + [/comb|brush/i, ['comb']], + [/mirror/i, ['mirror']], + [/tape dispenser/i, ['tape']], + [/hair dryer/i, ['hair dryer']], + ]; + for (const [rx, ks] of CAND) if (rx.test(t)) return ks; + return [(t.split(/\s+/)[0] || 'gift')]; +} + +const oids = ONLY ? [ONLY] : Object.keys(ALL).filter(o => !DONE[o] && (CLEAN[o] || []).length >= 1); +log(`待建商品: ${oids.length} | 已有记录: ${Object.keys(DONE).length}`); + +for (const oid of oids) { + const en = EN[oid], imgs = CLEAN[oid] || []; + let kws = catKeywords(oid); + if (!en || !imgs.length) { log(`⚠ ${oid} 缺文案或图片,跳过`); continue; } + log(''); + log(`═══ ${oid} | 图${imgs.length} 张 | 关键词候选 ${JSON.stringify(kws)} ═══`); + + // 清掉旧标签 + const tl = await (await fetch('http://127.0.0.1:9223/json/list')).json(); + for (const t of tl.filter(x => x.type === 'page' && /\/web\/smt\/add/.test(x.url))) await fetch(`http://127.0.0.1:9223/json/close/${t.id}`).catch(() => {}); + await wait(900); + + const t = await newTarget('about:blank'); + const c = await CDP.connect(t.webSocketDebuggerUrl); + await c.send('Page.enable'); await c.send('Runtime.enable'); await c.send('Network.enable'); + let posted = false; + c.on(m => { if (m.method === 'Network.requestWillBeSent') { const r = m.params.request; + if (r.method === 'POST' && /\/api\/smtProduct\/add\.json/.test(r.url)) posted = true; } }); + + try { + await c.send('Page.navigate', { url: 'https://www.dianxiaomi.com/web/smt/add' }); + await wait(32000); + + await c.evalJS(`(function(){ + window.__f=function(rx,val,sel){ sel=sel||'input'; + var its=[].slice.call(document.querySelectorAll('.ant-form-item')); + for(var i=0;i<its.length;i++){ var it=its[i]; var lb=it.querySelector('label'); if(!lb) continue; + if((lb.innerText||'').indexOf(rx)<0) continue; + var el=it.querySelector(sel); if(!el) return 'nf'; + var proto=el.tagName==='TEXTAREA'?window.HTMLTextAreaElement.prototype:window.HTMLInputElement.prototype; + Object.getOwnPropertyDescriptor(proto,'value').set.call(el,String(val)); + ['input','change','blur'].forEach(function(ev){el.dispatchEvent(new Event(ev,{bubbles:true}));}); + return 'ok'; } + return 'noitem'; }; + window.__openSel=function(rx){ + var its=[].slice.call(document.querySelectorAll('.ant-form-item')); + for(var i=0;i<its.length;i++){ var it=its[i]; var lb=it.querySelector('label'); if(!lb) continue; + if((lb.innerText||'').indexOf(rx)<0) continue; + var sel=it.querySelector('.ant-select'); if(!sel) return 'nosel'; + var tg=sel.querySelector('.ant-select-selector')||sel; tg.scrollIntoView({block:'center'}); + ['mousedown','mouseup','click'].forEach(function(ev){tg.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window}));}); + return 'opened'; } + return 'noitem'; }; + window.__pick=function(txt){ var dds=[].slice.call(document.querySelectorAll('.ant-select-dropdown')).filter(function(e){return e.offsetParent!==null;}); + if(!dds.length)return 'nodrop'; var os=[].slice.call(dds[dds.length-1].querySelectorAll('.ant-select-item-option')); if(!os.length)return 'noopt'; + var o=txt? os.filter(function(x){return (x.innerText||'').trim()===txt;})[0] : os[0]; if(!o)o=os[0]; + ['mouseenter','mouseover','mousedown','mouseup','click'].forEach(function(ev){o.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window}));}); + return 'picked:'+(o.innerText||'').trim().slice(0,26); }; + return 'ready';})()`); + + // ① 店铺 + 模板 + await c.evalJS(`(async function(){var el=document.querySelector('#app');var p=el.__vue_app__.config.globalProperties.$pinia; + var b=p._s.get('smtAddBasicStore'); + try{await b.updateShop(${SHOP});}catch(e){} await new Promise(z=>setTimeout(z,2500)); + try{await b.updateShopIdFun(${SHOP});}catch(e){} await new Promise(z=>setTimeout(z,3000)); return 1;})()`, true); + const tplN = await c.evalJS(`(function(){var el=document.querySelector('#app');var p=el.__vue_app__.config.globalProperties.$pinia; + return (p._s.get('smtAddBasicStore').$state.dataState.freightTemplateList||[]).length;})()`); + log(` ① 店铺 ok,运费模板 ${tplN} 个`); + + // ② 分类(UI 弹窗,多关键词重试 + 校验关闭) + let catOk = false, catInfo = ''; + if (process.env.SMT_KW) { kws = process.env.SMT_KW.split(',').filter(Boolean); log(' 关键词覆盖:', kws.join('/')); } else { kws = kws.concat(KW_FB[oid] || []); } + for (const kw of kws) { + await c.evalJS(`(function(){var ms=[].slice.call(document.querySelectorAll('.ant-modal')).filter(function(e){return e.offsetParent!==null;}); + ms.forEach(function(m){var cb=m.querySelector('.ant-modal-close'); if(cb)cb.click();}); return 1;})()`); + await wait(1200); + await c.evalJS(`(function(){var bs=[].slice.call(document.querySelectorAll('button')).filter(function(e){return e.offsetParent!==null&&/选择分类/.test(e.innerText||'');}); + if(bs.length){bs[0].scrollIntoView({block:'center'});['mousedown','mouseup','click'].forEach(function(ev){bs[0].dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window}));});} return 1;})()`); + await wait(4200); + const n0 = await c.evalJS(`(function(){return [].slice.call(document.querySelectorAll('.ant-modal')).filter(function(e){return e.offsetParent!==null;}).length;})()`); + if (!n0) { catInfo = 'modal未开'; continue; } + await c.evalJS(`(function(){var ms=[].slice.call(document.querySelectorAll('.ant-modal')).filter(function(e){return e.offsetParent!==null;}); if(!ms.length)return 0; + var m=ms[ms.length-1]; var el=m.querySelector('input[name="searchCategory"]'); if(!el)return 0; + Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,'value').set.call(el,${JSON.stringify(kw)}); + ['input','change'].forEach(function(ev){el.dispatchEvent(new Event(ev,{bubbles:true}));}); + var b=[].slice.call(m.querySelectorAll('button')).filter(function(x){return /搜索/.test(x.innerText||'');}); if(b.length)b[0].click(); return 1;})()`); + await wait(5500); + const picked = await c.evalJS(`(function(){var ms=[].slice.call(document.querySelectorAll('.ant-modal')).filter(function(e){return e.offsetParent!==null;}); if(!ms.length)return 'nomodal'; + var m=ms[ms.length-1]; var its=[].slice.call(m.querySelectorAll('.search-result-item')); + if(!its.length) return 'noresult'; + var best=null,bs=-999; + var TITLE=${JSON.stringify((EN[oid]||{}).title||'')}; + var BAD=/慈善|Благотвор|二手|Second-?hand|Used|Refurb|Sexual|情趣|Dewasa/i; + var KID=/Baby|Kids|Kanak|婴儿|儿童|Infant|Toddler/i; + var AUTO=/Automobile|Automotive|汽车|Motosikal/i; + var ISK=KID.test(TITLE), ISA=AUTO.test(TITLE); + var KW=${JSON.stringify(kw)}.toLowerCase(); + its.forEach(function(it){ var tx=(it.innerText||'').replace(/\\s+/g,' ').trim(); var s=0; + if(BAD.test(tx)) { s-=200; } + if(!ISK && KID.test(tx)) s-=60; + if(!ISA && AUTO.test(tx)) s-=60; + var segs=tx.split('/'); var lastSeg=(segs[segs.length-1]||'').replace(/\(.*?\)/g,'').trim().toLowerCase(); + if(KW && lastSeg.indexOf(KW)>=0) s+=40; + if(/小百货|配饰|饰品|发饰|家居|住宅|文具|玩具|运动|美容|健康/i.test(tx)) s+=12; + s -= Math.min(tx.length/80,5); + if(s>bs){bs=s;best=it;} }); + if(!best) return 'noresult'; + best.scrollIntoView({block:'center'}); + ['mousedown','mouseup','click'].forEach(function(ev){best.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window}));}); + return 'picked:'+(best.innerText||'').replace(/\\s+/g,' ').trim().slice(0,60);})()`); + await wait(7000); + const left = await c.evalJS(`(function(){return [].slice.call(document.querySelectorAll('.ant-modal')).filter(function(e){return e.offsetParent!==null && (e.innerText||'').indexOf('选择类目')>=0;}).length;})()`); + const cid = await c.evalJS(`(function(){var el=document.querySelector('#app');var p=el.__vue_app__.config.globalProperties.$pinia; + return String(p._s.get('smtAddBasicStore').$state.formState.categoryId||'');})()`); + catInfo = kw + ' → ' + SAN(String(picked)).slice(0,60); + if (!left && cid) { catOk = true; break; } + catInfo += ' [modal未关/无cat]'; + } + log(` ② 分类${catOk ? '✅' : '❌'}: ${catInfo.slice(0, 100)}`); + if (!catOk) { log(' 分类失败,跳过该商品'); DONE[oid] = { ok:false, msg:'分类失败:'+catInfo.slice(0,60) }; fs.writeFileSync(DONE_F, JSON.stringify(DONE,null,1)); c.close(); await wait(1000); continue; } + + // ③ 文本 + 尺寸 + await c.evalJS(`(function(){ + window.__f('产品标题',${JSON.stringify(en.title)},'input:not([type=hidden])'); + window.__f('零售价格','1.99'); window.__f('货值','0.50'); window.__f('库存数量','100'); + window.__f('重量(kg)','0.02'); window.__f('包装后重量','0.02'); return 1;})()`); + await c.evalJS(`(function(){ + var set=function(el,v){Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,'value').set.call(el,v); + ['input','change','blur'].forEach(function(ev){el.dispatchEvent(new Event(ev,{bubbles:true}));});}; + [['长','10'],['宽','5'],['高','3']].forEach(function(p){ var els=[].slice.call(document.querySelectorAll('input')).filter(function(e){return e.offsetParent!==null&&(e.placeholder||'')===p[0];}); + if(els.length) set(els[els.length-1],p[1]); }); + var its=[].slice.call(document.querySelectorAll('.ant-form-item')); + for(var i=0;i<its.length;i++){ var lb=its[i].querySelector('label'); if(!lb) continue; + if((lb.innerText||'').indexOf('包装后尺寸')<0) continue; + var ins=[].slice.call(its[i].querySelectorAll('input')); ['10','5','3'].forEach(function(v,k){ if(ins[k]) set(ins[k],v); }); } + return 1;})()`); + await wait(2000); + log(' ③ 文本+尺寸 ok'); + + // ④ 模板下拉 + await c.evalJS(`window.__openSel('运费模板')`); await wait(3000); + let fr = await c.evalJS(`window.__pick(${JSON.stringify(FREIGHT_NAME)})`); + if (/noopt|nodrop/.test(String(fr))) fr = await c.evalJS(`window.__pick()`); + log(` ④ 运费模板: ${SAN(String(fr))}`); + await wait(2500); + await c.evalJS(`window.__openSel('服务模板')`); await wait(3000); + log(` 服务模板: ${SAN(String(await c.evalJS(`window.__pick()`)))}`); + await wait(2500); + await c.evalJS(`window.__openSel('是否原箱')`); await wait(2800); + log(` 是否原箱: ${SAN(String(await c.evalJS(`window.__pick('否')`)))}`); + await wait(2200); + + // ⑤ 含税 + await c.evalJS(`(function(){var its=[].slice.call(document.querySelectorAll('.ant-form-item')); + for(var i=0;i<its.length;i++){ var it=its[i]; if((it.innerText||'').indexOf('报价是否含关税')<0) continue; + var ws=[].slice.call(it.querySelectorAll('.ant-radio-wrapper')); + for(var j=0;j<ws.length;j++){ if((ws[j].innerText||'').indexOf('不含关税')>=0){ var inp=ws[j].querySelector('input'); if(inp&&!inp.checked)inp.click(); return 1; } } } + return 0;})()`); + await wait(1800); + + // ⑥ 物流属性(直接赋值,不依赖 UI 点击) + await c.evalJS(`(function(){var el=document.querySelector('#app');var p=el.__vue_app__.config.globalProperties.$pinia; + p._s.get('smtAddProductStore').$state.formState.specialProductTypeList=['1983471271:2025103']; return 1;})()`); + await wait(1500); + log(' ⑤ 含税+物流属性 ok'); + + // ⑦ 属性(含 check_box 归一化) + await c.evalJS(`(function(){ + var el=document.querySelector('#app');var p=el.__vue_app__.config.globalProperties.$pinia; + var at=p._s.get('smtAddAttrStore'); var a=p._s.get('smtAddStore').$state.attrsInfo.attrsList||[]; + var want={'品牌':'201512802','产地':'9441741844','化学品':'23399591357'}; + var d=at.$state.dynamicFormData||{}; + for(var i=0;i<a.length;i++){ var nm=a[i].nameZh||''; var key=String(a[i].arrtNameId); + for(var k in want){ if(nm.indexOf(k)>=0) d[key]='history-'+want[k]; } } + var ra=at.$state.renderAttrs||[]; + for(var j=0;j<ra.length;j++){ var x=ra[j]; var kk=String(x.arrtNameId); var st=String(x.attributeShowTypeValue||''); + var needArr=(st==='check_box'||st==='multiSelect'||st==='selectPercent'); + if(needArr && d[kk]!==undefined && !Array.isArray(d[kk])) d[kk]=[d[kk]]; + if(!needArr && Array.isArray(d[kk])) d[kk]=d[kk][0]||''; } + at.$state.dynamicFormData=d; return 1;})()`); + await wait(1500); + + // ⑧ 描述 + await c.evalJS(`(function(){ + try{ if(typeof CKEDITOR==='undefined'||!CKEDITOR.instances) return 0; + var n=Object.keys(CKEDITOR.instances)[0]; var ed=CKEDITOR.instances[n]; + ed.setData(${JSON.stringify('<p>' + en.bullets.map(b => '• ' + b).join('<br/>') + '</p><p><strong>Keywords:</strong> ' + en.keywords + '</p>')}); + ed.fire('change'); ed.fire('blur'); ed.updateElement(); return 1; }catch(e){ return 0; }})()`); + await wait(2000); + + // ⑨ 图片(直接赋值,外部 URL 可用) + const imgData = imgs.slice(0, 6).map((u, i) => ({ id: String(i + 1), url: u, name: 'img' + i + '.jpg', width: 800, height: 800, imgId: String(1000 + i), checked: false })); + await c.evalJS(`(function(){var el=document.querySelector('#app');var p=el.__vue_app__.config.globalProperties.$pinia; + p._s.get('smtAddProductStore').$state.formState.imageList=${JSON.stringify(imgData)}; return 1;})()`); + await wait(3000); + log(` ⑥ 描述+图片(${imgData.length}张) ok`); + + // ⑩ 保存(调试版:埋钩子) + const hook = await c.evalJS(`(function(){ + window.__cap=[]; + try{ + var M = window.MYJ && window.MYJ.message; + if(M){ ['error','warning','info','success'].forEach(function(k){ + var orig=M[k]; + M[k]=function(){ try{ window.__cap.push(k+': '+Array.prototype.slice.call(arguments).map(function(a){return typeof a==='string'?a:JSON.stringify(a);}).join(' ').slice(0,200)); }catch(e){} + return orig.apply(M, arguments); }; + }); return 'hooked MYJ.message'; } + return 'no MYJ'; + }catch(e){ return 'ERR '+e.message; }})()`); + log(' 钩子:', hook); + const btns = await c.evalJS(`JSON.stringify([].slice.call(document.querySelectorAll('button')).filter(function(e){return e.offsetParent!==null;}).map(function(b){ + var r=b.getBoundingClientRect(); return {t:(b.innerText||'').replace(/\\s+/g,' ').trim().slice(0,14), y:Math.round(r.y), dis:b.disabled, cls:String(b.className||'').slice(0,34)};}).filter(function(x){return x.t;}))`); + log(' 按钮清单:', SAN(String(btns)).slice(0,420)); + await c.evalJS(`(function(){var bs=[].slice.call(document.querySelectorAll('button')).filter(function(e){return e.offsetParent!==null&&/^\\s*保存\\s*$/.test((e.innerText||'').trim());}); + if(bs.length) bs[0].click(); return 1;})()`); + await wait(9000); + const cap = await c.evalJS(`JSON.stringify(window.__cap||[])`); + log(' ★ 被捕获的错误消息:', SAN(String(cap)).slice(0,500)); + const errs = await c.evalJS(`JSON.stringify([].slice.call(document.querySelectorAll('.ant-form-item-explain-error')).map(function(e){ + var t=(e.innerText||'').trim(); if(!t) return null; + var p=e.closest? e.closest('.ant-form-item') : null; + var lab=p? (p.querySelector('label')||{}).innerText||'' : ''; + return lab.replace(/\\s+/g,' ').trim().slice(0,40)+' → '+t;}).filter(Boolean))`); + log(' 行内校验错误(带字段):', SAN(String(errs)).slice(0,400)); + const hasErrItems = await c.evalJS(`JSON.stringify([].slice.call(document.querySelectorAll('.ant-form-item-has-error')).map(function(x){ + var l=x.querySelector('label'); return l?(l.innerText||'').replace(/\\s+/g,' ').trim().slice(0,44):'?';}))`); + log(' 出错字段列表:', SAN(String(hasErrItems)).slice(0,400)); + await wait(8000); + const msg = String(await c.evalJS(`JSON.stringify([].slice.call(document.querySelectorAll('.ant-modal,.ant-message-notice')).filter(function(e){return e.offsetParent!==null;}).map(function(e){return (e.innerText||'').replace(/\\s+/g,' ').trim().slice(0,120);}))`)); + const ok = /已保存到/.test(msg); + log(` ${ok ? '✅' : '❌'} 保存: ${SAN(msg).slice(0, 110)} | POST=${posted}`); + DONE[oid] = { ok, msg: SAN(msg).slice(0, 100), imgs: imgData.length, kws, time: new Date().toISOString() }; + fs.writeFileSync(DONE_F, JSON.stringify(DONE, null, 1)); + } catch (e) { + log(` ❌ 异常: ${String(e).slice(0, 90)}`); + DONE[oid] = { ok: false, err: String(e).slice(0, 90) }; + fs.writeFileSync(DONE_F, JSON.stringify(DONE, null, 1)); + } + try { c.close(); } catch (e) {} + await wait(1200); +} +log(''); +log(`全部结束。成功 ${Object.values(DONE).filter(x => x.ok).length} / ${Object.keys(DONE).length}`); diff --git a/静默拦截诊断/tmhook.mjs b/静默拦截诊断/tmhook.mjs new file mode 100644 index 0000000..c8f6f18 --- /dev/null +++ b/静默拦截诊断/tmhook.mjs @@ -0,0 +1,23 @@ +import { attach } from '/tmp/cdp3.mjs'; +const wait = ms => new Promise(z => setTimeout(z, ms)); +const c = await attach('/web/temu/add') || await attach('dianxiaomi.com'); +console.log('url:', await c.evalJS('location.href')); +const hook = await c.evalJS(`(()=>{window.__cap=[]; let n=0; + function wrap(obj,name,label){ try{ if(!obj||!obj[name])return; const o=obj[name]; + obj[name]=function(){ try{ window.__cap.push(label+': '+Array.prototype.slice.call(arguments).map(function(a){return typeof a==='string'?a:JSON.stringify(a);}).join(' ').slice(0,200)); }catch(e){} + return o.apply(obj,arguments); }; n++; }catch(e){} } + try{ if(window.MYJ&&window.MYJ.message){ ['error','warning','info'].forEach(k=>wrap(window.MYJ.message,k,'MYJ.'+k)); } }catch(e){} + try{ if(window.antd&&window.antd.message){ ['error','warning','info'].forEach(k=>wrap(window.antd.message,k,'antd.'+k)); } }catch(e){} + return 'wrapped '+n;})()`); +console.log('钩子:', String(hook)); +await c.evalJS(`window.scrollTo(0,0)`); await wait(600); +await c.evalJS(`(()=>{const x=[...document.querySelectorAll('button')].filter(e=>e.offsetParent!==null).find(e=>/^\\s*保存\\s*$/.test((e.innerText||'').trim())); + if(x) for(const ev of ['mousedown','mouseup','click']) x.dispatchEvent(new MouseEvent(ev,{bubbles:true,cancelable:true,view:window})); return 1;})()`); +await wait(9000); +const cap = await c.evalJS(`JSON.stringify(window.__cap||[])`); +console.log('★ 捕获:', String(cap).slice(0,600)); +const errItems = await c.evalJS(`JSON.stringify([].slice.call(document.querySelectorAll('.ant-form-item-has-error')).map(function(x){var l=x.querySelector('label');return l?(l.innerText||'').replace(/\\s+/g,' ').trim().slice(0,36):'?';}))`); +console.log('出错字段:', String(errItems).slice(0,300)); +const ex = await c.evalJS(`JSON.stringify([].slice.call(document.querySelectorAll('.ant-form-item-explain-error')).map(e=>{var p=e.closest?e.closest('.ant-form-item'):null;var l=p?(p.querySelector('label')||{}).innerText||'':'';return l.replace(/\\s+/g,' ').trim().slice(0,30)+' → '+(e.innerText||'').trim();}).filter(Boolean))`); +console.log('行内错误:', String(ex).slice(0,400)); +process.exit(0);