From 6bb08c2297be1b6415c8bc02e6917eba6ee355e5 Mon Sep 17 00:00:00 2001 From: shimai <shimai@example.com> Date: Fri, 03 Apr 2026 10:42:08 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/test/tony.cheng/260312' into test/shimai.huang/260309 --- openspec/changes/add-call-record-viewer/proposal.md | 78 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 78 insertions(+), 0 deletions(-) diff --git a/openspec/changes/add-call-record-viewer/proposal.md b/openspec/changes/add-call-record-viewer/proposal.md new file mode 100644 index 0000000..a3a9968 --- /dev/null +++ b/openspec/changes/add-call-record-viewer/proposal.md @@ -0,0 +1,78 @@ +# Proposal: 在AI调解实时看板增加通话记录查看功能 + +## Change ID +`add-call-record-viewer` + +## Summary +在AI调解实时看板的每条调解记录中增加"通话记录"查看功能,允许调解员查看AI调解员与当事人(申请人/被申请人)的外呼通话详情,包括录音播放和文字对话记录。 + +## Why +当前AI调解实时看板仅展示调解记录的文字摘要,调解员无法了解AI调解员与当事人之间具体的通话内容和沟通过程。通过增加通话记录查看功能,调解员可以: +- 回顾AI调解员与当事人的完整对话过程 +- 了解当事人的真实诉求和态度变化 +- 为后续人工介入调解提供更全面的背景信息 +- 作为调解过程的重要证据留存 + +## What Changes +- **前端UI变更** + - 在每条调解记录的角色名称后增加"通话记录"胶囊按钮 + - 新增通话记录详情弹窗组件 + - 弹窗顶部显示录音文件播放器 + - 弹窗中间区域展示双方对话记录(类似微信聊天界面) + +- **API集成** + - 调用 `OutboundBotAPIService.getConversationLog` 获取通话记录 + - 处理多种外呼状态的展示逻辑 + +- **交互逻辑** + - 已接通状态:显示完整通话记录和录音播放 + - 未接通状态:显示提示信息"未接通,无通话记录" + +## Impact +- **受影响的规格** + - 新增能力:`call-record-viewer`(通话记录查看) + +- **受影响的代码** + - `web-app/src/components/dashboard/TabContainer.jsx` - MediationBoard组件增加通话记录按钮和弹窗 + - `web-app/src/services/OutboundBotAPIService.js` - 确认getConversationLog接口参数 + - `web-app/src/components/dashboard/TabContainer.css` - 新增通话记录弹窗样式 + +## Stakeholders +- 调解员:主要使用者,需要通过通话记录了解调解过程细节 +- 系统管理员:关注通话记录数据的安全性和准确性 +- 产品负责人:确保功能符合业务需求 + +## Success Criteria +- 每条调解记录后正确显示"通话记录"胶囊按钮 +- 点击按钮能正确弹出通话记录详情弹窗 +- 弹窗标题正确显示"AI调解员与xxx(角色名)的通话" +- 已接通状态能正确播放录音和展示对话记录 +- 未接通状态显示正确的提示信息 +- 对话记录以类似微信聊天的样式展示,能区分双方 +- API调用失败时有合理的错误提示 + +## Risks & Mitigations +- **风险**:录音文件加载失败或格式不支持 + - **缓解**:提供明确的错误提示,支持用户手动重试 +- **风险**:大量通话记录数据导致加载缓慢 + - **缓解**:按需加载,仅在点击按钮时请求数据 +- **风险**:不同浏览器音频播放兼容性 + - **缓解**:使用HTML5标准audio标签,提供格式兼容性检测 + +## Dependencies +- 已存在的 `OutboundBotAPIService.getConversationLog` API +- `ProcessAPIService.getProcessRecords` 返回的调解记录数据结构(需包含person_id和job_id) +- 案件数据Context中的caseId + +## Timeline +预计开发时间:2个工作日 +- UI设计与开发:1天 +- API集成与联调:0.5天 +- 测试与优化:0.5天 + +## Alternatives Considered +1. **在外呼气泡组件中查看通话记录**:与调解记录脱节,用户体验不连贯 +2. **跳转到独立的通话记录页面**:增加页面跳转复杂度,不符合快速查看的场景 +3. **仅在已接通记录显示按钮**:未接通状态用户无法了解情况,信息不完整 + +选择在调解记录卡片内直接查看的方式,保持用户操作的连贯性和上下文关联。 -- Gitblit v1.8.0