UNPKG

mtl-js-sdk

Version:

1,665 lines (1,444 loc) 45.3 kB
"use strict"; function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } 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; } // eslint-disable-next-line no-undef define(["axios", "qrious", "./unique.js"], function (axios, QRious, home) { var DEFAULT_STORAGE_DOMAIN = "domain.default"; var baseUrl = 'https://build.yyuap.com'; var unrealized = "友空间暂未提供该api相关接口"; var FAIL_CODE = 1; var SUCCESS_CODE = 200; var __NCC = "NCC"; 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 = ["getAppInfo", "openSchema", "getConfig" // 'autoLogin', // 'sendValidateCode', // 'validateCodeLogin' ]; // ------------------start 未实现接口 // 录音 function startRecord(object) { var _obj = object || {}; var data = Object.assign({ closeNcc: true, callback: 'onVoiceRecordEnd' }, handleResponse(_obj)); execEsnBridge("startRecord", data); } function stopRecord(object) { var _obj = object || {}; var data = Object.assign({ closeNcc: true }, handleResponse(_obj, function (res) { return { localId: res.bytes }; })); execEsnBridge("stopRecord", data); } function onVoiceRecordEnd(object) { var _obj = object || {}; home.upesn.registerResumeCallback("onVoiceRecordEnd", function (res) { var bytes = res.bytes; _obj.success && object.success({ localId: bytes }); }); } function translateVoice(object) { var _obj = object || {}; var localId = _obj.localId, _obj$isShowProgressTi = _obj.isShowProgressTips, isShowProgressTips = _obj$isShowProgressTi === void 0 ? isShowProgressTips ? isShowProgressTips : 1 : _obj$isShowProgressTi; if (!localId) { var err = { code: FAIL_CODE, message: "localId is null" }; _obj.fail && object.fail(err); _obj.complete && object.complete(err); return; } var data = Object.assign({ bytes: localId, isShowUI: isShowProgressTips === 1 ? true : false }, handleResponse(_obj, function (res) { return { translateResult: res.text }; })); execEsnBridge("translateVoice", data); } // 语音播放 function playVoice(object) { var _obj = object || {}; var bytes = ""; if (_obj.localId) { bytes = _obj.localId; } var closeNcc = true; var callback = 'onVoicePlayEnd'; var data = Object.assign({ bytes: bytes, closeNcc: closeNcc, callback: callback }, handleResponse(_obj)); execEsnBridge("startPlayAudio", data); } function pauseVoice(object) { var _obj = object || {}; var closeNcc = true; var data = Object.assign({ closeNcc: closeNcc }, handleResponse(_obj)); execEsnBridge("pausePlayAudio", data); } function stopVoice(object) { var _obj = object || {}; var closeNcc = true; var data = Object.assign({ closeNcc: closeNcc }, handleResponse(_obj)); execEsnBridge("stopPlayAudio", data); } function onVoicePlayEnd(object) { var _obj = object || {}; home.upesn.registerResumeCallback("onVoicePlayEnd", function (res) { _obj.success && object.success(res); }); } // 语音合成 function startSpeechSyn(object) { var _obj = object || {}; var text = _obj.text; if (!text) { var err = { code: FAIL_CODE, message: "text is null" }; _obj.fail && object.fail(err); _obj.complete && object.complete(err); return; } var data = Object.assign({ text: text }, handleResponse(_obj)); execEsnBridge("startSpeechSyn", data); } function stopSpeechSyn(object) { var _obj = object || {}; var data = handleResponse(_obj); execEsnBridge("stopSpeechSyn", data); } function uploadVoice() { var object = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; alert(unrealized); } function downloadVoice() { var object = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; alert(unrealized); } // ------------------end 未实现接口 function _uploadImage(object) { var _obj = object || {}; var data = { url: "https://mdoctor.yonyoucloud.com/mtldebugger/mtl/file/uploadToOSS", filePath: _obj.filePath, success: function success(res) { var temp = JSON.parse(res.data); var data = { code: temp.code, msg: temp.msg, serverId: temp.data }; // alert(JSON.stringify(data)) _obj.success && object.success(data); }, fail: function fail(err) { _obj.fail && object.fail(err); }, complete: function complete(res) { _obj.complete && object.complete(res); } }; execEsnBridge("uploadFile", data); } function scanQRCode(object) { var _obj = object || {}; var _obj$type = _obj.type, type = _obj$type === void 0 ? '1' : _obj$type; if (type === 'n') { relayoutCustomWebview(_objectSpread({}, _obj, { type: 0 })); } else if (Object.prototype.hasOwnProperty.call(_obj, 'scanType') && _obj.scanType === 'barCode') { var data = Object.assign({ closeNcc: _obj.closeNcc }, handleResponse(_obj, function (res) { return { resultStr: res.barCode }; })); execEsnBridge("scanBarcode", data); } else { var typeNeedResult = 'showWeb'; if (Object.prototype.hasOwnProperty.call(_obj, 'needResult')) { typeNeedResult = _obj.needResult === 1 ? 'qrCode' : 'showWeb'; } var _data2 = Object.assign({ closeNcc: _obj.closeNcc, type: typeNeedResult }, handleResponse(_obj, function (res) { return { resultStr: res.qrCode }; })); execEsnBridge("QRCodeScan", _data2); } } function closeScanQRCode(object) { relayoutCustomWebview(_objectSpread({}, object, { type: 1 })); } // 内部调用 function relayoutCustomWebview(object) { // 0是默认,1全界面展示webview var _obj = object || {}; var _obj$type2 = _obj.type, type = _obj$type2 === void 0 ? 0 : _obj$type2; if (type === 0) { home.upesn.registerCallback('scanDataCallback', function (res, responseCallback) { _obj.success && _obj.success({ resultStr: res }); _obj.complete && _obj.complete({ code: 200, resultStr: res }); typeof responseCallback === 'function' && responseCallback({ name: 'FromJS scanDataCallback' }); }); } var data = { type: type, success: function success(res) {}, fail: function fail(err) { _obj.fail && object.fail(err); }, complete: function complete(res) {} }; execEsnBridge("relayoutCustomWebview", data); } function generateQRCode(object) { if (isNull(object.str)) { var err = "生成二维码字符串为空"; object.fail && object.fail(err); return; } var qr = new QRious({ value: object.str, size: object.size || 100 }); var imgSrc = qr.toDataURL("image/jpeg"); var res = { imgSrc: imgSrc, code: SUCCESS_CODE }; object.success && object.success(res); object.complete && object.complete(res); } function isNull(str) { if (!str) { return true; } if (str == "") return true; var regu = "^[ ]+$"; var re = new RegExp(regu); return re.test(str); } function downloadImage(object) { var url = "https://mdoctor.yonyoucloud.com/mtldebugger/mtl/stream/download" + "?serviceId=" + object.serverId; home.upesn.downloadFile(_objectSpread({ url: url }, object)); } function previewImage(object) { var _obj = object || {}; var _index = object.urls.findIndex(function (item) { return item == object.current; }); var data = { images: _obj.urls && object.urls, index: _index, success: function success(res) { _obj.success && object.success(res); }, fail: function fail(err) { _obj.fail && object.fail(err); }, complete: function complete(res) { _obj.complete && object.complete(res); } }; execEsnBridge("scanUrlImages", data); } function uploadImage(object) { var _obj = object || {}; var data = _objectSpread({ filePath: _obj.localId }, _obj); _uploadImage(data); } // function request(object) { // axios(object) // .then(res => { // let { status: code, statusText: message, data } = res; // if (code === 200) { // object.success && object.success(data); // } else { // object.fail && object.fail({ code, message, data }); // } // object.complete && object.complete({ code, message, data }); // }) // .catch(err => { // const result = { code: FAIL_CODE, message: err.message }; // object.fail && object.fail(result); // object.complete && object.complete(result); // }); // } function openLocalFile(object) { var _obj = object || {}; var data = { filePath: _obj.filePath, fileType: _obj.fileType, success: function success(res) { _obj.success && object.success(res); }, fail: function fail(err) { _obj.fail && object.fail(err); }, complete: function complete(res) { _obj.complete && object.complete(res); }, closeNcc: _obj.closeNcc }; execEsnBridge("openLocalFile", data); } function getSystemInfo(object) { var _obj = object || {}; var data = { closeNcc: true, success: function success(res) { _obj.success && object.success(res); }, fail: function fail(err) { _obj.fail && object.fail(err); }, complete: function complete(res) { _obj.complete && object.complete(res); } }; execEsnBridge("getSystemInfo", data); } function faceRegister(object) { var _obj = object || {}; var data = { spaceId: _obj.spaceId, faceGroupId: _obj.faceGroupId, success: function success(res) { _obj.success && object.success(res); }, fail: function fail(err) { var result = { code: err.errCode, message: err.errDescription }; _obj.fail && object.fail(result); }, complete: function complete(res) { _obj.complete && object.complete(res); } }; // execEsnBridge("faceCollect", data); // eslint-disable-next-line no-undef YYEsnBridge["do"]("faceCollect", data); } function faceVerify(object) { var _obj = object || {}; var data = { spaceId: _obj.spaceId, faceGroupId: _obj.faceGroupId, needSmile: _obj.needSmile, success: function success(res) { _obj.success && object.success(res); }, fail: function fail(err) { var result = { code: err.errCode, message: err.errDescription }; _obj.fail && object.fail(result); }, complete: function complete(res) { _obj.complete && object.complete(res); } }; execEsnBridge("faceDetect", data); } function faceCompare(object) { var _obj = object || {}; var data = { spaceId: _obj.spaceId, faceGroupId: _obj.faceGroupId, needSmile: _obj.needSmile, closeNcc: true, success: function success(res) { _obj.success && object.success(res); }, fail: function fail(err) { var result = { code: err.errCode, message: err.errDescription }; _obj.fail && object.fail(result); }, complete: function complete(res) { _obj.complete && object.complete(res); } }; execEsnBridge("faceCompare", data); } function navigateBack(object) { var _obj = object || {}; var data = { success: function success(res) { _obj.success && object.success(res); }, fail: function fail(res) { _obj.fail && object.fail(res); }, complete: function complete(res) { _obj.complete && object.complete(res); } }; execEsnBridge("closeCurrentWebview", data); } function scanInvoice(object) { _getOcrImageInfo(object, "invoice"); } function recognizeInvoice(object) { var ocrImage = object.image; if (ocrImage.startsWith("/9j/")) { openScan(object, ocrImage, "invoice"); return; } if (ocrImage.startsWith("data:image/")) { ocrImage = ocrImage.split(";base64,")[1]; openScan(object, ocrImage, "invoice"); return; } _chooseOcrImage(object, "invoice"); } function _recognizeInvoice(object) { var appCode = object.appCode; var image = object.image; var url = "https://ocrapi-invoice.taobao.com/ocrservice/invoice"; var params; if (image.startsWith("http")) { params = { url: image }; } else { params = { img: image }; } axios({ method: "post", url: url, params: null, data: params, headers: { Authorization: "APPCODE ".concat(appCode), "Content-Type": "application/json;charset=UTF-8" } }).then(function (res) { object.success && object.success(res); object.complete && object.complete(res); })["catch"](function (err) { object.fail && object.fail(err); object.complete && object.complete(err); }); } function scanIDCard(object) { _getOcrImageInfo(object, "id"); } function recognizeIDCard(object) { var ocrImage = object.image; if (ocrImage.startsWith("/9j/")) { openScan(object, ocrImage, "id"); return; } if (ocrImage.startsWith("data:image/")) { ocrImage = ocrImage.split(";base64,")[1]; openScan(object, ocrImage, "id"); return; } _chooseOcrImage(object, "id"); } function _recognizeIDCard(object) { var appCode = object.appCode, side = object.side, type = object.type, localData = object.localData, _object$url = object.url, url = _object$url === void 0 ? baseUrl : _object$url; var path; if (type === "invoice") { path = "".concat(url, "/mobile-app/rest/v1/api/apilink/ocr/invoice/vat/base64"); } else if (type === "id") { path = "".concat(url, "/mobile-app/rest/v1/api/apilink/ocr/card/id/base64"); } else if (type === "bank") { path = "".concat(url, "/mobile-app/rest/v1/api/apilink/ocr/card/bank/base64"); } var params = { image: localData, apiCode: appCode, isFront: side === 'back' ? false : true }; axios({ method: "post", url: path, params: null, data: params, headers: { 'Content-Type': 'application/json' } }).then(function (res) { object.success && object.success(res.data); object.complete && object.complete(res); })["catch"](function (err) { object.fail && object.fail(err); object.complete && object.complete(err); }); } function scanBankCard(object) { _getOcrImageInfo(object, "bank"); } function recognizeBankCard(object) { var ocrImage = object.image; if (ocrImage.startsWith("/9j/")) { openScan(object, ocrImage, "bank"); return; } if (ocrImage.startsWith("data:image/")) { ocrImage = ocrImage.split(";base64,")[1]; openScan(object, ocrImage, "bank"); return; } _chooseOcrImage(object, "bank"); } function _recognizeBankCard(object) { var appCode = object.appCode, image = object.image; var url = "https://yhk.market.alicloudapi.com/rest/160601/ocr/ocr_bank_card.json"; var params = { image: image }; axios({ method: "post", url: url, params: null, data: params, headers: { Authorization: "APPCODE ".concat(appCode), "Content-Type": "application/json;charset=UTF-8" } }).then(function (res) { object.success && object.success(res); object.complete && object.complete(res); })["catch"](function (err) { object.fail && object.fail(err); object.complete && object.complete(err); }); } function _getOcrImageInfo(object, type) { var ocrImage = object.image; mtl.chooseImage({ count: 1, // 默认9 sizeType: ["original", "compressed"], sourceType: ["album", "camera"], success: function success(res) { var localIds = res.localIds; _chooseOcrImage(_objectSpread({}, object, { image: localIds[0] }), type); }, fail: object.fail }); } function _chooseOcrImage(object, type) { mtl.getLocalImgData({ localId: object.image, success: function success(res) { var localData = res.localData; if (localData.startsWith("data:image/")) { localData = localData.split(";base64,")[1]; } openScan(object, localData, type); }, fail: object.fail }); } function openScan(object, localData, type) { _recognizeIDCard(_objectSpread({}, object, { localData: localData, type: type })); // if (type === "invoice") { // _recognizeInvoice({ ...object, localData: localData }); // } else if (type === "id") { // _recognizeIDCard({ ...object, localData: localData }); // } else if (type === "bank") { // _recognizeBankCard({ ...object, localData: localData }); // } } function execUpesnBridge(object) { var _obj = object || {}; YYEsnBridge["do"](_obj.method, _obj); } function execEsnBridge(method, source) { var platform = mtl.platform; var __start = platform === 'QYAndroid' || platform === 'QYIos' ? '' : source.closeNcc ? "" : __NCC; var data = _objectSpread({}, source, { fail: function fail(error) { console.log('error:', error); source.fail(getErrormsg(method, error, __start)); } }); console.log("exec YYEsnBridge.do method :", __start + method); console.log("data: ", data); YYEsnBridge["do"](__start + method, data); } /** * 400 参数不合法 401 用户无权限访问 405 APP无权限进行此项操作,如打开照相机,APP未取得授权 406 文件大小超出限制 500 http请求错误 501 http服务器错误 1001 无网络 1002 解析错误 1003 用户取消 -1 未知错误 -2 界面超时 -1000 未找到对应方法 * @param {*} error */ function getErrormsg(method, error, __start) { console.log(JSON.stringify('123333', method)); var esnError = { code: -1, message: errmsg }; if (_typeof(error) === "object") { var code = error && error.errCode; var msg = ""; if (code == 1003) { msg = "用户取消"; } else if (code == -1000) { msg = "未找到对应方法"; } else if (code == 405) { msg = "APP无权限进行此项操作,如打开照相机,APP未取得授权"; } else if (code == 401) { msg = "用户无权限访问"; } esnError.code = code; esnError.message = msg || JSON.stringify(error); } var errmsg = "\u8C03\u7528\u53CB\u7A7A\u95F4 ".concat(__start + method, " \u65B9\u6CD5,\u8FD4\u56DE\u9519\u8BEF\u4FE1\u606F\uFF1A ").concat(esnError.message); esnError.message = errmsg; console.error(errmsg); return esnError; } function getLocalImgSrc(object) { var _obj = object || {}; var localId = _obj.localId; if (localId != undefined || localId != null) { var data = { imgSrc: localId }; _obj.success && object.success(data); } else { var err = { message: "未找到src" }; _obj.fail && object.fail(err); } _obj.complete && object.complete(""); } function isMobileNumber(phone, callback) { var flag = false; var message = ""; // let myreg = /^1[3|4|5|6|7|8]\d{9}$/; if (!phone) { flag = false; message = "手机号码不能为空!"; } else { flag = true; } if (message) { callback && callback(message); } return flag; } /** * 获取网络状态 * @param {*} object */ function getNetworkType() { var object = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var data = handleResponse(object); execEsnBridge("getNetType", data); } /** * 友空间未提供版本测试 * 获取设备的唯一标识 * @param {*} object */ function getMac(object) { getSystemInfo(handleResponse(object, function (res) { return { macAddress: res.deviceId }; })); } function dail(object) { var _object = object || {}; var number = _object.number; if (isMobileNumber(number, function (message) { var err = { code: FAIL_CODE, message: message }; _object.fail && _object.fail(err); _object.complete && _object.complete(err); })) { var data = Object.assign({ number: number, closeNcc: true }, handleResponse(_object)); execEsnBridge("callPhone", data); } } function voiceToText(object) { execEsnBridge("voiceToText", handleResponse(object)); } function chooseImage(object) { //{OriginalSize: 830617, OriginalUrl: "", thumbSize: 0, thumbUrl: ""} //目前先写出 一个地址 var _obj = object || {}; var data = Object.assign(_objectSpread({}, _obj, { sourceType: _obj.sourceType || ['album', 'camera'], count: _obj.count && _obj.count < 10 && _obj.count > 0 && _obj.count || 9 }), handleResponse(_obj, function (res) { var _localIds = []; for (var index in res.pictures) { var _picture = res.pictures[index]; var _value = _picture.filePath; _localIds.push(_value); } return { localIds: _localIds }; })); execEsnBridge("chooseImages", data); } function getLocalImgData(object) { var _obj = object || {}; var imgData = _obj.localId; if (!imgData) { var err = { code: FAIL_CODE, message: "localId is null" }; _obj.fail && object.fail(err); _obj.complete && object.complete(err); return; } var data = Object.assign({ type: 1, level: 2, imgData: imgData }, handleResponse(_obj, function (res) { var base64str = res.base64str; if (!base64str.startsWith("data:image/")) { var imgType = imgData.substring(imgData.lastIndexOf(".") + 1, imgData.length); base64str = "data:image/" + imgType + ";base64," + base64str; } var retData = { localData: base64str }; return retData; })); execEsnBridge("compressLocalImage", data); } function getLocation(object) { var _obj = object || {}; var data = handleResponse(_obj); execEsnBridge("getLocationInfo", data); } function openLocation(object) { var _obj = object || {}; var latitude = _obj.latitude, longitude = _obj.longitude, searchRadius = _obj.searchRadius; if (latitude && longitude) { var data = Object.assign({ searchRadius: searchRadius, latitude: latitude, longitude: longitude }, handleResponse(_obj)); execEsnBridge("chooseMap", data); } else { var error = { code: FAIL_CODE, message: "".concat(latitude ? 'longitude' : 'latitude', " is null") }; _obj.fail && object.fail(error); _obj.complete && object.complete(error); return; } } function markAndNavigationDestination(object) { var _obj = object || {}; var latitude = _obj.latitude, longitude = _obj.longitude, navigation = _obj.navigation; if (latitude && longitude) { var data = Object.assign({ address: '', subAddress: '', latitude: latitude, longitude: longitude, userInfo: {}, infomation: '', navigation: navigation }, handleResponse(_obj)); execEsnBridge('markAndNavigationDestination', data); } else { var error = { code: FAIL_CODE, message: "".concat(latitude ? 'longitude' : 'latitude', " is null") }; _obj.fail && object.fail(error); _obj.complete && object.complete(error); return; } } function httpRequest(object) { var _obj = object || {}; var data = Object.assign({ url: _obj.url, method: _obj.method, headers: _obj.headers, params: _obj.params || _obj.data, paramsType: _obj.paramsType, closeNcc: _obj.closeNcc }, handleResponse(_obj)); execEsnBridge("httpRequest", data); } function getOAuthCode() { var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var tenantId = obj.tenantId; if (tenantId) { var data = handleResponse(obj); execEsnBridge("getOAuthCode", data); } else { var error = { code: FAIL_CODE, message: 'tenantId is null' }; obj.fail && obj.fail(error); obj.complete && obj.complete(error); } } function setStorage() { var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var _obj$domain = obj.domain, category = _obj$domain === void 0 ? DEFAULT_STORAGE_DOMAIN : _obj$domain, key = obj.key, data = obj.data; if (!key || !data) { var error = { code: FAIL_CODE, message: "".concat(key ? 'data' : 'key', " is null") }; obj.fail && obj.fail(error); obj.complete && obj.complete(error); return; } if (typeof key != "string") { if (typeof key != "string") { throw new TypeError("key is not a string"); } return; } var _data = { category: category, key: key, data: data, success: function success() { setLocalStorage(obj); obj.success && obj.success(); obj.complete && obj.complete({ code: 200, message: "setStorage:ok!" }); }, fail: function fail(error) { obj.fail && obj.fail(error); obj.complete && obj.complete(error); } }; execEsnBridge("setStorage", _data); } function setLocalStorage(obj) { var _obj$domain2 = obj.domain, domain = _obj$domain2 === void 0 ? DEFAULT_STORAGE_DOMAIN : _obj$domain2, key = obj.key, data = obj.data; var structs = localStorage.getItem(domain); structs = structs && JSON.parse(structs) || {}; if (data) { structs[key] = data; } else { delete structs[key]; } localStorage.setItem(domain, JSON.stringify(structs)); } function getStorage() { var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var _obj$domain3 = obj.domain, category = _obj$domain3 === void 0 ? DEFAULT_STORAGE_DOMAIN : _obj$domain3, key = obj.key; if (!key) { var error = { code: FAIL_CODE, message: "key is null." }; obj.fail && obj.fail(error); obj.complete && obj.complete(error); return; } var _data = { category: category, key: key, success: function success(res) { var data = res; if (data) { res = { code: 0, message: "", data: { data: data } }; obj.success && obj.success(res.data); } else { res = { code: 0, message: "not found data for key: " + key }; obj.fail && obj.fail(res); } obj.complete && obj.complete(res); }, fail: function fail(res) { obj.fail && obj.fail(res); obj.complete && obj.complete(res); } }; execEsnBridge("getStorage", _data); } function removeStorage() { var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var _obj$domain4 = obj.domain, category = _obj$domain4 === void 0 ? DEFAULT_STORAGE_DOMAIN : _obj$domain4, key = obj.key; var data = Object.assign({ category: category, key: key }, handleResponse(obj)); execEsnBridge("removeStorage", data); } function clearStorage() { var object = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var closeNcc = true; var _object$domain = object.domain, category = _object$domain === void 0 ? DEFAULT_STORAGE_DOMAIN : _object$domain; var data = Object.assign({ category: category, closeNcc: closeNcc }, handleResponse(object)); execEsnBridge("removeCategoryStorage", data); } function changeScreenOrientation() { var object = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; if (Object.prototype.hasOwnProperty.call(object, "orientation")) { var orientation = object.orientation; var data = Object.assign({ orientation: !!orientation, closeNcc: true }, handleResponse(object)); execEsnBridge("changeScreenOrientation", data); } else { var error = { code: FAIL_CODE, message: 'orientation is null' }; object.fail && object.fail(error); object.complete && object.complete(error); } } function restoreScreenOrientation() { var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var data = _objectSpread({ closeNcc: true }, handleResponse(obj)); execEsnBridge("restoreScreenOrientation", data); } function uploadFile() { var object = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var url = object.url, filePath = object.filePath, _object$header = object.header, header = _object$header === void 0 ? { 'content-type': 'multipart/form-data' } : _object$header, formData = object.formData; if (!url || !filePath) { var error = { code: FAIL_CODE, message: "".concat(url ? 'filePath' : 'url', " is null") }; object.fail && object.fail(error); object.complete && object.complete(error); return; } var data = Object.assign({ url: url, filePath: filePath, header: header, formData: formData, closeNcc: object.closeNcc }, handleResponse(object)); execEsnBridge("uploadFile", data); } function downloadFile() { var object = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var url = object.url, fileType = object.fileType, header = object.header, formBody = object.formBody, jsonBody = object.jsonBody, autoPreview = object.autoPreview, fileName = object.fileName; if (!url || !fileType) { var error = { code: FAIL_CODE, message: "".concat(url ? 'fileType' : 'url', " is null") }; object.fail && object.fail(error); object.complete && object.complete(error); return; } var data = { url: url, fileType: fileType, header: header, formBody: formBody, jsonBody: jsonBody, autoPreview: autoPreview, fileName: fileName, success: function success(res) { object.success && object.success(res); }, fail: function fail(err) { object.fail && object.fail(err); }, complete: function complete(res) { object.complete && object.complete(res); }, closeNcc: object.closeNcc }; execEsnBridge("downloadFile", data); } function isWebviewCanGoBack() { var object = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var data = _objectSpread({ closeNcc: true }, handleResponse(object)); execEsnBridge("isWebviewCanGoBack", data); } function onWebviewGoBack() { var object = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var data = _objectSpread({ closeNcc: true }, handleResponse(object)); execEsnBridge("onWebviewGoBack", data); } function doShare() { var object = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var imgUrl = object.imgUrl, link = object.link; var obj = _objectSpread({}, object); delete object.imgUrl; delete object.link; obj.imageUrl = imgUrl; obj.pageUrl = link; home.upesn.shareWithType(_objectSpread({}, obj)); } function openShare() { var object = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var imgUrl = object.imgUrl, link = object.link; var obj = _objectSpread({}, object); delete object.imgUrl; delete object.link; obj.imageUrl = imgUrl; obj.pageUrl = link; home.upesn.showShareMenu(_objectSpread({}, obj)); } function backIntercept(object) { var _obj = object || {}; var platform = mtl.platform; // if (platform === 'QYIos') { // object.fail && object.fail(unsupportFailRes); // object.complete && object.complete(unsupportFailRes); // return; // } var callback = 'backInterceptCallback'; home.upesn.registerCallback(callback, function (res, responseCallback) { _obj.callback && _obj.callback(res); _obj.complete && _obj.complete({ code: 200 }); }); var data = { callback: callback, success: function success(res) { _obj.success && object.success(res); }, fail: function fail(err) { _obj.fail && object.fail(err); }, complete: function complete(res) { _obj.complete && object.complete(res); } }; execEsnBridge("backIntercept", data); } function getAuthorizationStatus(object) { var closeNcc = true; var _object$type = object.type, type = _object$type === void 0 ? 0 : _object$type; var data = Object.assign({ type: type, closeNcc: closeNcc }, handleResponse(object)); execEsnBridge("getAuthorizationStatus", data); } function onNetworkStatusChange(object) { var _obj = object || {}; var callback = 'onNetworkStatusChange'; home.upesn.registerCommonCallback(callback, function (res, responseCallback) { _obj.callback && _obj.callback(res); _obj.complete && _obj.complete({ code: 200 }); }); var data = { callback: callback, closeNcc: true, success: function success(res) { _obj.success && object.success(res); }, fail: function fail(err) { _obj.fail && object.fail(err); }, complete: function complete(res) { _obj.complete && object.complete(res); } }; execEsnBridge("onNetworkStatusChange", data); } function watchShake(object) { var _obj = object || {}; var callback = 'watchShake'; home.upesn.registerCommonCallback(callback, function (res, responseCallback) { _obj.callback && _obj.callback(res); _obj.complete && _obj.complete({ code: 200 }); }); var data = { callback: callback, closeNcc: true, success: function success(res) { _obj.success && object.success(res); }, fail: function fail(err) { _obj.fail && object.fail(err); }, complete: function complete(res) { _obj.complete && object.complete(res); } }; execEsnBridge("watchShake", data); } function screenShot(object) { var _object$type2 = object.type, type = _object$type2 === void 0 ? 0 : _object$type2, _object$resultType = object.resultType, resultType = _object$resultType === void 0 ? 0 : _object$resultType; var data = Object.assign({ type: type, resultType: resultType }, handleResponse(object)); execEsnBridge("screenShot", data); } function onUserCaptureScreen(object) { var _obj = object || {}; var callback = 'onUserCaptureScreen'; home.upesn.registerCommonCallback(callback, function (res, responseCallback) { _obj.callback && _obj.callback(res); _obj.complete && _obj.complete({ code: 200 }); }); var data = { callback: callback, closeNcc: true, success: function success(res) { _obj.success && object.success(res); }, fail: function fail(err) { _obj.fail && object.fail(err); }, complete: function complete(res) { _obj.complete && object.complete(res); } }; execEsnBridge("onUserCaptureScreen", data); } function vibrateOnce(object) { var closeNcc = true; var data = Object.assign({ closeNcc: closeNcc }, handleResponse(object)); execEsnBridge("vibrateOnce", data); } function saveImageToPhotoAlbum(object) { var closeNcc = true; var url = object.url; var data = Object.assign({ url: url, closeNcc: closeNcc }, handleResponse(object)); execEsnBridge("saveImageToPhotoAlbum", data); } function saveImageToLocal(object) { var closeNcc = true; var url = object.url; var data = Object.assign({ url: url, closeNcc: closeNcc }, handleResponse(object)); execEsnBridge("saveImageToLocal", data); } function chooseVideo(object) { var closeNcc = true; var sourceType = object.sourceType, maxDuration = object.maxDuration; var data = Object.assign({ sourceType: sourceType, maxDuration: maxDuration, closeNcc: closeNcc }, handleResponse(object)); execEsnBridge("chooseVideo", data); } function chooseCity(object) { var closeNcc = true; var _object$province = object.province, province = _object$province === void 0 ? '北京市' : _object$province; var data = Object.assign({ province: province, closeNcc: closeNcc }, handleResponse(object)); execEsnBridge("chooseCity", data); } function dateTimePicker(object) { var closeNcc = true; var _object$format = object.format, format = _object$format === void 0 ? 'yyyy-MM-dd' : _object$format, currentDate = object.currentDate; var data = Object.assign({ format: format, currentDate: currentDate, closeNcc: closeNcc }, handleResponse(object)); execEsnBridge("dateTimePicker", data); } function encryptData(object) { var data = object.data; var params = Object.assign({ data: data }, handleResponse(object)); execEsnBridge("encryptData", params); } function decryptData(object) { var data = object.data; var params = Object.assign({ data: data }, handleResponse(object)); execEsnBridge("decryptData", params); } function recordAudio(object) { var closeNcc = true; var data = Object.assign({ closeNcc: closeNcc }, handleResponse(object)); execEsnBridge("recordAudio", data); } function navigateTo(object) { var closeNcc = true; var url = object.url, orientation = object.orientation, navShow = object.navShow; var data = Object.assign({ url: url, orientation: orientation, navShow: navShow, closeNcc: closeNcc }, handleResponse(object)); execEsnBridge("openNewWebview", data); } /** * 统一处理API的回调 * @param {*} object * @param {*} callback */ function handleResponse(object, callback) { return { success: function success(res) { var data = callback && callback(res) || res; object.success && object.success(data); object.complete && object.complete({ code: 200, data: data }); }, fail: function fail(res) { object.fail && object.fail(res); object.complete && object.complete(res); } }; } var exports = { upesn: home.upesn, uploadImageBackBase64: home.upesn.uploadImageBackBase64, startRecord: startRecord, stopRecord: stopRecord, onVoiceRecordEnd: onVoiceRecordEnd, playVoice: playVoice, pauseVoice: pauseVoice, stopVoice: stopVoice, onVoicePlayEnd: onVoicePlayEnd, uploadVoice: uploadVoice, downloadVoice: downloadVoice, chooseFile: home.upesn.chooseFile, chooseImageToServer: home.upesn.chooseImageToServer, previewImage: previewImage, uploadImage: uploadImage, openLocalFile: openLocalFile, getSystemInfo: getSystemInfo, faceRegister: faceRegister, faceVerify: faceVerify, faceCompare: faceCompare, navigateBack: navigateBack, scanInvoice: scanInvoice, recognizeInvoice: recognizeInvoice, scanIDCard: scanIDCard, recognizeIDCard: recognizeIDCard, scanBankCard: scanBankCard, recognizeBankCard: recognizeBankCard, downloadImage: downloadImage, getLocalImgSrc: getLocalImgSrc, getNetworkType: getNetworkType, getMac: getMac, dail: dail, voiceToText: voiceToText, chooseImage: chooseImage, getLocalImgData: getLocalImgData, getLocation: getLocation, openLocation: openLocation, markAndNavigationDestination: markAndNavigationDestination, scanQRCode: scanQRCode, closeScanQRCode: closeScanQRCode, generateQRCode: generateQRCode, request: httpRequest, getOAuthCode: getOAuthCode, setStorage: setStorage, getStorage: getStorage, removeStorage: removeStorage, clearStorage: clearStorage, changeScreenOrientation: changeScreenOrientation, restoreScreenOrientation: restoreScreenOrientation, uploadFile: uploadFile, downloadFile: downloadFile, isWebviewCanGoBack: isWebviewCanGoBack, onWebviewGoBack: onWebviewGoBack, stopSpeechSyn: stopSpeechSyn, startSpeechSyn: startSpeechSyn, translateVoice: translateVoice, doShare: doShare, openShare: openShare, backIntercept: backIntercept, isShowTabbar: home.upesn.isShowTabbar, openNewWebview: home.upesn.openNewWebview, closeCurrentWebview: home.upesn.closeCurrentWebview, execUpesnBridge: execUpesnBridge, continuousLocationStart: home.upesn.continuousLocationStart, continuousLocationGet: home.upesn.continuousLocationGet, continuousLocationStop: home.upesn.continuousLocationStop, loadImageFromLocal: home.upesn.loadImageFromLocal, settingNavBar: home.upesn.settingNavBar, showToast: home.upesn.showToast, showAlert: home.upesn.showAlert, customScanQRCode: home.upesn.customScanQRCode, executeDBOperate: home.upesn.executeDBOperate, chooseLocalFiles: home.upesn.chooseLocalFiles, getAuthorizationStatus: getAuthorizationStatus, onNetworkStatusChange: onNetworkStatusChange, watchShake: watchShake, screenShot: screenShot, onUserCaptureScreen: onUserCaptureScreen, vibrateOnce: vibrateOnce, saveImageToPhotoAlbum: saveImageToPhotoAlbum, saveImageToLocal: saveImageToLocal, chooseVideo: chooseVideo, chooseCity: chooseCity, dateTimePicker: dateTimePicker, encryptData: encryptData, decryptData: decryptData, recordAudio: recordAudio, navigateTo: navigateTo, registerCommonCallback: home.upesn.registerCommonCallback }; unsupportMethods.forEach(function (pop) { exports[pop] = unsupportMethod; }); return exports; });