facc04aa65
本提交为 .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-*/
164 lines
5.5 KiB
Markdown
164 lines
5.5 KiB
Markdown
# 任务说明书 - 员工结束会话功能
|
||
|
||
> **版本**: v1.0 | **日期**: 2026-07-24 | **任务ID**: #REQ-会话-001
|
||
|
||
---
|
||
|
||
## 📋 基本信息
|
||
|
||
| 项目 | 内容 |
|
||
|------|------|
|
||
| **任务名称** | 员工结束会话功能 |
|
||
| **任务ID** | #REQ-会话-001 |
|
||
| **优先级** | 🟠P1 |
|
||
| **类型** | 功能开发 |
|
||
| **状态** | 开发完成,待测试 |
|
||
| **负责人** | 宋献 |
|
||
| **创建日期** | 2026-07-24 |
|
||
| **计划完成日期** | 2026-07-24 |
|
||
| **测试人员** | 宋献 |
|
||
| **测试依据** | PRD、技术方案、原型图、验收标准 |
|
||
|
||
---
|
||
|
||
## 📥 输入项来源
|
||
|
||
### 产品需求(PRD)
|
||
| 来源文档 | 相关章节 | 说明 |
|
||
|----------|----------|------|
|
||
| `01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.0.archive.md` | §1.1-1.2 | 需求背景、目标 |
|
||
| `01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.0.archive.md` | §3.1 | 按钮状态机设计 |
|
||
| `01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.0.archive.md` | §3.2-3.3 | 结束流程、评价组件 |
|
||
| `01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.0.archive.md` | §五 | 验收指标 |
|
||
|
||
### 技术方案
|
||
| 来源文档 | 相关章节 | 说明 |
|
||
|----------|----------|------|
|
||
| `02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.0.archive.md` | §3.1-3.3 | 状态机设计、组件改动 |
|
||
| `02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.0.archive.md` | §3.4 | 弹窗设计 |
|
||
| `02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.0.archive.md` | §六 | 风险与依赖 |
|
||
|
||
### 原型设计
|
||
| 来源文档 | 页面 | 说明 |
|
||
|----------|------|------|
|
||
| `01-产品文档/02-会话管理/原型-REQ-会话-001-结束会话流程-v1.0.archive.html` | 全部 | 按钮状态切换、评价弹窗 |
|
||
|
||
### 需了解的现有代码(历史现状)
|
||
| 模块/文件 | 说明 | 需了解的内容 |
|
||
|-----------|------|-------------|
|
||
| `frontend-h5/src/components/chat/InputBar.vue` | 输入栏组件 | 现有按钮状态定义、样式、事件触发方式 |
|
||
| `frontend-h5/src/components/chat/CallAgentModal.vue` | 呼叫坐席弹窗 | 复用现有逻辑 |
|
||
| `frontend-h5/src/components/chat/ResolveFeedback.vue` | 满意度评价组件 | 复用评价逻辑、事件emit方式 |
|
||
| `frontend-h5/src/views/ChatPanel.vue` | 会话主面板 | 状态管理、事件处理 |
|
||
|
||
---
|
||
|
||
## 📤 输出成果要求
|
||
|
||
### 交付物清单
|
||
|
||
| # | 交付物 | 类型 | 说明 |
|
||
|---|--------|------|------|
|
||
| 1 | InputBar.vue | 代码 | 新增 waiting/connected 状态及样式 |
|
||
| 2 | ChatPanel.vue | 代码 | 新增事件处理(取消排队、结束会话) |
|
||
| 3 | 会话状态管理 | 代码 | 状态流转逻辑 |
|
||
|
||
### 代码要求
|
||
- 遵循项目代码规范
|
||
- 新增状态需与现有状态(hidden/disabled/active)兼容
|
||
- 样式复用现有按钮样式体系
|
||
|
||
### 文档要求
|
||
- 无需新增文档
|
||
|
||
---
|
||
|
||
## 🔧 验证方式
|
||
|
||
### 功能验证
|
||
| 验证项 | 验证方法 | 预期结果 |
|
||
|--------|----------|-----------|
|
||
| 人工咨询按钮 | 手动点击 | 显示"人工咨询",点击触发呼叫 |
|
||
| 排队等待按钮 | 模拟排队状态 | 显示"排队等待",点击弹出确认框 |
|
||
| 结束咨询按钮 | 模拟坐席接入 | 显示"结束咨询",点击弹出评价 |
|
||
| 评价提交 | 提交评价 | 评价成功提交,窗口自动关闭 |
|
||
| 新会话 | 重新进入 | 显示全新会话(无历史消息) |
|
||
|
||
### 安全验证
|
||
| 验证项 | 验证方法 | 预期结果 |
|
||
|--------|----------|-----------|
|
||
| 权限控制 | 未登录状态 | 无法结束会话 |
|
||
|
||
### 性能验证
|
||
| 验证项 | 验证方法 | 预期结果 |
|
||
|--------|----------|-----------|
|
||
| 响应时间 | 提交评价API | < 200ms |
|
||
|
||
---
|
||
|
||
## ✅ 完成标准
|
||
|
||
### 验收条件
|
||
|
||
- [ ] 代码合入主干分支
|
||
- [ ] 功能测试通过(按钮状态切换正确)
|
||
- [ ] 评价提交流程正常
|
||
- [ ] 窗口关闭功能正常
|
||
|
||
### 产出确认
|
||
|
||
- [x] InputBar.vue 代码已完成
|
||
- [x] ChatPanel.vue 代码已完成
|
||
- [x] stores/conversation.ts 方法已添加
|
||
- [x] api/conversation.ts API 已添加
|
||
- [ ] 本地构建验证通过
|
||
- [ ] 功能测试通过
|
||
|
||
---
|
||
|
||
## 📊 工作分解
|
||
|
||
### 子任务
|
||
|
||
| 子任务 | 负责人 | 预估工时 | 状态 |
|
||
|--------|--------|----------|------|
|
||
| InputBar.vue 状态扩展 | [待定] | 2h | 待开始 |
|
||
| ChatPanel.vue 事件对接 | [待定] | 1h | 待开始 |
|
||
| 窗口关闭逻辑 | [待定] | 1h | 待开始 |
|
||
| 样式调整 | [待定] | 0.5h | 待开始 |
|
||
| 联调测试 | [待定] | 1.5h | 待开始 |
|
||
|
||
**预估总工时:6h**
|
||
|
||
---
|
||
|
||
## 📞 依赖与阻塞
|
||
|
||
### 前置依赖
|
||
| 依赖任务 | 依赖说明 | 状态 |
|
||
|----------|----------|------|
|
||
| 后端API可用 | `/h5/conversations/current/close` | 待确认 |
|
||
| 评价组件可用 | ResolveFeedback.vue | 已确认 |
|
||
|
||
### 阻塞因素
|
||
| 阻塞项 | 影响范围 | 解决方案 |
|
||
|--------|----------|---------|
|
||
| WebSocket推送 | 排队状态、坐席接入状态同步 | 增加轮询兜底 |
|
||
|
||
---
|
||
|
||
## 📈 变更记录
|
||
|
||
| 日期 | 变更内容 | 变更人 | 说明 |
|
||
|------|----------|--------|------|
|
||
| 2026-07-24 | 创建任务 | 宋献 | 初始版本 |
|
||
| 2026-07-24 | 完成代码开发 | 宋献 | 实现四态按钮(disabled/active/waiting/serving) |
|
||
|
||
---
|
||
|
||
## 📎 附件
|
||
|
||
- PRD:`01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.0.archive.md`
|
||
- 技术方案:`02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.0.archive.md`
|
||
- 原型图:`01-产品文档/02-会话管理/原型-REQ-会话-001-结束会话流程-v1.0.archive.html`
|