- 待录:问句标题「这次是怎么处理的?」+ 副标「说一句就行,不用打字」+ 通宽 56 的「按住说话」+ 下方文字「改用键盘输入」。
- 录音中:计时
metric等宽、一行「松开结束」、按钮变destructive-soft底。 - 完成:转写文本在
f-body17 可编辑框里;下方 AI 抽出的结构化标签(故障部位、备件)可点掉;主按钮「确认并关单」,次要「重录」。 - 全部现场端尺寸。
消费者提供:三态、转写文本、抽取标签、回调。
语音录入三态,关单时弹出的沉淀钩子入口。第三态(转写完成可编辑)不能省:转写一定会把「轴承内圈剥落」认错,让师傅看一眼、能改,他才会信;改不了下次就不说了。
metric 等宽、一行「松开结束」、按钮变 destructive-soft 底。f-body 17 可编辑框里;下方 AI 抽出的结构化标签(故障部位、备件)可点掉;主按钮「确认并关单」,次要「重录」。消费者提供:三态、转写文本、抽取标签、回调。
import { VoiceInput } from "@wutong/ui";
按住说话 → 录音中 → 转写完成可编辑(第三态不能省)
说一句就行,不用打字
| 属性 | 类型 | 默认 | 说明 |
|---|---|---|---|
| state | "idle" | "recording" | "review" | — | 三态受控 |
| onStart / onStop | () => void | — | 按下 / 松开 |
| text / onTextChange | string / (t) => void | — | 转写结果,可编辑 |
| tags / onRemoveTag | VoiceTag[] / (key) => void | — | AI 抽取的标签,必须可点掉 |
| onConfirm / onRetry / onKeyboard | () => void | — | 确认并关单 / 重录 / 改用键盘 |