Files
wecom_it_smart_desk/docs/07-项目管理/任务说明书/任务说明书-128-结束会话功能调整.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

130 lines
3.7 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.
# 任务说明书 - 结束会话功能调整
> **版本**: v1.0 | **日期**: 2026-07-27
---
## 📋 基本信息
| 项目 | 内容 |
|------|------|
| **任务名称** | 结束会话功能调整 |
| **任务ID** | #128 |
| **优先级** | 🟠P1 |
| **类型** | 功能开发 |
| **状态** | 已完成 |
| **负责人** | 宋献 |
| **创建日期** | 2026-07-27 |
| **计划完成日期** | 2026-07-27 |
---
## 📥 输入项来源
### 产品需求
| 来源文档 | 相关章节 | 说明 |
|----------|----------|------|
| `01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.3.md` | 全文 | 员工结束会话 PRD |
| `02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.3.md` | 全文 | 技术方案 |
| `01-产品文档/02-会话管理/原型-REQ-会话-001-结束会话流程-v1.3.html` | 全文 | 原型图 |
### 需求变更(2026-07-27
| 变更内容 | 说明 |
|----------|------|
| 取消人工坐席按钮的"结束咨询"功能 | 服务中仍显示"人工坐席" |
| 满意度评价移至头像右边"结束会话"按钮 | 点击后弹出评价,提交后关闭窗口 |
| 后端 can_call_agent 逻辑变更 | 只有阻断性问题可直接转人工 |
### 需了解的现有代码
| 模块/文件 | 说明 | 需了解的内容 |
|-----------|------|-------------|
| `frontend-h5/src/components/chat/InputBar.vue` | 人工坐席按钮组件 | 按钮状态逻辑、点击事件 |
| `frontend-h5/src/components/chat/ChatPanel.vue` | 对话面板组件 | 结束会话按钮、评价弹窗 |
| `backend/app/services/routing_service.py` | 路由服务 | can_call_agent 逻辑 |
---
## 📤 输出成果要求
### 交付物清单
| # | 交付物 | 类型 | 说明 |
|---|--------|------|------|
| 1 | InputBar.vue | 代码 | 移除 serving 状态,服务中仍显示"人工坐席" |
| 2 | ChatPanel.vue | 代码 | 头像右边按钮点击触发满意度评价 |
| 3 | routing_service.py | 代码 | 阻断性问题才能直接转人工 |
### 代码要求
- 遵循项目代码规范
- 前端代码通过 ESLint 检查
---
## 🔧 验证方式
### 功能验证
| 验证项 | 验证方法 | 预期结果 |
|--------|----------|---------|
| 人工坐席按钮状态 | 模拟坐席接入 | 始终显示"人工坐席" |
| 结束会话按钮 | 点击按钮 | 弹出满意度评价 |
| 评价提交后行为 | 提交评价 | 窗口自动关闭 |
| 阻断性问题转人工 | 提问"电脑开不了" | 可直接转人工 |
| 非阻断性问题 | 提问"打印机怎么连接" | 需3轮后才可转人工 |
---
## ✅ 完成标准
### 验收条件
- [x] 代码合入主干分支
- [x] 功能测试通过
- [x] 部署验证通过
### 产出确认
- [x] InputBar.vue 已修改
- [x] ChatPanel.vue 已修改
- [x] routing_service.py 已修改
- [x] 部署验证通过
---
## 📊 工作分解
### 子任务
| 子任务 | 负责人 | 预估工时 | 状态 |
|--------|--------|----------|------|
| 修改 InputBar.vue 移除 serving 状态 | 宋献 | 0.5h | ✅ |
| 修改 ChatPanel.vue 结束会话按钮逻辑 | 宋献 | 0.5h | ✅ |
| 修改 routing_service.py can_call_agent 逻辑 | 宋献 | 1h | ✅ |
| 构建部署前端 | 宋献 | 0.5h | ✅ |
| 构建部署后端 | 宋献 | 0.5h | ✅ |
---
## 📞 依赖与阻塞
### 前置依赖
### 阻塞因素
---
## 📈 变更记录
| 日期 | 变更内容 | 变更人 | 说明 |
|------|----------|--------|------|
| 2026-07-27 | 创建任务 | 宋献 | 初始版本 |
---
## 📎 附件
- PRD: `01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.3.md`
- 技术方案: `02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.3.md`
- 原型图: `01-产品文档/02-会话管理/原型-REQ-会话-001-结束会话流程-v1.3.html`