e10f214dee
- system_tray.dart:TrayService 用 tray_manager + window_manager。setPreventClose 拦截关闭 → 隐藏到托盘(常驻保持隧道);托盘图标点击/「显示主界面」重新显示, 「退出」真正退出。 - main() 改 async:桌面端 runApp 前 init 托盘;移动端/web 跳过(isDesktop 守卫)。 - 托盘图标复用 app_icon_32.png → assets/tray_icon.png。 - 新依赖:tray_manager / window_manager。 flutter analyze 0 error;114 tests passed。托盘为运行时/原生功能,需 release .app 验证。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
51 lines
1.6 KiB
YAML
51 lines
1.6 KiB
YAML
name: pangolin_vpn
|
||
description: 穿山甲 · Pangolin — 极简、稳定、跨平台网络加速客户端。
|
||
publish_to: "none"
|
||
version: 1.0.0+1
|
||
|
||
environment:
|
||
sdk: ^3.5.0
|
||
flutter: ">=3.24.0"
|
||
|
||
dependencies:
|
||
flutter:
|
||
sdk: flutter
|
||
flutter_svg: ^2.0.10 # 加载 assets/ 下的矢量 logo
|
||
lucide_icons: ^0.257.0 # Lucide 细线条图标
|
||
google_fonts: ^6.2.1 # 运行时加载 Sora / Manrope / Noto Sans SC / JetBrains Mono
|
||
flutter_riverpod: ^2.5.1 # 状态层(连接状态机 / 免费额度 / 节点选择 / 语言 / 主题)
|
||
http: ^1.2.1 # 控制面 HTTP 客户端(connect API)
|
||
path_provider: ^2.1.3 # 获取应用支持目录(sing-box 配置路径)
|
||
flutter_secure_storage: ^9.2.2 # JWT token 安全存储
|
||
shared_preferences: ^2.5.5
|
||
package_info_plus: ^9.0.1
|
||
launch_at_startup: ^0.5.1
|
||
tray_manager: ^0.5.3
|
||
window_manager: ^0.5.1
|
||
|
||
dev_dependencies:
|
||
flutter_test:
|
||
sdk: flutter
|
||
flutter_lints: ^4.0.0
|
||
|
||
# lucide_icons-0.257.0 defines LucideIconData extends IconData, which breaks
|
||
# when Flutter SDK marks IconData as final. Override with a local patched copy
|
||
# that replaces the subclass with direct IconData(...) const constructors.
|
||
dependency_overrides:
|
||
lucide_icons:
|
||
path: packages/lucide_icons_patched
|
||
|
||
flutter:
|
||
uses-material-design: true
|
||
|
||
# ── 资产(SVG logo)──
|
||
assets:
|
||
- assets/logo-mark.svg
|
||
- assets/logo-mark-white.svg
|
||
- assets/logo-wordmark.svg
|
||
- assets/app-icon.svg
|
||
- assets/tray_icon.png
|
||
|
||
# ── 字体(由 google_fonts 运行时加载,无需本地 ttf)──
|
||
# 若需离线/打包字体,下载 ttf 放 fonts/,并按 pubspec 模板恢复 fonts: 段。
|