1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
| <template> <view class="content"> <view>version: {{ version }}</view> <view>versionCode: {{ versionCode }}</view> <view>wgtVersion: {{ wgtVersion }}</view> </view> </template>
<script> export default { data() { return { version: '', versionCode: '', wgtVersion: '', } }, onLoad() { this.getCurrentVersion() }, methods: { /** * 当前版本信息获取 */ getCurrentVersion() { const systemInfo = uni.getSystemInfoSync() this.version = systemInfo.appVersion this.versionCode = systemInfo.appVersionCode this.wgtVersion = systemInfo.appWgtVersion }, /** * 全量更新(wgt包) */ handleUpdateAppApk() { // #ifdef APP-PLUS updateApp('请求app最新版本信息的接口').then((res) => { if (res.data.versionCode > this.versionCode) { uni.showModal({ // 提醒用户更新 modal 框 title: '更新提示', content: 'app有新版本,请更新', success: (modalRes) => { if (modalRes.confirm) { // 可以使用 plus.runtime.openURL 打开地址下载 也可以使用 uni.downloadFile 创建下载任务进行下载(下方 wgt 更新使用该方案) plus.runtime.openURL(res.data.downloadUrl) } }, }) } else { plus.nativeUI.toast('已最新版本') } }) // #endif }, /** * 增量更新(wgt包) */ handleUpdateAppWgt() { // #ifdef APP-PLUS updateApp('请求app最新版本信息的接口').then((res) => { if (res.data.versionCode > this.versionCode) { // 需要更新 const downloadTask = uni.downloadFile({ url: res.data.downloadUrl, // 下载地址 success: (downloadResult) => { if (downloadResult.statusCode === 200) { plus.runtime.install( downloadResult.tempFilePath, { // force: 是否强制安装 // true表示强制安装,不进行版本号的校验;false则需要版本号校验,如果将要安装应用的版本号不高于现有应用的版本号则终止安装,并返回安装失败。 仅安装wgt和wgtu时生效,默认值 false。 force: false, }, function () { console.log('安装成功...') plus.nativeUI.showWaiting('更新完成') setTimeout(() => { plus.nativeUI.closeWaiting() plus.runtime.restart() //重启app }, 1500) }, function (e) { console.error('安装失败...', e) plus.nativeUI.toast(`安装失败:${e.message}`) } ) } }, fail: (item) => { console.log(item) }, }) downloadTask.onProgressUpdate((item) => { console.log('下载进度:', item.progress, '%') }) } else { plus.nativeUI.toast('已最新版本') } }) // #endif }, }, } </script>
<style lang="scss" scoped></style>
|