feat(mobile): add voice-to-text input to direct feedback page

- 反馈内容 label 行新增语音 chip:toggle 录音(启动/录音计时/结束中/转写
  四态),转写结果以换行追加,JS 侧截断至 5000 字上限并提示
- 复用既有 services/speech.ts + /api/ai/asr 链路;表单页文字为主路径,
  录音不可用或权限失败仅提示改文字输入,不做选文件降级
- voiceStopping 状态修复 stop→onCapture 竞态(重复点按不再丢录音)
- onHide/onUnload 统一 teardownVoice:generation++、abort 转写、
  cancel 录音、停计时,切页无迟来写回
- 渠道按钮加图标(vip/wallet/staff/eye/gear),匿名行与空历史态补图标
- 测试改用函数体提取断言,覆盖清理/竞态/截断/模板契约;150/150
  单测、vue-tsc、H5 构建通过,mock API 浏览器验证通过

已经过 Codex 审查
This commit is contained in:
2026-07-25 03:00:30 +08:00
parent d06ea63214
commit 3a19b475a8
5 changed files with 307 additions and 15 deletions
+2
View File
@@ -10,6 +10,8 @@
>
> 2026-07-25 总结卡修复 `f545983d` 已实现、完成自动化并推送 `origin/main`:前端提交当前答案的引用片段,后端重新鉴权且不再二次检索,固定输出「问题/建议/标准」。生产已应用 DeepSeek V4 模型名和部分证据 SOP Prompt 两项配置迁移,并以认证态 H5 验证查询与总结卡;本次未发布后端/H5 代码,因此只能确认生产配置修复生效,不能把证据绑定代码写成已部署。
>
> 2026-07-25 直通车员工提交页新增语音转文字输入与渠道图标:语音复用既有 `/api/ai/asr` 链路,录音或权限失败仅提示改文字输入(表单页文字为主路径,不做选文件降级);本地自动化(150/150)与 mock API 浏览器验证通过,已推送 `origin/main`,未发布生产、未做真机验收。
>
> 本文只维护当前结论、证据层级和剩余门槛。逐提交发布流水已从当前真相文档移除,需要追溯时使用 Git 历史;不得再用 2026-07-14/15 的“尚未发布”记录判断现网。
## 1. 当前结论