109 lines
3.9 KiB
Markdown
109 lines
3.9 KiB
Markdown
# P9:小程序前端 — 详情与对话模块 — miniapp-fe-details
|
||
|
||
> 优先级:P9(依赖 P3 + P4 + P5)
|
||
> 预估工作量:大
|
||
|
||
---
|
||
|
||
## 需求(Requirements)
|
||
|
||
### 用户故事
|
||
|
||
1. 作为助教,我在客户详情页能看到客户全信息、消费记录(三种样式)、指数总览、备注、AI 分析。
|
||
2. 作为助教,我在助教详情页能看到助教信息、客户数、工龄、备注。
|
||
3. 作为助教,我在 AI 对话页能与 AI 流式对话,看到来源页面信息。
|
||
4. 作为助教,我能查看历史 AI 对话记录。
|
||
|
||
### 验收标准
|
||
|
||
- AC1:消费记录区分三种样式(台桌结账→下沉台费明细、商城订单、充值)
|
||
- AC2:消费记录默认 10 条,拉到底懒加载(每次 10 条)
|
||
- AC3:金额为 0 的项不展示;有团购/折扣时展示正价+实付
|
||
- AC4:总金额仅在消费条目 >1 时出现
|
||
- AC5:AI 对话支持流式展示(逐字输出)
|
||
- AC6:从其他页面进入 chat.html 时新开对话,第一条消息为页面上下文
|
||
- AC7:对话历史列表可查看、可继续对话
|
||
|
||
---
|
||
|
||
## 页面清单
|
||
|
||
### customer-detail(客户详情)
|
||
|
||
- 客户信息卡片(昵称、手机、会员卡等级、余额、注册日期)
|
||
- 指数总览(WBI/NCI/SPI 展示分 + 爱心 icon)
|
||
- 消费记录列表(三种样式,懒加载)
|
||
- 台桌结账:下沉到 `dwd_table_fee_log`,每条台费详情,关联总金额汇总
|
||
- 商城订单:助教列表(花名+级别+课程类型+服务时长+定档绩效)、支付金额、食品酒水总金额
|
||
- 充值:充值金额、支付方式
|
||
- 备注列表
|
||
- AI 消费习惯分析(应用 3 缓存)
|
||
- "问问助手"入口 → chat.html
|
||
|
||
### coach-detail(助教详情)
|
||
|
||
- 助教信息卡片(花名、级别、工龄)
|
||
- 客户数(RS > 2 的客户数量)
|
||
- 备注按钮(查看此助教为该客户做的备注)
|
||
|
||
### customer-service-records(客户服务记录)
|
||
|
||
- 服务记录列表(时间 + 持续时长)
|
||
|
||
### chat(AI 对话)
|
||
|
||
- 来源展示(来源页面 title + 基本信息)
|
||
- 对话界面(IM 风格)
|
||
- AI 回复流式展示(SSE)
|
||
- 消息输入 + 发送
|
||
|
||
### chat-history(对话历史)
|
||
|
||
- 历史对话列表(按时间倒序)
|
||
- 点击进入继续对话
|
||
|
||
---
|
||
|
||
## 后端 API 需求
|
||
|
||
| API | 说明 |
|
||
|-----|------|
|
||
| `GET /api/customers/:id` | 客户详情 |
|
||
| `GET /api/customers/:id/consumption-records` | 消费记录(分页,懒加载) |
|
||
| `GET /api/customers/:id/indexes` | 客户指数总览 |
|
||
| `GET /api/coaches/:id` | 助教详情 |
|
||
| `GET /api/coaches/:id/customer-count` | 助教客户数(RS>2) |
|
||
| `GET /api/customers/:id/service-records` | 客户服务记录 |
|
||
| `POST /api/chat/conversations` | 创建对话 |
|
||
| `POST /api/chat/conversations/:id/messages` | 发送消息(SSE 流式返回) |
|
||
| `GET /api/chat/conversations` | 对话历史列表 |
|
||
| `GET /api/chat/conversations/:id/messages` | 对话消息列表 |
|
||
|
||
### 消费记录 settle_type 区分
|
||
|
||
需要查库确认的字段(待 P1 完成后验证):
|
||
- 台桌结账:`settle_type` 对应值(需查 `dwd_settlement_head`)
|
||
- 商城订单:`settle_type` 对应值
|
||
- 充值:从 `dwd_recharge_order` 单独查询
|
||
|
||
### 正价金额字段(待用户复核)
|
||
|
||
需要在 `dwd_settlement_head` 或相关 DWS 表中确认:
|
||
- `original_amount` vs `total_amount` vs 其他字段
|
||
- 此项标记为"需用户复核"
|
||
|
||
---
|
||
|
||
## 任务清单
|
||
|
||
- [ ] T1:实现客户详情 API
|
||
- [ ] T2:实现消费记录分页 API(三种样式区分 + 懒加载)
|
||
- [ ] T3:实现客户指数总览 API
|
||
- [ ] T4:实现助教详情 API
|
||
- [ ] T5:实现对话 API(创建/发送/历史/消息列表,SSE 流式)
|
||
- [ ] T6:实现 customer-detail 小程序页面
|
||
- [ ] T7:实现 coach-detail 小程序页面
|
||
- [ ] T8:实现 customer-service-records 小程序页面
|
||
- [ ] T9:实现 chat 小程序页面(流式展示 + 来源信息)
|
||
- [ ] T10:实现 chat-history 小程序页面
|