uni-app热更新例子
一、热更新代码
//热更新代码
update() {
var _self = this;
plus.runtime.getProperty(plus.runtime.appid, function(widgetInfo) {
_self.$ajax.get({
url: 'api/app/getVersion',
data: {
version: widgetInfo.version
},
success: res => {
if (res.status == 1) {
if (res.data.wgt_url!= '') {
uni.downloadFile({
url: res.data.wgt_url,
success: downloadResult => {
if (downloadResult.statusCode === 200) {
plus.runtime.install(
downloadResult.tempFilePath,
{
force: false
},
function() {
//console.log('install success...');
plus.runtime.restart();
},
function(e) {
//console.error('install fail...');
}
);
}
}
});
}
}
}
});
});
},
二、HBuilder X打包一个wgt的更新包
三、接口api/app/getVersion返回的数据格式如下
{
"status": 1,
"data": {
"version": "2.9.0",
"wgt_url": "http://www.xxx.com/uploads/version/ca9d80faa12b22c68c8cb905c6022d2d.wgt",
}
}