UNPKG

mtl-js-sdk

Version:

ynf-fw-mtl-api

1,325 lines (1,266 loc) 39.1 kB
import axios from 'axios' const FAIL_CODE = 1 const __NCC = "NCC" /** * 处理API成功的回调 */ function successCallBack(obj = {}) { obj.success && obj.success({}) obj.complete && obj.complete({}) } function isAndroid() { let userAgent = window.navigator.userAgent if (userAgent.indexOf("QYZone_1") !== -1) { return true } return false } const upesn = { test() { console.log("test") }, uploadImageBackBase64(object) { let _obj = object || {} let data = { // 'url': 'https://www.pgyer.com/app/publish', url: "ht" + "tps://mdoctor.yonyou" + "cloud.com/mtldebugger/mtl/file/convertBase64", filePath: _obj.filePath, success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("uploadFile", data) }, showToast(object) { let _obj = object || {} let data = Object.assign( { closeNcc: true, content: _obj["content"], duration: _obj["duration"], }, handleResponse(_obj) ) execEsnBridge("showToast", data) }, customScanQRCode(object) { let _obj = object || {} let { type = 1, url, callback, scanLeftRatio = 0.25, scanTopRatio = 0.1, scanWidthRatio = 0.5, scanHeightRatio = 0.2, isHiddenLight = 0, customNavi, leftItems, rightItems, centerItems, scanViewCloseCallback, } = _obj if (!url || !callback || scanWidthRatio === 0) { let err = { code: FAIL_CODE, message: scanWidthRatio === 0 ? "scanWidthRatio is zero" : `${!url ? "url" : "callback"} is null`, } _obj.fail && object.fail(err) _obj.complete && object.complete(err) return } let data = Object.assign( { type, url, callback, scanLeftRatio, scanTopRatio, scanWidthRatio, scanHeightRatio, isHiddenLight, customNavi, leftItems, rightItems, centerItems, scanViewCloseCallback, }, handleResponse(_obj) ) execEsnBridge("customScanQRCode", data) }, mdfCustomScanQRCode(object) { let _obj = object || {} let { type, hide, callback, scanLeftRatio, scanTopRatio, scanWidthRatio, scanHeightRatio, lineColor = "#00FF00", scanUIStyle = 0, backgroundHeightRatio, isShowScanDesc = 0, isShowLight = 0, cornerLenthRatio = 0.1, scanDescription = "", } = _obj if (typeof callback == "function") { callback = "mdfQRCodeCallBack" mtl.upesn.registerCommonCallback(callback, function (res, responseCallback) { _obj.callback && _obj.callback(res) _obj.complete && _obj.complete({ code: 200, }) }) } let data = Object.assign( { type, hide, callback: callback, scanLeftRatio, scanTopRatio, scanWidthRatio, scanHeightRatio, lineColor, scanUIStyle, backgroundHeightRatio, isShowScanDesc, isShowLight, cornerLenthRatio, scanDescription, closeNcc: true, }, handleResponse(_obj) ) execEsnBridge("mdfCustomScanQRCode", data) }, mdfChangeCustomScanMode(object) { let _obj = object || {} let { type } = _obj let data = Object.assign( { type, closeNcc: true, }, handleResponse(_obj) ) if (isAndroid()) { execEsnBridge("changeCustomScanMode", data) } else { execEsnBridge("mdfChangeCustomScanMode", data) } }, mdfChangeFlashLightStatus(object) { let _obj = object || {} let { type, callback } = _obj let data = Object.assign( { type, callback, closeNcc: true, }, handleResponse(_obj) ) if (isAndroid()) { execEsnBridge("changeFlashLightStatus", data) } else { execEsnBridge("mdfChangeFlashLightStatus", data) } }, getUserYHTInfo(object) { let _obj = object || {} let closeNcc = true let data = Object.assign({ closeNcc }, handleResponse(_obj)) execEsnBridge("getUserYHTInfo", data) }, registerCallback(callbackName, inCallback) { let obj = {} obj[callbackName] = function (data, callback) { console.log(data) if (!!data && data !== "{}") { inCallback(JSON.parse(data).qrString, callback) } else { inCallback("", callback) } } // eslint-disable-next-line no-undef YYEsnBridge.registerHandler(obj) }, registerCommonCallback(callbackName, inCallback) { let obj = {} obj[callbackName] = function (data, callback) { inCallback(data, callback) } // eslint-disable-next-line no-undef YYEsnBridge.registerHandler(obj) }, registerResumeCallback(callbackName, inCallback) { let obj = {} obj[callbackName] = function (data) { inCallback(data) } // eslint-disable-next-line no-undef YYEsnBridge.registerHandler(obj) }, executeDBOperate(obj) { let _obj = obj || {} let data = { executeType: _obj.executeType, executeSql: _obj.executeSql, success: function (res) { _obj.success && _obj.success(res) }, fail: function (err) { _obj.fail && _obj.fail(err) }, complete: function (res) { _obj.complete && _obj.complete(res) }, } execEsnBridge("executeDBOperate", data) }, loadImageFromLocal(object) { let _obj = object || {} let data = { url: _obj.url, closeNcc: true, success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("loadImageFromLocal", data) }, chooseImage(object) { //{OriginalSize: 830617, OriginalUrl: "", thumbSize: 0, thumbUrl: ""} //目前先写出 一个地址 let _obj = object || {} let data = { sourceType: _obj.sourceType, count: _obj.count, watermark: _obj.watermark, returnThumbnail: _obj.returnThumbnail, success: function (res) { // let _localIds = []; // for (let index in res.pictures) { // let _picture = res.pictures[index]; // let _value = _picture.filePath; // _localIds.push(_value); // } _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("chooseImages", data) }, chooseImageToServer(object) { let _obj = object || {} let { count = 9, sourceType = ["album", "camera"], watermark } = _obj if (!!watermark && isEmpty("text", watermark.text, object)) { return } let data = Object.assign({ count, sourceType, watermark }, handleResponse(_obj)) execEsnBridge("chooseImageToServer", data) }, compressLocalImage(object) { let _obj = object || {} let data = { type: _obj.type, level: _obj.level, imgData: _obj.imgData, success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("compressLocalImage", data) }, viewUserInfo(object) { let _obj = object || {} let data = { memberId: _obj.memberId, success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("viewUserInfo", data) }, chooseDepartment(object) { let _obj = object || {} let { multiple, selectedList, maxCount, selectedCount, deptType } = _obj let data = { multiple, selectedList: selectedList ? selectedList : [], maxCount, selectedCount: selectedCount ? selectedCount : 0, deptType, success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("chooseDepartment", data) }, chooseContacts(object) { let _obj = object || {} let { multiple, selectedList, maxCount, navTitle, navColor, qzId, canDelete, canSelectDept, needYhtUserId, filterCondition } = _obj let data = { multiple, selectedList: selectedList ? selectedList : [], maxCount, navTitle, navColor, qzId, canDelete, canSelectDept, needYhtUserId, filterCondition, success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("chooseContacts", data) }, chooseAllContacts(object) { let _obj = object || {} let data = { multiple: _obj.multiple, navTitle: _obj.navTitle, selectedList: _obj.selectedList, success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("chooseAllContacts", data) }, chooseInsideGroup(object) { let _obj = object || {} let data = { multiple: _obj.multiple, selectedList: _obj.selectedList, groupType: _obj.groupType, success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } // eslint-disable-next-line no-undef YYEsnBridge.do("chooseInsideGroup", data) }, createFeedComponent(object) { let _obj = object || {} let data = { groupId: _obj.groupId, groupName: _obj.groupName, success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("createFeedComponent", data) }, openChatByUserId(object) { let _obj = object || {} let { userType, userId } = _obj if (isEmpty("userId", userId, object)) { return } let data = Object.assign({ userId, userType }, handleResponse(_obj)) execEsnBridge("openChatByUserId", data) }, sendImageMessages(object) { let _obj = object || {} let data = { userType: _obj.userType, chatId: _obj.chatId, chatType: _obj.chatType, filePaths: _obj.filePaths, success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("sendImageMessages", data) }, createNewSchedule(object) { let _obj = object || {} let data = { success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("createNewSchedule", data) }, viewScheduleList(object) { let _obj = object || {} let data = { time: _obj.time, memberId: _obj.memberId, success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("viewScheduleList", data) }, viewScheduleDetail(object) { let _obj = object || {} let data = { scheduleId: _obj.scheduleId, subId: _obj.subId, memberId: _obj.memberId, success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("viewScheduleDetail", data) }, sendMiniMail(object) { let _obj = object || {} let data = { users: _obj.users, spaceId: _obj.spaceId, success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("sendMiniMail", data) }, openLibraryFiles(object) { let _obj = object || {} let { firstCatalog, secondCatalog, thirdCatalog } = _obj let data = { firstCatalog, secondCatalog, thirdCatalog, success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("openLibraryFiles", data) }, previewDoc(object) { let _obj = object || {} let { fileId, fromType = fromType ? fromType : fileId ? 0 : 5, downloadUrl, fileName, needDownload, upload_url } = _obj if (!fileId) { var message // 下载地址 文件名称存在 if (!!downloadUrl && !!fileName) { let index = fileName.lastIndexOf(".") let ext = fileName.substr(index + 1) let fileType = [ "doc", "docx", "wps", "dps", "wpt", "pot", "potx", "ppt", "pptx", "dpt", "pps", "ppsx", "xls", "xlsx", "txt", "pdf", "rar", "zip", "avi", "rmvb", "rm", "asf", "divx", "mpg", "mpeg", "mpe", "wmv", "mp4", "mkv", "vob", "flv", "jpg", "jpeg", "bmp", "psd", "gif", "png", "tiff", "mp3", "wav", ] if (!fileType.includes(ext)) { message = "fileName format error " } else if (fromType === 9 && !upload_url) { message = "upload_url is error " } else { let data = Object.assign({ fromType, downloadUrl, fileName, needDownload, upload_url }, handleResponse(_obj)) execEsnBridge("previewDoc", data) return } } else { message = "parameter is null" } let err = { code: FAIL_CODE, message: message, } _obj.fail && object.fail(err) _obj.complete && object.complete(err) return } // 文件ID let data = Object.assign({ fileId, fromType }, handleResponse(_obj)) execEsnBridge("previewDoc", data) }, wpsPreview(object) { const _obj = object || {} const { fileName, fileExt, fileUrl, fileId, appId } = _obj const data = Object.assign({ fileName, fileExt, fileUrl, fileId, appId }, handleResponse(_obj)) execEsnBridge("wpsPreview", data) }, closeCurrentWebview(object) { let _obj = object || {} let data = { success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("closeCurrentWebview", data) }, settingNavBar(object) { let _obj = object || {} let { hide, backgroundColor, tintColor, fullScreen, hideShadowImage, statusBarStyle, leftItems, centerItems, rightItems } = _obj var data = { hide, backgroundColor, tintColor, fullScreen, hideShadowImage, statusBarStyle, } // 数据为null 不添加 if (leftItems) { data.leftItems = leftItems } if (centerItems) { data.centerItems = centerItems } if (rightItems) { data.rightItems = rightItems } let allData = { ...data, success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("settingNavBar", allData) }, chooseLocalFileToServer(object) { let _obj = object || {} let data = { success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("chooseLocalFileToServer", data) }, chooseLocalFiles(object = {}) { let { maxNumber = 5 } = object let data = { maxNumber, ...handleResponse(object) } execEsnBridge("chooseLocalFiles", data) }, chooseLibraryFiles(object) { let _obj = object || {} let { type } = _obj let data = { type, success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("chooseLibraryFiles", data) }, startContinuousLocation(object) { let _obj = object || {} let data = { success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("continuousLocationStart", data) }, getContinuousLocation(object) { let _obj = object || {} let data = { success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("continuousLocationGet", data) }, stopContinuousLocation(object) { let _obj = object || {} let data = { success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("continuousLocationStop", data) }, shareWithType(object) { let _obj = object || {} let data = { title: _obj.title, type: _obj.type, desc: _obj.desc, imageUrl: _obj.imageUrl, pageUrl: _obj.pageUrl, success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("shareWithType", data) }, showAlert(object) { let _obj = object || {} let data = { type: _obj.type, title: _obj.title, content: _obj.content, confirmButtonText: _obj.confirmButtonText, cancelButtonText: _obj.cancelButtonText, success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("showAlert", data) }, getAppData(object) { let _obj = object || {} let data = { appId: _obj.appId, success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("getAppData", data) }, faceDetect(object) { let _obj = object || {} let { spaceId, faceGroupId, needSmile } = _obj let data = { spaceId, faceGroupId, needSmile, success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("faceDetect", data) }, setGesturePassword(object) { let _obj = object || {} let data = { success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("setGesturePassword", data) }, verifyGesturePassword(object) { let _obj = object || {} let data = { success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("verifyGesturePassword", data) }, verifyLoginPassword(object) { let _obj = object || {} let { title } = _obj let data = { title, success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("verifyLoginPassword", data) }, showShareMenu(object) { let _obj = object || {} let { type, title, desc, imageUrl, pageUrl } = _obj if (isEmpty("desc", desc, object) || isEmpty("pageUrl", pageUrl, object)) { return } let closeNcc = true let data = Object.assign( { title, type, desc, imageUrl, pageUrl, closeNcc, }, handleResponse(_obj) ) execEsnBridge("showShareMenu", data) }, voiceToText(object) { execEsnBridge("voiceToText", handleResponse(object)) }, chooseFile(obj = {}) { execEsnBridge("chooseFile", obj) }, changeFlashLightStatus(object) { let _obj = object || {} let { type, callback } = _obj let data = Object.assign( { callback, type, }, handleResponse(_obj) ) execEsnBridge("changeFlashLightStatus", data) }, isShowTabbar(object) { let _obj = object || {} let data = { isShow: _obj.isShow, success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("isShowTabbar", data) }, openNewWebview(object) { let _obj = object || {} let data = { url: _obj.url, orientation: _obj.orientation, navShow: _obj.navShow, title: _obj.title, success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("openNewWebview", data) }, login(object) { let path = object.url ? object.url : "ht" + "tps://mdf-mobile-dai" + "ly.yonyoucloud.com" mtl.upesn.getUserYHTInfo({ success: (result) => { const { yhtToken, yht_access_token, yht_userid, tenant_id } = result const token = yhtToken || yht_access_token if (token && yht_userid && tenant_id) { axios .get(path + "/mobile/app/index/yht/token/context", { params: { yhtAccessTokenCipher: token, userId: yht_userid, tenantId: tenant_id, }, withCredentials: true, }) .then((response) => { object.success && object.success(response.data) object.complete && object.complete({ code: 200, data: response.data, }) }) .catch((error) => { object.fail && object.fail(error) object.complete && object.complete(error) }) } }, fail: (err) => { object.fail && object.fail(err) object.complete && object.complete(err) }, }) }, openAppWithParams(object) { let _obj = object || {} let data = { app_id: _obj.app_id, qz_id: _obj.qz_id, pluginId: _obj.pluginId, closeNcc: true, success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("openAppWithParams", data) }, getToken(object) { let _obj = object || {} let data = { closeNcc: true, success: function (res) { _obj.success && object.success(res) }, fail: function (err) { _obj.fail && object.fail(err) }, complete: function (res) { _obj.complete && object.complete(res) }, } execEsnBridge("getToken", data) }, getBlueToothState(object) { const closeNcc = true const data = Object.assign( { closeNcc, }, handleResponse(object) ) execEsnBridge("getBlueToothState", data) }, blueToothConnectState(object) { const closeNcc = true const data = Object.assign( { closeNcc, }, handleResponse(object) ) execEsnBridge("blueToothConnectState", data) }, blueToothScan(object) { const closeNcc = true const { registerFunc } = object mtl.upesn.registerCommonCallback("blueToothDevices", function (res, responseCallback) { registerFunc && registerFunc(res) }) const data = Object.assign( { closeNcc, registerFunc: "blueToothDevices", }, handleResponse(object) ) execEsnBridge("blueToothScan", data) }, blueToothConnect(object) { const closeNcc = true const { deviceIndentify, deviceName } = object const data = Object.assign( { closeNcc, deviceIndentify, deviceName, }, handleResponse(object) ) execEsnBridge("blueToothConnect", data) }, blueToothPrint(object) { const closeNcc = true const { printNum, content } = object const data = Object.assign( { closeNcc, printNum, content, }, handleResponse(object) ) execEsnBridge("blueToothPrint", data) }, blueToothDisConnect(object) { const closeNcc = true const data = Object.assign( { closeNcc, }, handleResponse(object) ) execEsnBridge("blueToothDisConnect", data) }, blueToothStopScan(object) { const closeNcc = true const data = Object.assign( { closeNcc, }, handleResponse(object) ) execEsnBridge("blueToothStopScan", data) }, //连接RFID设备 rfidConnect(object) { const closeNcc = true const { callback } = object mtl.upesn.registerCommonCallback("rfidConnectCallback", function (res, responseCallback) { callback && callback(res) }) const data = Object.assign( { closeNcc, callback: "rfidConnectCallback", }, handleResponse(object) ) execEsnBridge("rfidConnect", data) }, //断开连接RFID设备 rfidDisconnect(object) { const closeNcc = true const data = Object.assign( { closeNcc, }, handleResponse(object) ) execEsnBridge("rfidDisconnect", data) }, //设置小程序胶囊样式 setAppletCapsuleStyle(object) { let _obj = object || {} const data = Object.assign( { ..._obj, closeNcc: true, }, handleResponse(object) ) execEsnBridge("setAppletCapsuleStyle", data) }, //获取胶囊设置参数 getAppletCapsuleParams(object) { let _obj = object || {} const data = Object.assign( { ..._obj, closeNcc: true, }, handleResponse(object) ) execEsnBridge("getAppletCapsuleParams", data) }, //设置状态栏样式 setStatusBarStyle(object) { let _obj = object || {} const data = Object.assign( { ..._obj, closeNcc: true, }, handleResponse(object) ) execEsnBridge("setStatusBarStyle", data) }, sendTodoReceipt(object = {}) { successCallBack(object) }, chooseDocFiles(object = {}) { successCallBack(object) }, getAppInfomation(object = {}) { successCallBack(object) }, } function execEsnBridge(method, source) { let __start = source.closeNcc ? "" : __NCC let data = { ...source, fail: function (error) { console.log("error:", error) source.fail(getErrormsg(method, error, __start)) }, } console.log("exec YYEsnBridge.do method :", __start + method) console.log("data: ", data) // eslint-disable-next-line no-undef 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) { let esnError = { code: -1, message: errmsg, } if (typeof error === "object") { let code = error && error.errCode let msg = "" if (code == 1003) { msg = "by user cancel" } else if (code == -1000) { msg = "method no found" } else if (code == 405) { msg = "Unauthorized and unauthorized to perform this operation!" } else if (code == 401) { msg = "User doesn't have permission to access" } esnError.code = code esnError.message = msg || JSON.stringify(error) } let errmsg = `YYZone api ${__start + method}, error message: ${esnError.message}` esnError.message = errmsg return esnError } /** * 统一处理API的回调 * @param {*} object * @param {*} callback */ function handleResponse(object, callback) { return { success: (res) => { let data = (callback && callback(res)) || res object.success && object.success(data) object.complete && object.complete({ code: 200, data, }) }, fail: (res) => { console.log("handleResponse:fail", res) object.fail && object.fail(res) object.complete && object.complete(res) }, } } /** * 参数为空判断 */ function isEmpty(key, value, obj) { if (!!!value) { let res = { code: -1, message: `${key} is null`, } obj.fail && obj.fail(res) obj.complete && obj.complete(res) return true } return false } let exports = { upesn, execEsnBridge, handleResponse, successCallBack, isEmpty, } export default exports