# 一、文档信息 * 产品名称:球房运营助手(微信小程序) * 版本: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 个客户指数最高的客户列表 * 列表项字段:客户名 + 指数数值(0~1 或百分比展示)。 * 底部固定操作栏: * `问问助手` * `备注` **交互** * `问问助手`:以助教信息和主要指标为引用,开启新对话主题。 * `备注`:对该助教添加备注记录,类型为“助教备注”。 --- ## 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 秒(在普通网络环境下)。 * 看板页面数据: * 各数据块采用懒加载策略,优先加载当前视图及首屏必要数据,其他部分可在滚动时或后台加载,避免一次性加载过多影响首屏体验。 * 本阶段不做埋点与统计需求设计。