现象非 H5 扫码成功后页面会“闪一下”然后直接退回上个页面甚至退回多层看起来像“闪退”。你在扫码页pages/public/scanCode/scanCode.vue的emitResult()里每次成功都会setTimeout(() navigateBack(), 800)。当scancode连续触发时就会排队多个navigateBack()800ms 后连续退栈多层于是表现成“闪退”。解决方向结论加一次性锁幂等保证“扫码成功逻辑只执行一次”从而navigateBack()只会执行一次。可以在NativeQrScan.vue的handleScan加锁源头拦或在scanCode.vue的emitResult加锁出口拦可选增强成功后关闭 camera例如canScanfalse减少后续重复回调。