uni-app 静默更新、整包更新

使用uni-app开发app,发布线上后仍需不断更新版本。更新方式可分为:

1、静默更新:wgt包。用户不用再次下载安装包,只需要根据提示重启即可更新,但静默更新只适用于代码的更新,无法更新插件。

2、整包更新:apk包。需要更新安装包,但也能更新插件。

1、使用插件:

插件地址:https://ext.dcloud.net.cn/plugin?id=7286

2、在manifest.json -> App权限配置勾选权限:

3、代码实现:

在App.vue中:

import silenceUpdate from '@/uni_modules/rt-uni-update/js_sdk/silence-update.js'

onLaunch() {
			// 加载系统信息
			this.$store.dispatch('SystemInfo');
			this.getUpdate();
},		

methods:{
    getUpdate() {
				//#ifdef APP-PLUS
				const apkUrl = environment.baseURL + "/download?fileName=app.apk&delete=false" // 文件包下载地址
				const wgtUrl = environment.baseURL + "/download?fileName=app.wgt&delete=false"
				const token = uni.getStorageSync('token');
				var that = this
				plus.runtime.getProperty(plus.runtime.appid, (inf) => {
					uni.request({
						url: environment.baseURL + '/system/config', //调用后台接口,要返回我们更新所需要的版本号、更新类型等内容
						method: "GET",
						header: {
							Authorization: 'Bearer ' + token,
							'Content-Type': 'application/json;charset=UTF-8'
						},
						success: (res) => {
							if (res.data.code == 200) {
								let result = JSON.parse(res.data.msg)
								if (result.type === 1 && (Number(uni.getStorageSync(
										"currentVersion")) < result.wgtVersion)) { // 静默更新
									silenceUpdate(wgtUrl)
									uni.setStorageSync("currentVersion", Number(result.wgtVersion))
								}
								if (result.type === 0 && (inf.version < result.apkVersion)) { // 整包更新
									let data = {
										edition_url: apkUrl, // 文件包下载地址
										edition_force: 1, // 强制更新
										package_type: 0,
										edition_name: result.apkVersion, // 要更新的版本
									}
									uni.navigateTo({
										url: '/uni_modules/rt-uni-update/components/rt-uni-update/rt-uni-update?obj=' +
											JSON.stringify(data)
									});
								}
							}
						}
					})
				});
				//#endif
		},

}

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值