🔧 fix: 修复节点切换时缺失的关键变量更新 - 恢复kr_currentNodeName和存储逻辑
问题: - 缺失 kr_currentNodeName.value = tag 的更新 - 缺失 VPN未连接时的节点选择持久化逻辑 - 这导致连接时无法正确应用选中的节点 修复: 1️⃣ 添加 kr_currentNodeName.value = tag(行883) 2️⃣ 恢复 KRSecureStorage 的节点选择保存(行895-900) 3️⃣ 添加回 kr_secure_storage 的导入(行26) 这些是原始代码中的关键逻辑,修改时不应删除。 (cherry picked from commit 54b261e9b9fb9ad9394eaa71ee9d8547a85f9f1d)
This commit is contained in:
parent
c56f0a0f7f
commit
ac959efc15
@ -26,6 +26,7 @@ import '../models/kr_home_views_status.dart';
|
||||
import 'package:kaer_with_panels/app/model/response/kr_user_available_subscribe.dart';
|
||||
import 'package:kaer_with_panels/app/utils/kr_log_util.dart';
|
||||
import 'package:kaer_with_panels/app/utils/kr_common_util.dart';
|
||||
import 'package:kaer_with_panels/app/utils/kr_secure_storage.dart';
|
||||
import 'package:kaer_with_panels/app/services/singbox_imp/kr_sing_box_imp.dart';
|
||||
|
||||
class KRHomeController extends GetxController with WidgetsBindingObserver {
|
||||
@ -1131,6 +1132,7 @@ class KRHomeController extends GetxController with WidgetsBindingObserver {
|
||||
|
||||
// 2. 设置切换中状态
|
||||
kr_cutTag.value = tag;
|
||||
kr_currentNodeName.value = tag; // 🔧 修复:更新节点名称
|
||||
kr_currentNodeLatency.value = -1; // 切换中状态
|
||||
kr_isLatency.value = true; // 显示加载动画
|
||||
|
||||
@ -1140,7 +1142,15 @@ class KRHomeController extends GetxController with WidgetsBindingObserver {
|
||||
kr_cutSeletedTag.value = tag;
|
||||
kr_updateConnectionInfo();
|
||||
kr_moveToSelectedNode();
|
||||
KRLogUtil.kr_i('✅ 节点选择已保存: $tag', tag: 'HomeController');
|
||||
|
||||
// 🔧 修复:保存节点选择以便VPN启动时应用
|
||||
KRLogUtil.kr_i('💾 保存节点选择以便稍后应用: $tag', tag: 'HomeController');
|
||||
KRSecureStorage().kr_saveData(key: 'SELECTED_NODE_TAG', value: tag).then((_) {
|
||||
KRLogUtil.kr_i('✅ 节点选择已保存: $tag', tag: 'HomeController');
|
||||
}).catchError((e) {
|
||||
KRLogUtil.kr_e('❌ 保存节点选择失败: $e', tag: 'HomeController');
|
||||
});
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user