uni-app实现热更新和整包更新(自动下载)

前言:在uni-app中要实现热更新和整包更新是比较简单的开发准备以及前后端配合
1.实现热更新

  • 热更新通常是小版本更新,改动量不大的更新

①:将项目应用版本号和后端就是协商例:规定1.2.5 是现在要更新的版本
在这里插入图片描述
在这里插入图片描述将其生成wgt包交给后端放入服务器
②:低版本(如:1.2.1)的app中前端在app.vue的onLaunch函数中加入以下代码

// #ifdef APP-PLUS  
plus.runtime.getProperty(plus.runtime.appid, function(widgetInfo) {
    	//获取本机app版本号应用名等相关信息
    uni.request({
     
        url: 'http://express.sugouex.com/v1/Appupdate/innerend',	//请求服务器地址
        data: {
     
            version: widgetInfo.version,  
            name: widgetInfo.name  
        },  
        success: (result) => {
   					//后端将进行版本号比对,上传版本号小于服务器版本号data.update为true,下发下载地址
            var data = result.data.data;
            if (data.update && data.wgtUrl) {
     
                uni.downloadFile({
   			   //开始下载后端下发wgt包
                    url: data.wgtUrl,  
                    success: (downloadResult) => {
   
						uni.showToast({
   
							title:'开始更新下载',
							icon:'none'
						})
                        if (downloadResult.statusCode === 200) {
     
                            plus.runtime.install(downloadResult.tem
  • 9
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
uni-app热更新可以通过服务器存储最新版本号,前端进行查询并匹对版本号实现。具体实现步骤如下: 1.在服务器中存储最新版本号。 2.前端在应用首次进入时进行请求版本号,并与本地版本号进行匹对。 3.如果版本号一致,则不提示更新;如果版本号不一致,则提示进行更新操作。 4.执行更新操作,可以通过下载热更新包并进行安装实现。 5.在进行热更新之前,需要进行云打包并修改mainifest.json文件中的版本号,将其修改为低于热更新包的版本号。 以下是一个简单的uni-app热更新的示例代码: ```javascript // 获取服务器最新版本号 const latestVersion = await fetchLatestVersion(); // 获取本地版本号 const localVersion = getAppVersion(); // 版本号匹对 if (latestVersion !== localVersion) { // 提示更新操作 uni.showModal({ title: '发现新版本', content: '是否立即更新?', success: function (res) { if (res.confirm) { // 下载热更新包并进行安装 downloadAndUpdate(); } } }); } // 下载热更新包并进行安装 function downloadAndUpdate() { // 下载热更新包 const hotUpdate = uni.downloadFile({ url: 'https://www.example.com/hot-update.zip', success: function (res) { // 安装热更新uni.applyUpdate({ packagePath: res.tempFilePath, success: function () { // 热更新成功 }, fail: function () { // 热更新失败 } }); }, fail: function () { // 下载热更新包失败 } }); } ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值