@slan-health/taro-vueuse
Version:
taro vue版本hooks
38 lines (37 loc) • 1.04 kB
JavaScript
import { scanCode } from "@tarojs/taro";
function useScanCode({ onlyFromCamera, scanType } = {}) {
const scan = (option = {}) => {
return new Promise((resolve, reject) => {
try {
const { onlyFromCamera: personalOnlyFromCamera, scanType: personalScanType } = option;
const payload = Object.fromEntries(
Object.entries({
onlyFromCamera: personalOnlyFromCamera || onlyFromCamera,
scanType: personalScanType || scanType
}).filter((v) => typeof v[1] !== "undefined")
);
scanCode({
...payload,
success: resolve,
fail: reject
}).catch(reject);
} catch (e) {
reject({
errMsg: "scanCode:fail",
message: e
});
}
});
};
const cameraScan = (cameraScanType) => {
return scan({
onlyFromCamera: true,
scanType: cameraScanType || scanType
});
};
return [scan, cameraScan];
}
export {
useScanCode as default
};
//# sourceMappingURL=index.js.map