feat: win代码同步

This commit is contained in:
2026-01-13 19:26:03 -08:00
parent 9a907f6531
commit 6ef08c9e7b
12 changed files with 586 additions and 205 deletions
+11 -2
View File
@@ -711,8 +711,17 @@ class KRSubscribeService {
kr_trialRemainingTime.value = '';
/// 停止
if (KRSingBoxImp.instance.kr_status == SingboxStatus.started()) {
await KRSingBoxImp.instance.kr_stop();
// ✅ 关键修复:使用 is 类型检查替代 == 比较
// 原因:kr_status 是 Rx<SingboxStatus> 类型,直接 == 比较不可靠
if (KRSingBoxImp.instance.kr_status.value is SingboxStarted) {
KRLogUtil.kr_i('🛑 清理时检测到 VPN 正在运行,停止 VPN...', tag: 'SubscribeService');
try {
// ✅ 不 await,改为异步执行,防止阻塞清理流程
// 由于主线程已经调用了 kr_stop(),这里不需要再次等待
unawaited(KRSingBoxImp.instance.kr_stop());
} catch (e) {
KRLogUtil.kr_w('⚠️ 清理时停止 VPN 失败: $e', tag: 'SubscribeService');
}
}
// 更新UI数据