二维码识别(策略与空态)
识别结果先展示文本;仅 http/https 且经用户主动点击才打开,危险协议拒绝;无二维码返回正常空结果,相机状态机保证离开即释放。
输入与参数
image— 上传含二维码的图片decodedText— 已解码文本(策略演示输入)
真实示例
decodedText=javascript:alert(1) 或 https://ailounge.top/ 或(空)
→ javascript: → 显示纯文本、openable=false、无打开按钮;https:// → 显示文本+“打开链接(需确认)”按钮,点击后才在新标签打开;空/无二维码 → 正常空结果,提示可改用上传图片。
限制与失败处理
未引入 html5-qrcode,相机与图片解码未实测;无二维码返回正常空结果而非错误;不自动打开任何 URL。
FAQ
本轮能直接解码上传的图片吗?
不能。零依赖、无浏览器,未引入 html5-qrcode;提供上传入口与策略,不会伪造识别结果。可粘贴已解码文本验证文本优先与协议白名单。
相机何时申请权限?
只在用户点击时;拒绝后仍可上传;离开/重置/页面隐藏时 stop 流并释放 track,指示关闭。状态机由 node:test 覆盖。