@round2ai/r2-cli 1.0.7 → 1.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@round2ai/r2-cli",
3
- "version": "1.0.7",
3
+ "version": "1.0.9",
4
4
  "description": "R2-CLI,向 AI 开放二手潮奢交易全链路能力",
5
5
  "main": "dist/r2-cli.js",
6
6
  "type": "module",
@@ -14,6 +14,7 @@
14
14
  },
15
15
  "keywords": [
16
16
  "round2ai",
17
+ "r2",
17
18
  "r2-cli",
18
19
  "cli",
19
20
  "ai",
@@ -32,7 +33,10 @@
32
33
  "engines": {
33
34
  "node": ">=18.0.0"
34
35
  },
35
- "repository": "https://github.com/Round2AI/r2-cli",
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "https://github.com/Round2AI/r2-cli"
39
+ },
36
40
  "dependencies": {
37
41
  "@inquirer/prompts": "^8.4.2",
38
42
  "chalk": "^5.3.0",
@@ -1,25 +1,19 @@
1
1
  ---
2
2
  name: r2-auth
3
- description: R2-CLI 认证登录专家。两步式扫码登录:生成二维码图片 + 轮询确认。用于登录、login、auth、扫码、二维码场景。
3
+ description: R2-CLI 认证登录专家。两步式扫码登录和闲鱼店铺授权。用于登录、login、auth、扫码、二维码、授权、xianyu、logout、登出、状态查询场景。Agent 生成二维码后同时展示 unicodeQR 和 qrUrl 给用户。
4
4
  ---
5
5
 
6
6
  # R2-Auth Skill
7
7
 
8
- 两步式扫码登录,专为 AI Agent 设计。第一步生成二维码,Agent 将 unicodeQR 直接输出到聊天窗口展示给用户;第二步轮询等待用户扫码确认。
9
-
10
- ## 安装
11
-
12
- ```bash
13
- npm install -g @round2ai/r2-cli@latest
14
- ```
8
+ 两步式扫码登录 + 闲鱼店铺授权,专为 AI Agent 设计。
15
9
 
16
10
  ## 命令前缀
17
11
 
18
- 见 **r2-cli** skill 的"命令前缀自动检测"章节。以下文档使用 `r2-cli` 作为前缀,根据检测结果替换。
12
+ 见 **r2-cli** skill 的"命令前缀自动检测"章节。
19
13
 
20
- ## 登录流程(两步)
14
+ ## 扫码登录(两步)
21
15
 
22
- ### 第1步:生成二维码
16
+ ### 第 1 步:生成二维码
23
17
 
24
18
  ```bash
25
19
  r2-cli auth login qr
@@ -31,14 +25,20 @@ r2-cli auth login qr
31
25
  "qrToken": "xxx",
32
26
  "expireTimeMs": 300000,
33
27
  "pollIntervalMs": 800,
34
- "qrPath": "C:\\Users\\xxx\\.r2-cli\\qrcode.png",
35
- "unicodeQR": "█▀▀▀▀▀█ ..."
28
+ "unicodeQR": "█▀▀▀▀▀█ ...",
29
+ "url": "https://m.puresnake.com/r2/auth/login?qrToken=xxx&from=wechat",
30
+ "qrUrl": "http://127.0.0.1:52173/login/"
36
31
  }
37
32
  ```
38
33
 
39
- **Agent 必须**:将 `unicodeQR` 字段的值直接输出到聊天窗口(作为文本回复),不要使用 Read 工具读取 PNG 图片——聊天窗口无法渲染图片,但 unicode 半块字符(█▀▄)可以正常显示。
34
+ **Agent 必须同时展示以下两种方式**:
35
+
36
+ 1. 将 `unicodeQR` 直接输出到聊天窗口(unicode 半块字符 █▀▄ 可显示为 QR 码)
37
+ 2. 输出 `qrUrl` 链接供用户点击在浏览器中打开
38
+
39
+ 两种方式缺一不可。用户可使用**第二回合 APP / 微信 / 支付宝**扫码。
40
40
 
41
- ### 第2步:立即轮询登录状态
41
+ ### 第 2 步:立即轮询登录状态
42
42
 
43
43
  **关键**:输出二维码后,Agent 必须立即在后台启动轮询,不要等待用户回复。
44
44
 
@@ -46,25 +46,27 @@ r2-cli auth login qr
46
46
  r2-cli auth login poll --token <qrToken> --expire <expireTimeMs> --interval <pollIntervalMs>
47
47
  ```
48
48
 
49
- 使用 Bash 工具的 `run_in_background: true` 启动轮询,然后用 `TaskOutput` 阻塞等待结果。参数取自第1步返回的 JSON 字段。
49
+ 使用 Bash 工具的 `run_in_background: true` 启动,然后用 `TaskOutput` 阻塞等待。参数取自第 1 步返回的 JSON
50
50
 
51
- 成功输出:
52
- ```json
53
- {
54
- "success": true,
55
- "userInfo": { "nickname": "...", "mobile": "..." },
56
- "token": "..."
57
- }
58
- ```
51
+ 成功:`{ "success": true, "userInfo": { "nickname": "...", "mobile": "..." }, "token": "..." }`
52
+ 失败:`{ "success": false, "error": "轮询超时 ..." }`
59
53
 
60
- 失败输出:
61
- ```json
62
- {
63
- "success": false,
64
- "error": "轮询超时 ..."
65
- }
54
+ ## 闲鱼店铺授权(两步)
55
+
56
+ 流程与登录相同。
57
+
58
+ ```bash
59
+ # 第 1 步
60
+ r2-cli auth xianyu qr
61
+ # → { "state": "xxx", "expireTimeMs": 300000, "pollIntervalMs": 1000, "unicodeQR": "...", "qrUrl": "..." }
62
+
63
+ # 第 2 步
64
+ r2-cli auth xianyu poll --state <state> --expire <expireTimeMs> --interval <pollIntervalMs>
65
+ # → 成功:{ "success": true, "shopId": "...", "shopName": "..." }
66
66
  ```
67
67
 
68
+ Agent 同样必须同时展示 `unicodeQR` 和 `qrUrl`。
69
+
68
70
  ## 其他命令
69
71
 
70
72
  | 命令 | 说明 |
@@ -72,16 +74,7 @@ r2-cli auth login poll --token <qrToken> --expire <expireTimeMs> --interval <pol
72
74
  | `r2-cli auth status` | 查看登录状态 |
73
75
  | `r2-cli auth logout` | 退出登录 |
74
76
 
75
- ## 人类一键登录
76
-
77
- ```bash
78
- r2-cli auth login
79
- ```
80
-
81
- 直接在终端显示 unicode 二维码,适合人类在 CLI 中使用。
82
-
83
77
  ## 注意事项
84
78
 
85
- - Token 存储在 `~/.r2-cli/config.json`,过期会自动刷新
86
- - 二维码默认5分钟过期,超时需重新执行第1步
79
+ - 二维码默认 5 分钟过期,超时需重新执行第 1 步
87
80
  - 登录成功后,后续 goods 等命令可直接使用
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  name: r2-cli
3
- description: R2-CLI 二手潮奢交易工具。用于认证登录、基本操作(登录、login、auth、商品、goods)。安装后 AI Agent 可直接调用全部交易能力。
3
+ description: R2-CLI 二手潮奢交易 CLI 工具。用于认证登录、商品上架/下架/改价、查看店铺/仓库/选品商品/上架列表。Agent 获取数据后展示给用户选择,完成 4 步上架流程。触发词:r2-cli、登录、上架、下架、改价、商品、goods、auth、shops、stocks、listing。
4
4
  ---
5
5
 
6
6
  # R2-CLI Skill
7
7
 
8
- R2-CLI 是二手潮奢交易命令行工具,支持商品管理(上架/下架/改价/列表)、认证登录等。
8
+ 二手潮奢交易命令行工具。
9
9
 
10
10
  ## 安装
11
11
 
@@ -21,35 +21,50 @@ npm install -g @round2ai/r2-cli@latest
21
21
  2. 存在 `dist/r2-cli.js` → `node dist/r2-cli.js`
22
22
  3. `r2-cli --version` 成功 → `r2-cli`
23
23
 
24
- 以下文档使用 `r2-cli` 作为前缀,根据检测结果替换。
25
-
26
- > **注意**:部分平台 npm 会拦截 `--help`/`-h` 等 flag,若 `npm run dev -- --help` 显示的是 npm 帮助,改用 `npx tsx src/entrypoints/r2-cli.tsx --help`。
24
+ > 部分平台 npm 会拦截 `--help` 等 flag,改用 `npx tsx src/entrypoints/r2-cli.tsx --help`。
27
25
 
28
26
  ## 前置条件
29
27
 
30
- - 必须先登录:`r2-cli auth login`(扫码登录)
31
- - 检查登录状态:`r2-cli auth status`
32
- - Token 过期会自动刷新,刷新失败才需要重新登录
33
- - Token 存储在 `~/.r2-cli/config.json`
28
+ - 先登录:`r2-cli auth login`(支持第二回合 APP / 微信 / 支付宝扫码)
29
+ - 检查状态:`r2-cli auth status`
30
+
31
+ 所有 `--json` 命令输出 `{ success: false, error: "..." }` 格式错误,检查 `success` 判断成败。
34
32
 
35
- ## 认证命令 `r2-cli auth`
33
+ ## 认证命令
36
34
 
37
35
  | 命令 | 说明 |
38
36
  |------|------|
39
- | `r2-cli auth login` | 扫码登录(生成二维码 → 手机扫码 → 确认) |
37
+ | `r2-cli auth login` | 扫码登录(交互式,人类用) |
38
+ | `r2-cli auth login qr` | 生成登录二维码 JSON(Agent 第1步) |
39
+ | `r2-cli auth login poll --token <>` | 轮询登录状态 JSON(Agent 第2步) |
40
+ | `r2-cli auth xianyu` | 闲鱼店铺授权(交互式) |
41
+ | `r2-cli auth xianyu qr` | 获取授权二维码 JSON(Agent 第1步) |
42
+ | `r2-cli auth xianyu poll --state <>` | 轮询授权状态 JSON(Agent 第2步) |
43
+ | `r2-cli auth status` | 查看登录状态 |
40
44
  | `r2-cli auth logout` | 退出登录 |
41
- | `r2-cli auth status` | 查看登录状态和用户信息 |
42
45
 
43
- ## 商品管理命令 `r2-cli goods`
46
+ > 认证登录的 Agent 两步式流程见 **r2-auth** skill。
47
+
48
+ ## 商品管理命令
44
49
 
45
50
  | 命令 | 说明 |
46
51
  |------|------|
47
- | `r2-cli goods shops` | 查看已授权店铺(`-p xianyu/douyin`) |
48
- | `r2-cli goods list` | 寄售商品列表(`--status wait/on/sold/down`) |
49
- | `r2-cli goods up` | 上架商品(交互式7步向导) |
50
- | `r2-cli goods down <ids...>` | 下架商品(支持批量) |
51
- | `r2-cli goods reup <ids...>` | 重新上架(支持批量) |
52
- | `r2-cli goods price <id> --price <amount>` | 修改售价 |
53
-
54
- > 商品管理的详细用法(交互式向导、AI Agent 分步上架)见 **r2-goods** skill。
55
- > 认证登录的 Agent 两步式流程见 **r2-auth** skill。
52
+ | `r2-cli goods shops [--json]` | 查看所有已授权店铺 |
53
+ | `r2-cli goods stocks [--json]` | 查看所有仓库 |
54
+ | `r2-cli goods list --stock-id <id> [--json]` | 查看仓库中的选品商品 |
55
+ | `r2-cli goods listing [--json]` | 查询上架列表(支持 --id/--shop-id/--status 过滤) |
56
+ | `r2-cli goods up` | 交互式上架 |
57
+ | `r2-cli goods up --stock-goods-id <id> --shop-id <id> --price <amount> --json` | Agent 直接上架(自动轮询结果) |
58
+ | `r2-cli goods down --id <id> [--json]` | 下架商品(**必须先确认**) |
59
+ | `r2-cli goods price --id <id> --price <amount> [--json]` | 修改上架价格(**必须先询问用户新价格**) |
60
+
61
+ ### Agent 上架 4 步流程
62
+
63
+ **核心理念:Agent 获取数据后展示给用户选择,不要让用户自己提供 ID。**
64
+
65
+ 1. `r2-cli goods shops --json` → 展示店铺(shopId、shopName、platform)→ 用户选择
66
+ 2. `r2-cli goods stocks --json` → 展示仓库(stockId、stockName)→ 用户选择
67
+ 3. `r2-cli goods list --stock-id <id> --json` → 展示商品(stockGoodsId、goodsName、brand、size、salePrice)→ 用户选择
68
+ 4. `r2-cli goods up --stock-goods-id <id> --shop-id <id> --price <amount> --json` → 提交上架(自动轮询结果)
69
+
70
+ > 完整流程和参数说明见 **r2-goods** skill。
@@ -1,182 +1,106 @@
1
1
  ---
2
2
  name: r2-goods
3
- description: R2-CLI 商品管理专家。用于商品上架、下架、改价、列表等操作,支持交互式向导和 AI Agent 分步执行(上架、下架、商品列表、改价、goods、商品、寄售)。
3
+ description: R2-CLI 商品管理专家。用于商品上架/下架/改价、查看店铺/仓库/选品商品/上架列表。Agent 获取数据后展示给用户选择,完成 4 步上架流程。触发词:上架、下架、改价、商品列表、goods、up、down、price、shops、stocks、listing、list。
4
4
  ---
5
5
 
6
6
  # R2-Goods Skill
7
7
 
8
- 商品管理专家,理解闲鱼/抖音商品上架全流程,能指导 AI Agent 正确调用 CLI 命令完成商品操作。
9
-
10
- ## 安装
11
-
12
- ```bash
13
- npm install -g @round2ai/r2-cli@latest
14
- ```
8
+ 商品管理专家,指导 AI Agent 完成商品上架、下架、改价全流程。
15
9
 
16
10
  ## 命令前缀
17
11
 
18
- 见 **r2-cli** skill 的"命令前缀自动检测"章节。以下文档使用 `r2-cli` 作为前缀,根据检测结果替换。
12
+ 见 **r2-cli** skill 的"命令前缀自动检测"章节。
19
13
 
20
14
  ## 命令概览
21
15
 
22
16
  | 命令 | 说明 |
23
17
  |------|------|
24
- | `r2-cli goods shops` | 查看已授权店铺(`-p xianyu/douyin`) |
25
- | `r2-cli goods list` | 寄售商品列表(`--status wait/on/sold/down`) |
26
- | `r2-cli goods up` | 交互式上架向导(7步) |
27
- | `r2-cli goods down <ids...>` | 下架商品(支持批量) |
28
- | `r2-cli goods reup <ids...>` | 重新上架(支持批量) |
29
- | `r2-cli goods price <id> --price <amount>` | 修改售价 |
30
-
31
- ## goods list 选项
32
-
33
- - `--status <status>` — `wait`(待上架)、`on`(已上架)、`sold`(已售)、`down`(已下架)
34
- - `--keyword <keyword>` — 搜索关键词
35
- - `--page <n>` / `--size <n>` — 分页(size 上限 100)
36
-
37
- ## 交互式上架(7步)
38
-
39
- `r2-cli goods up` 直接进入交互式向导:
18
+ | `r2-cli goods shops [--json]` | 查看所有已授权店铺 |
19
+ | `r2-cli goods stocks [--json]` | 查看所有仓库 |
20
+ | `r2-cli goods list --stock-id <id> [--json]` | 查看仓库中的选品商品 |
21
+ | `r2-cli goods listing [--json]` | 查询上架列表(支持 --id/--shop-id/--status 过滤) |
22
+ | `r2-cli goods up` | 交互式上架 |
23
+ | `r2-cli goods up --stock-goods-id <id> --shop-id <id> --price <amount> --json` | Agent 直接上架(自动轮询结果) |
24
+ | `r2-cli goods down --id <id> [--json]` | 下架商品(**必须先确认**) |
25
+ | `r2-cli goods price --id <id> --price <amount> [--json]` | 修改上架价格(**必须先询问用户新价格**) |
40
26
 
41
- 1. **店铺选择**(缓存优先)— 有缓存直接确认,无缓存则选平台+店铺
42
- 2. **选择商品** — 从待同步列表中选择
43
- 3. **选择成色** — 成色等级(商品类型固定为普通商品)
44
- 4. **商品描述** — 输入描述
45
- 5. **选择类目** — 主类目 → 子类目
46
- 6. **售价** — 输入售价(必须为正数)
47
- 7. **选择属性** — 品牌/尺码/成色自动匹配
48
- 8. **确认提交** — 展示摘要确认
49
-
50
- > 目前仅支持普通商品(bizType=2),严选商品暂不支持。
27
+ ---
51
28
 
52
- ## AI Agent 分步上架流程
29
+ ## Agent 上架流程(4 步)
53
30
 
54
- Agent 无法操作交互式选择器,使用子命令逐步执行:
31
+ **每一步 Agent 获取数据后,必须展示给用户让用户做选择。** 不要让用户自己提供 ID。
55
32
 
56
- ```
57
- 1. r2-cli goods list --status wait → 获取待上架商品列表
58
- 2. r2-cli goods up info <id> → 获取商品详情 + 店铺 + 地址 + 预填值
59
- 3. r2-cli goods up address ... → (仅地址为 null 时)设置发货地址
60
- 4. r2-cli goods up categories → 获取分类树
61
- 5. r2-cli goods up props <catId> → 获取分类属性 + 品牌搜索
62
- 6. r2-cli goods up submit ... → 提交上架
63
- ```
64
-
65
- ### 第1步:获取待上架商品列表
33
+ ### 第 1 步:获取店铺 → 用户选择
66
34
 
67
35
  ```bash
68
- r2-cli goods list --status wait
69
- # 表格输出:ID、名称、货号、规格、售价
36
+ r2-cli goods shops --json
70
37
  ```
71
38
 
72
- ### 第2步:获取商品详情
39
+ 展示 `shopId`(第三方店铺 ID,**上架参数取这个,不是 `id`**)、`shopName`、`platform`。
40
+
41
+ ### 第 2 步:获取仓库 → 用户选择
73
42
 
74
43
  ```bash
75
- r2-cli goods up info <goodsInfoId>
76
- # 返回: { shops, selectedShop, goodsDetail(含goodsInfoId), prefill, address }
44
+ r2-cli goods stocks --json
77
45
  ```
78
46
 
79
- **prefill 字段**(建议值,Agent 可参考或调整):
80
-
81
- | 字段 | 说明 | 可选值 |
82
- |------|------|--------|
83
- | `stuffStatus` | 成色 | `"100"`全新, `"-1"`准新, `"99"`99新, `"95"`95新, `"90"`9新 |
84
- | `reservePrice` | 建议售价 | 金额 |
85
- | `desc` | 商品描述 | 文本 |
86
- | `brandName` | 品牌名 | 用于品牌属性搜索 |
87
- | `size` | 规格/尺码 | 用于尺码属性匹配 |
47
+ 展示 `stockId`、`stockName`。`stockId` 用于第 3 步过滤商品。
88
48
 
89
- **address**:为 `null` 时需先执行 `r2-cli goods up address --save`。
90
-
91
- 选项:`--shop <shopId>` `-p, --platform <xianyu|douyin>`
92
-
93
- ### 第3步:设置发货地址(如需要)
94
-
95
- 非交互式(Agent 推荐):
49
+ ### 3 步:获取选品商品 用户选择
96
50
 
97
51
  ```bash
98
- # 列出省份
99
- r2-cli goods up address --provinces
100
- # 列出城市
101
- r2-cli goods up address --cities <省份名>
102
- # 列出地区
103
- r2-cli goods up address --areas <城市名> --province <省份名>
104
- # 保存地址
105
- r2-cli goods up address --save --province <省> --city <市> --area-code <code>
52
+ r2-cli goods list --stock-id <stockId> --json
106
53
  ```
107
54
 
108
- 交互式(人类使用):
55
+ 展示 `stockGoodsId`(**上架参数取这个**)、`goodsName`、`brand`、`size`、`salePrice`。支持翻页(`--page 2`)。
56
+
57
+ ### 第 4 步:提交上架
109
58
 
110
59
  ```bash
111
- r2-cli goods up address --set
60
+ r2-cli goods up --stock-goods-id <stockGoodsId> --shop-id <shopId> --price <amount> --json
112
61
  ```
113
62
 
114
- 查看当前地址:
63
+ 命令自动轮询上架进度(每 2 秒,最多 10 秒),返回 `{ success, data: { submit, listing } }`。检查 `data.listing.status` 判断最终状态(init/up/down/fail)。
115
64
 
116
- ```bash
117
- r2-cli goods up address
118
- ```
65
+ ### 上架参数
119
66
 
120
- ### 第4步:获取分类列表
67
+ | 参数 | 必填 | 来源 |
68
+ |------|------|------|
69
+ | `--stock-goods-id <id>` | 是 | 第 3 步 `stockGoodsId` |
70
+ | `--shop-id <id>` | 是 | 第 1 步 `shopId`(不是 `id`) |
71
+ | `--price <amount>` | 是 | 用户输入 |
72
+ | `-p, --platform` | 否 | 默认 xianyu |
73
+ | `--json` | 否 | Agent 推荐 |
121
74
 
122
- ```bash
123
- r2-cli goods up categories
124
- # 返回: [{ catId, catName, children: [{ channel, channelCatId }] }]
125
- ```
75
+ ---
126
76
 
127
- 先选主类目(catId),再选子类目(channelCatId)。
77
+ ## 下架商品
128
78
 
129
- ### 第5步:获取分类属性
79
+ **Agent 必须先向用户确认后再下架。**
130
80
 
131
81
  ```bash
132
- r2-cli goods up props <channelCatId> --brand <keyword>
133
- # 返回: [{ propId, propName, propsValues: [{ valueId, valueName }], matched? }]
82
+ r2-cli goods down --id <goodsListingId> --json
83
+ # --stock-goods-id <id> --shop-id <id>
134
84
  ```
135
85
 
136
- - 品牌属性传 `--brand` 会返回 `matched` 匹配结果
137
- - Agent 应优先使用 `matched` 中的值
86
+ ## 修改价格
138
87
 
139
- ### 第6步:提交上架
88
+ **Agent 必须先询问用户新价格,不能自行决定。** 用户说"修改价格"时,先问"要改成多少?"。
140
89
 
141
90
  ```bash
142
- r2-cli goods up submit \
143
- --data @detail.json \
144
- --division-id <id> \
145
- --cat-id <catId> \
146
- --channel-cat-id <channelCatId> \
147
- --goods-no <货号> \
148
- --size <规格> \
149
- --attrs @attrs.json \
150
- --services @services.json
91
+ r2-cli goods price --id <goodsListingId> --price <新价格> --json
92
+ # 或 --stock-goods-id <id> --shop-id <id>
151
93
  ```
152
94
 
153
- **`--data`**:goodsDetail JSON(`@file.json` 从文件读取,或直接传 JSON 字符串)。goodsDetail 中已包含 `goodsInfoId`、`account`、`imageList`、`spBizType` 等全量字段,会透传给上架接口。
154
-
155
- **必填参数**:`--data`、`--division-id`、`--cat-id`、`--channel-cat-id`
156
-
157
- **可选覆盖参数**:
158
- - `--price <amount>` — 覆盖售价
159
- - `--stuff <status>` — 覆盖成色
160
- - `--desc <desc>` — 覆盖描述
161
- - `--goods-no <no>` — 货号
162
- - `--size <size>` — 规格
163
- - `--title <title>` — 标题
164
- - `--attrs <json>` — 属性列表 JSON(`@file.json` 从文件读取)
165
- - `--services <json>` — 服务保障 JSON(`@file.json` 从文件读取)
95
+ ## 查询上架列表
166
96
 
167
- **attrs 格式**:
168
- ```json
169
- [
170
- { "propId": "xxx", "valueId": "yyy", "valueName": "JORDAN" }
97
+ ```bash
98
+ r2-cli goods listing --json
99
+ # 支持 --id / --shop-id / --stock-goods-id / --status <init|up|down|fail> / --platform 过滤
171
100
  ```
172
101
 
173
- ## 缓存
174
-
175
- - **店铺**:首次选择后缓存到 `~/.r2-cli/config.json`,下次自动使用
176
- - **地址**:`address --save` 或交互式设置后缓存
102
+ ---
177
103
 
178
- ## 业务约束
104
+ ## 错误处理
179
105
 
180
- - 排除商品原始 `price`,只用用户确认的 `reservePrice` `originalPrice`
181
- - 目前仅支持普通商品(itemBizType=2)
182
- - Windows 下 JSON 参数建议用 `@file.json` 方式传
106
+ 所有命令统一格式:`{ "success": false, "error": "错误信息" }`。检查 `success` 判断成败。