Files
LLZQ-XCX/doc/prd.md

28 KiB
Raw Blame History

一、文档信息

  • 产品名称:球房运营助手(微信小程序)
  • 版本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-DDMM-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 秒(在普通网络环境下)。

  • 看板页面数据:

    • 各数据块采用懒加载策略,优先加载当前视图及首屏必要数据,其他部分可在滚动时或后台加载,避免一次性加载过多影响首屏体验。
  • 本阶段不做埋点与统计需求设计。