refactor(display): tie VFD display to WS connection state only
Made-with: Cursor
This commit is contained in:
@@ -32,8 +32,7 @@ class ProvisionManager extends EventEmitter {
|
||||
}
|
||||
|
||||
async start() {
|
||||
led.off(); // 初始状态:灭灯
|
||||
led.display.showAP(); // 默认显示 AP(等网络就绪后切换到时间)
|
||||
led.off(); // 初始状态:灭灯
|
||||
|
||||
// WiFi 已连接 → 直接进入 STA 模式
|
||||
if (isWifiStaConnected()) {
|
||||
@@ -72,7 +71,6 @@ class ProvisionManager extends EventEmitter {
|
||||
if (hasInternet()) {
|
||||
// WiFi 灯只在 STA 模式下亮(有线有网而 WiFi 在 AP 模式时不亮)
|
||||
if (this._state === 'sta') led.on();
|
||||
led.display.showTime(); // 网络就绪 → 显示时间
|
||||
this.emit('network-ready');
|
||||
} else {
|
||||
log.warn('provision', 'hasInternet() 返回 false,LED 保持熄灭');
|
||||
@@ -110,8 +108,7 @@ class ProvisionManager extends EventEmitter {
|
||||
_enterAP() {
|
||||
if (this._state === 'ap') return;
|
||||
|
||||
led.off(); // AP 模式:WiFi 未连接,灭灯
|
||||
led.display.showAP(); // 显示屏切换到 "AP "
|
||||
led.off(); // AP 模式:WiFi 未连接,灭灯
|
||||
|
||||
try {
|
||||
// AP 模式下无法扫描 WiFi,必须在开 AP 之前扫描并缓存
|
||||
@@ -156,8 +153,7 @@ class ProvisionManager extends EventEmitter {
|
||||
if (result.success) {
|
||||
this._state = 'sta';
|
||||
log.info('provision', `WiFi 已连接: ${ssid}`);
|
||||
led.on(); // 连接成功 → 常亮
|
||||
led.display.showTime(); // 显示屏切换到时间
|
||||
led.on(); // 连接成功 → 常亮
|
||||
this.emit('network-ready');
|
||||
return result;
|
||||
}
|
||||
@@ -192,13 +188,11 @@ class ProvisionManager extends EventEmitter {
|
||||
if (this._state === 'sta') {
|
||||
if (hasInternet()) {
|
||||
led.on();
|
||||
led.display.showTime();
|
||||
} else {
|
||||
led.off(); // WiFi 已连接但无互联网
|
||||
led.display.showAP(); // 无互联网时显示 AP
|
||||
led.off(); // WiFi 已连接但无互联网
|
||||
}
|
||||
}
|
||||
// AP 模式下 led/display 已在 _enterAP() 中设置,无需重复操作
|
||||
// AP 模式下 led 已在 _enterAP() 中熄灭,无需重复操作
|
||||
}, MONITOR_INTERVAL_MS);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user