fengrui99 发表于 2019-7-3 09:25

uni-app在线更新升级-强制更新(可静默)支持热更新(wgt)

本帖最后由 fengrui99 于 2019-7-3 09:26 编辑

本文转自枫瑞网原文地址:https://www.frbkw.com/1823/

uni-app后面才支持了热更新(wgt),即使官网没有更新wgt。强大的插件市有很多大神就做出了插件,本文对大神做的一个更新插件从easy-mock模拟数据复制到自己的服务器。针对插件使用做一个过程说明,大佬直接跳过该文章啦!相信还有一些不会js以及后端的小伙伴会需要用到该文章。


1.下载插件
https://ext.dcloud.net.cn/plugin?id=237

2.了解大神的插件文件结构
主要用到3个文件,main.json,/common/checkUpdater.js,/pages/update/index.vue

2.1 main.json文件的currentVersion中的id改为1003,这个主要触发检测更新的版本号
2.2 checkUpdater.js文件的有3个连接分为
###2.2.1.检查版本号(静默强制更新) [**getVersionID**](https://www.easy-mock.com/mock/5c95e1ac8e241c358386bc16/pure-updater/version/id)
###2.2.2.检查版本号(正常更新) [**getVersionID**](https://www.easy-mock.com/mock/5c95e1ac8e241c358386bc16/pure-updater/version/id2)
###2.2.3.拉取版本信息 [**getVersionInfo**](https://www.easy-mock.com/mock/5c95e1ac8e241c358386bc16/pure-updater/version/info)
2.3 index.vue文件的request请求与服务器版本号做对比

3.将相对应文件复制到自己服务
器我们先复制2.23的拉取版本信息的地址用浏览器打开,如下图

我们用编辑新建一个文件,取名为info.json内容图上内容为:(切记不能用新建text文件编码不同中文会乱码)
{
"latest": {
    "info": {
      "id": "1004",
      "name": "Pure-updater",
      "number": "1.0.4",
      "info": "1.此版本用于测试自动更新\n2.请求数据来自Easy Mock\n3.请更换成自己的api地址",
      "androidLink": "http://test.miya.ink/release/1004.wgt",
      "iosLink": "http://test.miya.ink/release/1004.wgt",
      "packgeSize": "209270",
      "type": "alpha"
    }
}
}


上传到自己的服务器后打开检测下是否正常,显示正常后复制地址到update/index.vue文件中request中

uni.request({
      url: 'https://www.frbkw.com/info.json',
      method: 'GET',
      data: {
          search: 'latestInfo'
      },
      success: (res) => {
                                        console.log(res.data)
          if (res.statusCode === 200) {
            const response = res.data
            this.latest = response.latest.info
            this.buttonLoading = false
            this.checkLatest()
          }
      }


运行到小程序模拟器(H5会有跨域问题会报错哈)


小程序运行即可正常
https://frbkw.com//wp-center/uploads/2019/07/fc7b3a9ab08ae0a-1024x986.png

fengrui99 发表于 2019-7-3 09:41

hf2008paopao 发表于 2019-7-3 09:34
难道第一个沙发不知道这个软件是作什么的?
昂!
我真的不知道,求解释下。

UNI-APP算是一个框架,可以做小程序的和安卓,苹果应用。这个文章是对它里面的一个插件使用做一个说明。可能我一开始没有说清楚,下次文章的时候我注意下{:1_893:}

fengrui99 发表于 2019-8-19 08:55

tpcoder 发表于 2019-8-17 18:45
请教下使用这个更新uni-app的小程序前端了,需要在提审核重新过审么?前端需要重新过审的话感觉这个东 ...

小程序不是很懂,但这个方式适合app更新。

hf2008paopao 发表于 2019-7-3 09:34

难道第一个沙发不知道这个软件是作什么的?
昂!
我真的不知道,求解释下。

hf2008paopao 发表于 2019-7-4 08:56

fengrui99 发表于 2019-7-3 09:41
UNI-APP算是一个框架,可以做小程序的和安卓,苹果应用。这个文章是对它里面的一个插件使用做一个说明。 ...

enen ,知道了。谢谢分享

小日子漂流 发表于 2019-7-8 10:55

请教楼主一个问题,为什么按照他的和官方的进度条就是无法监听,然后我试了下只要是压缩包更是就能监听到进度条变化,.wgt就无法获取,不知道你有没有遇到这个问题

fengrui99 发表于 2019-7-8 11:15

小日子漂流 发表于 2019-7-8 10:55
请教楼主一个问题,为什么按照他的和官方的进度条就是无法监听,然后我试了下只要是压缩包更是就能监听到进 ...

这个海没有碰到,有空我试试

小日子漂流 发表于 2019-7-8 11:19

fengrui99 发表于 2019-7-8 11:15
这个海没有碰到,有空我试试

刚测试,图片文件和压缩文件可以监听到进度条变化,但是.wgt已经其它格式就无法坚挺到进度条

fengrui99 发表于 2019-7-8 11:22

小日子漂流 发表于 2019-7-8 11:19
刚测试,图片文件和压缩文件可以监听到进度条变化,但是.wgt已经其它格式就无法坚挺到进度条

有时候框架有点坑,还是因为他们是基于微信小程序的所有限制比较多。

tpcoder 发表于 2019-8-17 18:45

请教下使用这个更新uni-app的小程序前端了,需要在提审核重新过审么?前端需要重新过审的话感觉这个东西无用啊
页: [1] 2
查看完整版本: uni-app在线更新升级-强制更新(可静默)支持热更新(wgt)