Files
LLZQ-XCX/doc/prd.md

998 lines
28 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 一、文档信息
* 产品名称:球房运营助手(微信小程序)
* 版本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 秒(在普通网络环境下)。
* 看板页面数据:
* 各数据块采用懒加载策略,优先加载当前视图及首屏必要数据,其他部分可在滚动时或后台加载,避免一次性加载过多影响首屏体验。
* 本阶段不做埋点与统计需求设计。