feat: 保存配置

This commit is contained in:
2026-01-07 17:33:55 -08:00
parent 9563a81a6e
commit 3f429e5546
17 changed files with 4124 additions and 1271 deletions
+1 -7
View File
@@ -31,7 +31,7 @@ class KRDomain {
// static String kr_currentDomain = "apicn.bearvpn.top";
static List<String> kr_baseDomains = ["api.hifast.biz", "api.airovpn.tel",];
static String kr_currentDomain = "api.hifast.biz1";
static String kr_currentDomain = "api.hifast.biz";
// 备用域名获取地址列表
static List<String> kr_backupDomainUrls = [
@@ -427,12 +427,6 @@ class KRDomain {
/// 预检测域名可用性(在应用启动时调用)
static Future<void> kr_preCheckDomains() async {
// Debug 模式下跳过域名预检测
// if (kDebugMode) {
// KRLogUtil.kr_i('🐛 Debug 模式,跳过域名预检测', tag: 'KRDomain');
// return;
// }
KRLogUtil.kr_i('🚀 开始预检测域名可用性', tag: 'KRDomain');
// 异步预检测,不阻塞应用启动
+18
View File
@@ -77,6 +77,24 @@ class KRAppRunData {
return kr_account.value != null && kr_account.value!.startsWith('9000');
}
/// 🔧 P1修复: 重置所有运行时状态(用于应用恢复/热重载)
/// 注意: 不会清除持久化存储的数据,只重置内存状态
Future<void> kr_resetRuntimeState() async {
try {
print('🔄 开始重置 KRAppRunData 运行时状态...');
// 重新从存储加载用户信息,确保状态同步
await kr_initializeUserInfo();
print('✅ KRAppRunData 状态已重置');
print(' - 登录状态: ${kr_isLogin.value}');
print(' - 账号: ${kr_account.value}');
print(' - Token存在: ${kr_token != null && kr_token!.isNotEmpty}');
} catch (e) {
print('⚠️ KRAppRunData 状态重置失败: $e');
}
}
/// 🔧 修复2.1:验证Token格式是否有效
/// 检查Token是否符合JWT格式(header.payload.signature
/// 这能有效防止被污染的或过期的Token数据