UNPKG

mtl-js-sdk

Version:

ynf-fw-mtl-api

76 lines (74 loc) 2.69 kB
"use strict"; function Plugin(options, exports = {}) { const { platform } = options || { platform: window.mtl.platform }; //启动广播扫描 const startBarcodeService = function(obj) { if (platform == "android") { mtlBridge.call( "barcode.startBarcodeService", JSON.stringify(obj), obj.callback ) } else if (platform == "QYAndroid") { let { callbaseName } = obj; if (callbaseName) { mtl.registerCommonCallback(callbaseName, function(res, responseCallback) { obj.registerCallback && obj.registerCallback(res); obj.complete && obj.complete({ data: res, code: 200 }); } ) } execUpesnBridge('startBarcodeService', obj) } }; //结束广播扫描 const stopBarcodeService = function(obj) { if (platform == "android") { mtlBridge.call( "barcode.stopBarcodeService", JSON.stringify(obj), obj.callback ) } else if (platform == "QYAndroid") { execUpesnBridge('stopBarcodeService', obj) } }; //内部方法 function execUpesnBridge(method, source) { let data = { ...source, pluginMethodName: method, pluginClassKey: (platform == "QYAndroid") ? 'barcode' : 'UPESNBARCODEManager', success: function(res) { let resObj = (res && res === 'string') ? JSON.parse(res) : res; source.success && source.success(resObj) source.complete && source.complete({ code: 200, data: resObj, }) }, fail: function(err) { const { errCode = 1, errDescription } = err; let errMes; try { errMes = JSON.parse(errDescription); } catch (error) { errMes = { message: errDescription }; } let result = { code: errCode, message: errMes.message }; source.fail && source.fail(result); source.complete && source.complete(result) }, }; console.log('barcode', data) YYEsnBridge.do("customPlugin", data); }; exports.module = { startBarcodeService, stopBarcodeService }; exports.symbolPath = exports.symbolPath || "barcode"; return exports; } export default Plugin;