import { $versionDetection } from '@/http/apiManager.js'; import appConfig from '@/config/appConfig.js' // app更新 function appPlusUpdate(sign){ // 获取版本号 plus.runtime.getProperty(plus.runtime.appid, function(inf) { // 调起接口查询 $versionDetection({versionNumber: inf.versionCode}) .then(({ bizData }) => { //返回data为空或者版本号一致 if (!bizData || Object.keys(bizData).length == 0 || !bizData.versionSerialNumber || bizData.versionSerialNumber == inf.versionCode) { if(sign === 'checked') { uni.showToast({ title: '已是最新版本' }) } return false; } // 是否强制更新 let isForceUpdate = bizData.forceUpdate == 1 uni.showModal({ title: '发现新版本:' + bizData.versionName, showCancel: !isForceUpdate , content: bizData.versionDesc, confirmText: '立即更新', confirmColor: '#108EE9', success: function(r) { if (r.confirm) { downLoad(bizData.downloadUrl); }else{ // 强制更新也需要更新 if(isForceUpdate){ downLoad(bizData.downloadUrl); } } } }); }); }); } //下载更新包 function downLoad(url) { if (!url) { uni.showToast({icon: 'none',title: '下载地址错误'}); return false; } // 下载文件 uni.showLoading({title: '更新中'}); uni.downloadFile({ url: url, success: res => { uni.hideLoading(); if (res.statusCode === 200) { uni.showToast({title: '下载成功'}); plus.runtime.install(res.tempFilePath); } }, fail: res => { uni.hideLoading(); } }); } // 获取当前版本 & 检查 export function getCurrentVersionPromise() { let isApp = false // #ifdef APP-PLUS isApp = true // #endif if(!isApp){ return Promise.reject() } // 获取版本号 return new Promise((resolve, reject) => { plus.runtime.getProperty(plus.runtime.appid, function(inf) { resolve(inf) }) }) } // 获取当前版本 & 检查 export function checkCurrVersion(sign) { // #ifdef APP-PLUS switch(uni.getSystemInfoSync().platform){ case 'android': appPlusUpdate(sign) //仅安卓更新 break; case 'ios': break; default: break; } // #endif } //同步取出ext.json对象 export function getExtStoreId(){ try{ const extConfig = uni.getExtConfigSync() if(extConfig.domain){ appConfig.env.JEEPAY_BASE_URL = extConfig.domain } // uni.showToast({title: JSON.stringify(extConfig),icon:"none",duration:3000}); console.log(extConfig,'extJson对象'); return extConfig; }catch(err){ console.log(err,'getExtStoreId__error') } }