Files
wecom_it_smart_desk/docs/01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.0.archive.md
T
Simon facc04aa65 chore: docs 结构整改 + compose 双目录对齐(合并重建提交)
本提交为 .git 对象库损坏后的重建提交,内容等价于原先三个本地提交
(5e2fd4c2 / 57a53c98 / 5d7e1873)的累积结果,未做任何额外改动。

一、docs 结构整改(整改 #14)
根因:重构时新结构为 untracked 文件,执行 git stash(未带 -u)未纳入,
随后 git reset 拉回 HEAD 旧 tracked 树,导致旧树复活、新旧两棵目录
树并存于 docs/,共 791 文件、双分类体系冲突。

修复动作:
- b2 同名异主题文件改名迁移保全 9 个
- C 类 39 个孤立文件按主题正确归类
- A/B1 类 222 个重复文件删除(新结构已有内容副本)
- 9 个旧独有空目录删除
- 270 处内部引用按 verified 映射改写
- 整改记录 #14 登记于 04-运维文档/部署运维

结果:docs 791 → 569 文件,顶层仅规范 8 类 + 治理文件,单树恢复。
残留:约 20 处指向从未存在文件的陈旧死链,归入独立文档卫生任务。

二、compose 双目录对齐(消除踩坑 A)
- docker-compose.yml:nginx 前端挂载全部由根目录 frontend-*/dist
  改为 src/frontend-*/dist(h5 / agent / admin / terminal)
- docker-compose.dev.yml:dev 服务 build context 与卷同步改 src/
- 效果:本地 docker compose up 不再把根目录 stale dist 挂回,
  与线上一致,分叉隐患消除(已 docker compose config 校验通过)

防复发铁律:
- 重构须提交;仓库修复须 git stash -u 或先 commit
- 新结构须 git add 并提交,避免再次 untracked 复活
- H5 改动只动 src/frontend-h5/,禁改根目录遗留 frontend-*/
2026-08-07 22:31:32 +08:00

180 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 员工结束会话 PRD
> **版本**: v1.0
> **日期**: 2026-07-24
> **REQ编号**: REQ-会话-001
> **优先级**: P1
> **阶段**: 近期
> **状态**: 待评审
---
## 一、需求概述
### 1.1 需求背景
当前系统存在以下问题:
1. 用户无法主动结束会话,若要结束错误对话历史(如AI回答错误),只能开启新会话
2. 人工咨询场景缺少员工主动结束的入口
3. 满意度评价仅在AI判定问题已解决时触发,无法覆盖所有会话场景
### 1.2 需求目标
| 目标 | 说明 |
|------|------|
| G1 | 员工可主动结束当前会话 |
| G2 | 结束会话时强制收集满意度评价 |
| G3 | 复用"人工咨询"按钮实现全流程状态管理 |
---
## 二、用户故事
| # | 角色 | 用户故事 |
|---|------|----------|
| US-1 | 员工 | 作为员工,我希望在会话结束时能主动关闭会话,以便开始新会话获取正确回答 |
| US-2 | 员工 | 作为员工,我希望结束会话时能评价本次服务,以便反馈服务质量 |
---
## 三、功能详情
### 3.1 按钮状态机设计
复用现有的"人工咨询"按钮,实现四状态转换:
```
┌─────────────────────────────────────────────────────────────┐
│ 状态1 状态2 状态3 状态4 │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 人工咨询 │→ │ 排队等待中│→ │ 已接入 │→ │ 结束咨询 │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
│ ↓ ↓ ↓ ↓ │
│ 发起呼叫 询问取消排队? 正常会话 评价+关闭 │
└─────────────────────────────────────────────────────────────┘
```
| 状态 | 按钮文字 | 点击行为 | 触发条件 |
|------|---------|---------|---------|
| 状态1 | 人工咨询 | 发起呼叫请求 | 默认状态 |
| 状态2 | 排队等待中 | 弹出确认框:"是否取消排队?" | 呼叫请求发送后 |
| 状态3 | 结束咨询 | 弹出满意度评价 → 提交后窗口自动关闭 | 坐席接听(已接入) |
### 3.2 结束流程
点击"结束咨询"后的完整流程:
```
用户点击"结束咨询"
【技术实现】调用后端API关闭会话(POST /h5/conversations/current/close
会话状态变为 resolved
弹出满意度评价组件
用户提交评价(必填)
评价提交成功 → 窗口自动关闭
重新进入应用 → 全新会话
```
**技术要点**
- 必须先调用后端API将会话状态变为resolved,否则评价会报错"只能评价已结单的会话"
- 关闭会话API会触发会话结束事件,前端监听会话状态变化自动处理
**注意**:点击"结束咨询"后无"继续"选项,直接进入评价流程。
| 状态2 | 排队等待中 | 弹出确认框:"是否取消排队?" | 呼叫请求发送后 |
| 状态3 | 已接入 | 无操作(禁用) | 坐席接听 |
| 状态4 | 结束咨询 | 弹出评价组件 → 关闭会话 | 坐席挂断或用户主动点击 |
### 3.2 评价组件集成
复用现有的 `ResolveFeedback.vue` 组件:
| 字段 | 说明 |
|------|------|
| 评价选项 | 满意/一般/不满意(表情) |
| 评语 | 可选,文本输入 |
| 提交行为 | 评价提交后自动关闭会话 |
### 3.3 后端API(已存在)
| API | 说明 |
|-----|------|
| `POST /h5/conversations/current/close` | 员工主动关闭会话 |
| `POST /api/conversations/{id}/evaluation` | 提交满意度评价(复用) |
---
## 四、非目标
| # | 明确不做 |
|---|----------|
| N1 | 不修改人工呼叫的后端逻辑(仅前端状态管理) |
| N2 | 不区分AI会话与人工会话的结束流程 |
| N3 | 不支持跳过评价直接关闭(必须评价) |
---
## 五、验收指标
| # | 指标 | 目标值 | 验收方式 |
|---|------|--------|---------|
| AC1 | 员工可主动结束会话 | 100% | 点击"结束咨询"按钮可触发关闭流程 |
| AC2 | 评价提交率 | =100% | 关闭会话前必须提交评价 |
| AC3 | 按钮状态切换正确 | 4种状态正确切换 | 人工呼叫全流程测试 |
---
## 六、关联文档
| 文档 | 说明 |
|------|------|
| `前端组件-ResolveFeedback.vue` | 满意度评价组件 |
| `API-h5.py` | 关闭会话API |
| `PRD-REQ-集成-002-邀请功能` | 会话管理系列功能 |
---
## 七、里程碑
| 阶段 | 任务 | 预计时间 |
|------|------|---------|
| M1 | PRD评审 | 0.5天 |
| M2 | 前端实现(状态机+评价) | 1天 |
| M3 | 联调测试 | 0.5天 |
| M4 | 上线 | 0.5天 |
---
## 八、风险与依赖
| 风险 | 影响 | 缓解措施 |
|------|------|---------|
| R1:现有"人工坐席"按钮逻辑复杂 | 改动可能影响原有功能 | 先梳理现有状态机逻辑 |
| R2:评价组件复用兼容性 | 现有组件可能不完全匹配 | 评估是否需要微调 |
**依赖**
- D1:后端 `/h5/conversations/current/close` API可用
- D2:前端 `ResolveFeedback.vue` 组件可用
---
## 九、变更记录
> 本章节记录需求发布后的 bug 修复与变更。需求主体(v1.0)保持不变,每次变更记录一行。
| 日期 | 变更内容 | 关联缺陷 | 变更人 |
|------|----------|----------|--------|
| 2026-07-30 | H5 员工端"结束会话失败,请稍后重试"修复:前端最小修复(防抖 + 同步 store + 改善 catch 文案),零后端改动。详见 BUG-用户-003。部署 hashCSS `index-CfEzPwEP.css` / JS `index-DDJ_fm-u.js`。 | [BUG-用户-003](../../03-测试文档/05-缺陷单/BUG-用户-H5结束会话失败-003.md) | Duckula (AI) |
---
## 十、关联缺陷
| 缺陷编号 | 标题 | 状态 | 优先级 |
|----------|------|------|--------|
| [BUG-用户-003](../../03-测试文档/05-缺陷单/BUG-用户-H5结束会话失败-003.md) | H5员工端"结束会话失败,请稍后重试" | 已修复(2026-07-30 | P2-Medium |