edit | blame | history | raw

Call Record Viewer Specification

ADDED Requirements

Requirement: 通话记录查看按钮

系统 SHALL 在AI调解实时看板的每条调解记录角色名称后显示通话记录查看按钮。

Scenario: 显示通话记录按钮

  • WHEN 调解记录加载完成
  • THEN 在每条记录的角色名称后显示胶囊形状的"通话记录"按钮
  • AND 按钮包含电话图标和"通话记录"文字

Scenario: 点击通话记录按钮

  • WHEN 用户点击通话记录按钮
  • THEN 系统应打开通话记录详情弹窗
  • AND 弹窗标题格式为"AI调解员与[角色名]的通话"
  • AND 标题后显示任务ID(jobId)

Requirement: 通话记录弹窗数据加载

系统 SHALL 在打开通话记录弹窗时调用API获取通话记录数据。

Scenario: 获取通话记录数据

  • WHEN 用户点击通话记录按钮
  • THEN 系统应调用OutboundBotAPIService.getConversationLog API
  • AND API参数应包含:
  • caseId:从URL参数获取,若为空则从localStorage的case_data_timeline中获取case_id
  • personId:从调解记录的person_id字段获取
  • jobId:从调解记录的job_id字段获取

Scenario: API返回多条数据

  • WHEN API返回的data数组包含多条记录
  • THEN 系统应只使用最后一条记录进行展示

Scenario: API调用失败

  • WHEN API调用失败或返回错误
  • THEN 弹窗应显示错误提示信息
  • AND 提供重试按钮

Requirement: 外呼状态展示

系统 SHALL 根据外呼状态(callStatus)展示不同的内容。

Scenario: 已接通状态展示

  • WHEN callStatus为已接通状态(值为1, 20-31之一)
  • THEN 弹窗顶部应显示录音播放器
  • AND 弹窗中间区域应显示双方对话记录

Scenario: 未接通状态展示

  • WHEN callStatus为未接通状态(值为0, 2-19, 32之一)
  • THEN 弹窗应显示提示信息"未接通,无通话记录"
  • AND 不显示录音播放器和对话记录

Requirement: 录音播放器

系统 SHALL 在已接通状态的通话记录弹窗中提供录音播放功能。

Scenario: 录音播放器展示

  • WHEN 通话记录处于已接通状态且有recordUrl
  • THEN 弹窗顶部应显示HTML5音频播放器
  • AND 播放器应支持播放/暂停操作
  • AND 播放器应显示当前播放进度和总时长

Scenario: 录音文件播放

  • WHEN 用户点击播放按钮
  • THEN 系统应播放recordUrl指定的.wav格式录音文件
  • AND 录音文件URL可直接使用,无需拼接

Scenario: 录音加载失败

  • WHEN 录音文件加载失败
  • THEN 播放器应显示"录音文件加载失败"提示
  • AND 提供重试按钮

Requirement: 对话记录展示

系统 SHALL 以类似微信聊天的样式展示双方对话记录。

Scenario: 解析对话记录

  • WHEN 获取到通话记录数据
  • THEN 系统应将conversations JSON字符串解析为对象数组
  • AND 每个对话项包含timestamp、speaker、script、action字段

Scenario: AI调解员消息展示

  • WHEN 对话记录的speaker为"Robot"
  • THEN 消息气泡应显示在左侧
  • AND 头像应显示机器人图标
  • AND 头像下方应显示"AI调解员"
  • AND 消息背景色应为浅蓝色(#e3f2fd)

Scenario: 当事人消息展示

  • WHEN 对话记录的speaker为"Contact"
  • THEN 消息气泡应显示在右侧
  • AND 头像应显示当事人名字的首字
  • AND 头像下方应显示调解记录中的creator字段值
  • AND 消息背景色应为浅绿色(#e8f5e9)

Scenario: 时间戳展示

  • WHEN 对话记录包含有效timestamp
  • THEN 应在消息气泡下方显示格式化时间
  • AND 时间格式应为"YYYY-MM-DD HH:mm"

Scenario: 过滤无效对话

  • WHEN 对话记录的script字段为null或空字符串
  • THEN 系统不应展示该条对话记录

Requirement: 对话记录弹窗样式

系统 SHALL 为通话记录弹窗提供清晰美观的样式设计。

Scenario: 弹窗尺寸

  • WHEN 通话记录弹窗打开
  • THEN 弹窗宽度应为600px
  • AND 弹窗最大高度应为视口高度的80%
  • AND 对话记录区域应支持垂直滚动

Scenario: 对话区域滚动

  • WHEN 对话记录内容超过可视区域高度
  • THEN 对话区域应显示垂直滚动条
  • AND 滚动条样式应与系统整体风格一致

Scenario: 响应式适配

  • WHEN 屏幕宽度小于600px
  • THEN 弹窗宽度应自适应屏幕宽度
  • AND 保持适当的左右边距

Related Capabilities

  • 外呼通话API接口规范 (outbound-call-api)
  • AI调解实时看板 (mediation-dashboard)