优化声音和安卓端适配
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user