本帖最后由 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文件编码不同中文会乱码)
[Asm] 纯文本查看 复制代码 {
"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中
[Asm] 纯文本查看 复制代码 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会有跨域问题会报错哈)
小程序运行即可正常
|