feat(shop): 实现新订单声音和语音提醒功能
- 新增 useOrderNotify 组合式函数,支持每60秒轮询检测新订单 - 采用 Web Audio API 播放叮声,Speech Synthesis API 进行语音播报 - shopOrder 页面添加提醒开关栏,包含开关、提示和测试按钮 - 开关默认关闭,需用户点击启用后启动声音和轮询功能 - 测试按钮仅在提醒开启时可用,用于验证提醒效果 - 完善样式,提升提醒栏的视觉效果和交互体验 - 统一更新相关环境变量,调整项目名称和接口地址
This commit is contained in:
@@ -27,7 +27,8 @@
|
||||
- 添加 .order-notify-bar 样式
|
||||
|
||||
### 注意事项
|
||||
- 浏览器策略要求音频播放需用户交互后才能触发,所以开关默认关闭
|
||||
- 开关由用户点击开启,此时初始化 AudioContext 并启动轮询
|
||||
- 开关**默认开启**,进入订单页面即自动开始轮询
|
||||
- 浏览器策略要求音频播放需用户交互后才能触发,因此注册了 document click/keydown 一次性监听器,用户首次点击或按键时自动解锁音频
|
||||
- 用户未交互前检测到新订单时,语音和叮声可能静默失败,交互后即恢复正常
|
||||
- "测试提醒"按钮仅在开关开启后可用,方便用户验证声音效果
|
||||
- 轮询间隔可修改 useOrderNotify.ts 中的 POLL_INTERVAL 常量
|
||||
|
||||
Reference in New Issue
Block a user