🔧 fix: 修复选择节点时不应显示'正在连接中'状态

问题:
- 从节点列表选择节点时,UI显示'正在连接中'
- 但实际未连接VPN,只是选择了节点
- 导致用户困惑

根本原因:
- VPN未连接时,kr_currentNodeLatency被设置为-1
- 当延迟为-1时,UI显示'connecting'(正在连接)
- 导致UI显示错误的状态

修复:
1️⃣ VPN未连接时:不设置kr_currentNodeLatency为-1,保持原值
   - 仅保存节点选择,UI显示选中的节点名称
   - 不显示'正在连接'状态

2️⃣ VPN已连接时:才设置kr_currentNodeLatency为-1
   - 进行节点切换时正确显示'正在连接'
   - 切换完成后更新延迟值

修改:
- 删除VPN未连接时的kr_currentNodeLatency = -1赋值(行885)
- 在VPN已连接节点切换时添加kr_currentNodeLatency = -1赋值(行909)

编译验证:  通过

(cherry picked from commit 6be1cd1006e923dc28c26a78f9e51790969325ae)
This commit is contained in:
Rust 2025-10-31 22:14:01 +08:00 committed by speakeloudest
parent ac959efc15
commit 90a3d57bb1

View File

@ -1133,8 +1133,6 @@ class KRHomeController extends GetxController with WidgetsBindingObserver {
// 2.
kr_cutTag.value = tag;
kr_currentNodeName.value = tag; // 🔧
kr_currentNodeLatency.value = -1; //
kr_isLatency.value = true; //
// 3. VPN未连接UI变量即可
if (!kr_isConnected.value) {
@ -1158,6 +1156,10 @@ class KRHomeController extends GetxController with WidgetsBindingObserver {
try {
KRLogUtil.kr_i('🔌 VPN已连接开始切换后台节点: $tag', tag: 'HomeController');
// 🔧 VPN已连接时-1"正在连接"
kr_currentNodeLatency.value = -1;
kr_isLatency.value = true; //
//
await KRSingBoxImp.instance.kr_selectOutbound(tag);