🔧 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:
parent
ac959efc15
commit
90a3d57bb1
@ -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);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user