5ea4e1ae03
- 关闭窗口断连接:onExitRequested 原先无条件 _teardownVpn 再退出;Windows 点 X 会触发该回调拆隧道,而 window_manager 的 preventClose 又把窗口仅隐藏到托盘 → 出现「一关就断网、进程还在」。改为 Windows 下点 X/Alt+F4 取消退出+隐藏, 保持隧道;真正退出只走托盘「退出」(onBeforeQuit 标记 _isQuitting 再拆隧道)。 macOS Cmd+Q 仍正常拆隧道退出。 - 任务栏图标没换:仅靠 WNDCLASS.hIcon(LoadIcon 单尺寸)任务栏可能拿不到正确 尺寸。窗口创建后用 LoadImage 按系统 SM_CXICON/SM_CXSMICON 各取一份, WM_SETICON 显式设 ICON_BIG(任务栏/Alt-Tab)+ ICON_SMALL(标题栏)。 - 版本 1.0.1 → 1.0.2。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
77 lines
2.5 KiB
YAML
77 lines
2.5 KiB
YAML
name: pangolin_vpn
|
||
description: 穿山甲 · Pangolin — 极简、稳定、跨平台网络加速客户端。
|
||
publish_to: "none"
|
||
version: 1.0.2+3
|
||
|
||
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
|
||
- assets/tray_icon.ico # Windows 托盘专用(Win32 只认 .ico)
|
||
|
||
# ── 字体(本地打包,全平台离线)──
|
||
# 拉丁全量(Sora/Manrope/JetBrains Mono)+ Noto Sans SC 子集(GB2312 6763 字,单 Regular
|
||
# 权重;CJK 粗体由引擎合成)。子集由 tools/fonts/make-cjk-subset.sh 可复现生成。
|
||
# 生产经 PangolinFonts.useBundled=true 走这些 family;中文经 fontFamilyFallback 兜底。
|
||
fonts:
|
||
- family: Sora
|
||
fonts:
|
||
- asset: fonts/Sora-Regular.ttf
|
||
- asset: fonts/Sora-SemiBold.ttf
|
||
weight: 600
|
||
- asset: fonts/Sora-Bold.ttf
|
||
weight: 700
|
||
- family: Manrope
|
||
fonts:
|
||
- asset: fonts/Manrope-Regular.ttf
|
||
- asset: fonts/Manrope-Medium.ttf
|
||
weight: 500
|
||
- asset: fonts/Manrope-SemiBold.ttf
|
||
weight: 600
|
||
- asset: fonts/Manrope-Bold.ttf
|
||
weight: 700
|
||
- family: JetBrains Mono
|
||
fonts:
|
||
- asset: fonts/JetBrainsMono-Regular.ttf
|
||
- family: Noto Sans SC
|
||
fonts:
|
||
- asset: fonts/NotoSansSC-Regular-subset.otf
|