fix: emit network-ready immediately when wired internet available, setup AP async

Made-with: Cursor
This commit is contained in:
stswangzhiping
2026-03-20 08:41:39 +08:00
parent 108bea4ed7
commit af5248f2a6

View File

@@ -37,7 +37,7 @@ class ProvisionManager extends EventEmitter {
async start() {
led.off(); // 初始状态:灭灯
// WiFi 已连接 → 直接进入 STA 模式
// WiFi STA 已连接 → 直接进入 STA 模式
if (isWifiStaConnected()) {
this._state = 'sta';
log.info('provision', 'WiFi STA 已连接AP 不启动');
@@ -46,7 +46,18 @@ class ProvisionManager extends EventEmitter {
return;
}
// 有已保存的 WiFi 配置 → 等 NM 自动连接(重启场景)
// 有线有网 → 立即通知 WS 连接,后台异步设置 AP 供 WiFi 配网
if (hasInternet()) {
log.info('provision', '有线网络就绪,立即启动 WSAP 后台准备中...');
this._emitNetworkReady();
setTimeout(() => {
this._enterAP();
this._startMonitor();
}, 0);
return;
}
// 无网:有已保存的 WiFi 配置 → 等 NM 自动连接(重启场景)
if (hasSavedWifiConnection()) {
log.info('provision', '发现已保存的 WiFi 配置,等待 NetworkManager 自动连接...');
led.blink(); // 等待自动重连期间闪烁