From 659c470eba542383987aad227b7f918100f131fa Mon Sep 17 00:00:00 2001
From: wangzhibo <wangzhibo@shsening.com>
Date: 星期五, 11 九月 2026 15:09:05 +0800
Subject: [PATCH] 小智终端 5种 场景模式 OK
---
xiaozhi-esp32-2.2.6/main/boards/common/wifi_board.cc | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/xiaozhi-esp32-2.2.6/main/boards/common/wifi_board.cc b/xiaozhi-esp32-2.2.6/main/boards/common/wifi_board.cc
index 7a70d39..118224b 100644
--- a/xiaozhi-esp32-2.2.6/main/boards/common/wifi_board.cc
+++ b/xiaozhi-esp32-2.2.6/main/boards/common/wifi_board.cc
@@ -10,6 +10,7 @@
#include <freertos/task.h>
#include <esp_network.h>
#include <esp_log.h>
+#include <string>
#include <utility>
#include <font_awesome.h>
@@ -55,7 +56,16 @@
// Initialize WiFi manager
WifiManagerConfig config;
config.ssid_prefix = "Xiaozhi";
- config.language = Lang::CODE;
+ // Captive portal languageMap keys use BCP-47 hyphens (zh-CN). Android/WeChat
+ // often report zh_CN; passing the underscore form leaves the <select> on the
+ // first option and can crash loadAPList() via translations[lang].scanning.
+ std::string language = Lang::CODE ? Lang::CODE : "zh-CN";
+ for (char& ch : language) {
+ if (ch == '_') {
+ ch = '-';
+ }
+ }
+ config.language = language;
wifi_manager.Initialize(config);
// Set unified event callback - forward to NetworkEvent with SSID data
@@ -186,6 +196,7 @@
auto& wifi_manager = WifiManager::GetInstance();
wifi_manager.StartConfigAp();
+ ESP_LOGI(TAG, "WiFi config portal at %s", wifi_manager.GetApWebUrl().c_str());
// Show config prompt after a short delay
Application::GetInstance().Schedule([&wifi_manager]() {
--
Gitblit v1.9.1