feat: 身份页显示本机账号台账(accounts_b64,v1.5)
平台在拉起身份页时顺带推这台设备登记的抖音账号(契约见 平台 doc/DEVICE_AGENT.md §5.2.1 与本仓库 INTERFACE.md §5.2.1): - 解析 `--es accounts_b64`(标准 base64 + UTF-8 → JSONObject),在设备信息下面 渲染账号列表:账号名称 / 抖音号 / [卡·发] 标记 - 一屏放不下:**最多显示 4 个** + "…还有 N 个,见平台「账号」页" (第一版 26sp 一行塞"名称+号+标记",720x1650 上第 3 个号就被切掉了,实测后收紧) - 三种情况分清楚:无 extra → 整块不显示(= 这台没登记账号,行为与旧版逐字一致); 有但解不开 → 显示一行"解析失败"(不静默,否则像"没账号");能解开 → 逐条列出 - 隐私:平台默认不推手机号(身份页是机器旁的公开屏幕) 版本 1.4 → 1.5(versionCode 6)。已在 A03 装机验证(带账号/不带账号两种截图)。
This commit is contained in:
+32
-2
@@ -201,17 +201,47 @@ adb -s <serial> shell am start -n <pkg>/.ClipActivity --es text_b64 <base64(UTF-
|
||||
- 平台判定失败的方式:`am start` 输出里有 `unable to resolve Intent` / `does not exist`
|
||||
→ 视为"设备未安装 Agent"
|
||||
|
||||
### 5.2 设备身份显示(待设备端实现)
|
||||
### 5.2 设备身份显示(已实现)
|
||||
|
||||
```bash
|
||||
adb -s <serial> shell am start -n <pkg>/.InfoActivity \
|
||||
--es name "A08" --es ip "192.168.20.100" --es serial "192.168.20.100:5555" \
|
||||
--es server "http://192.168.20.220:18050"
|
||||
--es server "http://192.168.20.220:18050" \
|
||||
--es accounts_b64 "<base64(UTF-8 JSON)>" # 可选,见 §5.2.1
|
||||
# 关闭:--es close 1
|
||||
```
|
||||
|
||||
要求:全屏大字、再次调用可覆盖内容、`close` 可关闭、不驻留前台。
|
||||
|
||||
#### 5.2.1 本机账号台账(`accounts_b64`,可选 extras,已实现 v1.5)
|
||||
|
||||
平台在**打开**身份页时顺带推这台设备在「账号」页登记的抖音账号(`close` 时不带)。
|
||||
**标准 base64(不是 URL_SAFE)+ UTF-8**:
|
||||
|
||||
```json
|
||||
{"v":1,"total":4,"shown":4,"truncated":false,
|
||||
"note":"设备『A03』登记 4 个号",
|
||||
"accounts":[
|
||||
{"name":"AA建材王总","douyin_id":"66057500463","device_name":"A03","device_no":"A03",
|
||||
"sim_in_device":true,"can_post_video":true}]}
|
||||
```
|
||||
|
||||
| 字段 | 说明 |
|
||||
|------|------|
|
||||
| `v` | 块格式版本(当前 **1**) |
|
||||
| `total` / `shown` / `truncated` | 台账里的总数 / 本次几条 / 是否被截断 |
|
||||
| `accounts[].name` / `douyin_id` | 账号名称 / **抖音号(纯号)** |
|
||||
| `accounts[].sim_in_device` / `can_post_video` | 卡在机内 / 可发视频 |
|
||||
| `accounts[].phone` | **默认不推**(大字页是公开屏幕);平台侧可传 `include_phone:true` 要 |
|
||||
|
||||
设备端三种情况要分清(InfoActivity 已按此实现):
|
||||
|
||||
| 情况 | 表现 |
|
||||
|---|---|
|
||||
| 没有该 extra | 账号块**整块不显示**(= 这台设备在台账里没登记账号,旧平台也走这条) |
|
||||
| 有但解不开 | 显示一行**解析失败**提示(不要静默,否则看着像"这台没账号") |
|
||||
| 有且能解开 | 逐条显示;`truncated` 时补"…还有 N 个,见平台「账号」页" |
|
||||
|
||||
### 5.3 一次性配置下发(建议设备端实现)
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user