UNPKG

mtl-js-sdk

Version:

93 lines (76 loc) 3.56 kB
"use strict"; function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } define(['../../../../platforms/wx/wx.proxy'], function (proxy) { var callbackData = {}; var FAIL_CODE = 1; var generateFunc = proxy.generateFunc; 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 = ["stopBarcodeService", "startBarcodeScan", "stopBarcodeScan", "controlBarcodeScan", "relayoutCustomWebview"]; function customScanQRCode(object) { var callback = object.callback; object['needResult'] = 1; var name = 'scanQRCode'; var fn = generateFunc(name); var originFn = fn; var originSuccess = object.success; var originComplete = object.complete; var success = originSuccess && function (result) { var resultStr = result.resultStr; resultStr = resultStr && resultStr.split(",").pop(); originSuccess({ resultStr: resultStr }); // 回调事件 var callbackSuccess = callbackData[callback]; callbackSuccess && callbackSuccess({ resultStr: resultStr }); // 接收到后删除 setTimeout(function () { delete callbackData[callback]; }, 2000); }; var complete = originComplete && function (result) { if (result.code === SUCCESS_CODE) { var resultStr = result.data.resultStr; resultStr = resultStr && resultStr.split(",").pop(); result.data = { resultStr: resultStr }; } originComplete(result); }; originFn(_objectSpread({}, object, { success: success, complete: complete })); } function registerCallback() { var object = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var mtlRegisterCallbackName = object.mtlRegisterCallbackName, registerCallback = object.registerCallback; callbackData[mtlRegisterCallbackName] = function (data, callback) { if (data !== null && data !== "{}") { registerCallback(data, callback); } else { registerCallback("", callback); } }; } var exports = { customScanQRCode: customScanQRCode, registerCallback: registerCallback }; unsupportMethods.forEach(function (pop) { exports[pop] = unsupportMethod; }); return exports; });