diff --git a/App.vue b/App.vue index 48bbd2d..79a1e7a 100644 --- a/App.vue +++ b/App.vue @@ -6,8 +6,9 @@ App.vue本身不是页面,这里不能编写视图元素,也就是没有 { + let that = this uni.hideTabBar() // #ifdef MP-WEIXIN const updateManager = wx.getUpdateManager() // 小程序版本更新管理器 @@ -23,6 +24,146 @@ App.vue本身不是页面,这里不能编写视图元素,也就是没有 { + //请求后台接口 解析数据 对比版本 + console.log("widgetInfo==",widgetInfo) + getFindBySource({source:'APP'}).then(res => { + console.log("selectNewApp==",res) + console.log("version===",res.url && widgetInfo.version < res.version) + if (res.url && widgetInfo.version < res.version) { + console.log("version===222") + let downloadLink = res.url; + // let downloadLink = "https://short-video.hnsiyao.cn/app/sy-duanju.apk"; + console.log(downloadLink) + // let androidLink = res.androidWgtUrl; + // let iosLink = res.iosWgtUrl; + let ready = false; + // 校验是否强制升级 + if (res.isUp == 1) { + uni.showModal({ + showCancel: false, + title: '发现新版本', + confirmText: '立即更新', + content: res.message, + success: res => { + if (res.confirm) { + uni.showLoading('下载中...'); + if (uni.getSystemInfoSync().platform == + 'android') { + uni.downloadFile({ + url: downloadLink, + success: downloadResult => { + if (downloadResult.statusCode === 200) { + plus.io.resolveLocalFileSystemURL(downloadResult.tempFilePath, entry => { + entry.getParent(_oldFile=>{ + entry.moveTo(_oldFile,'.apk',newFilePath=>{ + console.log('newFilePath',newFilePath.fullPath) + plus.runtime + .install(newFilePath.fullPath, { force: false }, + d => { + console + .log( + 'install success...' + ); + plus.runtime + .restart(); + }, + e => { + console.log(e) + console + .error( + 'install fail...' + ); + } + ); + }) + }) + }) + } + } + }); + } + if (uni.getSystemInfoSync().platform == + 'ios') { + plus.runtime.openURL(downloadLink, function( + res) {}); + } + } else if (res.cancel) { + console.log('取消'); + } + } + }); + } else { + uni.showModal({ + title: '发现新版本', + confirmText: '立即更新', + cancelText: '下次更新', + content: res.message, + success: res => { + if (res.confirm) { + uni.showLoading('下载中...'); + if (uni.getSystemInfoSync().platform == + 'android') { + uni.downloadFile({ + url: downloadLink, + success: downloadResult => { + if (downloadResult + .statusCode === + 200) { + plus.io.resolveLocalFileSystemURL(downloadResult.tempFilePath, entry => { + entry.getParent(_oldFile=>{ + entry.moveTo(_oldFile,'.apk',newFilePath=>{ + console.log('newFilePath',newFilePath.fullPath) + plus.runtime + .install(newFilePath.fullPath, { force: false }, + d => { + console + .log( + 'install success...' + ); + plus.runtime + .restart(); + }, + e => { + console.log(e) + console + .error( + 'install fail...' + ); + } + ); + }) + }) + }) + + } + } + }); + } + if (uni.getSystemInfoSync().platform == + 'ios') { + plus.runtime.openURL(downloadLink, function( + res) {}); + } + } else if (res.cancel) { + console.log('取消'); + } + } + }); + } + } + }).catch((res)=>{ + console.log(res) + }) + }); + + // #endif + }); diff --git a/http/yskApi/http.js b/http/yskApi/http.js index 67aef22..bf3c162 100644 --- a/http/yskApi/http.js +++ b/http/yskApi/http.js @@ -202,6 +202,7 @@ function request(args) { method: method, header: getHeader() }, extParams) + ) }) } diff --git a/http/yskApi/version.js b/http/yskApi/version.js new file mode 100644 index 0000000..9929361 --- /dev/null +++ b/http/yskApi/version.js @@ -0,0 +1,15 @@ +import http from './http.js' +const request=http.request + + +/** + * 查询所属渠道升级版本 + * @returns + */ +export function getFindBySource(params) { + return request({ + url: `/api/tbVersion/findBySource`, + method: 'get', + params + }) +} diff --git a/unpackage/debug/android_debug.apk b/unpackage/debug/android_debug.apk index 255d8a2..5211512 100644 Binary files a/unpackage/debug/android_debug.apk and b/unpackage/debug/android_debug.apk differ