UNPKG

eapp

Version:
447 lines (426 loc) 11.7 kB
Ibox("IEappApi.moco", function (iboxLoad, exports, ibox) { // 引用父类IEappApi var IEappApi = iboxLoad('IEappApi'); // 工具类 var utils = Ibox.utils; /** * 根据变量名获取变量值 * @param keyName * @returns {any} */ exports.getValueByKey = function (keyName) { log("getValueByKey", keyName); return "moco_value_" + keyName; }; /** * 从相机获取照片 * @param quality * @param successCallBack * @param failCallBack */ exports.takePhotoFromCamera = function (quality, successCallBack, failCallBack, wrapId) { log("takePhotoFromCamera", "quality:" + quality); var inputDomId = 'id_input_' + wrapId; var inputDom = document.getElementById(inputDomId); // 动态添加input标签 if (!inputDom) { var ipt = document.createElement("input"); ipt.type = "file"; ipt.style.display = "none"; ipt.id = inputDomId; ipt.accept = "image/*"; ipt.onchange = function(){ getPhotoBase64ByDomId(inputDomId, function (base64Data) { successCallBack && successCallBack(base64Data); }, function (error) { failCallBack && failCallBack(error); }); }; ipt.multiple = true; document.body.appendChild(ipt); document.getElementById(inputDomId).click(); }else{ inputDom.click(); } }; /** * 从相册获取照片 * @param quality * @param successCallBack * @param failCallBack */ exports.takePhotoFromAlbum = function (quality, successCallBack, failCallBack, wrapId) { log("takePhotoFromAlbum", quality); exports.takePhotoFromCamera(quality, successCallBack, failCallBack, wrapId); }; /** * 获取照片 * @param sourceType */ exports.takePhoto = function (sourceType, quality, successCallBack, failCallBack) { log("takePhoto", sourceType); }; /** * 扫一扫 * @param params * @param successCallBack * @param failCallBack */ exports.takeScan = function (params, successCallBack, failCallBack) { log("takeScan", params); var data = { text: "模拟的扫码字符串", format: "qrcode", cancelled: false }; log("takeScan--data-->", data); successCallBack && successCallBack(data); }; /** * 以window的方式打开第三方Url,以兼顾ios的无法返回 * @param url */ exports.goThirdUrl = function (url) { log("goThirdUrl", url); window.location.href = url; }; /** * 启动第三方应用 * @param packageName */ exports.startAPP = function (packageName,componentClass) { log("startAPP", packageName+"类名"+componentClass); }; /** * 跳转到ios升级安装页面 * @param iosUrl */ exports.goInstallIosPage = function (iosUrl) { log("goInstallIosPage", iosUrl); }; /** * 获取权限 * @returns {*} */ exports.getPermissionApi = function () { return {}; }; /** * 检查权限 * @param permission * @param okCB * @param errorCB */ exports.checkPermission = function (permission, okCB, errorCB) { log("checkPermission"); okCB && okCB(); }; /** * 申请权限 * @param permissions * @param okCB * @param errorCB */ exports.requestPermissions = function (permissions, okCB, errorCB) { log("requestPermissions"); okCB && okCB(); }; /** * 检查是否有写入权限 * @param successCallBack * @param failCallBack */ exports.requestWriteStorage = function (okCB, errCB) { log("requestWriteStorage"); okCB && okCB(); }; /** * 检查和申请权限 * @param perminssion * @param okCB * @param errCB */ exports.checkAndRequestPermission = function (perminssion, okCB, errCB) { log("checkAndRequestPermission"); okCB && okCB(); }; /** * 创建、下载、安装apk * @param apkUrl */ exports.downloadAndInstallApk = function (apkUrl, callBack) { log("downloadAndInstallApk", apkUrl); callBack({status:200}); var progress = 0; var interval = setInterval(function () { progress += 10; if (progress === 100) { clearInterval(interval); callBack({status:202}); exports.installApk("xxx.apk"); }else{ callBack({status:201,progress:progress}); } }, 300) }; /** * 退出应用程序(Android) */ exports.exitApp = function () { log("exitApp"); }; /** * 返回上一次浏览页面(Android) */ exports.goBack = function () { log("goBack"); }; /** * 清空浏览历史(Android) */ exports.clearHistory = function () { log("clearHistory"); }; /** * 清空程序的资源文件缓存(Android) */ exports.clearCache = function () { log("clearCache"); }; /** * 调用显示启动应用程序的背景图片 */ exports.showSplash = function () { log("showSplash"); }; /** * 调用隐藏启动应用程序的背景图片 */ exports.hideSplash = function () { log("hideSplash"); }; /** * 修改电池状态栏颜色 * @param color * @param textColorFlag 0默认:白字配深色背景;1:黑字配白色背景 */ exports.titleBarColor = function (color, textColorFlag) { log("titleBarColor", color); }; /** * 设置电池栏字体颜色 * @param textColorFlag 0默认:白字配深色背景;1:黑字配白色背景 */ exports.titleBarTextColor = function (textColorFlag) { log("titleBarTextColor", textColorFlag); }; /** * 获取当前网络类型 * @returns {*} */ exports.getNetWorkType = function () { log("getNetWorkType"); }; /** * 设置APN * @returns {*} */ exports.toSettingApn = function () { log("toSettingApn"); }; /** * 获取当前版本Version和Code * @returns {Promise<any>} */ exports.getAppVersionNameAndCode = function (callback) { log("getAppVersionNameAndCode"); var ver = { code: "¥{{appVersionCode}}¥", version: "¥{{appVersion}}¥", }; callback(ver); }; /** * 下载apk文件 * @param filePath * @param apkUrl */ exports.downloadApk = function (filePath, apkUrl, callBack) { log("downloadApk", apkUrl); }; /** * 发起系统安装界面 * @param apkUrl */ exports.installApk = function (apkUrl) { log("installApk", apkUrl); }; /** * 下载文件 * @param filePath * @param fileUrl */ exports.downloadFile = function (filePath, fileUrl, callBack) { log("downloadFile", filePath); }; /** * 获取百度GPS坐标 * */ exports.getCurrentPosition = function (callback) { log("getCurrentPosition"); }; /** * 开始语音听写 * @param success * @param error */ exports.StartVoiceRecognizer = function (success, error, isShow, isPunc) { log("StartVoiceRecognizer"); }; /** * 停止语音听写 */ exports.StopVoiceRecognizer = function () { log("StopVoiceRecognizer"); }; /** * 取消语音听写 */ exports.CancelVoiceRecognizer = function () { log("CancelVoiceRecognizer"); }; /** * 开始语音朗读 * @param success * @param error */ exports.StartSpeack = function (success, error, txt) { log("StartSpeack", txt); }; /** * 暂停语音朗读 */ exports.PauseSpeack = function () { log("PauseSpeack"); }; /** * 继续语音朗读 */ exports.ResumeSpeack = function () { log("ResumeSpeack"); }; /** * 停止语音朗读 */ exports.StopSpeack = function () { log("StopSpeack"); }; /** * HttpPost请求 */ exports.HttpRequest = function (http_type, url, options, headers, success, error) { log("HttpRequest", options); }; /** * 进入新的App页面 * @param url * @param options * @param success * @param error */ exports.goNewAppPage = function (url, options, success, error) { log("goNewAppPage", url); }; /** * 退出App页面 * @param success * @param error */ exports.exitAppPage = function (success, error) { log("exitAppPage"); }; /** * 启动第三方页面 * @param success * @param error */ exports.openIosApp = function (success, error, params) { log("openIosApp"); }; /** * 获取支持的跳转的ios应用集合 * @param success * @param error * @param params * @returns {module.exports.TYPE|{S_QQ, S_WEIXIN, S_TAOBAO, S_DIANPING, S_SINAWEIBO, S_WEICO, S_ALIPAY, S_DOUBAN, S_SINAVDISK, S_NTESOPEN, S_IMETITUAN, S_JDMOBLE, S_RENREN, S_WCC, S_WCCBYIHAODIAN, S_YDDICTPROAPP, S_ZHIHU, S_YOUKU, S_BAIDUMAP, S_iosamap}|*} */ exports.getIosAppList = function () { log("getIosAppList"); return {}; }; /** * 设置缓存值 * @returns {{}} */ exports.setValueForApp = function(success,error,params){ log("setValueForApp"); }; var ready = false; /** * 是否准备好了 * @returns {boolean} */ exports.isReady = function () { return ready; }; /** * 获取缓存值 * @returns {{}} */ exports.getValueFromApp = function(success,error,params){ log("getValueFromApp"); }; // 打印 function log(method, obj) { utils.showWarnLog("moco--模拟实现方法--->" + method + "", obj); } function getPhotoBase64ByDomId(inputDomId, okCB, noCB) { var thisInput = document.getElementById(inputDomId); if(!thisInput) return; for (var index = 0; index < thisInput.files.length; index++) { /** 压缩图片 */ lrz(thisInput.files[index], { width: 720,//设置压缩参数 height: 1080, crop: true, quality: 60, preserve_header: false }).then(function (rst) { utils.showWarnLog("---图片压缩后转为base64--->" + rst.base64); // utils.showLog("---图片名称--->" + rst.origin.name); var name = rst.origin.name; var base64str = rst.base64; if(okCB){ okCB(base64str); } }).catch(function (err) { utils.showErrorLog("js上传图片失败--->", err); if(noCB){ noCB(err); } }).always(function () { /* 必然执行 */ }); } } setTimeout(function () { // debugger; ready = true; var readyArr = IEappApi.eventListeners.EappReady; for (var i = 0; i < readyArr.length; i++) { readyArr[i](); } log("EappReady"); }, 300); });