docs: add wechat native ui rollback spec
This commit is contained in:
@@ -0,0 +1,265 @@
|
||||
# Boss 原生 Android 微信式 UI 回退设计
|
||||
|
||||
日期:`2026-03-27`
|
||||
|
||||
## 1. 背景
|
||||
|
||||
当前 `Boss` 项目已经把 Android 客户端切换到原生架构,并打通了登录恢复、OTA、主 Agent、设备同步和 API 链路。但前台 UI 被改得过于偏“控制台 / 运维面板”,偏离了用户确认过的那版“微信式交互”目标。
|
||||
|
||||
本次工作的目标不是推翻原生 Android 路线,也不是重做后端,而是把前台体验回退到用户认可的版本:
|
||||
|
||||
- 保留当前原生 Android 架构
|
||||
- 保留现有 API、登录恢复、OTA、设备绑定等底层能力
|
||||
- 将 UI 和交互回退到“微信式”版本
|
||||
|
||||
## 2. 目标
|
||||
|
||||
本次回退后的 APP,应满足以下目标:
|
||||
|
||||
1. 打开 APP 后,首先看到的是微信式会话列表
|
||||
2. 底部一级导航固定为 `会话 / 设备 / 我的`
|
||||
3. 会话首页是极简聊天列表,不再以控制台卡片为主
|
||||
4. 项目聊天页以消息流为主体,业务信息降到最小
|
||||
5. 设备页和我的页回到微信式简单列表
|
||||
6. 现有底层能力继续可用,但退出主视觉核心区域
|
||||
7. 未经用户确认,不再做明显偏离微信式体验的大幅视觉发挥
|
||||
|
||||
## 3. 非目标
|
||||
|
||||
本次不做以下事情:
|
||||
|
||||
- 不回退到 WebView 壳路线
|
||||
- 不重做服务器部署和 API 路线
|
||||
- 不重写状态模型或文件存储
|
||||
- 不删除 OTA、AI 账号、主 Agent、设备绑定等底层能力
|
||||
- 不扩展新的业务模块
|
||||
- 不继续做“控制台式”信息增强
|
||||
|
||||
## 4. 用户确认后的设计结论
|
||||
|
||||
本次设计结论来自已确认的用户输入:
|
||||
|
||||
- 保留现有原生 Android 架构
|
||||
- 首页更接近微信聊天列表,而不是业务控制台
|
||||
- 设备页与我的页都采用微信式简单列表
|
||||
- 单个项目聊天页尽量像微信聊天页
|
||||
- 业务入口只保留 `项目目标` 与 `版本记录`
|
||||
- 线程预算、转发、handoff、风险摘要、运维面板等不再进入主 UI
|
||||
|
||||
## 5. 信息架构
|
||||
|
||||
### 5.1 一级导航
|
||||
|
||||
底部固定一级导航:
|
||||
|
||||
- `会话`
|
||||
- `设备`
|
||||
- `我的`
|
||||
|
||||
要求:
|
||||
|
||||
- 一级导航始终固定在底部
|
||||
- 一级导航切换不丢当前 tab 的页面状态
|
||||
- 不允许再次出现“滑到页面最底部才出现导航”的行为
|
||||
- 一级导航视觉上接近微信的底部 tab,而不是控制台式按钮组
|
||||
|
||||
### 5.2 二级导航
|
||||
|
||||
保留以下二级页,但弱化控制台味:
|
||||
|
||||
- 会话详情
|
||||
- 项目目标
|
||||
- 版本记录
|
||||
- 设备详情
|
||||
- 添加设备
|
||||
- 账号与安全
|
||||
- AI 账号
|
||||
- 设置
|
||||
- 技能
|
||||
- 关于
|
||||
|
||||
下列内容不再作为主 UI 核心入口呈现:
|
||||
|
||||
- 线程预算
|
||||
- 转发
|
||||
- handoff / 调度摘要
|
||||
- 风险说明
|
||||
- 运维 / 审计大盘
|
||||
|
||||
这些能力如仍需保留,只能后移到更深层或调试入口,不得继续占据主页面主体区域。
|
||||
|
||||
## 6. 页面设计
|
||||
|
||||
### 6.1 会话首页
|
||||
|
||||
会话首页回退为微信式聊天列表。
|
||||
|
||||
每一行仅保留:
|
||||
|
||||
- 左侧头像
|
||||
- 中间标题
|
||||
- 中间最后一条消息预览
|
||||
- 右侧时间
|
||||
- 未读数
|
||||
|
||||
约束:
|
||||
|
||||
- 不再展示大块统计卡片、摘要卡片、控制台说明卡片
|
||||
- 不在列表主行展示线程预算、风险等级、设备数、quota 等业务字段
|
||||
- 主 Agent 仍置顶,但只通过位置或轻量标识体现,不做特殊面板
|
||||
- 多设备项目允许保留群聊式头像组合,但排版必须仍然像聊天列表
|
||||
|
||||
### 6.2 项目聊天页
|
||||
|
||||
聊天页回退为微信式聊天页。
|
||||
|
||||
布局规则:
|
||||
|
||||
- 顶部是常规标题栏
|
||||
- 聊天主体是消息流
|
||||
- 输入区是主要操作区
|
||||
- 只保留两个轻量入口:
|
||||
- `项目目标`
|
||||
- `版本记录`
|
||||
|
||||
这两个入口放在聊天页顶部轻量区域,不允许做成重控制条或大功能区。
|
||||
|
||||
明确移除出主界面的内容:
|
||||
|
||||
- 线程预算展示块
|
||||
- handoff 状态块
|
||||
- 主 Agent 调度摘要块
|
||||
- 风险说明块
|
||||
- 转发主入口
|
||||
|
||||
### 6.3 设备页
|
||||
|
||||
设备页回退为微信式简单列表。
|
||||
|
||||
每个设备条目仅保留:
|
||||
|
||||
- 头像
|
||||
- 设备名
|
||||
- 一行轻描述,例如在线状态或绑定账号
|
||||
|
||||
不再在列表主行展示:
|
||||
|
||||
- quota
|
||||
- endpoint
|
||||
- note
|
||||
- 技能数量
|
||||
- 监控式数字摘要
|
||||
|
||||
`添加设备` 保留,但做成普通列表入口或轻量操作入口。
|
||||
|
||||
### 6.4 我的页
|
||||
|
||||
我的页回退为微信“我”式结构。
|
||||
|
||||
顶部保留:
|
||||
|
||||
- 头像
|
||||
- 昵称
|
||||
- 账号信息
|
||||
|
||||
主菜单保留:
|
||||
|
||||
- `账号与安全`
|
||||
- `AI 账号`
|
||||
- `设置`
|
||||
- `技能`
|
||||
- `关于`
|
||||
|
||||
约束:
|
||||
|
||||
- `技能` 是普通菜单项,不做重卡片
|
||||
- 运维 / 审计 / 修复类内容不再占据我的页主视觉
|
||||
- 如果保留运维能力,必须下沉到更深层入口
|
||||
|
||||
## 7. 交互规则
|
||||
|
||||
### 7.1 返回逻辑
|
||||
|
||||
返回逻辑按移动端常识收口:
|
||||
|
||||
- 从会话详情返回到会话列表
|
||||
- 从设备详情返回到设备列表
|
||||
- 从我的二级页返回到我的首页
|
||||
- 在一级页根节点按返回,不应直接出现异常退出体验
|
||||
- 优先返回到当前 tab 根页;已经在根页时,再按移动端规则进入后台
|
||||
|
||||
### 7.2 状态保持
|
||||
|
||||
- 一级 tab 切换后应保留该 tab 已有滚动和浏览状态
|
||||
- 不允许切 tab 后强制回到异常中间页
|
||||
- 不允许聊天页返回后丢失会话列表位置
|
||||
|
||||
### 7.3 视觉约束
|
||||
|
||||
本次 UI 回退的视觉原则:
|
||||
|
||||
- 白底、浅分割、轻卡片或无卡片
|
||||
- 列表优先,而不是仪表盘优先
|
||||
- 信息克制
|
||||
- 熟悉、直接、低学习成本
|
||||
|
||||
明确禁止:
|
||||
|
||||
- 假状态栏
|
||||
- 桌面预览壳
|
||||
- 大段控制台说明文案
|
||||
- 监控面板式色块
|
||||
- 未确认的大幅品牌化发挥
|
||||
|
||||
## 8. 保留不动的底层能力
|
||||
|
||||
以下能力继续保留,但不作为主 UI 核心呈现:
|
||||
|
||||
- 原生 Android 架构
|
||||
- `BossApiClient` 与现有 API 路由
|
||||
- 登录态与 `restore token`
|
||||
- OTA 下载与安装链路
|
||||
- 主 Agent 真实执行链路
|
||||
- AI 账号与 API 容灾配置
|
||||
- 设备绑定与本地 agent 上报
|
||||
|
||||
## 9. 实现边界
|
||||
|
||||
本次实现聚焦于 Android 原生前台体验,优先改造:
|
||||
|
||||
- `MainActivity`
|
||||
- 会话列表和会话详情原生页
|
||||
- 设备列表和设备详情首屏
|
||||
- 我的首页及菜单化入口
|
||||
- 底部导航、顶部栏、返回逻辑、列表单元、消息样式
|
||||
|
||||
本次不主动改动:
|
||||
|
||||
- Web 业务逻辑
|
||||
- 服务端数据模型
|
||||
- 部署链路
|
||||
- 认证和 OTA 的底层实现
|
||||
|
||||
## 10. 验收标准
|
||||
|
||||
本次回退完成后,应满足:
|
||||
|
||||
1. APP 首页视觉第一印象是微信式聊天列表
|
||||
2. 底部只有 `会话 / 设备 / 我的`
|
||||
3. 聊天页主体是消息流,只保留 `项目目标 / 版本记录`
|
||||
4. 设备页和我的页都是简单列表,而不是控制台
|
||||
5. 返回逻辑符合手机用户直觉
|
||||
6. 主 Agent、登录恢复、OTA、设备等底层能力仍正常可用
|
||||
7. 没有再次出现未经确认的大幅 UI 风格漂移
|
||||
|
||||
## 11. 推荐实施顺序
|
||||
|
||||
建议按以下顺序实施:
|
||||
|
||||
1. 调整底部导航、返回逻辑和一级页骨架
|
||||
2. 重做会话首页
|
||||
3. 重做项目聊天页
|
||||
4. 收口设备页
|
||||
5. 收口我的页
|
||||
6. 统一列表、按钮、间距、颜色和消息气泡样式
|
||||
7. 每一批都执行编译、真机验证和文档同步
|
||||
Reference in New Issue
Block a user