feat:引入 TDesign 以及前端初稿

This commit is contained in:
Neo
2026-01-24 22:56:57 +08:00
parent 6147924889
commit c972c52e04
80 changed files with 35245 additions and 0 deletions

997
doc/prd.md Normal file
View File

@@ -0,0 +1,997 @@
# 一、文档信息
* 产品名称:球房运营助手(微信小程序)
* 版本V1.0(原型版,全权限视角)
* 撰写日期YYYY-MM-DD
* 适用平台微信小程序iOS / Android 手机竖屏)
* 文档范围:仅描述小程序前端界面与交互行为,不包含后端服务和接口字段定义。
---
# 二、背景与目标
本小程序用于提升台球厅经营管理效率,为店长、助教管理、助教等内部人员提供任务管理、业绩查看、运营看板和智能助手对话能力。
当前阶段目标:
* 交付一套基于“全功能、全权限角色视角”的微信小程序前端原型。
* 明确各页面布局、组件及交互行为,便于前端和原型工具直接实现。
* 角色权限控制、数据口径、字段来源均由后端与后续迭代处理,原型仅展示有权限时的页面样式。
---
# 三、范围与约束说明
1. **设备与环境**
* 仅面向手机端微信小程序iOS / Android竖屏使用。
* 暂不考虑 iPad 等大屏适配。
2. **门店范围**
* 当前仅支持一个店铺场景,后端如扩展多门店,在后续版本处理。
3. **权限与角色**
* 原型以“全功能视角”展示所有模块与入口。
* 实际上线时,不同角色(店长/管理层/助教管理/助教)的权限由后端接口控制,对无权限功能采取“入口隐藏”的方式。
* 原型中不绘制模块级“无权限访问”占位状态。
4. **接口与数据**
* 本文不描述具体接口、字段名、数据结构。
* 各类展示字段以接口实际返回为准,本文若举例字段,仅为示意,不代表完整字段列表。
5. **登录/申请流程的权限提示**
* 登录后如账号未通过审核或无访问权限,将展示对应状态页(审核中、无权限),这属于整体访问控制,不属于“模块权限占位”,在原型中需要体现。
---
# 四、角色说明(仅用于理解,不做权限逻辑)
* 店长 / 公司管理层:实际场景中拥有全功能权限。
* 助教管理:看板中财务板块不可见(上线时通过隐藏入口实现)。
* 助教:看板中财务板块和助教板块不可见(上线时通过隐藏入口实现)。
原型中统一以“全功能视角”展示,不做差异。
---
# 五、全局设计规范
## 5.1 语言与格式
* 语言:简体中文。
* 金额单位:
* 元:取整,不显示小数。
* 万元:保留两位小数。
* 时间显示格式:
* 标准格式:`YYYY-MM-DD HH:mm:ss`
* 在不影响理解情况下,可根据页面需要简化为 `YYYY-MM-DD``MM-DD HH:mm` 等,具体由设计与前端协商。
## 5.2 导航与返回规则
* 底部一级导航TabBar
* Tab 顺序:任务 / 看板 / 我的
* 文字:`任务``看板``我的`
* 每个 Tab 对应一个一级页面,点击 Tab 时:
* 若当前已在该 Tab 内的子页面,点击 Tab 返回该 Tab 的根页面,并滚动至顶部。
* 顶部导航:
* 除特别说明外,二级/详情页隐藏微信原生导航栏,使用自定义头部,左上角为返回图标,行为为返回上一页面。
* 弹窗与浮层:
* 使用标准底部弹出或中部弹窗,与微信交互习惯一致。
## 5.3 悬浮助手按钮
* 悬浮按钮在所有业务页面(任务、看板、我的及其子页面)显示,不在“登录/申请/审核中/无权限”页面显示。
* 默认位置:页面右下角(不遮挡底部 TabBar随页面滚动悬浮。
* 点击行为:进入“助手对话页面”,默认打开最近一次会话(若有)。
## 5.4 提示、错误与加载状态
* **网络异常 / 接口错误(列表/卡片区域)**
* 在对应数据区域显示文字:`加载失败,请点击重试`
* 下方提供“重试”按钮,点击重新请求该区域数据。
* 作为所有列表/卡片区域的统一错误样式。
* **空数据状态**
* 统一使用简单文字:
* 列表类统一为:`暂无数据` 或根据场景显示 `暂无任务` 等。
* 不使用插画或占位图。
* **加载状态**
* 使用区域加载:在列表或卡片区域显示文字:`加载中...`
* 不做骨架屏和复杂动画。
---
# 六、信息架构与页面列表
## 6.1 顶层结构
* 登录相关
* 登录页
* 账号申请页
* 审核中页
* 无权限页
* Tab 1任务
* 任务列表页(默认首页)
* 任务详情页
* 业绩详情页
* Tab 2看板
* 看板首页(含:财务 / 客户 / 助教 三级视图)
* 客户详情页
* 助教详情页
* Tab 3我的
* 我的首页
* 备注记录页
* 助手对话记录页
* 首页设置页
* 退出账号(确认弹窗)
* 全局
* 助手对话页
---
# 七、关键流程说明
## 7.1 登录与申请流程
1. 用户打开小程序 → 登录页。
2. 点击“使用微信登录”,完成微信授权。
3. 登录后:
* 若查无此用户,也无此用户提交过申请 → 进入账号申请页。
* 若查到该用户提交过申请,状态为“审核中” → 进入“审核中”状态页。
* 若查到该用户提交过申请,状态为“拒绝/未通过” → 进入“无权限”状态页。
* 若查到该用户申请已通过 → 跳转至用户设置的默认首页(初始为“任务”页)。
## 7.2 默认首页配置流程
* 初始默认首页为“任务”。
* 用户可在“我的 → 首页设置”中将首页设置为:任务 / 看板。
* 设置为“切换即保存”,与账号绑定(不因退出登录而重置)。
---
# 八、页面级需求
以下各页面按【页面名称 / 入口 / 布局结构 / 功能与交互 / 状态】描述。
---
## 8.1 登录与访问控制相关
### 8.1.1 登录页
**入口**
* 小程序启动未登录状态。
**布局结构**
* 顶部App Logo 占位 + 应用名称(球房运营助手)。
* 中部:一句产品描述文案,例如:
* `为台球厅提升运营效率的内部管理工具`
* 底部区域:
* 主按钮:`使用微信登录`(微信授权登录入口)。
* 下方文案 + 勾选框:
* 复选框 + 文案:`我已阅读并同意《用户协议》和《隐私政策》`
* 协议名称为可点击文本(具体跳转页面可后续补充)。
**功能与交互**
* 用户必须勾选协议复选框才能点击“使用微信登录”,否则按钮为禁用态。
* 点击“使用微信登录”调用微信授权流程,登录成功后进入流程 7.1 所述分支。
* 登录失败时在底部弹出错误提示Toast重试留在本页。
---
### 8.1.2 账号申请页
**入口**
* 登录成功后,系统查无该用户及其申请记录时。
**布局结构**
* 顶部:标题 `申请访问权限`
* 主体:
* 文本说明:简单说明需要申请原因,例如:
* `请填写申请说明,审核通过后即可使用小程序功能。`
* 表单区:
* 字段 1
* 标签:`申请说明`,带红色星号(必填)。
* 多行文本输入框,用于填写自我介绍、岗位、所属门店等说明(具体内容由用户自由填写)。
* 底部:
* 主按钮:`提交申请`
**功能与交互**
* “申请说明”为必填,如为空则点击“提交申请”时在输入框下方显示错误提示:`申请说明不能为空`
* 提交成功后,进入“审核中”页。
* 接口错误时,弹出错误提示,停留在本页。
---
### 8.1.3 审核中页
**入口**
* 登录后发现该用户有申请记录,状态为“审核中”。
**布局结构**
* 居中展示:
* 图标(等待/审核中占位图标)。
* 标题文案:`申请审核中`
* 说明文案:例如:`您的访问申请正在审核中,请稍后再试或联系管理员。`
* 不提供其他操作按钮,保持不可操作状态。
**功能与交互**
* 用户可关闭小程序或退出;再次进入时仍按登录逻辑判断状态。
---
### 8.1.4 无权限页
**入口**
* 登录后发现该用户申请状态为“拒绝/未通过”,或无访问权限。
**布局结构**
* 居中展示:
* 图标(禁止/无权限占位图标)。
* 标题文案:`无访问权限`
* 说明文案:例如:`您的访问申请未通过,或当前账号无访问权限。如需使用,请联系管理员。`
* 不提供操作按钮,不可操作状态。
**功能与交互**
* 用户可关闭小程序或退出;如后续权限变更,再次登录时可进入首页。
---
## 8.2 Tab任务
### 8.2.1 任务列表页(默认首页)
**入口**
* 底部 TabBar 点击“任务”。
* 登录通过后,如未设置其他默认首页,则默认进入本页。
**整体布局**
* 顶部:自定义导航栏(标题:`任务`),左侧无返回按钮。
* Banner 区:当前用户信息与业绩概览。
* 任务列表:按紧急程度排序的任务列表。
* 悬浮助手按钮:右下角。
**Banner 区内容**
* 展示内容示例:
* 第一行:`用户名` + `身份`(例如:张三 / 助教)
* 第二行:一句聚合文案,例如:
`本月目标 5 万,已完成 3 万,任务 50 个,完成进度 60%`
* 第三行:`X 月预计收入12345 元`(单位为元,取整)
* Banner 整块区域可点击,跳转至“业绩详情页”。
**任务列表结构**
* 列表为单列列表,不按任务类型分组,仅通过排序和颜色区分。
* 排序规则:按紧急程度从高到低排序,类型依次为:
* 高优先召回(红)
* 优先召回(橙)
* 关系构建(粉)
* 客户回访(蓝)
**单条任务卡片布局**
* 第一行(标题行):
* 左侧:任务类型标签(带背景色的颜色块或 icon颜色按类型区分红/橙/粉/蓝)。
* 紧随其后:客户姓名。
* 右侧:`>` 箭头图标,提示可点击进入详情。
* 第二行(补充行):
* 核心信息 + 召回说明,具体字段根据当前任务类型与接口返回内容展示,例如:最近到店时间、召回原因、优先级说明等。
* 其他:
* 不提供搜索框和筛选组件,任务集合由接口控制。
**交互说明**
* 点击整条任务卡片:进入“任务详情页”。
* 长按任务卡片:在长按位置上方弹出黑底浮层菜单,样式类似微信对话长按菜单,菜单项:
* `任务置底`
* `问问助手`
* `备注`
* “任务置底”:前端仅调用接口,排序规则由后端控制;前端不单独维护生命周期状态。
* “问问助手”:跳转至“助手对话页”,以该任务信息为引用,开启新对话主题。
* “备注”:弹出底部浮层,输入备注内容并保存,备注按时间排序纳入“备注记录”。
**空状态**
* 当列表为空时,在列表区域居中显示文案:`暂无任务`
---
### 8.2.2 任务详情页
**入口**
* 任务列表页点击某条任务。
**布局结构**
* 顶部:自定义导航栏
* 左:返回按钮 `<`
* 中:标题,例如 `任务详情`
* 主体内容区:
* 模块一:客户基本信息
* 示例字段:姓名、手机号、会员编号、性别、标签(如 VIP/新客)、所属门店等(以接口为准)。
* 模块二:消费习惯
* 文本描述形式,例如:“偏好晚间 21:00 后到店,喜欢中式台球,平均消费 300 元/月”等。
* 模块三:与我的关系
* 等级:很好 / 好 / 一般 / 较陌生
* 每个等级附带一段文字说明(例如“最近 3 个月每周均有1次课程”等
* 模块四:任务建议
* 纯文本内容,给出执行建议、沟通话术提示等。
* 底部固定操作栏:
* 左按钮:`问问助手`
* 右按钮:`备注`
**交互说明**
* `问问助手`
* 跳转至助手对话页。
* 以当前任务的关键信息(任务类型、客户名、任务说明等)作为引用内容,显示为灰底卡片,用户在其下输入文本发送。
* 通过此入口固定新建一个新对话主题。
* `备注`
* 底部弹出浮层,包含备注输入框和“保存”按钮。
* 保存后生成一条备注记录,类型标记为“任务备注”,记入“备注记录”,按照创建时间倒序展示。
---
### 8.2.3 业绩详情页
**入口**
* 任务列表页 Banner 区点击。
**布局结构**
* 顶部 Banner
* 展示:用户名 + 身份 + 本月业绩进度 + 本月预计收入。
* 示例:
* 第一行:`张三(助教)`
* 第二行:`本月目标5 万已完成3 万任务50 个完成进度60%`
* 第三行:`本月预计收入1.23 万元`
* 下方内容区:多组指标,以两列卡片布局展示。
**指标分组示意**
* 分组一:`收入构成`
* 分组二:`台球助教业绩`
* 分组三:`充值业绩`
* 分组四:`酒水业绩`
每组都有组标题一行,下面为两列卡片网格。
**单个指标卡片内容**
* 布局:
* 卡片内上下两行,可视为“名称行 + 数据行”。
* 字段:
* 指标名称
* 当前值
* 目标值
* 完成度(百分比)
* 对齐与单位:
* 数值区居中对齐。
* 单位规则:
* 元:整数,无小数。
* 万元:保留 2 位小数。
* 完成度:使用 `%`
**交互**
* 页面整体可滚动。
* 卡片本身无需额外交互(本期不跳转、不长按)。
**时间范围**
* 本页仅展示当前“本月”的业绩数据,不提供时间周期切换。
---
## 8.3 Tab看板
### 8.3.1 看板首页(含财务/客户/助教)
**入口**
* 底部 TabBar 点击“看板”。
**顶部区域**
* 一级标签(顶部 Tab
* `财务` / `客户` / `助教`
* 默认选中:`财务`(原型中展示全功能视角)
**筛选区域**
* 位置:一级标签下方。
* 展示方式:多标签筛选按钮,每个按钮点击后展开下拉菜单,交互类似外卖/点评类应用。
* 联动规则:
* 更改任一筛选条件后,立即刷新当前视图数据(无需额外“确定”按钮)。
* 不提供“重置筛选”按钮。
**滚动行为**
* 当用户向上滚动列表内容时,筛选区域保持吸顶显示。
* 当用户向下快速滚动时,可自动收起/隐藏筛选区域,仅保留一级 Tab增强可视区域。
* 向上滚动时再次展示筛选区域。
---
### 8.3.2 看板 财务视图
**入口**
* 看板顶部 Tab 选择“财务”(默认)。
**筛选条件**
* 条件 1时间月份
* 选项:
1. 本月(默认)
2. 上个月
3. 最近 3 个月
4. 最近半年
5. 本季度
6. 上个季度
7. 本周
8. 上周
9. 指定时间周期
* 选择“指定时间周期”时:
* 打开日期区间选择组件,可选择开始日期与结束日期。
* 最大跨度366 天。
* 当用户选择的时间跨度超过 366 天时,非模态提示:例如 `时间跨度不可超过 366 天`,并阻止该选择生效。
* 条件 2区域
* 选项:
1. 全部(默认)
2. 大厅子级A 区、B 区、C 区)
3. 麻将房
4. 团建房
5. 具体房间台桌
* 选择“具体房间台桌”时:
* 弹出选择弹窗,列表单选。
* 列表按“大厅 / 麻将房 / 团建房”分组展示具体房间或台桌。
* 如接口获取失败或为空,在弹窗中显示:`网络错误,请重试`,并提供“重试”入口。
**财务汇总行**
* 展示位置:筛选区域下方第一行。
* 分为三列:
* 当前筛选条件下实际收入
* 当前筛选条件下实际支出
* 当前筛选条件下净利润
* 显隐与“预计”字样:
* 某些筛选条件下不显示支出与净利润,由接口控制。
* 某些时间维度(例如本月、本周等)可显示“预计”字样:`12345 元(预计)`,由接口在数据中标记。
**内容分区**
分为四个部分,依次:
1. 营业数据
2. 收入构成
3. 支出构成
4. 利润构成
每一部分包含:
* 标题行:如 `营业数据`
* 指标卡片区:每行 3 个卡片,自动换行。
**指标卡片结构**
* 每个卡片:
* 第一行(标题行):左侧图标(简单占位)、右侧为指标名称(例如“总流水”、“客单价”等)。
* 第二行(详情行):文字 + 数值,或文字 / 数值单独展示:
* 例如:`本期12345 元`,或 `毛利率35%`
* 指标列表(示意,实际由接口控制):
* 营业数据:总流水、客单价、开台数、场次、平均停留时长等。
* 收入构成:桌费、助教费、酒水、餐饮、包房费、其他。
* 支出构成:房租、水电、人工、耗材、推广等。
* 利润构成:毛利、净利、毛利率、净利率等。
**交互**
* 长按任意指标卡片:
* 启动助手对话,跳转至“助手对话页”,以该指标为引用内容(来源:财务看板 + 指标名 + 当前数值等),开启新对话主题。
* 列表下拉刷新,重新拉取数据。
---
### 8.3.3 看板 客户视图
**入口**
* 看板顶部 Tab 选择“客户”。
**筛选条件**
* 条件 1客户类型
* 最近到店:按最近到店时间由近到远。
* 最应召回:按当天召回因子由高到低(默认)。
* 最近充值:按充值时间由近到远。
* 最高消费:最近 60 天到店消费金额由高到低(不含充值)。
* 最高余额:按单个客户所有会员卡金额总计由高到低。
* 最频繁:最近 60 天到店次数由多到少。
* 潜力股:最近 60 天到店间隔有缩短趋势的客户。
* 最专一:最近 60 天使用助教服务 ≥10 次,且 ≥8 次为同一助教,最近 2 次均为该助教。
* 条件 2偏爱项目
* 不限(默认)
* 中式/追分
* 斯诺克
* 麻将
* 团建
**助教身份默认筛选(后台行为,前端不显式展示)**
* 当登录用户身份为“助教”时,后台默认增加过滤条件:仅显示最近 14 天内该助教提供过课程服务的客户。
* 前端不提供取消或修改该条件的开关,也不在 UI 中单独标识。
**客户列表卡片布局**
* 第一行:
* 左侧:
* 客户名称
* 等级标(如等级图标或字母 A/B/C
* VIP 标识如“VIP”标签有则显示。
* 右侧:最喜欢的助教列表,文字形式展示,例如:
* `💖 助教A、💖 助教B、💛 助教C...`
* 最多展示前三,超过则以省略号表示。
* 第二行:
* 当前排序条件对应的核心指标(如召回因子、储值金额、累计消费等)。
* 最近到店时间(副文案)。
* 可在末尾增加一句简短说明,例如:`最近 30 天到店 5 次` 等。
**其他字段**
* 在“最高余额”等维度时,应显示该客户当前余额字段(由接口提供),格式按金额规则显示。
**交互**
* 点击客户卡片:进入“客户详情页”。
* 长按客户卡片(可选):可考虑后续扩展为快速备注或助手入口,本期可不实现。
---
### 8.3.4 客户详情页
**入口**
* 看板 客户视图列表点击某客户。
**布局**
* 顶部导航:标题 `客户详情`,左侧返回按钮。
* 模块一:客户基本信息
* 示例字段姓名、手机号、会员编号、性别、等级、VIP 标识、所属门店等。
* 手机号可支持点击拨号(后续实现时决定)。
* 模块二:消费习惯
* 标签 + 文本说明的形式:
* 标签示例:`常来夜场``偏爱中式``高客单价` 等。
* 文本说明:简要描述消费偏好、时段、频率等。
* 模块三:与我的关系
* 等级:很好 / 好 / 一般 / 较陌生。
* 等级下附文字说明,描述互动频率、最近服务情况等。
* 底部固定操作栏:
* `问问助手`
* `备注`
**交互**
* `问问助手`
* 跳转到助手对话页。
* 引用当前客户的关键信息客户名、ID、最近消费等作为灰底引用卡片。
* 开启新对话主题。
* `备注`
* 底部弹出备注输入浮层,类型标记为“客户备注”,保存后进入“备注记录”。
---
### 8.3.5 看板 助教学视图
**入口**
* 看板顶部 Tab 选择“助教”。
**筛选条件**
* 条件 1排序维度
* 创收最多(默认):按该助教带来的球房流水由高到低。
* 创收最低:按球房流水由低到高。
* 业绩最高:按业绩完成百分比由高到低。
* 业绩最低:按业绩完成百分比由低到高.
* 工资最高:按工资由高到低。
* 工资最低:按工资由低到高。
* 潜在客源储值:按该助教客户关系 >0.7 的所有客户储值金额总和由高到低。
* 条件 2擅长项目
* 不限(默认)
* 中式/追分
* 斯诺克
* 麻将
* 团建
* 条件 3时间月份
* 同财务视图:本月(默认)、上月、最近 3 个月、最近半年、本季度、上个季度、本周、上周、指定时间周期。
* “指定时间周期”同样使用日期区间选择组件,并限制最大跨度 366 天,超出时非模态提示。
**助教列表卡片布局**
* 第一行:
* 左侧:
* 助教姓名
* 等级标(如星级/等级)
* 擅长项目(标签形式,展示主擅长方向)。
* 右侧:
* 关系最好的客户列表,展示客户名称和关系指数(例如:`客户A 0.98、客户B 0.92、客户C 0.89...`),最多展示前三,超过以省略号表示。
* 第二行:
* 当前排序维度对应的数值信息,附单位/说明:
* 如创收最多:`本期流水12345 元`
* 业绩最高:`完成度87%`
* 工资:`本期工资8000 元`
* 上课时长等(小时)。
* 不显示头像。
**交互**
* 点击助教卡片:进入“助教详情页”。
---
### 8.3.6 助教详情页
**入口**
* 看板 助教视图列表点击某助教。
**布局**
* 顶部导航:标题 `助教详情`,左侧返回按钮。
* 模块一:助教基本信息
* 字段示例:姓名、工号、所属门店、擅长项目、等级等。
* 模块二:流水与业绩
* 本月带来的球房流水(数值,单位元或万元)。
* 最近 3 个月带来的球房流水(数值)。
* 综合业绩完成度(一个总进度百分比)。
* 模块三:工资与上课时长
* 本月工资总额。
* 对应时间段的上课总时长(小时)。
* 模块四:前 10 个客户指数最高的客户列表
* 列表项字段:客户名 + 指数数值01 或百分比展示)。
* 底部固定操作栏:
* `问问助手`
* `备注`
**交互**
* `问问助手`:以助教信息和主要指标为引用,开启新对话主题。
* `备注`:对该助教添加备注记录,类型为“助教备注”。
---
## 8.4 Tab我的
### 8.4.1 我的首页
**入口**
* 底部 TabBar 点击“我的”。
**布局**
* 顶部:用户信息区域
* 用户名、身份(店长/助教等)、所属门店等信息。
* 列表菜单项:
* `备注记录`
* `助手对话记录`
* `首页设置`
* `退出账号`
**交互**
* 点击各行进入对应子页面或触发弹窗。
---
### 8.4.2 备注记录页
**入口**
* “我的”首页点击 `备注记录`
**布局**
* 标题:`备注记录`
* 列表按时间倒序(由近到远)平铺,不按日期分组。
* 每条记录显示:
* 备注全文(不做截断或只做必要的单行/多行控制)。
* 关联对象:例如 `客户:张三` / `任务XXX` / `助教:李四`
* 创建时间。
**交互**
* 点击备注记录:不进入详情页(即本页即为详情展示),不支持编辑/删除。
* 列表为空时:显示 `暂无数据`
---
### 8.4.3 助手对话记录页
**入口**
* “我的”首页点击 `助手对话记录`
**布局**
* 标题:`助手对话记录`
* 列表项字段:
* 对话标题:由接口返回(一般为首条消息摘要)。
* 最近一次对话时间。
* 消息条数概览(例如:`共 25 条消息`)。
* 列表按最近更新时间倒序。
**交互**
* 点击某条记录:
* 进入“助手对话页”,直接打开该会话。
* 默认滚动到该对话的最后一条消息位置。
* 不提供删除对话能力。
* 列表为空时:显示 `暂无数据`
---
### 8.4.4 首页设置页
**入口**
* “我的”首页点击 `首页设置`
**布局**
* 标题:`首页设置`
* 内容:
* 单选列表:
* `任务`
* `看板`
* 每项前有单选圆点,当前选中项高亮。
* 底部:返回按钮。
**交互**
* 用户点击某一选项后立即生效,作为新的默认首页设置(切换即保存,不需要额外保存按钮)。
* 退出账号不会清除该设置,再次登录仍使用该默认首页。
---
### 8.4.5 退出账号(确认弹窗)
**入口**
* “我的”首页点击 `退出账号`
**交互**
* 弹出确认弹窗:
* 标题:`确认退出`
* 文案:`确认退出当前账号吗?`
* 按钮:
* 取消
* 退出
* 点击“退出”:
* 清除登录态。
* 不清理由于当前账号相关的本地配置(如首页设置、筛选条件等)。
* 跳转回“登录页”。
* 点击“取消”:关闭弹窗,留在“我的”页。
---
## 8.5 全局:助手对话页
### 8.5.1 入口
* 悬浮助手按钮。
* 任务详情页底部按钮“问问助手”。
* 客户详情页底部按钮“问问助手”。
* 助教详情页底部按钮“问问助手”。
* 看板各视图中长按指标启动助手。
* “助手对话记录”页点击某一条历史记录。
### 8.5.2 聊天形式
* 对话双方:用户(“我”)与“助手”。
* UI 全面仿微信对话界面:
* 左侧:助手气泡,显示助手头像(固定)和名称。
* 右侧:用户气泡,显示用户头像和名称。
* 对话记录:
* 最近 50 条消息默认加载。
* 上拉加载更早记录。
### 8.5.3 引用内容展示
* 从任务/客户/助教/看板等入口进入助手时,将引用上下文:
* 引用内容显示为一块灰底小卡片,位于即将发送的消息气泡上方。
* 卡片内容包括:
* 来源类型:任务 / 客户 / 助教 / 看板(具体子模块如财务/客户看板等)。
* 标题或名称(例如客户名、任务标题、指标名)。
* 部分摘要文案或关键数据。
* 引用内容不可编辑,用户只能在下方输入框中补充自己的提问文本后发送。
### 8.5.4 会话管理
* 每个“新对话主题”形成一个独立会话,出现在“助手对话记录”列表中。
* 来源:
* 从“助手对话记录”进入:
* 直接打开对应会话,加载历史记录,滚动到最后一条消息。
* 如距最后一条消息超过 1 小时,在输入框区域上方显示横条提示,提供两个按钮:
* `新对话主题`
* `继续对话`
* 选择“新对话主题”:清空当前对话展示区域,开始新的对话会话,该会话作为新条目记录在“助手对话记录”中,历史对话仍保留在原会话条目中。
* 选择“继续对话”:在当前会话中继续发送消息,对话标题不变。
* 从任务/客户/助教/看板入口的“问问助手”或长按启动:
* 固定开启“新对话主题”,不受 1 小时规则影响,始终新建会话,并带入引用内容。
### 8.5.5 输入与发送
* 输入区包含:
* 文本输入框。
* “按住说话”按钮(语音转文字)。
* 发送按钮。
**语音转文字交互**
* 点击“按住说话”按钮并按住:
* 显示录音状态动画,松开后结束录音并开始识别。
* 识别结果展示在输入框中,用户可编辑后再点击“发送”。
* 识别失败时,弹出提示:`识别失败,请重试`,不发送消息。
**键盘与滚动行为**
* 键盘弹出时,列表自动滚动到底部,确保最新消息和输入框可见。
* 发送消息后,自动滚动到底部。
---
# 九、非功能性要求
* 关键页面(任务列表、看板页、助手对话页)首次可接受加载时间:≤ 10 秒(在普通网络环境下)。
* 看板页面数据:
* 各数据块采用懒加载策略,优先加载当前视图及首屏必要数据,其他部分可在滚动时或后台加载,避免一次性加载过多影响首屏体验。
* 本阶段不做埋点与统计需求设计。