优化声音和安卓端适配

This commit is contained in:
iqudoo
2026-05-25 20:48:54 +08:00
parent f52b9f3518
commit c08cdaee68
7 changed files with 256 additions and 28 deletions

View File

@@ -1,5 +1,14 @@
import { inRuntime, bridgeAsync } from "../bridge";
import { isSupportWebScan, startScanForWeb, stopScanForWeb, isSupportImageScan, startScanForImage, unlockScanBeep, playScanBeep } from "../web";
import {
isSupportWebScan,
startScanForWeb,
stopScanForWeb,
isSupportImageScan,
startScanForImage,
unlockScanBeep,
playScanBeep,
isWebScanImageFallbackEnabled
} from "../web";
import { isSupportWxScan, startScanForWx } from "../wx";
import { startScanner, stopScanner } from "../scanner";
import { getConfig } from "../config";
@@ -273,6 +282,35 @@ function __startWxScan() {
});
}
function __startWebScan() {
return startScanForWeb(__result).then(resp => {
if (!isScanning()) {
return resp;
}
if (!resp || !resp.result) {
return resp;
}
if (__result(resp.result)) {
return resp;
}
if (isScanning()) {
return __startWebScan();
}
return resp;
}).catch(err => {
if (!isScanning()) {
return err;
}
if (err && err.cancel || err && err.imageFallbackUsed) {
return err;
}
if (isWebScanImageFallbackEnabled()) {
return __startImageScan();
}
return err;
});
}
function __startImageScan() {
return startScanForImage().then(resp => {
if (!isScanning()) {
@@ -414,7 +452,7 @@ export function startScan() {
} else if (isSupportWxScan()) {
scanPromise = __startWxScan();
} else if (isSupportWebScan()) {
scanPromise = startScanForWeb(__result);
scanPromise = __startWebScan();
} else if (isSupportImageScan()) {
scanPromise = __startImageScan();
} else {