docs(会话-001/用户-005): 版本合并与文档规范化整改 #9
REQ-会话-001 员工结束会话: - PRD/原型 v1.0/v1.1/v1.2 归档为 .archive,现行收敛至单一 v1.3 - 技术方案 v1.2 归档,v1.3 为现行版本(位于 docs/02-技术文档/) - PRD v1.3 §六 关联文档表指向 v1.3 原型与技术方案实际路径 - 三份任务说明书 + BUG-003 + TC-用户-008 引用同步至 .archive/v1.3 REQ-用户-005 头像菜单退出: - PRD/原型/技术方案文件名 v1.0 -> v1.1,追平内容版本(铁律2) - 三件套 + 任务说明书 + TC 互引版本对齐,相关 PRD 指向会话-001 v1.3 其他: - 修复 4 处 UTF-8 乱码(U+FFFD) - 新增 TR-会话-001-结束会话-v1.3.2 端到端测试报告(单测 75/75 + 生产构建通过) - 整改记录 #9 写入 00-文档规范化整改记录.md 遗留: PRD v1.3「状态条永久显示」与代码 v1.3.5「状态条已删除」存在分歧,待产品拍板
This commit is contained in:
@@ -281,8 +281,8 @@ end > reopen > waiting > active/urgent > disabled
|
|||||||
| `前端组件-QueueWaiting.vue` | 右栏排队组件(v1.1 标记弃用) |
|
| `前端组件-QueueWaiting.vue` | 右栏排队组件(v1.1 标记弃用) |
|
||||||
| `API-h5.py` | 关闭会话 API + reopen API |
|
| `API-h5.py` | 关闭会话 API + reopen API |
|
||||||
| `stores/conversation.ts` | 新增 `showHeaderExitBtn` 字段 |
|
| `stores/conversation.ts` | 新增 `showHeaderExitBtn` 字段 |
|
||||||
| `原型-REQ-会话-001-结束会话流程-v1.2.html` | v1.2 原型图(重绘) |
|
| `原型-REQ-会话-001-结束会话流程-v1.3.html` | v1.3 原型图(整合区方案 A) |
|
||||||
| `技术方案-REQ-会话-001-员工结束会话-v1.2.md` | v1.2 技术方案(同步更新) |
|
| `../../02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.3.md` | v1.3 技术方案(同步更新) |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -972,8 +972,8 @@
|
|||||||
</table>
|
</table>
|
||||||
|
|
||||||
<div class="note">
|
<div class="note">
|
||||||
📌 对应 PRD:<code>PRD-REQ-会话-001-员工结束会话-v1.2.md</code><br>
|
📌 对应 PRD:<code>PRD-REQ-会话-001-员工结束会话-v1.3.md</code><br>
|
||||||
📌 对应技术方案:<code>技术方案-REQ-会话-001-员工结束会话-v1.2.md</code>
|
📌 对应技术方案:<code>技术方案-REQ-会话-001-员工结束会话-v1.3.md</code>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="note note--info">✅ v1.3 方案 A 5 项细节已拍板(2026-07-31),见章节 9.6</div>
|
<div class="note note--info">✅ v1.3 方案 A 5 项细节已拍板(2026-07-31),见章节 9.6</div>
|
||||||
|
|||||||
+4
-4
@@ -6,11 +6,11 @@
|
|||||||
> **状态**: [已实现]
|
> **状态**: [已实现]
|
||||||
> **作者**: Simon
|
> **作者**: Simon
|
||||||
> **关联文档**:
|
> **关联文档**:
|
||||||
> - 技术方案: `02-技术文档/技术方案-REQ-用户-005-头像菜单退出-v1.0.md`
|
> - 技术方案: `02-技术文档/技术方案-REQ-用户-005-头像菜单退出-v1.1.md`
|
||||||
> - 任务说明书: `07-项目管理/任务说明书/任务说明书-REQ-用户-005-头像菜单退出.md`
|
> - 任务说明书: `07-项目管理/任务说明书/任务说明书-REQ-用户-005-头像菜单退出.md`
|
||||||
> - 测试用例: `03-测试文档/03-功能测试用例/TC-用户-005-头像菜单退出.md`
|
> - 测试用例: `03-测试文档/03-功能测试用例/TC-用户-005-头像菜单退出.md`
|
||||||
> - 相关 PRD: `01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.0.md`(InputBar 结束咨询按钮)
|
> - 相关 PRD: `01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.3.md`(InputBar 结束咨询按钮)
|
||||||
> - 参考原型: `01-产品文档/05-用户端H5/原型-REQ-用户-000-H5用户端-v2.0.html`
|
> - 参考原型: `01-产品文档/05-用户端H5/原型-REQ-用户-005-头像菜单退出-v1.1.html`
|
||||||
> - 前端组件: `frontend-h5/src/components/chat/ChatPanel.vue`(头像区域)
|
> - 前端组件: `frontend-h5/src/components/chat/ChatPanel.vue`(头像区域)
|
||||||
> - 后端 API: `backend/app/api/auth.py`(logout)、`backend/app/api/h5.py`(close conversation)
|
> - 后端 API: `backend/app/api/auth.py`(logout)、`backend/app/api/h5.py`(close conversation)
|
||||||
|
|
||||||
@@ -117,7 +117,7 @@
|
|||||||
| 组件 | Vant `Dialog`(`van-dialog`) |
|
| 组件 | Vant `Dialog`(`van-dialog`) |
|
||||||
| 标题 | 结束会话 |
|
| 标题 | 结束会话 |
|
||||||
| 消息 | 退出后会话记录会清空,当前咨询进度将丢失,确定要结束会话吗? |
|
| 消息 | 退出后会话记录会清空,当前咨询进度将丢失,确定要结束会话吗? |
|
||||||
| 确认按钮 | 「确定退出」(红色/警告色,��出风险) |
|
| 确认按钮 | 「确定退出」(红色/警告色,退出风险) |
|
||||||
| 取消按钮 | 「取消」(灰色/默认色) |
|
| 取消按钮 | 「取消」(灰色/默认色) |
|
||||||
|
|
||||||
### 5.3 状态处理
|
### 5.3 状态处理
|
||||||
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
> **版本**: v1.3
|
> **版本**: v1.3
|
||||||
> **日期**: 2026-07-31
|
> **日期**: 2026-07-31
|
||||||
> **关联PRD**: PRD-REQ-会话-001-员工结束会话-v1.3(§十一 v1.3 整合区增量)
|
> **关联PRD**: ../01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.3.md(§十一 v1.3 整合区增量)
|
||||||
> **关联原型**: 原型-REQ-会话-001-结束会话流程-v1.3.html §⑨
|
> **关联原型**: ../01-产品文档/02-会话管理/原型-REQ-会话-001-结束会话流程-v1.3.html §⑨
|
||||||
> **状态**: 已拍板(方案 A 5 项细节 2026-07-31 落地)
|
> **状态**: 已拍板(方案 A 5 项细节 2026-07-31 落地)
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -656,7 +656,7 @@ v1.3 把 v1.2 中分散在 4 个位置(标题栏 / InputBar / 消息流底部
|
|||||||
| 🆕 新建 | `src/stores/integrationZone.ts` | 整合区状态管理(可选,整合状态条三态逻辑) |
|
| 🆕 新建 | `src/stores/integrationZone.ts` | 整合区状态管理(可选,整合状态条三态逻辑) |
|
||||||
| 🆕 新建 | `src/utils/shiftHours.ts` | 硬编码 `SHIFT_HOURS = '9:00-18:00'` 常量,v1.4 接 `store.shiftHours` 后端班次 |
|
| 🆕 新建 | `src/utils/shiftHours.ts` | 硬编码 `SHIFT_HOURS = '9:00-18:00'` 常量,v1.4 接 `store.shiftHours` 后端班次 |
|
||||||
| ✏️ 修改 | `src/components/InputBar.vue` | 移除操作按钮 + 移除引导语容器,工具栏更简洁(😊📎[输入框][发送]) |
|
| ✏️ 修改 | `src/components/InputBar.vue` | 移除操作按钮 + 移除引导语容器,工具栏更简洁(😊📎[输入框][发送]) |
|
||||||
| ✏️ 修改 | `src/components/ChatPanel.vue` | 移除标题��坐席徽章(`.header-mock__status--online/offline` 元素移除)+ 集成 `<IntegrationZone>` 组件 |
|
| ✏️ 修改 | `src/components/ChatPanel.vue` | 移除标题栏坐席徽章(`.header-mock__status--online/offline` 元素移除)+ 集成 `<IntegrationZone>` 组件 |
|
||||||
| ✏️ 修改 | `src/components/QueueCapsule.vue` | 不再独立显示,集成到 IntegrationZone 内部,作为整合区下部"按需胶囊" |
|
| ✏️ 修改 | `src/components/QueueCapsule.vue` | 不再独立显示,集成到 IntegrationZone 内部,作为整合区下部"按需胶囊" |
|
||||||
|
|
||||||
### C. 共享知识(跨文件约定)
|
### C. 共享知识(跨文件约定)
|
||||||
|
|||||||
+2
-2
@@ -6,8 +6,8 @@
|
|||||||
> **状态**: [已实现]
|
> **状态**: [已实现]
|
||||||
> **作者**: Simon
|
> **作者**: Simon
|
||||||
> **关联文档**:
|
> **关联文档**:
|
||||||
> - PRD: `01-产品文档/05-用户端H5/PRD-REQ-用户-005-头像菜单退出-v1.0.md`
|
> - PRD: `01-产品文档/05-用户端H5/PRD-REQ-用户-005-头像菜单退出-v1.1.md`
|
||||||
> - 原型: `01-产品文档/05-用户端H5/原型-REQ-用户-005-头像菜单退出-v1.0.html`
|
> - 原型: `01-产品文档/05-用户端H5/原型-REQ-用户-005-头像菜单退出-v1.1.html`
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
# 测试用例 — 员工端结束会话固定按钮
|
# 测试用例 — 员工端结束会话固定按钮
|
||||||
|
|
||||||
> **关联需求编号**: REQ-用户-005
|
> **关联需求编号**: REQ-用户-005
|
||||||
> **关联PRD**: `01-产品文档/05-用户端H5/PRD-REQ-用户-005-头像菜单退出-v1.0.md`
|
> **关联PRD**: `01-产品文档/05-用户端H5/PRD-REQ-用户-005-头像菜单退出-v1.1.md`
|
||||||
> **关联技术方案**: `02-技术文档/技术方案-REQ-用户-005-头像菜单退出-v1.0.md`
|
> **关联技术方案**: `02-技术文档/技术方案-REQ-用户-005-头像菜单退出-v1.1.md`
|
||||||
> **版本**: v1.1
|
> **版本**: v1.1
|
||||||
> **日期**: 2026-07-26
|
> **日期**: 2026-07-26
|
||||||
> **作者**: Simon
|
> **作者**: Simon
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
> **关联需求编号**: REQ-会话-001
|
> **关联需求编号**: REQ-会话-001
|
||||||
> **关联缺陷**: [BUG-用户-003](../../05-缺陷单/BUG-用户-H5结束会话失败-003.md)(已修复 2026-07-30)
|
> **关联缺陷**: [BUG-用户-003](../../05-缺陷单/BUG-用户-H5结束会话失败-003.md)(已修复 2026-07-30)
|
||||||
> **关联 PRD**: `01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.0.md`
|
> **关联 PRD**: `01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.0.archive.md`
|
||||||
> **关联技术方案**: `02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.0.md`
|
> **关联技术方案**: `02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.0.archive.md`
|
||||||
> **版本**: v1.0
|
> **版本**: v1.0
|
||||||
> **日期**: 2026-07-30
|
> **日期**: 2026-07-30
|
||||||
> **作者**: Duckula (AI)
|
> **作者**: Duckula (AI)
|
||||||
|
|||||||
@@ -0,0 +1,141 @@
|
|||||||
|
# 测试报告 — REQ-会话-001 员工结束会话 v1.3.1 / v1.3.2 端到端 QA
|
||||||
|
|
||||||
|
> **报告版本**: v1.3.2
|
||||||
|
> **日期**: 2026-07-27
|
||||||
|
> **需求编号**: REQ-会话-001
|
||||||
|
> **测试类型**: 单元测试 + 生产构建验证(端到端代码层)
|
||||||
|
> **关联 PRD**: `01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.3.md`
|
||||||
|
> **关联技术方案**: `02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.3.md`
|
||||||
|
> **关联任务说明书**: `07-项目管理/任务说明书/任务说明书-REQ-会话-001-员工结束会话v1.3.md`
|
||||||
|
> **测试结论**: ✅ 通过(单测 75/75 + 生产构建成功);⚠️ 发现 1 项 PRD↔代码分歧待产品拍板
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 一、测试范围
|
||||||
|
|
||||||
|
| 子版本 | 变更主题 | 验证目标 |
|
||||||
|
|--------|---------|---------|
|
||||||
|
| **v1.3.1** | 引导语 BugFix | `computeGuideText` 场景 1(无会话)/ 场景 2(AI<3 轮)返回 `null`,避免与 ChatPanel 顶部"输入问题咨询..."重复引导 |
|
||||||
|
| **v1.3.2** | InputBar 布局 BugFix | 操作按钮(call-agent-btn)从 InputBar 工具栏移除,整合入 IntegrationZone(状态条+6 态按钮+进度胶囊+引导语) |
|
||||||
|
|
||||||
|
> 关联回归:v1.3 智能推荐 30 分钟抑制白名单(`recommend.test.ts`)一并回归,防止整合区改造波及推荐逻辑。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 二、测试环境
|
||||||
|
|
||||||
|
| 项 | 值 |
|
||||||
|
|----|-----|
|
||||||
|
| 前端框架 | Vue 3 + TypeScript + Vite |
|
||||||
|
| 测试框架 | Vitest v4.1.10(node 环境,纯函数测试) |
|
||||||
|
| 被测代码路径 | `src/frontend-h5/src/components/chat/` |
|
||||||
|
| 代码基线 | git `feature/message-reliability` @ `f9c25147` |
|
||||||
|
| 构建产物 | `src/frontend-h5/dist/`(✓ 528 模块,built in 2.53s)|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 三、测试结果汇总
|
||||||
|
|
||||||
|
| 测试文件 | 用例数 | 结果 | 覆盖子版本 |
|
||||||
|
|----------|-------|------|-----------|
|
||||||
|
| `inputBarGuideText.test.ts` | 15 | ✅ 通过 | v1.3.1 |
|
||||||
|
| `integrationZoneLogic.test.ts` | 44 | ✅ 通过 | v1.3.2 |
|
||||||
|
| `recommend.test.ts` | 16 | ✅ 通过 | v1.3 回归 |
|
||||||
|
| **合计** | **75** | **✅ 75 passed (0 failed)** | — |
|
||||||
|
|
||||||
|
```
|
||||||
|
RUN v4.1.10
|
||||||
|
✓ src/components/chat/inputBarGuideText.test.ts (15 tests) 5ms
|
||||||
|
✓ src/components/chat/integrationZoneLogic.test.ts (44 tests) 8ms
|
||||||
|
✓ src/stores/recommend.test.ts (16 tests) 54ms
|
||||||
|
Test Files 3 passed (3)
|
||||||
|
Tests 75 passed (75)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 四、关键验证点
|
||||||
|
|
||||||
|
### 4.1 v1.3.1 — 引导语场景 1/2 返回 null
|
||||||
|
|
||||||
|
源文件:`src/frontend-h5/src/components/chat/inputBarGuideText.ts` → `computeGuideText(ctx)`
|
||||||
|
|
||||||
|
| 场景 | 判定条件 | 期望返回 | 验证 |
|
||||||
|
|------|---------|---------|------|
|
||||||
|
| 1 无会话 | `!currentConversation` | `null` | ✅ 避免与 ChatPanel 顶部"输入问题咨询,或点击下方'人工坐席'按钮"重复 |
|
||||||
|
| 2 AI<3 轮 | `status==='ai_handling' && !canCallAgent` | `null` | ✅ 用户已与 AI 对话,底部"请继续描述"显啰嗦(v1.3.2 优化)|
|
||||||
|
| 3 坐席离线 | `!agentOnline` | `null` | ✅ 注:v1.3.5 已移除该场景引导语(产品决定不显示离线描述)|
|
||||||
|
| 4 会话过期 | `status==='resolved' && !canReopen` | `⏰ 上一会话已过期,开始新对话吧` | ✅ 保留 |
|
||||||
|
|
||||||
|
> 设计意图(PRD §3.3):引导语仅 disabled 态显示,且与按钮态计算共享同一 `callAgentState` 调用栈,永不同步错位。
|
||||||
|
|
||||||
|
### 4.2 v1.3.2 — InputBar 布局 / IntegrationZone 整合
|
||||||
|
|
||||||
|
源文件:`integrationZoneLogic.ts`(纯逻辑)+ `IntegrationZone.vue`(容器)+ `InputBar.vue`(瘦身)
|
||||||
|
|
||||||
|
| 验证项 | 期望 | 验证 |
|
||||||
|
|--------|------|------|
|
||||||
|
| InputBar 工具栏 | 仅 `😊 📎 [输入框] [发送]`,**无操作按钮** | ✅ 操作按钮(call-agent-btn)已迁移至 IntegrationZone |
|
||||||
|
| IntegrationZone 6 态按钮 | `disabled/active/urgent/waiting/end/reopen` 文案/图标/title 由 `inputBarCallAgentState` 复用 | ✅ 44 用例覆盖全部态 |
|
||||||
|
| 点击意图映射 | `computeCallAction`:end→endConversation / reopen→reopenConversation / waiting→cancelQueue / active|urgent→callAgent / disabled→none | ✅ |
|
||||||
|
| 引导语渲染 | `shouldRenderGuideText(text)`:非 null 才渲染;`computeIntegrationGuideClass` 处理 warn 变体 | ✅ |
|
||||||
|
| 生产构建产物 | `dist/assets/index-Dc6ilDe1.js` 含 `IntegrationZone` / `integration-zone__guide` / `call-agent-btn--reopen` | ✅ grep 命中 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 五、生产构建验证
|
||||||
|
|
||||||
|
```
|
||||||
|
vite build
|
||||||
|
✓ 528 modules transformed.
|
||||||
|
dist/assets/index-Dc6ilDe1.js 370.72 kB │ gzip: 135.16 kB
|
||||||
|
✓ built in 2.53s
|
||||||
|
```
|
||||||
|
|
||||||
|
- **编译**:528 模块全部转换成功,无 TypeScript / 语法错误。
|
||||||
|
- **产物**:v1.3.2 `IntegrationZone` 组件已进入主包,确认功能代码真实进入生产 bundle。
|
||||||
|
- **备注**:首次构建因 WorkBuddy `safe-delete` 拦截 `dist/assets` 清理失败(已知铁律:assets>50 文件时需先 `mv dist dist_bak`);按铁律改名后二次构建成功。此属工具约束,非代码缺陷。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 六、发现的缺陷 / 分歧
|
||||||
|
|
||||||
|
### 🔶 分歧 1:PRD v1.3 ↔ 代码 v1.3.5 状态条(Status Bar)不一致
|
||||||
|
|
||||||
|
| 视角 | 描述 |
|
||||||
|
|------|------|
|
||||||
|
| **PRD v1.3 / 技术方案 v1.3** | §11.4 决策 1「状态条永久显示」、§11.6「前端硬编码 `SHIFT_HOURS='9:00-18:00'`」、`IntegrationZone.vue` 实际仍渲染状态条(import `shiftHours`、`buildStatusBarText`)|
|
||||||
|
| **代码 v1.3.5 注释** | `integrationZoneLogic.ts:16`「~~复用 utils/shiftHours.ts 状态条文案生成~~(v1.3.5 整体删除)」、`:37`「v1.3.5 状态条已删除」;`inputBarGuideText.ts:63`「用户拍板删除状态条 + 离线描述」|
|
||||||
|
| **代码内部不一致** | `IntegrationZone.vue` 仍渲染状态条,但 `integrationZoneLogic.ts` 注释称已删除 → 半完成清理 |
|
||||||
|
|
||||||
|
**影响**:产品现状与文档描述偏差;若 v1.3.5 清理为终态,PRD/技术方案 v1.3 的「状态条永久显示」需回退为「v1.3.5 已移除」并补 TR;若状态条保留,则应清理 v1.3.5 注释。
|
||||||
|
**处置**:⏸️ 待产品(宋献)拍板后闭环,本次 QA 不擅自改文档。
|
||||||
|
|
||||||
|
### 🔶 分歧 2(历史遗留,不在本次范围)
|
||||||
|
|
||||||
|
- 其他文档(`04-运维文档/部署运维/00-标准故障排查手册.md`、`任务说明书-REQ-AI-001-打字机效果.md`、`08-历史归档/...`、`BUG-用户-坐席离线未限制呼叫人工-001.md`)仍存 UTF-8 乱码(U+FFFD),非本次 7 文档合并范围,建议后续专项扫描修复。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 七、部署验证状态
|
||||||
|
|
||||||
|
| 项 | 状态 |
|
||||||
|
|----|------|
|
||||||
|
| 代码提交 | ✅ 已提交 `feature/message-reliability` @ `f9c25147`(含 v1.3.1/v1.3.2 全部改动)|
|
||||||
|
| 生产构建 | ✅ 本地构建成功(`dist/` 已生成,可发布)|
|
||||||
|
| **服务端部署** | 🟡 **待执行** — 需走标准发布流程(构建 dist → 上传服务器 `/opt/wecom-it-desk/frontend-h5/dist` → `docker compose up -d nginx`)|
|
||||||
|
|
||||||
|
> 依据项目铁律「宣布修复前必须端到端验证」:本 QA 完成**代码层**端到端(单测 + 构建 + 产物 grep),**服务层**端到端(线上 H5 实测)需在部署后由 agent-browser 或人工在 `https://itsupport.servyou.com.cn/h5/` 验证。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 八、结论与建议
|
||||||
|
|
||||||
|
1. ✅ **v1.3.1 / v1.3.2 功能正确性**经 75 条单测 + 生产构建双重验证通过。
|
||||||
|
2. ✅ 整合区(IntegrationZone)已正确收纳操作按钮,InputBar 工具栏瘦身符合设计。
|
||||||
|
3. ⚠️ **状态条分歧**(分歧 1)为本次唯一遗留项,需产品拍板后补文档/TR,否则 PRD 与线上行为将持续不一致。
|
||||||
|
4. 🟡 服务端部署验证建议纳入发布 checklist,部署后补一次线上冒烟。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*报告结束 — Duckula / 2026-07-27*
|
||||||
@@ -125,8 +125,8 @@
|
|||||||
## 6. 关联信息
|
## 6. 关联信息
|
||||||
|
|
||||||
- **关联需求**: REQ-会话-001(员工结束会话)
|
- **关联需求**: REQ-会话-001(员工结束会话)
|
||||||
- **关联 PRD**: `docs/01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.0.md`(已追加变更记录)
|
- **关联 PRD**: `docs/01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.0.archive.md`(已追加变更记录)
|
||||||
- **关联技术方案**: `docs/02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.0.md`(已追加变更记录)
|
- **关联技术方案**: `docs/02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.0.archive.md`(已追加变更记录)
|
||||||
- **关联代码文件**: `src/frontend-h5/src/components/chat/ChatPanel.vue:403-468`
|
- **关联代码文件**: `src/frontend-h5/src/components/chat/ChatPanel.vue:403-468`
|
||||||
- **关联后端 API**: `POST /api/h5/conversations/current/close`(`src/backend/app/api/h5.py:1965` + `src/backend/app/services/closing_service.py:329 employee_initiative_close`)
|
- **关联后端 API**: `POST /api/h5/conversations/current/close`(`src/backend/app/api/h5.py:1965` + `src/backend/app/services/closing_service.py:329 employee_initiative_close`)
|
||||||
- **关联测试用例**: 待创建 TC-会话-002(回归:连续点击防抖 / WS 断线同步 / catch 文案优先后端 message)
|
- **关联测试用例**: 待创建 TC-会话-002(回归:连续点击防抖 / WS 断线同步 / catch 文案优先后端 message)
|
||||||
|
|||||||
@@ -247,3 +247,24 @@
|
|||||||
| 2026-07-28 | v1.3 | 新增整改 #4:移除快速回复规则页面顶部 3 张重复统计卡片,并登记代码事实与回归方式 | Simon / 宋献 | 页面信息冗余 | REQ-通用-002 文档链及管理后台 `/quick-rules` 页面 |
|
| 2026-07-28 | v1.3 | 新增整改 #4:移除快速回复规则页面顶部 3 张重复统计卡片,并登记代码事实与回归方式 | Simon / 宋献 | 页面信息冗余 | REQ-通用-002 文档链及管理后台 `/quick-rules` 页面 |
|
||||||
| 2026-07-30 | v1.4 | 新增整改 #7:REQ-会话-001 v1.2 三件套位置/任务说明书补齐/历史归档 | Duckula (AI) | 大需求重构跨阶段实施,PRD v1.2 阶段必须三件套对齐 + 任务说明书 + 历史归档 | REQ-会话-001 文档链(PRD v1.2 + 原型 v1.2 + 技术方案 v1.2) |
|
| 2026-07-30 | v1.4 | 新增整改 #7:REQ-会话-001 v1.2 三件套位置/任务说明书补齐/历史归档 | Duckula (AI) | 大需求重构跨阶段实施,PRD v1.2 阶段必须三件套对齐 + 任务说明书 + 历史归档 | REQ-会话-001 文档链(PRD v1.2 + 原型 v1.2 + 技术方案 v1.2) |
|
||||||
| 2026-07-31 | v1.6 | 新增整改 #8:REQ-会话-001 v1.3 整合区方案 A 三件套增量 + 5 项决策落地 | Duckula (AI) | 方案 A 多文档同步必须显式列出"已拍板结论表",把决策结论固化而非问题陈述;5 项决策落地需贯穿 PRD/技术方案/任务说明书/原型图 4 份文档 | REQ-会话-001 v1.3 文档链(PRD v1.3 §十一 + 技术方案 v1.3 §十 + 任务说明书 v1.3 M8-M14 + 原型图 v1.3 §⑨) |
|
| 2026-07-31 | v1.6 | 新增整改 #8:REQ-会话-001 v1.3 整合区方案 A 三件套增量 + 5 项决策落地 | Duckula (AI) | 方案 A 多文档同步必须显式列出"已拍板结论表",把决策结论固化而非问题陈述;5 项决策落地需贯穿 PRD/技术方案/任务说明书/原型图 4 份文档 | REQ-会话-001 v1.3 文档链(PRD v1.3 §十一 + 技术方案 v1.3 §十 + 任务说明书 v1.3 M8-M14 + 原型图 v1.3 §⑨) |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 整改 #9 · REQ-会话-001 版本合并 + REQ-用户-005 规范化(7 文档合并)
|
||||||
|
|
||||||
|
| 项目 | 值 |
|
||||||
|
|------|------|
|
||||||
|
| 日期 | 2026-07-27 |
|
||||||
|
| 触发人 | 宋献 / Duckula |
|
||||||
|
| 源需求 / 源文档 | REQ-会话-001(员工结束会话,PRD/原型 v1.0-v1.3 合并);REQ-用户-005(头像菜单退出,v1.0→v1.1 规范化)|
|
||||||
|
| 整改维度 | A 命名/位置 + B 关联引用 + D 完整度 |
|
||||||
|
| 问题数 | 11 项(7 文档版本合并 + 4 类引用/编码缺陷)|
|
||||||
|
| 关键修复 | **【会话-001 版本合并】** 1) 归档 PRD v1.0/v1.1/v1.2 → `.v1.x.archive.md`(canonical 为 v1.3,其 §九 变更记录已覆盖 v1.1→v1.2→v1.3);2) 归档 原型 v1.0/v1.1/v1.2 → `.v1.x.archive.html`(保留 v1.3 + 整合区方案A v1.3 为现行);3) 归档 技术方案 v1.2 → `.v1.2.archive.md`(v1.3 已存在为现行)。<br>**【用户-005 规范化】** 4) PRD + 原型 文件名 `v1.0`→`v1.1`(铁律2:文件名=内容版本,内容头部本就是 v1.1);5) 技术方案 文件名 `v1.0`→`v1.1`(内容本就是 v1.1)。<br>**【引用对齐】** 6) PRD-会话-001 v1.3 §六:原型/技术方案引用 v1.2→v1.3 且技术方案补全 `../../02-技术文档/` 路径;7) 技术方案-会话-001 v1.3 头部:PRD/原型裸引用补全相对路径;8) 用户-005 三件套(PRD/技术方案/任务说明书/TC)互引 v1.0→v1.1,相关 PRD 指向会话-001 v1.3,参考原型指向自身 v1.1;9) 任务说明书 #128 关联 PRD/技术方案/原型 v1.0→v1.3(技术方案路径改 `02-技术文档/`);10) 会话-001 三份任务说明书(v1.2/v1.3/通用)中被本次归档波及的 v1.2/v1.0 引用改为 `.archive` 有效历史链接;v1.3 原型 HTML 的"对应 PRD/技术方案"由 v1.2 改为 v1.3。<br>**【编码缺陷】** 11) 修复 4 处 UTF-8 乱码(U+FFFD):用户-005 PRD「退出风险」、用户-005 任务说明书「菜单退出」「结束咨询按钮」、会话-001 技术方案 v1.3「标题栏坐席徽章」;历史缺陷/TC 文档(BUG-003、TC-用户-008)的 v1.0 裸引用改为 `.archive`。 |
|
||||||
|
| 归档动作 | PRD-会话-001-v1.0/v1.1/v1.2.md → `.v1.x.archive.md`;原型-会话-001-v1.0/v1.1/v1.2.html → `.v1.x.archive.html`;技术方案-会话-001-v1.2.md → `.v1.2.archive.md`;用户-005 PRD/原型/技术方案 `v1.0`→`v1.1`(现行文件改名,非归档)|
|
||||||
|
| 引用同步 | 会话-001 v1.3 现行三件套(PRD/技术方案/原型/任务说明书)互相指向 v1.3;用户-005 现行三件套(PRD v1.1/技术方案 v1.1/任务说明书/TC)互相指向 v1.1;被归档版本以 `.archive` 形式在任务说明书中保留历史链接 |
|
||||||
|
| ASCII 副本同步 | 无需(仅中文路径文档,无 ASCII 副本机制参与)|
|
||||||
|
| 收益 | 1) 会话-001 现行文档单一真源收敛到 v1.3,历史版本可溯;2) 用户-005 三件套版本对齐(均 v1.1),消除"文件名 v1.0 / 内容 v1.1"错位;3) 跨文档引用全部有效,无悬空链接;4) 消除 4 处编码乱码 |
|
||||||
|
| 教训 | **① 文件名版本号必须随内容同步 bump**:用户-005 PRD/技术方案内容已升 v1.1 但文件名仍 v1.0,埋雷数月;**② 技术方案应落在 `02-技术文档/`**,裸引用(无路径)会从 PRD 所在目录错误解析;**③ 中文文档的 UTF-8 乱码需专项扫描**:本次 4 处乱码均因早期 Edit 写入异常,合并时须用 U+FFFD 扫描兜底 |
|
||||||
|
| 遗留待办 | 1) **PRD v1.3 ↔ 代码 v1.3.5 状态条分歧**:PRD/技术方案 v1.3 描述整合区"状态条永久显示",但代码 `integrationZoneLogic.ts` 注释称 v1.3.5 已删除状态条、`inputBarGuideText.ts` 场景3 引导语亦于 v1.3.5 移除;需产品确认是否回退 PRD 或补全 v1.3.5 清理;2) 其他文档(排查手册/AI-001/历史归档/坐席离线缺陷)仍有历史乱码,超出本次范围未处理 |
|
||||||
|
| 上线状态 | 🟡 文档合并/归档/引用对齐已完成(无代码改动);PRD↔代码状态条分歧待产品拍板后补 TR |
|
||||||
|
|
||||||
|
|||||||
@@ -24,9 +24,9 @@
|
|||||||
### 产品需求
|
### 产品需求
|
||||||
| 来源文档 | 相关章节 | 说明 |
|
| 来源文档 | 相关章节 | 说明 |
|
||||||
|----------|----------|------|
|
|----------|----------|------|
|
||||||
| `01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.0.md` | 全文 | 员工结束会话 PRD |
|
| `01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.3.md` | 全文 | 员工结束会话 PRD |
|
||||||
| `01-产品文档/02-会话管理/技术方案-REQ-会话-001-员工结束会话-v1.0.md` | 全文 | 技术方案 |
|
| `02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.3.md` | 全文 | 技术方案 |
|
||||||
| `01-产品文档/02-会话管理/原型-REQ-会话-001-结束会话流程-v1.0.html` | 全文 | 原型图 |
|
| `01-产品文档/02-会话管理/原型-REQ-会话-001-结束会话流程-v1.3.html` | 全文 | 原型图 |
|
||||||
|
|
||||||
### 需求变更(2026-07-27)
|
### 需求变更(2026-07-27)
|
||||||
| 变更内容 | 说明 |
|
| 变更内容 | 说明 |
|
||||||
@@ -124,6 +124,6 @@
|
|||||||
|
|
||||||
## 📎 附件
|
## 📎 附件
|
||||||
|
|
||||||
- PRD: `01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.0.md`
|
- PRD: `01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.3.md`
|
||||||
- 技术方案: `01-产品文档/02-会话管理/技术方案-REQ-会话-001-员工结束会话-v1.0.md`
|
- 技术方案: `02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.3.md`
|
||||||
- 原型图: `01-产品文档/02-会话管理/原型-REQ-会话-001-结束会话流程-v1.0.html`
|
- 原型图: `01-产品文档/02-会话管理/原型-REQ-会话-001-结束会话流程-v1.3.html`
|
||||||
|
|||||||
@@ -28,19 +28,19 @@
|
|||||||
|
|
||||||
| 来源文档 | 相关章节 | 说明 |
|
| 来源文档 | 相关章节 | 说明 |
|
||||||
|----------|----------|------|
|
|----------|----------|------|
|
||||||
| `docs/01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.2.md` | §3.2 §3.5 §3.7 §3.8 | v1.2 设计哲学 + 6 态按钮 + 4 种引导语 + 顶部按钮 AI 场景互斥规则 |
|
| `docs/01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.2.archive.md` | §3.2 §3.5 §3.7 §3.8 | v1.2 设计哲学 + 6 态按钮 + 4 种引导语 + 顶部按钮 AI 场景互斥规则 |
|
||||||
|
|
||||||
### 技术方案
|
### 技术方案
|
||||||
|
|
||||||
| 来源文档 | 相关章节 | 说明 |
|
| 来源文档 | 相关章节 | 说明 |
|
||||||
|----------|----------|------|
|
|----------|----------|------|
|
||||||
| `docs/02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.2.md` | §3.3 §3.4 §3.7 §3.8 | store 新字段 + InputBar/ChatPanel 改动 + 24h 边界 + 双入口防抖 |
|
| `docs/02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.2.archive.md` | §3.3 §3.4 §3.7 §3.8 | store 新字段 + InputBar/ChatPanel 改动 + 24h 边界 + 双入口防抖 |
|
||||||
|
|
||||||
### 原型设计
|
### 原型设计
|
||||||
|
|
||||||
| 来源文档 | 页面 | 说明 |
|
| 来源文档 | 页面 | 说明 |
|
||||||
|----------|------|------|
|
|----------|------|------|
|
||||||
| `docs/01-产品文档/02-会话管理/原型-REQ-会话-001-结束会话流程-v1.2.html` | §② §③ §④ | 6 态按钮 + 4 种引导语 + 顶部按钮可见性 mockup |
|
| `docs/01-产品文档/02-会话管理/原型-REQ-会话-001-结束会话流程-v1.2.archive.html` | §② §③ §④ | 6 态按钮 + 4 种引导语 + 顶部按钮可见性 mockup |
|
||||||
|
|
||||||
### 需了解的现有代码(v1.2 实施时必读)
|
### 需了解的现有代码(v1.2 实施时必读)
|
||||||
|
|
||||||
@@ -187,9 +187,9 @@
|
|||||||
|
|
||||||
## 📎 附件
|
## 📎 附件
|
||||||
|
|
||||||
- **产品需求**:[PRD-REQ-会话-001-员工结束会话-v1.2.md](../../01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.2.md)
|
- **产品需求**:[PRD-REQ-会话-001-员工结束会话-v1.2.archive.md](../../01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.2.archive.md)
|
||||||
- **技术方案**:[技术方案-REQ-会话-001-员工结束会话-v1.2.md](../../02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.2.md)
|
- **技术方案**:[技术方案-REQ-会话-001-员工结束会话-v1.2.archive.md](../../02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.2.archive.md)
|
||||||
- **原型图**:[原型-REQ-会话-001-结束会话流程-v1.2.html](../../01-产品文档/02-会话管理/原型-REQ-会话-001-结束会话流程-v1.2.html)
|
- **原型图**:[原型-REQ-会话-001-结束会话流程-v1.2.archive.html](../../01-产品文档/02-会话管理/原型-REQ-会话-001-结束会话流程-v1.2.archive.html)
|
||||||
- **历史任务说明书 #128**:[任务说明书-128-结束会话功能调整.md](任务说明书-128-结束会话功能调整.md)
|
- **历史任务说明书 #128**:[任务说明书-128-结束会话功能调整.md](任务说明书-128-结束会话功能调整.md)
|
||||||
- **历史技术方案(已归档)**:[技术方案-REQ-会话-001-员工结束会话-v1.0.archive.md](../../02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.0.archive.md)
|
- **历史技术方案(已归档)**:[技术方案-REQ-会话-001-员工结束会话-v1.0.archive.md](../../02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.0.archive.md)
|
||||||
- **关联 BUG**:[BUG-用户-003](../../03-测试文档/05-缺陷单/BUG-用户-H5结束会话失败-003.md)(已修复 2026-07-30,v1.2 必须沿用三件套)
|
- **关联 BUG**:[BUG-用户-003](../../03-测试文档/05-缺陷单/BUG-用户-H5结束会话失败-003.md)(已修复 2026-07-30,v1.2 必须沿用三件套)
|
||||||
@@ -32,21 +32,21 @@
|
|||||||
| 来源文档 | 相关章节 | 说明 |
|
| 来源文档 | 相关章节 | 说明 |
|
||||||
|----------|----------|------|
|
|----------|----------|------|
|
||||||
| `docs/01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.3.md` | **§十一 v1.3 整合区增量**(方案 A 已拍板) | 4 维度分散 → 2 段式(整合区+顶部退出)+ 5 决策落地清单 |
|
| `docs/01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.3.md` | **§十一 v1.3 整合区增量**(方案 A 已拍板) | 4 维度分散 → 2 段式(整合区+顶部退出)+ 5 决策落地清单 |
|
||||||
| `docs/01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.2.md` | §3.2 §3.5 §3.7 §3.8 | v1.2 设计哲学 + 6 态按钮 + 4 种引导语 + 顶部按钮 AI 场景互斥规则(v1.3 沿用) |
|
| `docs/01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.2.archive.md` | §3.2 §3.5 §3.7 §3.8 | v1.2 设计哲学 + 6 态按钮 + 4 种引导语 + 顶部按钮 AI 场景互斥规则(v1.3 沿用) |
|
||||||
|
|
||||||
### 技术方案
|
### 技术方案
|
||||||
|
|
||||||
| 来源文档 | 相关章节 | 说明 |
|
| 来源文档 | 相关章节 | 说明 |
|
||||||
|----------|----------|------|
|
|----------|----------|------|
|
||||||
| `docs/02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.3.md` | **§十 v1.3 整合区实施要点**(A-F 6 子节) | 组件拆分 + 文件清单 + 共享知识 + 数据结构 + 任务列表 + 待明确事项 |
|
| `docs/02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.3.md` | **§十 v1.3 整合区实施要点**(A-F 6 子节) | 组件拆分 + 文件清单 + 共享知识 + 数据结构 + 任务列表 + 待明确事项 |
|
||||||
| `docs/02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.2.md` | §3.3 §3.4 §3.7 §3.8 | store 新字段 + InputBar/ChatPanel 改动 + 24h 边界 + 双入口防抖(v1.3 沿用) |
|
| `docs/02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.2.archive.md` | §3.3 §3.4 §3.7 §3.8 | store 新字段 + InputBar/ChatPanel 改动 + 24h 边界 + 双入口防抖(v1.3 沿用) |
|
||||||
|
|
||||||
### 原型设计
|
### 原型设计
|
||||||
|
|
||||||
| 来源文档 | 页面 | 说明 |
|
| 来源文档 | 页面 | 说明 |
|
||||||
|----------|------|------|
|
|----------|------|------|
|
||||||
| `docs/01-产品文档/02-会话管理/原型-REQ-会话-001-结束会话流程-v1.3.html` | **§⑨ 方案 A 整合区设计(v1.3 已拍板)** | 9 场景 mockup + 5 决策落地 + R1-R5 关键交互细节 |
|
| `docs/01-产品文档/02-会话管理/原型-REQ-会话-001-结束会话流程-v1.3.html` | **§⑨ 方案 A 整合区设计(v1.3 已拍板)** | 9 场景 mockup + 5 决策落地 + R1-R5 关键交互细节 |
|
||||||
| `docs/01-产品文档/02-会话管理/原型-REQ-会话-001-结束会话流程-v1.2.html` | §② §③ §④ | 6 态按钮 + 4 种引导语 + 顶部按钮可见性 mockup(v1.3 沿用) |
|
| `docs/01-产品文档/02-会话管理/原型-REQ-会话-001-结束会话流程-v1.2.archive.html` | §② §③ §④ | 6 态按钮 + 4 种引导语 + 顶部按钮可见性 mockup(v1.3 沿用) |
|
||||||
|
|
||||||
### 需了解的现有代码(v1.2 实施时必读)
|
### 需了解的现有代码(v1.2 实施时必读)
|
||||||
|
|
||||||
@@ -240,9 +240,9 @@
|
|||||||
|
|
||||||
### v1.2 基线文档(已上线,M1-M7 已完成)
|
### v1.2 基线文档(已上线,M1-M7 已完成)
|
||||||
|
|
||||||
- **产品需求(v1.2)**:[PRD-REQ-会话-001-员工结束会话-v1.2.md](../../01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.2.md)
|
- **产品需求(v1.2)**:[PRD-REQ-会话-001-员工结束会话-v1.2.archive.md](../../01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.2.archive.md)
|
||||||
- **技术方案(v1.2)**:[技术方案-REQ-会话-001-员工结束会话-v1.2.md](../../02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.2.md)
|
- **技术方案(v1.2)**:[技术方案-REQ-会话-001-员工结束会话-v1.2.archive.md](../../02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.2.archive.md)
|
||||||
- **原型图(v1.2)**:[原型-REQ-会话-001-结束会话流程-v1.2.html](../../01-产品文档/02-会话管理/原型-REQ-会话-001-结束会话流程-v1.2.html)
|
- **原型图(v1.2)**:[原型-REQ-会话-001-结束会话流程-v1.2.archive.html](../../01-产品文档/02-会话管理/原型-REQ-会话-001-结束会话流程-v1.2.archive.html)
|
||||||
- **任务说明书(v1.2)**:[任务说明书-REQ-会话-001-员工结束会话v1.2.md](任务说明书-REQ-会话-001-员工结束会话v1.2.md)
|
- **任务说明书(v1.2)**:[任务说明书-REQ-会话-001-员工结束会话v1.2.md](任务说明书-REQ-会话-001-员工结束会话v1.2.md)
|
||||||
|
|
||||||
### 历史归档
|
### 历史归档
|
||||||
|
|||||||
@@ -26,22 +26,22 @@
|
|||||||
### 产品需求(PRD)
|
### 产品需求(PRD)
|
||||||
| 来源文档 | 相关章节 | 说明 |
|
| 来源文档 | 相关章节 | 说明 |
|
||||||
|----------|----------|------|
|
|----------|----------|------|
|
||||||
| `01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.0.md` | §1.1-1.2 | 需求背景、目标 |
|
| `01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.0.archive.md` | §1.1-1.2 | 需求背景、目标 |
|
||||||
| `01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.0.md` | §3.1 | 按钮状态机设计 |
|
| `01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.0.archive.md` | §3.1 | 按钮状态机设计 |
|
||||||
| `01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.0.md` | §3.2-3.3 | 结束流程、评价组件 |
|
| `01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.0.archive.md` | §3.2-3.3 | 结束流程、评价组件 |
|
||||||
| `01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.0.md` | §五 | 验收指标 |
|
| `01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.0.archive.md` | §五 | 验收指标 |
|
||||||
|
|
||||||
### 技术方案
|
### 技术方案
|
||||||
| 来源文档 | 相关章节 | 说明 |
|
| 来源文档 | 相关章节 | 说明 |
|
||||||
|----------|----------|------|
|
|----------|----------|------|
|
||||||
| `02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.0.md` | §3.1-3.3 | 状态机设计、组件改动 |
|
| `02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.0.archive.md` | §3.1-3.3 | 状态机设计、组件改动 |
|
||||||
| `02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.0.md` | §3.4 | 弹窗设计 |
|
| `02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.0.archive.md` | §3.4 | 弹窗设计 |
|
||||||
| `02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.0.md` | §六 | 风险与依赖 |
|
| `02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.0.archive.md` | §六 | 风险与依赖 |
|
||||||
|
|
||||||
### 原型设计
|
### 原型设计
|
||||||
| 来源文档 | 页面 | 说明 |
|
| 来源文档 | 页面 | 说明 |
|
||||||
|----------|------|------|
|
|----------|------|------|
|
||||||
| `01-产品文档/02-会话管理/原型-REQ-会话-001-结束会话流程-v1.0.html` | 全部 | 按钮状态切换、评价弹窗 |
|
| `01-产品文档/02-会话管理/原型-REQ-会话-001-结束会话流程-v1.0.archive.html` | 全部 | 按钮状态切换、评价弹窗 |
|
||||||
|
|
||||||
### 需了解的现有代码(历史现状)
|
### 需了解的现有代码(历史现状)
|
||||||
| 模块/文件 | 说明 | 需了解的内容 |
|
| 模块/文件 | 说明 | 需了解的内容 |
|
||||||
@@ -158,6 +158,6 @@
|
|||||||
|
|
||||||
## 📎 附件
|
## 📎 附件
|
||||||
|
|
||||||
- PRD:`01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.0.md`
|
- PRD:`01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.0.archive.md`
|
||||||
- 技术方案:`02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.0.md`
|
- 技术方案:`02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.0.archive.md`
|
||||||
- 原型图:`01-产品文档/02-会话管理/原型-REQ-会话-001-结束会话流程-v1.0.html`
|
- 原型图:`01-产品文档/02-会话管理/原型-REQ-会话-001-结束会话流程-v1.0.archive.html`
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
# 任务说明书 — 员工端头像菜单退出
|
# 任务说明书 — 员工端头像菜单退出
|
||||||
|
|
||||||
> **关联需求编号**: REQ-用户-005
|
> **关联需求编号**: REQ-用户-005
|
||||||
> **关联PRD**: `01-产品文档/05-用户端H5/PRD-REQ-用户-005-头像菜单退出-v1.0.md`
|
> **关联PRD**: `01-产品文档/05-用户端H5/PRD-REQ-用户-005-头像菜单退出-v1.1.md`
|
||||||
> **关联技术方案**: `02-技术文档/技术方案-REQ-用户-005-头像菜单退出-v1.0.md`
|
> **关联技术方案**: `02-技术文档/技术方案-REQ-用户-005-头像菜单退出-v1.1.md`
|
||||||
> **需求类型**: [x] 新增 [ ] 变更 [ ] 废弃
|
> **需求类型**: [x] 新增 [ ] 变更 [ ] 废弃
|
||||||
> **日期**: 2026-07-26
|
> **日期**: 2026-07-26
|
||||||
> **作者**: Simon
|
> **作者**: Simon
|
||||||
@@ -12,14 +12,14 @@
|
|||||||
## 📥 输入项来源
|
## 📥 输入项来源
|
||||||
|
|
||||||
### 产品需求来源
|
### 产品需求来源
|
||||||
- **PRD**: `docs/01-产品文档/05-用户端H5/PRD-REQ-用户-005-头像菜单��出-v1.0.md`
|
- **PRD**: `docs/01-产品文档/05-用户端H5/PRD-REQ-用户-005-头像菜单退出-v1.1.md`
|
||||||
- **原型**: `docs/01-产品文档/05-用户端H5/原型-REQ-用户-005-头像菜单退出-v1.0.html`
|
- **原型**: `docs/01-产品文档/05-用户端H5/原型-REQ-用户-005-头像菜单退出-v1.1.html`
|
||||||
|
|
||||||
### 技术方案来源
|
### 技术方案来源
|
||||||
- **技术方案**: `docs/02-技术文档/技术方案-REQ-用户-005-头像菜单退出-v1.0.md`
|
- **技术方案**: `docs/02-技术文档/技术方案-REQ-用户-005-头像菜单退出-v1.1.md`
|
||||||
|
|
||||||
### 原型设计来源
|
### 原型设计来源
|
||||||
- `docs/01-产品文档/05-用户端H5/原型-REQ-用户-005-头像菜单退出-v1.0.html`
|
- `docs/01-产品文档/05-用户端H5/原型-REQ-用户-005-头像菜单退出-v1.1.html`
|
||||||
- 参考原型: `docs/01-产品文档/05-用户端H5/原型-REQ-用户-000-H5用户端-v2.0.html`
|
- 参考原型: `docs/01-产品文档/05-用户端H5/原型-REQ-用户-000-H5用户端-v2.0.html`
|
||||||
|
|
||||||
### 需了解的现有代码
|
### 需了解的现有代码
|
||||||
@@ -89,7 +89,7 @@
|
|||||||
| S1 | 所有 10 项验证全部通过 | 逐项打勾 |
|
| S1 | 所有 10 项验证全部通过 | 逐项打勾 |
|
||||||
| S2 | ESLint/TypeScript 编译零错误 | `npm run build` 成功 |
|
| S2 | ESLint/TypeScript 编译零错误 | `npm run build` 成功 |
|
||||||
| S3 | ChatPanel.vue 以外的文件无改动 | `git diff --stat` 仅显示 ChatPanel.vue |
|
| S3 | ChatPanel.vue 以外的文件无改动 | `git diff --stat` 仅显示 ChatPanel.vue |
|
||||||
| S4 | 已有功能不受影响(InputBar 结束咨询��钮仍正常) | 人工服务态测试回归 |
|
| S4 | 已有功能不受影响(InputBar 结束咨询按钮仍正常) | 人工服务态测试回归 |
|
||||||
| S5 | 菜单出入动画无卡顿(<200ms) | 感知测试 |
|
| S5 | 菜单出入动画无卡顿(<200ms) | 感知测试 |
|
||||||
| S6 | commit message 含 `[REQ-用户-005]` | git log 检查 |
|
| S6 | commit message 含 `[REQ-用户-005]` | git log 检查 |
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user