feat: 保存节点调试进度
Build Windows / 编译 libcore (Windows) (20.15.1) (push) Successful in 20m7s
Build Windows / build (push) Has been cancelled

This commit is contained in:
2025-11-13 22:43:27 -08:00
parent 46295f4543
commit 670eb7ebc9
4 changed files with 209 additions and 170 deletions
@@ -1,6 +1,5 @@
// hi_node_list_view.dart
import 'dart:math';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
@@ -80,8 +79,8 @@ class HINodeListView extends GetView<HINodeListController> {
// 并设置透明背景,让父组件的背景可以透出来
return Material(
color: Colors.transparent,
child: _buildSubscribeList(context)
// child: _kr_buildRegionList(context)
// child: _buildSubscribeList(context)
child: _kr_buildRegionList(context)
);
}
@@ -109,7 +108,7 @@ class HINodeListView extends GetView<HINodeListController> {
onTap: () async {
try {
final success =
await controller.homeController.kr_performCountrySwitch('auto');
await controller.homeController.kr_performNodeSwitch('auto');
if (success) {
controller.homeController.kr_currentListStatus.value =
KRHomeViewsListStatus.kr_none;
@@ -193,8 +192,10 @@ class HINodeListView extends GetView<HINodeListController> {
return InkWell(
onTap: () async {
try {
final success =
await controller.homeController.kr_performCountrySwitch(country.country);
await controller.homeController.kr_performNodeSwitch('${country.country}-auto');
print('node 点击 ${country.country} 节点数量${country.outboundList.length} 节点详情 ${country.outboundList}');
if (success) {
controller.homeController.kr_currentListStatus.value =
KRHomeViewsListStatus.kr_none;
@@ -311,7 +312,23 @@ class HINodeListView extends GetView<HINodeListController> {
),
...controller.kr_subscribeService.allList.map((item) {
return InkWell(
onTap: () => _onNodeSelected(item),
// 🔧 修复:改为 async,等待节点切换完成后再关闭列表
onTap: () async {
try {
KRLogUtil.kr_i(
'🔄 用户点击节点: ${item.tag}');
final success = await controller.homeController
.kr_performNodeSwitch(item.tag);
if (success) {
controller.homeController.kr_currentListStatus.value =
KRHomeViewsListStatus.kr_none;
}
} catch (e) {
KRLogUtil.kr_e(
'节点切换异常: $e',
tag: 'NodeListView');
}
},
child: _kr_buildNodeListItem(context, item: item),
);
}).toList(),
@@ -524,7 +541,7 @@ class HINodeListView extends GetView<HINodeListController> {
);
}),
SizedBox(width: 12.w),
Obx(() => controller.homeController.kr_coutryText.value == country.country
Obx(() => controller.homeController.kr_cutTag.value == '${country.country}-auto'
? KrLocalImage(
imageName: 'radio-active-icon',
imageType: ImageType.svg,