@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 +23 -44
- package/dist/README.md +23 -44
- package/dist/package.json +3 -1
- package/dist/pages/login.html +2 -7
- package/dist/pages/xianyu-auth.html +3 -9
- package/dist/r2-cli.js +39 -43
- package/package.json +3 -1
- package/scripts/build.js +176 -0
- package/scripts/dev.js +22 -0
- package/scripts/install-skills.js +54 -0
- package/skills/r2-auth/SKILL.md +98 -30
- package/skills/r2-cli/SKILL.md +21 -21
- package/skills/r2-goods/SKILL.md +125 -25
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 / 微信 /
|
|
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
|
|
69
|
+
> Agent 使用 `auth login --json` 一步完成登录(自动打开浏览器 + 自动轮询登录状态):
|
|
72
70
|
|
|
73
71
|
```bash
|
|
74
|
-
|
|
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` |
|
|
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
|
|
135
|
-
| `r2-cli auth login poll --token <>` |
|
|
136
|
-
| `r2-cli auth xianyu` |
|
|
137
|
-
| `r2-cli auth xianyu
|
|
138
|
-
| `r2-cli auth xianyu poll --state <>` | 轮询授权状态 JSON
|
|
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
|
|
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
|
|
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
|
|
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 / 微信 /
|
|
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
|
|
69
|
+
> Agent 使用 `auth login --json` 一步完成登录(自动打开浏览器 + 自动轮询登录状态):
|
|
72
70
|
|
|
73
71
|
```bash
|
|
74
|
-
|
|
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` |
|
|
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
|
|
135
|
-
| `r2-cli auth login poll --token <>` |
|
|
136
|
-
| `r2-cli auth xianyu` |
|
|
137
|
-
| `r2-cli auth xianyu
|
|
138
|
-
| `r2-cli auth xianyu poll --state <>` | 轮询授权状态 JSON
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
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"
|
package/dist/pages/login.html
CHANGED
|
@@ -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-
|
|
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
|
-
<
|
|
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-
|
|
17
|
-
.
|
|
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
|
-
<
|
|
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>
|