import Request from '@/library/Request.js' import sotre from "@/store/index.js" export default function initSys() { const appType = uni.getSystemInfoSync().platform; if (plus != null) { plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => { try { let versionCode = wgtinfo.versionCode; let arr1 = wgtinfo.version.split('.'); sotre.commit('chnangeSshowData', false); Request.post("sysInit", { code: versionCode }) .then(res => { if (res.code == 200) { if (appType != "ios") { if (wgtinfo.versionCode < res.data.app_code) { sotre.commit('chnangeSshowData', false); const upDater = uni.requireNativePlugin("CL-UpDater"); let options = { title: "升级", con: res.data.app_update, downUrl: encodeURI(res.data.android_url), //必填 hidCancelbtn: true, //是否隐藏取消按钮; btnBgColor: "#ff3300", //设置按钮背景色颜色 updateBtnText: "升级", //升级按钮文字,默认为立即升级 topImgBg: "", //非必填,用于自定义;自定义方法请参考demo, hidBackBtn: true, //可选 默认为false(即会显示后台更新按钮), 设置android 整包更新弹框是否显示后台更新按钮,这个只有android整包更新才有这个参数,热更新是是无法设置的。 verCode: res.data .app_version, //最新apk版本号 可选 用于Android整包升级,避免用户取消安装apk时,重复下载问题,如果不传的话,apk将会重新下载, downMsgTip: "资源下载中,请稍后...", //可选(android) goBackBtnText: "进入后台", //可选(android) }; //必需提供下载地址; upDater.startUpdate(options, () => {}); } else if (wgtinfo.versionCode > res.data.app_code) { sotre.commit('chnangeSshowData', false); } else { sotre.commit('chnangeSshowData', true); } } } }).catch((err) => { console.log(err) }); if (appType == "ios") { const getIosUpAppUrl = 'https://itunes.apple.com/cn/lookup?id=6474850968' const iosAppStroeUrl = 'https://apps.apple.com/cn/app/%E6%98%93%E8%B6%A3cbb/id6474850968'; uni.request({ url: getIosUpAppUrl, method: 'POST', data: {}, success: res => { let arr = res.data.results[0].version.split('.'); for (let i = 0; i < arr.length; i++) { // 线上版本号 const x = +arr[i]; // 本地版本号 const y = +arr1[i]; // 判断线上版本是否小于本地版本 if (x < y) { // 设置显示数据 sotre.commit('chnangeSshowData', false); return } // 判断线上版本是否大于本地版本 else if (x > y) { sotre.commit('chnangeSshowData', false); uni.showModal({ title: '提示', content: '请更新应用', showCancel: false, success(e) { plus.runtime.openURL( iosAppStroeUrl ); } }); return } // 判断是否本地版本等于线上版本 else if (x == y && i == arr.length - 1) { sotre.commit('chnangeSshowData', true); return } } }, fail: res => { console.log(res, 'shib'); } }); } } catch (e) { console.log(e) } }); } }