UNPKG

mtl-js-sdk

Version:

86 lines (70 loc) 2.44 kB
"use strict"; define([], function () { var callbackData = {}; var FAIL_CODE = 1; var unsupportFailRes = { code: FAIL_CODE, message: "当前平台不支持" }; function unsupportMethod() { var object = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; object.fail && object.fail(unsupportFailRes); object.complete && object.complete(unsupportFailRes); } var unsupportMethods = ["relayoutCustomWebview"]; function customScanQRCode(obj) { mtlBridge.call("barcode.startBarcodeService", JSON.stringify(obj), obj.registerCallback); } function startBarcodeService(obj) { mtlBridge.call("barcode.startBarcodeService", JSON.stringify(obj), obj.callback); } function stopBarcodeService(obj) { mtlBridge.call("barcode.stopBarcodeService", JSON.stringify(obj), obj.callback); } function startBarcodeScan(obj) { mtlBridge.call("barcode.startBarcodeScan", JSON.stringify(obj), obj.callback); } function stopBarcodeScan(obj) { mtlBridge.call("barcode.stopBarcodeScan", JSON.stringify(obj), obj.callback); } function controlBarcodeScan(obj) { mtlBridge.call("barcode.controlBarcodeScan", JSON.stringify(obj), obj.callback); } function registerCallback(obj) { var mtlRegisterCallbackName = obj.mtlRegisterCallbackName, registerCallback = obj.registerCallback; callbackData[mtlRegisterCallbackName] = function (data, callback) { if (data !== null && data !== "{}") { registerCallback(data, callback); } else { registerCallback("", callback); } }; } window.mtl_registerCallback = function (result) { window.mtl_handleCallback(result); var callbackName = result.callbackName, code = result.code, data = result.data; var registerCallback = callbackData[callbackName]; if (code == 0) { registerCallback && registerCallback(data); } setTimeout(function () { delete callbackData[callbackName]; }, 2000); }; var exports = { customScanQRCode: customScanQRCode, startBarcodeService: startBarcodeService, stopBarcodeService: stopBarcodeService, startBarcodeScan: startBarcodeScan, stopBarcodeScan: stopBarcodeScan, controlBarcodeScan: controlBarcodeScan, registerCallback: registerCallback }; unsupportMethods.forEach(function (pop) { exports[pop] = unsupportMethod; }); return exports; });