Files
pangolin/client/pubspec.yaml
T
wangjia a274cc40c8 fix(client): 额度卡「今日剩余」标签不再被省略 + 短「免费版」标签(1.0.45+46)
连接页额度卡头部一行放不下「今日剩余 X 分钟 + 免费版·每日10分钟」时,此前 Flexible
落在标签上,导致「今日剩余」被挤成「今日…」。改为:标签固定绝不省略,数值作最后收缩项;
右上角标签缩短为「免费版」(每日额度由卡片本身「今日剩余 X 分钟」表达,不再挤进胶囊)。
新增 planFreeTag l10n(zh 免费版 / en Free),quotaFree 仍保留供账户页 plan_badge_card。
golden 基线(quota_low/exhausted)在 Linux 权威环境重生成。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 01:40:50 +08:00

90 lines
3.3 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: pangolin_vpn
description: 穿山甲 · Pangolin — 极简、稳定、跨平台网络加速客户端。
publish_to: "none"
version: 1.0.45+46
environment:
sdk: ^3.5.0
flutter: ">=3.24.0"
dependencies:
flutter:
sdk: flutter
flutter_svg: ^2.0.10 # 加载 assets/ 下的矢量 logo
country_flags: ^3.1.0 # 节点国旗(SVG,全平台含 Windows;按 region 码渲染)
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 安全存储 + 稳定 device_id 持久化
shared_preferences: ^2.5.5
package_info_plus: ^9.0.1
device_info_plus: ^11.2.0 # 设备名/平台(「我的设备」上报)
uuid: ^4.5.1 # 客户端生成稳定 device_id (UUID v4)
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
flutter_launcher_icons: ^0.14.1
# ── App 图标生成(flutter_launcher_icons)──
# 源图 assets/app-icon-ios-1024.png = design 单源 assets/app-icon.svg 去掉圆角(rx=0,全幅
# 方形,iOS 自行加圆角)、qlmanage 渲染 1024 而来。改图标:重渲源图后跑
# `dart run flutter_launcher_icons`(自动铺 iPhone+iPad 全尺寸、去 alpha、重写 Contents.json)。
flutter_launcher_icons:
ios: true
remove_alpha_ios: true
image_path: "assets/app-icon-ios-1024.png"
# 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