

# 一、文档信息

* 产品名称：球房运营助手（微信小程序）
* 版本：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 秒（在普通网络环境下）。
* 看板页面数据：

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

