uni-app在线更新升级-强制更新(可静默)支持热更新(wgt)
uni-app后面才支持了热更新(wgt),即使官网没有更新wgt。强大的插件市有很多大神就做出了插件,本文对大神做的一个更新插件从easy-mock模拟数据复制到自己的服务器。针对插件使用做一个过程说明,大佬直接跳过该文章啦!相信还有一些不会js以及后端的小伙伴会需要用到该文章
2020.03.19更新
如果出现第一次热更新没问题,第二次就无法安装更新的请添加图片红色线框中的代码(来自:大佬WY)

1.下载插件
在右侧栏点击下载插件即可
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会有跨域问题会报错哈)

Failed to load https://www.frbkw.com/info.json?search=latestInfo: No 'Access-Control-Allow-Origin'
header is present on the requested resource. Origin 'http://192.168.0.145:8080' is therefore not allowed access.
小程序运行即可正常

其余2个文件同上方式复制就可以了,文章整体没有啥技术含量,主要是说明复制json数据的时候一些注意事项和跨域问题。希望能给新手一个帮助