UNPKG

mtl-js-sdk

Version:

356 lines (308 loc) 10.4 kB
"use strict"; var _amapLocation = require("./static/js/map/amapLocation"); var _amapOpen = require("./static/js/map/amapOpen"); 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(["axios", "qrious"], function (axios, QRious) { var baseUrl = 'https://build.yyuap.com'; var SUCCESS_CODE = 200; var FAIL_CODE = 1; var unsupportFailRes = { code: FAIL_CODE, message: "当前平台不支持" }; var DEFAULT_STORAGE_DOMAIN = "domain.default"; var unsupportMethods = ["startRecord", "stopRecord", "onVoiceRecordEnd", "startSpeechSyn", "stopSpeechSyn", "playVoice", "pauseVoice", "stopVoice", "onVoicePlayEnd", "uploadVoice", "downloadVoice", "chooseImage", "previewImage", "uploadImage", "downloadImage", "getLocalImgData", "translateVoice", "getNetworkType", "faceRegister", "faceVerify", "getAuthCode", "getUserInfo", "getAppCode", "getMac", "dail", "voiceToText", "getOAuthCode", "getOAuthCode", "changeScreenOrientation", "restoreScreenOrientation", "isWebviewCanGoBack", "onWebviewGoBack", "customScanQRCode", "doShare", "openShare", "scanInvoice", "scanIDCard", "scanBankCard", "backIntercept", "openSchema", "getConfig"]; function unsupportMethodIMP() { var object = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; object.fail && object.fail(unsupportFailRes); object.complete && object.complete(unsupportFailRes); } function generateQRCode(object) { if (!!!object.str) { var _res = { code: -1, message: "str is null" }; object.fail && object.fail(_res); object.complete && object.complete(_res); return; } var qr = new QRious({ value: object.str, size: object.size || 100 }); var imgSrc = qr.toDataURL("image/jpeg"); var res = { imgSrc: imgSrc }; object.success && object.success(res); object.complete && object.complete(res); } function recognizeInvoice(object) { recognize(_objectSpread({}, object, { recognizetype: 'invoice' })); } function recognizeIDCard(object) { recognize(_objectSpread({}, object, { recognizetype: 'id' })); } function recognizeBankCard(object) { recognize(_objectSpread({}, object, { recognizetype: 'bank' })); } function recognize(object) { var appCode = object.appCode, image = object.image, side = object.side, _object$url = object.url, url = _object$url === void 0 ? baseUrl : _object$url, recognizetype = object.recognizetype; var index = image.indexOf("base64,"); if (index !== -1) { image = image.substring(index + 7, image.count); } var path; if (recognizetype === "invoice") { path = "".concat(url, "/mobile-app/rest/v1/api/apilink/ocr/invoice/vat/base64"); } else if (recognizetype === "id") { path = "".concat(url, "/mobile-app/rest/v1/api/apilink/ocr/card/id/base64"); } else if (recognizetype === "bank") { path = "".concat(url, "/mobile-app/rest/v1/api/apilink/ocr/card/bank/base64"); } var params = { image: image, apiCode: appCode, isFront: side === 'back' ? false : true }; axios({ method: "post", url: path, params: null, data: params, headers: { "Content-Type": "application/json;charset=UTF-8" } }).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 request(object) { axios(object).then(function (response) { var code = response.status, message = response.statusText, data = response.data; if (code === 200) { object.success && object.success(data); } else { object.fail && object.fail({ code: code, message: message, data: data }); } object.complete && object.complete({ code: code, message: message, data: data }); })["catch"](function (err) { var result = { code: FAIL_CODE, message: err.message }; object.fail && object.fail(result); object.complete && object.complete(result); }); } function setStorage(obj) { var _obj$domain = obj.domain, domain = _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") { throw new TypeError("key is not a string"); } 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)); obj.success && obj.success(); obj.complete && obj.complete({ code: SUCCESS_CODE, message: "setStorage:ok" }); } function getStorage(obj) { var res = null; var data = null; var _obj$domain2 = obj.domain, domain = _obj$domain2 === void 0 ? DEFAULT_STORAGE_DOMAIN : _obj$domain2, 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; } if (typeof key != "string") { res = { code: FAIL_CODE, message: new TypeError("key is not a string").toString() }; obj.fail && obj.fail(res); } else { var structs = localStorage.getItem(domain); structs = structs && JSON.parse(structs); data = structs && structs.hasOwnProperty(key) && structs[key] || null; if (!!data) { res = { code: SUCCESS_CODE, message: "getStorage:ok", data: { data: data } }; obj.success && obj.success(res.data); } else { res = { code: FAIL_CODE, message: new TypeError("data is null").toString() }; obj.fail && obj.fail(res); } } obj.complete && obj.complete(res); return data; } function removeStorage() { var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var _obj$domain3 = obj.domain, domain = _obj$domain3 === void 0 ? DEFAULT_STORAGE_DOMAIN : _obj$domain3, key = obj.key; var data = null; if (!!!key) { var error = { code: FAIL_CODE, message: "key is null" }; obj.fail && obj.fail(error); obj.complete && obj.complete(error); return; } if (typeof key != "string") { throw new TypeError("key is not a string"); } 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)); obj.success && obj.success(); obj.complete && obj.complete({ code: SUCCESS_CODE, message: "removeStorage:ok" }); } function clearStorage(obj) { var domain = obj && obj.domain || DEFAULT_STORAGE_DOMAIN; localStorage.removeItem(domain); obj.success && obj.success(); obj.complete && obj.complete({ code: SUCCESS_CODE, message: "clearStorage:ok" }); } function navigateTo(_ref) { var page = _ref.page, parameters = _ref.parameters; location.href = page; } function redirectTo(_ref2) { var page = _ref2.page, parameters = _ref2.parameters; location.replace(page); } function navigateBack() { history.back(); } function openLocation(obj) { (0, _amapOpen.amapOpen)(obj); } function getLocation(obj) { (0, _amapLocation.amapLocation)(obj); } function scanQRCode(obj) { var person = window.prompt("请输入扫描结果:"); if (!!!person) { obj.fail && obj.fail({ code: FAIL_CODE, message: '未输入' }); obj.complete && obj.complete({ code: FAIL_CODE, message: '未输入' }); } else { obj.success && obj.success({ resultStr: person }); obj.complete && obj.complete({ resultStr: person }); } } function getAppInfo(obj) { obj.success && obj.success({}); obj.complete && obj.complete({}); } var exports = { generateQRCode: generateQRCode, recognizeInvoice: recognizeInvoice, recognizeIDCard: recognizeIDCard, recognizeBankCard: recognizeBankCard, request: request, setStorage: setStorage, getStorage: getStorage, removeStorage: removeStorage, clearStorage: clearStorage, navigateTo: navigateTo, redirectTo: redirectTo, navigateBack: navigateBack, openLocation: openLocation, getLocation: getLocation, scanQRCode: scanQRCode, getAppInfo: getAppInfo }; unsupportMethods.forEach(function (prop) { exports[prop] = unsupportMethodIMP; }); return exports; });