3.9 KiB
3.9 KiB
P9:小程序前端 — 详情与对话模块 — miniapp-fe-details
优先级:P9(依赖 P3 + P4 + P5) 预估工作量:大
需求(Requirements)
用户故事
- 作为助教,我在客户详情页能看到客户全信息、消费记录(三种样式)、指数总览、备注、AI 分析。
- 作为助教,我在助教详情页能看到助教信息、客户数、工龄、备注。
- 作为助教,我在 AI 对话页能与 AI 流式对话,看到来源页面信息。
- 作为助教,我能查看历史 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_amountvstotal_amountvs 其他字段- 此项标记为"需用户复核"
任务清单
- 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 小程序页面