mtl-js-sdk
Version:
1,665 lines (1,444 loc) • 45.3 kB
JavaScript
;
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;
});