uniapp热更新
uniapp的一款app发布流程:1.在manifest.json中填写版本号2.点击 “发行”>> “ 原生app-制作应用wgt包 ”;打包好的.wgt文件上传至后台服务器。3.每次代码更新,重复2。检查更新–热更新: 使用原生的plus.runtime获取运行信息,拿后台版本号与当前版本号进行对比,下载更新包。// 应用热更新upDate() {var self = thispl
·
uniapp的一款app
发布流程:
1.在manifest.json中填写版本号
2.点击 “发行” >> “ 原生app-制作应用wgt包 ”;打包好的.wgt文件上传至后台服务器。
3.每次代码更新,重复2。
检查更新–热更新: 使用原生的plus.runtime获取运行信息,拿后台版本号与当前版本号进行对比,下载更新包。
// 应用热更新
upDate() {
var self = this
plus.runtime.getProperty(plus.runtime.appid, function(wgtinfo) {
self.$request(getApp().globalData.requestUrl.checkUniUpdate, 'get', {
type: 10
}, (res) => {
if (res.status === 1) {
console.log("后台版本" + res.result.version)
console.log('运行版本' + wgtinfo.version)
if (res.result.version !== wgtinfo.version) {
self.isUpdate = true
const downloadTask = uni.downloadFile({
url: res.result.packageUrl,
success: (downloadResult) => {
plus.runtime.install(downloadResult.tempFilePath, {
force: false
}, function() {
console.log('install success...');
self.isUpdate = false
plus.runtime.restart();
}, function(e) {
console.error(e)
self.isUpdate = false
})
},
fail(res) {
// console.log(res)
self.isUpdate = false
}
})
downloadTask.onProgressUpdate((res) => {
self.progress = res.progress
self.hasDownLoad = res.totalBytesWritten
self.allDownLoad = res.totalBytesExpectedToWrite
// console.log('下载进度' + res.progress);
// console.log('已经下载的数据长度' + res.totalBytesWritten);
// console.log('预期需要下载的数据总长度' + res.totalBytesExpectedToWrite);
});
} else {
self.isUpdate = false
}
} else {
self.isUpdate = false
}
}, (failRes) => {
console.log(failRes)
self.isUpdate = false
})
})
},
更多推荐
已为社区贡献1条内容
所有评论(0)