mtl-js-sdk
Version:
554 lines (470 loc) • 16.5 kB
JavaScript
;
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(['../../common/environment.js'], function (environment) {
var terminal = null;
var SUCCESS_CODE = 200;
var FAIL_CODE = 1;
var DEFAULT_STORAGE_DOMAIN = 'domain.default';
function navigateTo(object) {
mtlBridge.call("window.navigateTo", JSON.stringify(object), object.callback);
}
function redirectTo(object) {
mtlBridge.call("window.redirectTo", JSON.stringify(object), object.callback);
}
function navigateBack(object) {
mtlBridge.call("window.navigateBack", JSON.stringify(object), object.callback);
}
function getNetworkType(object) {
mtlBridge.call("device.getNetworkType", JSON.stringify(object), object.callback);
}
function getMac(object) {
mtlBridge.call("device.getMac", JSON.stringify(object), object.callback);
}
function openLocation(object) {
mtlBridge.call("bdLocation.openLocation", JSON.stringify(object), object.callback);
}
function getLocation(object) {
mtlBridge.call("bdLocation.getLocation", JSON.stringify(object), object.callback);
}
function initSpeech(obj) {
mtlBridge.call("speech.initSpeech", JSON.stringify(obj), obj.callback);
}
function openSpeechPage(obj) {
mtlBridge.call("speech.openSpeechPage", JSON.stringify(obj), obj.callback);
}
function startBatchSpeechSyn(obj) {
mtlBridge.call("speech.startBatchSpeechSyn", JSON.stringify(obj), obj.callback);
}
function startSpeechRecog(obj) {
mtlBridge.call("speech.startSpeechRecog", JSON.stringify(obj), obj.callback);
}
function stopSpeechRecog(obj) {
mtlBridge.call("speech.stopSpeechRecog", JSON.stringify(obj), obj.callback);
}
function cancelAITask(obj) {
mtlBridge.call("speech.cancelAITask", JSON.stringify(obj), obj.callback);
}
function releaseSpeech(obj) {
mtlBridge.call("speech.releaseSpeech", JSON.stringify(obj), obj.callback);
}
function startSpeechSyn(obj) {
mtlBridge.call("speech.startSpeechSyn", JSON.stringify(obj), obj.callback);
}
function stopSpeechSyn(obj) {
mtlBridge.call("speech.stopSpeechSyn", JSON.stringify(obj), obj.callback);
}
function startRecord(object) {
mtlBridge.call("audio.startRecord", JSON.stringify(object), object.callback);
}
function stopRecord(object) {
mtlBridge.call("audio.stopRecord", JSON.stringify(object), object.callback);
}
function onVoiceRecordEnd(object) {
mtlBridge.call("audio.onVoiceRecordEnd", JSON.stringify(object), object.callback);
}
function playVoice(object) {
mtlBridge.call("audio.playVoice", JSON.stringify(object), object.callback);
}
function pauseVoice(object) {
mtlBridge.call("audio.pauseVoice", JSON.stringify(object), object.callback);
}
function stopVoice(object) {
mtlBridge.call("audio.stopVoice", JSON.stringify(object), object.callback);
}
function onVoicePlayEnd(object) {
mtlBridge.call("audio.onVoicePlayEnd", JSON.stringify(object), object.callback);
}
function uploadVoice(object) {
mtlBridge.call("audio.uploadVoice", JSON.stringify(object), object.callback);
}
function downloadVoice(object) {
mtlBridge.call("audio.downloadVoice", JSON.stringify(object), object.callback);
}
function mobileAcanQRCode(object) {
mtlBridge.call("scan.scanQRCode", JSON.stringify(object), object.callback);
}
function onStartBarcodeService(object) {
if (terminal === 'pda' && mtl.barcode) {
mtl.barcode.startBarcodeService({
success: function success(res) {
window.mtl_handleCallback({
callbackId: object.callbackId,
keepCallback: true,
code: 0,
data: {
'resultStr': res.data
}
});
},
fail: function fail(err) {
window.mtl_handleCallback({
callbackId: object.callbackId,
keepCallback: true,
code: err.code,
msg: err.message
});
}
});
} else {
mobileAcanQRCode(object);
}
}
function scanQRCode(object) {
if (mtl.mobile) {
if (!!!terminal) {
mtl.mobile.getTerminalType({
success: function success(res) {
var terminalType = res.terminalType;
terminal = terminalType;
onStartBarcodeService(object);
},
fail: function fail(err) {
mobileAcanQRCode(object);
}
});
} else {
window.mtl_handleCallback({
callbackId: object.callbackId,
keepCallback: false,
code: 0,
data: {
'resultStr': 'res.data'
}
});
}
} else {
mobileAcanQRCode(object);
}
}
function generateQRCode(object) {
mtlBridge.call("scan.generateQRCode", JSON.stringify(object), object.callback);
}
function chooseImage(object) {
mtlBridge.call("album.chooseImage", JSON.stringify(object), object.callback);
}
function getLocalImgSrc(object) {
mtlBridge.call("album.getLocalImgSrc", JSON.stringify(object), object.callback);
}
function getLocalImgData(object) {
mtlBridge.call("album.getLocalImgData", JSON.stringify(object), object.callback);
}
function previewImage(object) {
mtlBridge.call("album.previewImage", JSON.stringify(object), object.callback);
}
function uploadImage(object) {
mtlBridge.call("album.uploadImage", JSON.stringify(object), object.callback);
}
function downloadImage(object) {
mtlBridge.call("album.downloadImage", JSON.stringify(object), object.callback);
}
function initFace(object) {
mtlBridge.call("face.initFace", JSON.stringify(object), object.callback);
}
function faceRegister(object) {
mtlBridge.call("face.faceRegister", JSON.stringify(object), object.callback);
}
function faceVerify(object) {
mtlBridge.call("face.faceVerify", JSON.stringify(object), object.callback);
}
function scanInvoice(obj) {
mtlBridge.call("ocr.scanInvoice", JSON.stringify(obj), obj.callback);
}
function scanIDCard(obj) {
mtlBridge.call("ocr.scanIDCard", JSON.stringify(obj), obj.callback);
}
function scanBankCard(obj) {
mtlBridge.call("ocr.scanBankCard", JSON.stringify(obj), obj.callback);
}
function recognizeInvoice(obj) {
mtlBridge.call("ocr.recognizeInvoice", JSON.stringify(obj), obj.callback);
}
function recognizeIDCard(obj) {
mtlBridge.call("ocr.recognizeIDCard", JSON.stringify(obj), obj.callback);
}
function recognizeBankCard(obj) {
mtlBridge.call("ocr.recognizeBankCard", JSON.stringify(obj), obj.callback);
}
function request(obj) {
mtlBridge.call("http.request", JSON.stringify(obj), obj.callback);
}
function downloadFile(obj) {
mtlBridge.call("http.downloadFile", JSON.stringify(obj), obj.callback);
}
function setStorage(obj) {
mtlBridge.call("storage.setStorage", JSON.stringify(obj), obj.callback);
}
function copyStorage(obj) {
mtlBridge.call("storage.copyStorage", JSON.stringify(obj), obj.callback);
}
function getStorage(obj) {
mtlBridge.call("storage.getStorage", JSON.stringify(obj), obj.callback);
}
function removeStorage(obj) {
mtlBridge.call("storage.removeStorage", JSON.stringify(obj), obj.callback);
}
function clearStorage(obj) {
mtlBridge.call("storage.clearStorage", JSON.stringify(obj), obj.callback);
}
function translateVoice(obj) {
mtlBridge.call("translate.translateVoice", JSON.stringify(obj), obj.callback);
}
function setFileStorage(obj) {
mtlBridge.call("storage.setFileStorage", JSON.stringify(obj), obj.callback);
}
function getFileStorage(obj) {
mtlBridge.call("storage.getFileStorage", JSON.stringify(obj), obj.callback);
}
function removeFileStorage(obj) {
mtlBridge.call("storage.removeFileStorage", JSON.stringify(obj), obj.callback);
}
function clearFileStorage(obj) {
mtlBridge.call("storage.clearFileStorage", JSON.stringify(obj), obj.callback);
}
function login(object) {
loginRequest('login', object);
}
function validateCodeLogin(object) {
loginRequest('validateCodeLogin', object);
}
function isWebviewCanGoBack(obj) {
mtlBridge.call("webcontrol.canBack", JSON.stringify(obj), obj.callback);
}
function onWebviewGoBack(obj) {
mtlBridge.call("webcontrol.back", JSON.stringify(obj), obj.callback);
}
function autoLogin(object) {
mtl.getStorage({
domain: 'mtlLoginInfo',
key: 'data',
success: function success(res) {
var data = res.data;
if (data) {
var token = data.authToken.token;
var userId = data.userInfo.userId;
mtl.request({
url: 'http://mdf-mobile-infrastructure.daily.app.yyuap.com/rest/v1/mobile/login/token',
method: 'POST',
data: {
userId: userId,
token: token
},
headers: {
'content-type': 'application/json'
},
responseType: 'json',
success: function success(res) {
if (res && res.data) {
var _obj = data;
_obj.tenants = res.data.tenants;
_obj.userInfo = res.data.userInfo;
_obj.yhtToken = res.data.yhtToken;
_obj.imToken = res.data.imToken;
mtl.setStorage({
domain: 'mtlLoginInfo',
key: 'data',
data: _obj
});
}
window.mtl_handleCallback({
callbackId: object.callbackId,
data: res,
code: 0
});
},
fail: function fail(err) {
console.log('err1', err);
window.mtl_handleCallback({
callbackId: object.callbackId,
msg: err.message,
code: err.code
});
}
});
} else {
console.log('err2', data);
window.mtl_handleCallback({
callbackId: object.callbackId,
msg: "请重新登录",
code: 1
});
}
},
fail: function fail(err) {
console.log('err3', err);
window.mtl_handleCallback({
callbackId: object.callbackId,
msg: err.message,
code: err.code
});
}
});
}
function sendValidateCode(object) {
var path = object.url ? object.url : baseUrl;
object.url = "".concat(path, "/rest/v1/mobile/login/sendCode");
object.method = 'POST';
object.data = {
username: object.mobile
};
delete object.username;
mtlBridge.call("http.request", JSON.stringify(object), object.callback);
}
function loginRequest(type, object) {
var path = object.url ? object.url : baseUrl;
var data = {};
switch (type) {
case 'login':
object.url = "".concat(path, "/rest/v1/mobile/login/password");
data = {
username: object.username,
password: object.password
};
break;
case 'validateCodeLogin':
object.url = "".concat(path, "/rest/v1/mobile/login/validateCode");
data = {
username: object.mobile,
validateCode: object.validateCode
};
break;
default:
break;
}
mtl.request({
url: object.url,
method: 'POST',
data: data,
headers: {
'content-type': 'application/json'
},
responseType: 'json',
success: function success(res) {
if (res && res.data) {
mtl.setStorage({
domain: 'mtlLoginInfo',
key: 'data',
data: res.data
});
}
window.mtl_handleCallback({
callbackId: object.callbackId,
data: res,
code: 0
});
},
fail: function fail(err) {
window.mtl_handleCallback({
callbackId: object.callbackId,
msg: err.message,
code: err.code
});
}
});
}
function doShare(object) {
var type = object.type,
desc = object.desc,
imgUrl = object.imgUrl,
link = object.link;
var obj = _objectSpread({}, object);
delete object.imgUrl;
delete object.link;
delete object.text;
delete object.type;
obj.platform = type;
obj.text = desc;
obj.img = imgUrl;
obj.url = link;
mtl.umshare.doShare(obj);
}
function openShare(object) {
var desc = object.desc,
imgUrl = object.imgUrl,
link = object.link;
var obj = _objectSpread({}, object);
delete object.imgUrl;
delete object.link;
delete object.text;
obj.text = desc;
obj.img = imgUrl;
obj.url = link;
mtl.umshare.openShare(obj);
}
var unsupportMethods = ["getAuthCode", "getUserInfo", "getAppCode", "chooseLocalFiles", "getAppInfo", "openSchema"];
var exports = {
navigateTo: navigateTo,
redirectTo: redirectTo,
navigateBack: navigateBack,
getNetworkType: getNetworkType,
getMac: getMac,
openLocation: openLocation,
getLocation: getLocation,
initSpeech: initSpeech,
openSpeechPage: openSpeechPage,
startSpeechSyn: startSpeechSyn,
stopSpeechSyn: stopSpeechSyn,
startRecord: startRecord,
stopRecord: stopRecord,
onVoiceRecordEnd: onVoiceRecordEnd,
playVoice: playVoice,
pauseVoice: pauseVoice,
stopVoice: stopVoice,
onVoicePlayEnd: onVoicePlayEnd,
uploadVoice: uploadVoice,
downloadVoice: downloadVoice,
scanQRCode: scanQRCode,
generateQRCode: generateQRCode,
chooseImage: chooseImage,
getLocalImgSrc: getLocalImgSrc,
getLocalImgData: getLocalImgData,
previewImage: previewImage,
uploadImage: uploadImage,
downloadImage: downloadImage,
initFace: initFace,
faceRegister: faceRegister,
faceVerify: faceVerify,
startBatchSpeechSyn: startBatchSpeechSyn,
startSpeechRecog: startSpeechRecog,
stopSpeechRecog: stopSpeechRecog,
cancelAITask: cancelAITask,
releaseSpeech: releaseSpeech,
scanInvoice: scanInvoice,
scanIDCard: scanIDCard,
scanBankCard: scanBankCard,
recognizeInvoice: recognizeInvoice,
recognizeIDCard: recognizeIDCard,
recognizeBankCard: recognizeBankCard,
request: request,
downloadFile: downloadFile,
setStorage: setStorage,
copyStorage: copyStorage,
getStorage: getStorage,
removeStorage: removeStorage,
clearStorage: clearStorage,
translateVoice: translateVoice,
setFileStorage: setFileStorage,
getFileStorage: getFileStorage,
removeFileStorage: removeFileStorage,
clearFileStorage: clearFileStorage,
login: environment.login,
changeTenant: environment.changeTenant,
sendValidateCode: environment.sendValidateCode,
validateCodeLogin: environment.validateCodeLogin,
getAppList: environment.getAppList,
isWebviewCanGoBack: isWebviewCanGoBack,
onWebviewGoBack: onWebviewGoBack,
doShare: doShare,
openShare: openShare
};
function unsupportMethodIMP() {
var object = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
object.fail && object.fail(unsupportFailRes);
object.complete && object.complete(unsupportFailRes);
}
unsupportMethods.forEach(function (prop) {
exports[prop] = unsupportMethodIMP;
});
return exports;
});