diff --git a/src/pages/device/ota-wifi.vue b/src/pages/device/ota-wifi.vue index 213a003..77b5e27 100644 --- a/src/pages/device/ota-wifi.vue +++ b/src/pages/device/ota-wifi.vue @@ -39,6 +39,7 @@ const connectMode = ref("secure"); // secure | open | manual const connectError = ref(""); const connectStatusText = ref(""); const isSubmittingWifi = ref(false); +const wifiSuccessVisible = ref(false); const keyboardHeight = ref(0); // 控制密码输入框是否显示明文 const showPassword = ref(false); @@ -364,10 +365,13 @@ const submitDeviceWifiConfig = async ({ ssid, password }) => { secure: connectMode.value === "secure" || !!password, }; connectError.value = ""; - currentState.value = STATES.CONNECTED; void refreshConnectedWifiName(); if (fromFirmwareUpdate.value) { + currentState.value = STATES.CONNECTED; openFirmwareCountdown(); + } else { + // 保留配网输入界面,避免成功提示出现前先露出 WiFi 列表。 + wifiSuccessVisible.value = true; } } catch (err) { if (requestId === wifiConnectRequestId) { @@ -382,6 +386,13 @@ const submitDeviceWifiConfig = async ({ ssid, password }) => { } }; +// 普通配网成功后,确认并收起输入界面,停留在当前 WiFi 页面。 +const confirmWifiSuccess = () => { + if (!wifiSuccessVisible.value) return; + wifiSuccessVisible.value = false; + currentState.value = STATES.CONNECTED; +}; + // 校验用户输入并提交 WiFi 配置,不再把手机连接结果当作设备连接成功。 const joinNetwork = () => { if (joinDisabled.value) return; @@ -755,6 +766,14 @@ onUnmounted(() => { + +