From f591c27b57e2418c9495bc02ae8cfff84d35bc18 Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期二, 16 七月 2024 16:27:56 +0800 Subject: [PATCH] init --- App.vue | 95 +++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 91 insertions(+), 4 deletions(-) diff --git a/App.vue b/App.vue index 4c65956..bb81cd6 100644 --- a/App.vue +++ b/App.vue @@ -1,9 +1,15 @@ <script> + import {getLastApp} from 'api/index.js'; + import VUE_APP_BASE_URL from 'common/constant.js' var jpushModule = uni.requireNativePlugin("JG-JPush") export default { + data() { + return { + version: '' + } + }, onLaunch: function() { - // console.log('App Launch',jpushModule) // jpushModule.initJPushService(); // jpushModule.setLoggerEnable(true); // jpushModule.addConnectEventListener(result=>{ @@ -19,7 +25,7 @@ // if (result.title.includes('工作通知')){ // uni.switchTab({ // url: '/pages/tabBar/notice/notice', - // }) + // }) // //信息审核——领导审核页 // }else if(result.title == '您有新的信息需要审批'){ // uni.switchTab({ @@ -30,7 +36,7 @@ // uni.switchTab({ // url: '/pages/tabBar/information/information', // }) - // } + // } // }else { // console.log("未登录") // //未登录跳转首页 @@ -105,11 +111,92 @@ }, onShow: function() { + // plus.runtime.getProperty(plus.runtime.appid, wgtinfo => { + // this.version = wgtinfo.version; + // if(this.version){ + // this.getMaxVersion(); + // } + // }) + console.log('App Show') + + }, onHide: function() { // jpushModule.initJPushService(); console.log('App Hide') + }, + methods: { + // 获取最新版本 + getMaxVersion() { + uni.getSystemInfo({ + success: (res) => { + getLastApp().then(res => { + if (res.code === 100) { + console.log(res,'res'); + this.updateVersion(res.data); + } + }) + }, + }); + }, + + // 版本对比 + updateVersion(data) { + const lastVersion = data.version; //最新版本 + const curVersion = this.version; // 当前版本 + console.log("lastVersion",lastVersion) + console.log("curVersion",curVersion) + if (curVersion && lastVersion) { + const curNum = parseInt(curVersion.replace(/[,|.]/g, '')) + const lastNum = parseInt(lastVersion.replace(/[,|.]/g, '')) + + if (lastNum > curNum) { + this.showFly(data.attachmentInfo.fileUrl,lastVersion); + + } + } + }, + // 版本下载 升级 + showFly(url,lastVersion) { + console.log("url",url) + uni.showModal({ + title: "更新提示", + content: `发现新版本${lastVersion},立即升级!`, + showCancel: false, // 如果是强制更新就不显示取消按钮 + success: (e) => { + if (e.confirm) { + uni.showLoading({ + title: "更新中……", + }); + const downloadTask = uni.downloadFile({ + url: VUE_APP_BASE_URL + url, // 这个是最新版本apk包的地址 + success: (res) => { + uni.hideLoading(); + if (res.statusCode === 200) { + console.log("url",VUE_APP_BASE_URL + url) + plus.runtime.install(res.tempFilePath, { force: true }, _res => { + uni.showToast({ + title: "更新成功,重启中", + duration: 1600, + }); + plus.runtime.restart(); + uni.hideToast(); + } + ); + } else { + uni.showToast({ + title: "下载失败!", + icon: "none", + duration: 800, + }); + } + }, + }); + } + }, + }); + } } } @@ -123,7 +210,7 @@ @import '@/static/customicons.css'; // 设置整个项目的背景色 page { - background-color: #f5f5f5; + background-color: #f5f7fa; height: 100%; } -- Gitblit v1.9.2