请问一下热更新的我的manifest里appid是UNI,,我把wgt文件名的UNI改成了UNI,去掉了下划线,请问这个可以吗??我感觉都没进更新代码??请问可以把你的热更新的代码发一份出来吗?我是直接这样
let _baseUrl = this.$u.http.config.baseUrl;
// #ifdef APP-PLUS
plus.runtime.getProperty(plus.runtime.appid, function(widgetInfo) {
uni.request({
url: _baseUrl + '/platform/apk/getInfo',
data: {
version: widgetInfo.version,
name: widgetInfo.name,
pkgName: 'com.appinner.cangxis'
},
success: (result) => {
let data = result.data;
let pkg;
try{
pkg = data.data.pkg
}catch(e){
//TODO handle the exception
pkg = {};
}
if (pkg.wgtUrl && compareVersion(widgetInfo.version, pkg.version)) {
uni.showLoading({
title: '当前有新版本,正在更新...'
})
uni.downloadFile({
url: pkg.wgtUrl,
success: (downloadResult) => {
if (downloadResult.statusCode === 200) {
plus.runtime.install(downloadResult.tempFilePath, {
force: false
},
function() {
console.log('安装成功...');
uni.hideLoading();
plus.runtime.restart();
},
function(e) {
console.error('安装失败...');
uni.hideLoading();
});
}
},
fail: function () {
uni.hideLoading();
uni.showToast({
title: '下载更新失败'
})
}
});
}
}, error: (msg) => {
console.log(msg)
}
});
});
/**
* @param {Object} ov 旧版本号
* @param {Object} nv 新版本号
*/
function compareVersion(ov, nv) {
if (!ov || !nv || ov == "" || nv == "") {
return false;
}
var b = false,
ova = ov.split(".", 4),
nva = nv.split(".", 4);
for (var i = 0; i < ova.length && i < nva.length; i++) {
var so = ova[i],
no = parseInt(so),
sn = nva[i],
nn = parseInt(sn);
if (nn > no || sn.length > so.length) {
return true;
} else if (nn < no) {
return false;
}
}
if (nva.length > ova.length && 0 == nv.indexOf(ov)) {
return true;
}
return false
}
// #endif
感觉没起效
谢谢大哥
[已删除] (作者)
请问有人遇到过这种问题吗。。
2020-06-12 16:05