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(() => {
+
+