diff --git a/src/pages/ota-wifi.vue b/src/pages/ota-wifi.vue index 23d30f2..b41c4b0 100644 --- a/src/pages/ota-wifi.vue +++ b/src/pages/ota-wifi.vue @@ -531,18 +531,18 @@ const handleWsFail = () => { failUpdate(); }; +// 处理更新完成返回,兼容首页 OTA 弹窗入口和设备页普通入口。 const handleDone = () => { - uni.navigateBack({ - delta: 1, - success() { - const pages = getCurrentPages(); - const prevPage = pages[pages.length - 2]; - if (prevPage) { - prevPage.$vm.otaState = "update_success"; - prevPage.$vm.otaVisible = true; - } - }, - }); + const pages = getCurrentPages(); + const prevPage = pages[pages.length - 2]; + const prevVm = prevPage?.$vm; + + if (prevVm && "otaState" in prevVm && "otaVisible" in prevVm) { + prevVm.otaState = "update_success"; + prevVm.otaVisible = true; + } + + uni.navigateBack({ delta: 1 }); }; const handleRetry = () => {