feat(client): 自动连接开关 + Windows 开机自启改任务计划程序

- 新增「自动连接」设置开关(默认关,持久化):启动 app 进登录态主界面后,等节点就绪
  自动连一次(_RootFlowState 一次性 listenManual nodesProvider → toggle())。全平台生效。
- Windows 开机自启改用 schtasks /rl highest 登录触发任务:本应用 requireAdministrator,
  原注册表 Run 键(非提权)开机会弹 UAC/起不来 → 任务计划静默提权拉起。macOS/Linux 仍用
  launch_at_startup 登录项。
- 设置页功能组加「自动连接」行;新增 autoConnect/autoConnectSub 文案。
- _load 加 mounted 守卫(异步初始化期间已 dispose 不再写 state)。
- 测试:autoConnect 默认关 / _load 读持久化 / setAutoConnect 落盘。

注:移动端真·常连(Android Always-on + iOS/iPad On-Demand,无 UI 自连)是更大的原生活,
已单列 todo #14 后续做;本轮移动端只有「打开 app 自动连接」。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
wangjia
2026-06-29 17:46:06 +08:00
parent 2080062d8c
commit 8584f0459e
7 changed files with 140 additions and 2 deletions
+2
View File
@@ -119,6 +119,8 @@ abstract class AppText {
String get settingsTitle;
String get autostart;
String get autostartSub;
String get autoConnect;
String get autoConnectSub;
String get smartRoute;
String get smartRouteSub;
String get killSwitch;
+4
View File
@@ -184,6 +184,10 @@ class StringsEn extends AppText {
@override
String get autostartSub => 'Run automatically on system start';
@override
String get autoConnect => 'Auto-connect';
@override
String get autoConnectSub => 'Connect automatically on launch';
@override
String get smartRoute => 'Smart routing';
@override
String get smartRouteSub => 'Accelerate abroad, direct at home';
+4
View File
@@ -183,6 +183,10 @@ class StringsZh extends AppText {
@override
String get autostartSub => '系统启动时自动运行';
@override
String get autoConnect => '自动连接';
@override
String get autoConnectSub => '启动时自动连接节点';
@override
String get smartRoute => '智能分流';
@override
String get smartRouteSub => '海外应用走加速,国内直连';