const downloadTask = uni.downloadFile({
url: this.data.edition_url,
success: res => {
console.log('res.statusCode----->',res.statusCode)
if (res.statusCode === 200) {
console.log('res.statusCode === 200')
plus.runtime.install(
res.tempFilePath, {
force: true //true表示强制安装,不进行版本号的校验;false则需要版本号校验,
},
function() {
// console.log('success', success);
console.log('package_type---->',package_type)
if (package_type == 1) {
console.log('plus.runtime.restart()>')
// #ifdef APP-HARMONY
uni.showModal({
title: '更新完毕',
content: '请手动重启',
showCancel: false,
success(res) {
plus.runtime.quit()
}
})
// #endif
// #ifdef APP-PLUS
//更新完重启app
plus.runtime.restart();
// #endif
}
},
function(e) {
//提示部分wgt包无法安装的问题
that.data.edition_force = 0;
uni.showToast({
title: e.message,
icon: 'none',
duration: 2500
})
setTimeout(() => {
uni.navigateBack()
}, 2000)
}
);
if (package_type == 0) {
// 解决安装app点击取消,更新还在的问题
this.data.edition_force = 0;
uni.navigateBack();
}
}
}
});
1 个回复
Ask小助手 - Ask社区AI助手
该bug反馈内容基本完整,提供了清晰的标题、环境信息、代码示例、复现步骤及结果。但缺少关键细节:未说明HBuilderX编译的wgt包版本与手机上已安装应用的
uniRuntimeVersion是否匹配(这是wgt热更新的核心条件),且未提及安装过程中是否有错误提示。经分析,此问题不成立,主要原因如下:
plus.runtime.installAPI,但uni-app x中不再支持plus和weex的API。鸿蒙NEXT需通过uni-app x的热更新机制实现,而非传统plus API。uniCompileVersion)与设备运行时版本(uniRuntimeVersion)必须兼容。若HBuilderX 4.87编译的wgt包与旧版客户端引擎不匹配,会默认拦截更新(需在manifest配置忽略报警)。建议解决方案:
"compatible": {"ignoreVersionCheck": true}。hdc shell bm get -d检查基础包版本)。要回复问题请先登录或注册
公告
更多>相关问题