@round2ai/r2-cli 1.0.9 → 1.0.11

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/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  R2-CLI — 二手潮奢交易命令行工具,由 [Round2AI](https://github.com/Round2AI) 团队维护 — 让人类和 AI Agent 都能在终端中完成商品上架等交易操作。
7
7
 
8
- 覆盖商品上架、认证登录等核心业务域,提供 3 个 AI Agent [Skills](./skills/)。
8
+ 覆盖商品上架、认证登录等核心业务域,提供 7 个商品命令及 3 个 AI Agent [Skills](./skills/)。
9
9
 
10
10
  [安装](#安装与快速开始) · [AI Agent 快速开始](#快速开始ai-agent) · [Agent Skills](#agent-skills) · [认证](#认证) · [命令](#命令参考) · [安全](#安全与风险提示)
11
11
 
@@ -20,8 +20,8 @@ R2-CLI — 二手潮奢交易命令行工具,由 [Round2AI](https://github.com
20
20
 
21
21
  | 类别 | 能力 |
22
22
  |------|------|
23
- | 认证登录 | 扫码登录(第二回合 APP / 微信 / 支付宝)、闲鱼店铺授权、状态查询、登出(支持 Agent 两步式流程) |
24
- | 商品管理 | 商品上架(4 步流程:获取店铺 → 获取仓库 → 获取选品商品 → 提交上架 + 自动轮询上架结果)、店铺查看、仓库查看、选品商品查看 |
23
+ | 认证登录 | 扫码登录(第二回合 APP / 微信 / 支付宝)、闲鱼店铺授权、状态查询、登出(Agent 一步式流程) |
24
+ | 商品管理 | 商品上架(4 步流程:获取店铺 → 获取仓库 → 获取选品商品 → 提交上架 + 自动轮询上架结果)、店铺查看、仓库查看、选品商品查看、上架列表查询、下架、改价 |
25
25
 
26
26
  ---
27
27
 
@@ -62,22 +62,18 @@ npm install -g @round2ai/r2-cli@latest
62
62
 
63
63
  # 安装 Skills(必需)
64
64
  npx skills add Round2AI/r2-cli --all -y
65
- # 局域网私有部署:
66
- # npx skills add http://192.168.0.99:3000/puresnake/r2-cli.git -y -g
67
65
  ```
68
66
 
69
67
  **第 2 步 — 登录**
70
68
 
71
- > Agent 不要直接运行 `r2-cli auth login`(交互式命令),使用两步式流程:
69
+ > Agent 使用 `auth login --json` 一步完成登录(自动打开浏览器 + 自动轮询登录状态):
72
70
 
73
71
  ```bash
74
- # 生成二维码,将 unicodeQR 输出给用户扫码
75
- r2-cli auth login qr
76
-
77
- # 用户扫码后,立即轮询确认(后台运行)
78
- r2-cli auth login poll --token <qrToken> --expire <expireTimeMs> --interval <pollIntervalMs>
72
+ r2-cli auth login --json
79
73
  ```
80
74
 
75
+ 命令自动打开浏览器展示扫码页面,输出 QR JSON,用户扫码确认后自动输出登录结果。
76
+
81
77
  **第 3 步 — 验证**
82
78
 
83
79
  ```bash
@@ -96,7 +92,8 @@ r2-cli goods shops --json
96
92
  r2-cli goods stocks --json
97
93
 
98
94
  # 3. 获取选品商品 → 展示 stockGoodsId/goodsName/brand/size/salePrice → 用户选择
99
- r2-cli goods list --stock-id <stockId> --json
95
+ r2-cli goods list --stock-id <stockId> --json # 按仓库过滤
96
+ r2-cli goods list --stock-goods-id <id> --json # 或按商品 ID 查询
100
97
 
101
98
  # 4. 提交上架(自动轮询上架结果)
102
99
  r2-cli goods up --stock-goods-id <id> --shop-id <id> --price <amount> --json
@@ -111,18 +108,15 @@ r2-cli goods up --stock-goods-id <id> --shop-id <id> --price <amount> --json
111
108
  ```bash
112
109
  # GitHub(公开仓库)
113
110
  npx skills add Round2AI/r2-cli --all -y
114
-
115
- # 局域网 Git 服务(私有部署)
116
- npx skills add http://192.168.0.99:3000/puresnake/r2-cli.git -y -g
117
111
  ```
118
112
 
119
113
  安装后 AI 助手获得 3 个 Skills:
120
114
 
121
115
  | Skill | 说明 |
122
116
  |-------|------|
123
- | `r2-auth` | 认证登录:两步式扫码登录(生成二维码 轮询确认,支持第二回合 APP / 微信 / 支付宝)、状态查询、登出 |
117
+ | `r2-auth` | 认证登录:一步式扫码登录(生成二维码 + 自动轮询,支持第二回合 APP / 微信 / 支付宝)、闲鱼店铺授权、状态查询、登出 |
124
118
  | `r2-cli` | 命令概览:安装检测、认证命令、商品管理命令、命令前缀自动识别 |
125
- | `r2-goods` | 商品管理:4 步上架流程(获取数据 → 展示给用户 → 用户选择 → 提交上架 + 自动轮询结果)、交互式上架、店铺/仓库/商品查看、上架查询 |
119
+ | `r2-goods` | 商品管理:4 步上架流程(获取数据 → 展示给用户 → 用户选择 → 提交上架 + 自动轮询结果)、下架、改价、店铺/仓库/商品/上架列表查看 |
126
120
 
127
121
  ---
128
122
 
@@ -130,16 +124,16 @@ npx skills add http://192.168.0.99:3000/puresnake/r2-cli.git -y -g
130
124
 
131
125
  | 命令 | 说明 |
132
126
  |------|------|
133
- | `r2-cli auth login` | 扫码登录(交互式,人类使用) |
134
- | `r2-cli auth login qr` | 生成二维码 JSONAgent 第1步) |
135
- | `r2-cli auth login poll --token <>` | 轮询登录状态 JSON(Agent 第2步) |
136
- | `r2-cli auth xianyu` | 闲鱼店铺授权(交互式,人类使用) |
137
- | `r2-cli auth xianyu qr` | 获取授权二维码 JSONAgent 第1步) |
138
- | `r2-cli auth xianyu poll --state <>` | 轮询授权状态 JSON(Agent 第2步) |
127
+ | `r2-cli auth login` | 扫码登录(自动打开浏览器,人类使用) |
128
+ | `r2-cli auth login --json` | 扫码登录(自动打开浏览器 + JSON 输出,Agent 推荐) |
129
+ | `r2-cli auth login poll --token <>` | 手动轮询登录状态(备选,不推荐) |
130
+ | `r2-cli auth xianyu` | 闲鱼店铺授权(自动打开浏览器,人类使用) |
131
+ | `r2-cli auth xianyu --json` | 闲鱼店铺授权(自动打开浏览器 + JSON 输出,Agent 推荐) |
132
+ | `r2-cli auth xianyu poll --state <>` | 轮询授权状态 JSON(备选,不推荐) |
139
133
  | `r2-cli auth status` | 查看登录状态 |
140
134
  | `r2-cli auth logout` | 退出登录 |
141
135
 
142
- Token 存储在 `~/.r2-cli/config.json`(原子写入防丢失),过期后需重新登录。内存缓存带过期检查,不会使用失效凭证。扫码登录支持两种方式:终端 unicode 二维码 + 浏览器链接(页面展示第二回合品牌,实时更新扫码状态,成功后自动关闭)。支持第二回合 APP、微信、支付宝扫码。
136
+ Token 存储在 `~/.r2-cli/config.json`(原子写入防丢失),过期后需重新登录。内存缓存带过期检查,不会使用失效凭证。扫码登录自动打开浏览器展示品牌化扫码页面(实时更新扫码状态,成功后自动关闭),同时输出链接到终端作为备选。支持第二回合 APP、微信、支付宝扫码。
143
137
 
144
138
  ---
145
139
 
@@ -151,12 +145,12 @@ Token 存储在 `~/.r2-cli/config.json`(原子写入防丢失),过期后
151
145
  |------|------|
152
146
  | `r2-cli goods shops [--json]` | 查看所有已授权店铺(跨平台) |
153
147
  | `r2-cli goods stocks [--json]` | 查看所有仓库 |
154
- | `r2-cli goods list --stock-id <id> [--json]` | 查看仓库中的选品商品 |
155
- | `r2-cli goods listing --stock-goods-id <id> --shop-id <id> [--json]` | 查询上架信息 |
148
+ | `r2-cli goods list [--stock-id <id>] [--stock-goods-id <id>] [--json]` | 查看选品商品(可按仓库或商品 ID 过滤,支持 `--page` 和 `--size`) |
149
+ | `r2-cli goods listing [--json]` | 查询上架列表(支持 `--id` / `--shop-id` / `--stock-goods-id` / `--stock-id` / `--status` / `--platform` 过滤) |
156
150
  | `r2-cli goods up` | 交互式上架(自动轮询上架结果) |
157
- | `r2-cli goods up --stock-goods-id <id> --shop-id <id> --price <amount>` | Agent 直接上架(自动轮询上架结果,`--json`) |
158
- | `r2-cli goods down --id <id> [--json]` | 下架商品 |
159
- | `r2-cli goods price --id <id> --price <amount> [--json]` | 修改上架价格 |
151
+ | `r2-cli goods up --stock-goods-id <id> --shop-id <id> --price <amount> --json` | Agent 直接上架(自动轮询上架结果) |
152
+ | `r2-cli goods down --id <id> [--json]` | 下架商品(也可用 `--stock-goods-id <id> --shop-id <id>`) |
153
+ | `r2-cli goods price --id <id> --price <amount> [--json]` | 修改上架价格(也可用 `--stock-goods-id <id> --shop-id <id>`) |
160
154
 
161
155
  ### 上架参数
162
156
 
@@ -174,21 +168,6 @@ Token 存储在 `~/.r2-cli/config.json`(原子写入防丢失),过期后
174
168
  |------|------|
175
169
  | `r2-cli uninstall` | 卸载 R2-CLI 并清除所有配置 |
176
170
 
177
- ### 开发中
178
-
179
- > 以下命令已显示在 `--help`,执行时提示暂未实现。
180
-
181
- | 命令 | 说明 |
182
- |------|------|
183
- | `r2-cli ingest` | ERP 数据对接 |
184
- | `r2-cli ask` | 自然语言查询经营数据 |
185
- | `r2-cli demand` | 市场需求热度扫描 |
186
- | `r2-cli fulfillment` | 履约全链路追踪 |
187
- | `r2-cli simulate` | 竞价成交模拟 |
188
- | `r2-cli bidding-strategy` | 竞价策略建议 |
189
- | `r2-cli decide` | 经营动作建议 |
190
- | `r2-cli agent` | AI Agent 集成 |
191
-
192
171
  ---
193
172
 
194
173
  ## 安全与风险提示
package/dist/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  R2-CLI — 二手潮奢交易命令行工具,由 [Round2AI](https://github.com/Round2AI) 团队维护 — 让人类和 AI Agent 都能在终端中完成商品上架等交易操作。
7
7
 
8
- 覆盖商品上架、认证登录等核心业务域,提供 3 个 AI Agent [Skills](./skills/)。
8
+ 覆盖商品上架、认证登录等核心业务域,提供 7 个商品命令及 3 个 AI Agent [Skills](./skills/)。
9
9
 
10
10
  [安装](#安装与快速开始) · [AI Agent 快速开始](#快速开始ai-agent) · [Agent Skills](#agent-skills) · [认证](#认证) · [命令](#命令参考) · [安全](#安全与风险提示)
11
11
 
@@ -20,8 +20,8 @@ R2-CLI — 二手潮奢交易命令行工具,由 [Round2AI](https://github.com
20
20
 
21
21
  | 类别 | 能力 |
22
22
  |------|------|
23
- | 认证登录 | 扫码登录(第二回合 APP / 微信 / 支付宝)、闲鱼店铺授权、状态查询、登出(支持 Agent 两步式流程) |
24
- | 商品管理 | 商品上架(4 步流程:获取店铺 → 获取仓库 → 获取选品商品 → 提交上架 + 自动轮询上架结果)、店铺查看、仓库查看、选品商品查看 |
23
+ | 认证登录 | 扫码登录(第二回合 APP / 微信 / 支付宝)、闲鱼店铺授权、状态查询、登出(Agent 一步式流程) |
24
+ | 商品管理 | 商品上架(4 步流程:获取店铺 → 获取仓库 → 获取选品商品 → 提交上架 + 自动轮询上架结果)、店铺查看、仓库查看、选品商品查看、上架列表查询、下架、改价 |
25
25
 
26
26
  ---
27
27
 
@@ -62,22 +62,18 @@ npm install -g @round2ai/r2-cli@latest
62
62
 
63
63
  # 安装 Skills(必需)
64
64
  npx skills add Round2AI/r2-cli --all -y
65
- # 局域网私有部署:
66
- # npx skills add http://192.168.0.99:3000/puresnake/r2-cli.git -y -g
67
65
  ```
68
66
 
69
67
  **第 2 步 — 登录**
70
68
 
71
- > Agent 不要直接运行 `r2-cli auth login`(交互式命令),使用两步式流程:
69
+ > Agent 使用 `auth login --json` 一步完成登录(自动打开浏览器 + 自动轮询登录状态):
72
70
 
73
71
  ```bash
74
- # 生成二维码,将 unicodeQR 输出给用户扫码
75
- r2-cli auth login qr
76
-
77
- # 用户扫码后,立即轮询确认(后台运行)
78
- r2-cli auth login poll --token <qrToken> --expire <expireTimeMs> --interval <pollIntervalMs>
72
+ r2-cli auth login --json
79
73
  ```
80
74
 
75
+ 命令自动打开浏览器展示扫码页面,输出 QR JSON,用户扫码确认后自动输出登录结果。
76
+
81
77
  **第 3 步 — 验证**
82
78
 
83
79
  ```bash
@@ -96,7 +92,8 @@ r2-cli goods shops --json
96
92
  r2-cli goods stocks --json
97
93
 
98
94
  # 3. 获取选品商品 → 展示 stockGoodsId/goodsName/brand/size/salePrice → 用户选择
99
- r2-cli goods list --stock-id <stockId> --json
95
+ r2-cli goods list --stock-id <stockId> --json # 按仓库过滤
96
+ r2-cli goods list --stock-goods-id <id> --json # 或按商品 ID 查询
100
97
 
101
98
  # 4. 提交上架(自动轮询上架结果)
102
99
  r2-cli goods up --stock-goods-id <id> --shop-id <id> --price <amount> --json
@@ -111,18 +108,15 @@ r2-cli goods up --stock-goods-id <id> --shop-id <id> --price <amount> --json
111
108
  ```bash
112
109
  # GitHub(公开仓库)
113
110
  npx skills add Round2AI/r2-cli --all -y
114
-
115
- # 局域网 Git 服务(私有部署)
116
- npx skills add http://192.168.0.99:3000/puresnake/r2-cli.git -y -g
117
111
  ```
118
112
 
119
113
  安装后 AI 助手获得 3 个 Skills:
120
114
 
121
115
  | Skill | 说明 |
122
116
  |-------|------|
123
- | `r2-auth` | 认证登录:两步式扫码登录(生成二维码 轮询确认,支持第二回合 APP / 微信 / 支付宝)、状态查询、登出 |
117
+ | `r2-auth` | 认证登录:一步式扫码登录(生成二维码 + 自动轮询,支持第二回合 APP / 微信 / 支付宝)、闲鱼店铺授权、状态查询、登出 |
124
118
  | `r2-cli` | 命令概览:安装检测、认证命令、商品管理命令、命令前缀自动识别 |
125
- | `r2-goods` | 商品管理:4 步上架流程(获取数据 → 展示给用户 → 用户选择 → 提交上架 + 自动轮询结果)、交互式上架、店铺/仓库/商品查看、上架查询 |
119
+ | `r2-goods` | 商品管理:4 步上架流程(获取数据 → 展示给用户 → 用户选择 → 提交上架 + 自动轮询结果)、下架、改价、店铺/仓库/商品/上架列表查看 |
126
120
 
127
121
  ---
128
122
 
@@ -130,16 +124,16 @@ npx skills add http://192.168.0.99:3000/puresnake/r2-cli.git -y -g
130
124
 
131
125
  | 命令 | 说明 |
132
126
  |------|------|
133
- | `r2-cli auth login` | 扫码登录(交互式,人类使用) |
134
- | `r2-cli auth login qr` | 生成二维码 JSONAgent 第1步) |
135
- | `r2-cli auth login poll --token <>` | 轮询登录状态 JSON(Agent 第2步) |
136
- | `r2-cli auth xianyu` | 闲鱼店铺授权(交互式,人类使用) |
137
- | `r2-cli auth xianyu qr` | 获取授权二维码 JSONAgent 第1步) |
138
- | `r2-cli auth xianyu poll --state <>` | 轮询授权状态 JSON(Agent 第2步) |
127
+ | `r2-cli auth login` | 扫码登录(自动打开浏览器,人类使用) |
128
+ | `r2-cli auth login --json` | 扫码登录(自动打开浏览器 + JSON 输出,Agent 推荐) |
129
+ | `r2-cli auth login poll --token <>` | 手动轮询登录状态(备选,不推荐) |
130
+ | `r2-cli auth xianyu` | 闲鱼店铺授权(自动打开浏览器,人类使用) |
131
+ | `r2-cli auth xianyu --json` | 闲鱼店铺授权(自动打开浏览器 + JSON 输出,Agent 推荐) |
132
+ | `r2-cli auth xianyu poll --state <>` | 轮询授权状态 JSON(备选,不推荐) |
139
133
  | `r2-cli auth status` | 查看登录状态 |
140
134
  | `r2-cli auth logout` | 退出登录 |
141
135
 
142
- Token 存储在 `~/.r2-cli/config.json`(原子写入防丢失),过期后需重新登录。内存缓存带过期检查,不会使用失效凭证。扫码登录支持两种方式:终端 unicode 二维码 + 浏览器链接(页面展示第二回合品牌,实时更新扫码状态,成功后自动关闭)。支持第二回合 APP、微信、支付宝扫码。
136
+ Token 存储在 `~/.r2-cli/config.json`(原子写入防丢失),过期后需重新登录。内存缓存带过期检查,不会使用失效凭证。扫码登录自动打开浏览器展示品牌化扫码页面(实时更新扫码状态,成功后自动关闭),同时输出链接到终端作为备选。支持第二回合 APP、微信、支付宝扫码。
143
137
 
144
138
  ---
145
139
 
@@ -151,12 +145,12 @@ Token 存储在 `~/.r2-cli/config.json`(原子写入防丢失),过期后
151
145
  |------|------|
152
146
  | `r2-cli goods shops [--json]` | 查看所有已授权店铺(跨平台) |
153
147
  | `r2-cli goods stocks [--json]` | 查看所有仓库 |
154
- | `r2-cli goods list --stock-id <id> [--json]` | 查看仓库中的选品商品 |
155
- | `r2-cli goods listing --stock-goods-id <id> --shop-id <id> [--json]` | 查询上架信息 |
148
+ | `r2-cli goods list [--stock-id <id>] [--stock-goods-id <id>] [--json]` | 查看选品商品(可按仓库或商品 ID 过滤,支持 `--page` 和 `--size`) |
149
+ | `r2-cli goods listing [--json]` | 查询上架列表(支持 `--id` / `--shop-id` / `--stock-goods-id` / `--stock-id` / `--status` / `--platform` 过滤) |
156
150
  | `r2-cli goods up` | 交互式上架(自动轮询上架结果) |
157
- | `r2-cli goods up --stock-goods-id <id> --shop-id <id> --price <amount>` | Agent 直接上架(自动轮询上架结果,`--json`) |
158
- | `r2-cli goods down --id <id> [--json]` | 下架商品 |
159
- | `r2-cli goods price --id <id> --price <amount> [--json]` | 修改上架价格 |
151
+ | `r2-cli goods up --stock-goods-id <id> --shop-id <id> --price <amount> --json` | Agent 直接上架(自动轮询上架结果) |
152
+ | `r2-cli goods down --id <id> [--json]` | 下架商品(也可用 `--stock-goods-id <id> --shop-id <id>`) |
153
+ | `r2-cli goods price --id <id> --price <amount> [--json]` | 修改上架价格(也可用 `--stock-goods-id <id> --shop-id <id>`) |
160
154
 
161
155
  ### 上架参数
162
156
 
@@ -174,21 +168,6 @@ Token 存储在 `~/.r2-cli/config.json`(原子写入防丢失),过期后
174
168
  |------|------|
175
169
  | `r2-cli uninstall` | 卸载 R2-CLI 并清除所有配置 |
176
170
 
177
- ### 开发中
178
-
179
- > 以下命令已显示在 `--help`,执行时提示暂未实现。
180
-
181
- | 命令 | 说明 |
182
- |------|------|
183
- | `r2-cli ingest` | ERP 数据对接 |
184
- | `r2-cli ask` | 自然语言查询经营数据 |
185
- | `r2-cli demand` | 市场需求热度扫描 |
186
- | `r2-cli fulfillment` | 履约全链路追踪 |
187
- | `r2-cli simulate` | 竞价成交模拟 |
188
- | `r2-cli bidding-strategy` | 竞价策略建议 |
189
- | `r2-cli decide` | 经营动作建议 |
190
- | `r2-cli agent` | AI Agent 集成 |
191
-
192
171
  ---
193
172
 
194
173
  ## 安全与风险提示
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@round2ai/r2-cli",
3
- "version": "1.0.9",
3
+ "version": "1.0.10",
4
4
  "description": "R2-CLI,向 AI 开放二手潮奢交易全链路能力",
5
5
  "main": "dist/r2-cli.js",
6
6
  "type": "module",
@@ -8,6 +8,7 @@
8
8
  "r2-cli": "./dist/r2-cli.js"
9
9
  },
10
10
  "scripts": {
11
+ "postinstall": "node scripts/install-skills.js",
11
12
  "build": "cross-env NODE_ENV=development node scripts/build.js",
12
13
  "build:prod": "cross-env NODE_ENV=production node scripts/build.js",
13
14
  "dev": "node scripts/dev.js"
@@ -24,6 +25,7 @@
24
25
  ],
25
26
  "files": [
26
27
  "dist",
28
+ "scripts",
27
29
  "skills",
28
30
  "package.json",
29
31
  "README.md"
@@ -13,9 +13,7 @@ img#qr{max-width:200px;border-radius:12px;transition:all .3s ease}
13
13
  img#qr.dimmed{opacity:.15;filter:blur(4px);transform:scale(.95)}
14
14
  .status-text{font-size:16px;font-weight:600;color:var(--text);margin-top:16px}
15
15
  .hint{color:var(--text-muted);font-size:13px;margin-top:6px}
16
- .scan-methods{display:flex;justify-content:center;gap:8px;margin-top:20px;flex-wrap:wrap}
17
- .scan-methods span{font-size:11px;font-weight:500;padding:4px 12px;border-radius:6px;border:1px solid var(--border);color:var(--text-muted);background:var(--card);transition:all .2s ease}
18
- .scan-methods span:hover{border-color:var(--primary);color:var(--primary-dark)}
16
+ .scan-hint{color:var(--text-muted);font-size:12px;margin-top:16px}
19
17
  .status-icon{font-size:56px;margin-bottom:8px;animation:popIn .4s cubic-bezier(.175,.885,.32,1.275)}
20
18
  @keyframes popIn{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}
21
19
  .success-bg .card{border-color:var(--success);box-shadow:0 2px 16px rgba(82,196,26,.12)}
@@ -26,16 +24,13 @@ img#qr.dimmed{opacity:.15;filter:blur(4px);transform:scale(.95)}
26
24
  .scanning-bg .status-text{color:var(--info)}
27
25
  .pulse{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--info);animation:pulse 1.4s infinite;margin-right:6px;vertical-align:middle}
28
26
  @keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}
29
- .divider{display:flex;align-items:center;gap:12px;margin-top:20px;color:var(--text-muted);font-size:11px}
30
- .divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--border)}
31
27
  </style></head>
32
28
  <body>
33
29
  <div class="card" id="app">
34
30
  <div class="brand"><div class="brand-name">第二回合</div><div class="brand-sub">Round2AI</div></div>
35
31
  <img id="qr" src="./qr.png" alt="第二回合 - 扫码登录"/>
36
32
  <p class="status-text" id="statusText">请扫码登录</p>
37
- <div class="divider">支持扫码方式</div>
38
- <div class="scan-methods"><span>第二回合 APP</span><span>微信</span><span>支付宝</span></div>
33
+ <p class="scan-hint">支持 第二回合 APP / 微信 / 支付宝 扫码</p>
39
34
  <p class="hint" id="hint"></p>
40
35
  </div>
41
36
  <script>
@@ -13,10 +13,8 @@ img#qr{max-width:200px;border-radius:12px;transition:all .3s ease}
13
13
  img#qr.dimmed{opacity:.15;filter:blur(4px);transform:scale(.95)}
14
14
  .status-text{font-size:16px;font-weight:600;color:var(--text);margin-top:16px}
15
15
  .hint{color:var(--text-muted);font-size:13px;margin-top:6px}
16
- .scan-methods{display:flex;justify-content:center;gap:8px;margin-top:20px;flex-wrap:wrap}
17
- .scan-methods span{font-size:11px;font-weight:500;padding:4px 12px;border-radius:6px;border:1px solid var(--border);color:var(--text-muted);background:var(--card);transition:all .2s ease}
18
- .scan-methods span:hover{border-color:var(--primary);color:var(--primary-dark)}
19
- .auth-btn{display:inline-block;margin-top:16px;padding:10px 32px;border-radius:8px;background:var(--primary);color:#fff;font-size:14px;font-weight:600;text-decoration:none;letter-spacing:1px;transition:all .2s ease}
16
+ .scan-hint{color:var(--text-muted);font-size:12px;margin-top:16px}
17
+ .auth-btn{display:inline-block;margin-top:16px;padding:10px 32px;border-radius:8px;background:var(--primary);color:var(--text);font-size:14px;font-weight:600;text-decoration:none;letter-spacing:1px;transition:all .2s ease}
20
18
  .auth-btn:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #FFE60F33}
21
19
  .status-icon{font-size:56px;margin-bottom:8px;animation:popIn .4s cubic-bezier(.175,.885,.32,1.275)}
22
20
  @keyframes popIn{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}
@@ -28,17 +26,13 @@ img#qr.dimmed{opacity:.15;filter:blur(4px);transform:scale(.95)}
28
26
  .scanning-bg .status-text{color:var(--info)}
29
27
  .pulse{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--info);animation:pulse 1.4s infinite;margin-right:6px;vertical-align:middle}
30
28
  @keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}
31
- .divider{display:flex;align-items:center;gap:12px;margin-top:20px;color:var(--text-muted);font-size:11px}
32
- .divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--border)}
33
29
  </style></head>
34
30
  <body>
35
31
  <div class="card" id="app">
36
32
  <div class="brand"><div class="brand-name">闲鱼授权</div><div class="brand-sub">Round2AI</div></div>
37
33
  <img id="qr" src="./qr.png" alt="闲鱼店铺授权"/>
38
34
  <p class="status-text" id="statusText">请扫码授权</p>
39
- <div class="divider">支持扫码方式</div>
40
- <div class="scan-methods"><span>闲鱼 APP</span><span>微信</span></div>
41
- <div class="divider">或</div>
35
+ <p class="scan-hint">支持 浏览器 / 微信 扫码</p>
42
36
  <a class="auth-btn" id="auth-btn" style="display:none" href="#" target="_blank">点击授权</a>
43
37
  <p class="hint" id="hint"></p>
44
38
  </div>