-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathpubspec.yaml
More file actions
218 lines (199 loc) · 8.46 KB
/
Copy pathpubspec.yaml
File metadata and controls
218 lines (199 loc) · 8.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
name: thoughtecho
description: 一款帮助你记录和分析思想的应用。
publish_to: 'none'
version: 4.0.0+1
environment:
sdk: '>=3.5.0 <4.0.0'
# 3.29:CircularProgressIndicator 的 trackGap / padding 从这一版才有,
# 行内转圈靠它们退掉 M3 默认造型(见 AppInlineLoadingIndicator)。
flutter: '>=3.29.0'
dependencies:
flutter:
sdk: flutter
flutter_localizations:
sdk: flutter
meta: ^1.16.0 # 用于 @visibleForTesting 等注解
cupertino_icons: ^1.0.6
provider: ^6.1.5+1
sqflite: ^2.3.2
sqflite_common_ffi: ^2.4.0+3
sqlite3_flutter_libs: ^0.5.40
path: ^1.8.3
path_provider: ^2.1.2
dio: ^5.4.0
uuid: ^4.5.1 # UUID生成器
shared_preferences: ^2.2.2
flutter_markdown_plus: ^1.0.12
intl: ^0.20.2
url_launcher: ^6.2.6 # URL启动器
file_picker: ^10.3.3 # 更安全的文件选择器,支持 withData: false 参数
file_selector: ^1.0.4 # 文件选择器
share_plus: ^12.0.0 # 文件分享
flex_color_scheme: ^8.3.0
geolocator: ^14.0.2
permission_handler: ^12.0.1 # 权限管理
flutter_secure_storage: ^9.0.0
geocoding: ^4.0.0 # 使用系统提供的地理编码功能
mmkv: ^1.3.11 # 仅 1.3.x 支持 32 位设备
ffi: ^2.1.0 # 显式添加FFI依赖,确保与最新的Dart兼容
sqflite_common_ffi_web: ^1.0.1+2
flex_color_picker: ^3.4.1
lottie: ^3.3.2
flutter_svg: ^2.2.4
dynamic_color: ^1.6.6
# 交接文档记着「必须 ≥ 11.5.1」(Flutter 3.44.x 给 TextInputClient 加了
# onFocusReceived,11.5.0 没实现)。这里**不收紧成 ^11.5.1**:11.5.1 自身要求
# Flutter 3.44 / Dart 3.12,而 pubspec 的 SDK 下限还是 3.5.0、Windows 构建工作流
# 还提供 3.38.6 / 3.35.3 选项,收紧会直接打断那两条构建。lock 已锁在 11.5.1,
# 真要让这条护栏生效得连同 SDK 下限和 CI 版本矩阵一起提,那是独立的一次决定。
flutter_quill: ^11.5.0
flutter_quill_extensions: ^11.0.0
video_player: ^2.8.17
chewie: ^1.13.0
photo_view: ^0.15.0
image_picker: ^1.0.4
package_info_plus: ^8.3.1 # 与 geolocator 兼容
logging: ^1.2.0 # 添加 logging 包用于日志管理
logging_flutter: ^3.0.0 # 添加 logging_flutter 包用于Flutter日志管理
# 性能优化相关包
infinite_scroll_pagination: ^5.1.1 # 高性能无限滚动分页
visibility_detector: ^0.4.0 # 可见性检测,实现懒加载
audioplayers: ^6.5.1
archive: ^4.0.7
image: ^4.1.3 # 图片处理库
gal: ^2.3.0 # 替换image_gallery_saver,保存图片到相册,支持最新Android
vector_graphics: ^1.1.19
crypto: ^3.0.3 # 用于文件校验和计算
device_info_plus: ^12.1.0 # 获取设备信息,用于localsend设备识别
network_info_plus: ^7.0.0 # 获取网络信息,用于localsend网络发现
multicast_dns: ^0.3.2+5 # mDNS服务发现,用于localsend设备发现
convert: ^3.1.2 # 数据转换工具
mime: ^1.0.6 # MIME类型处理
path_provider_foundation: ^2.4.3 # iOS/macOS路径提供
http: ^1.2.2 # HTTP客户端库
collection: ^1.18.0
open_file: ^3.5.10 # 用于打开文件,包括APK安装
flutter_local_notifications: ^19.5.0 # 下载进度通知
local_auth: ^2.3.0 # 生物识别验证(指纹、面容识别等)
android_alarm_manager_plus: ^4.0.0
timezone: ^0.10.0
workmanager: ^0.9.0+3
flutter_blue_plus: ^1.32.0 # BLE 蓝牙通信,用于向树莓派 Pico 发送数据
pdf: ^3.12.0
printing: ^5.14.3
connectivity_plus: ^7.1.1
sentry_flutter: ^9.0.0
sentry_dio: ^9.0.0
sentry_sqflite: ^9.0.0
openai_dart: ^4.0.1
html2md: ^1.3.2
ddgs: ^0.3.2
html: ^0.15.4
flutter_slidable: ^3.1.1
# 地图:OpenStreetMap 瓦片,免费无 API Key,和已有的 Nominatim 反查同一套生态。
flutter_map: ^8.3.1
latlong2: ^0.9.1 # flutter_map 的经纬度类型
flutter_map_marker_cluster: ^8.2.2 # 地图回忆页的标记聚合
dev_dependencies:
flutter_test:
sdk: flutter
flutter_driver:
sdk: flutter
flutter_lints: '>=5.0.0 <7.0.0'
flutter_launcher_icons: ^0.14.4
# Testing framework dependencies
integration_test:
sdk: flutter
test: ^1.26.2
fake_async: ^1.3.1
mockito: ^5.5.0
build_runner: ^2.7.1
msix: ^3.16.7
path_provider_platform_interface: ^2.1.2
plugin_platform_interface: ^2.1.8
xml: ^6.6.1
# 应用图标配置
flutter_launcher_icons:
android: true
ios: true
image_path: "assets/icon.png"
adaptive_icon_background: "#FFFFFF"
adaptive_icon_foreground: "assets/icon.png"
# iOS 特定配置
# 使用优化后的大图标(去除多余背景,放大主体)
image_path_ios: "assets/icon_ios_large.png"
# 仍然需要背景色来填充图标内部或角落的透明区域
remove_alpha_ios: true
background_color_ios: "#9ACDF7"
# 尝试使用 image_path_ios 单独指定 iOS 图标,如果 icon.png 有透明度,这里会自动填充背景色
# 如果想要图标撑满,需要确保 icon.png 本身就是撑满的,或者使用 scale 参数(flutter_launcher_icons 不直接支持 scale,但可以通过 image_path_ios 指定一个裁剪好的图片)
# 这里保持默认,但明确背景色为白色,这是 iOS 上展示透明 PNG 的唯一正确方式(除了黑色)。
# MSIX Windows 安装包配置
# Microsoft Store 提交要求的精确配置
msix_config:
# 应用显示名称
display_name: ThoughtEcho
# 发布者显示名称(必须与 Store 中的 PublisherDisplayName 完全一致)
publisher_display_name: Shangjinyun
# 应用包标识名称(必须与 Store 中的 Package/Identity/Name 完全一致)
identity_name: Shangjinyun.330094822087A
# MSIX 版本号(4位格式,最后一位必须为0以符合 Store 要求)
msix_version: 4.0.0.0
# 发布者证书 DN(必须与 Store 中的 Package/Identity/Publisher 完全一致)
# 这是 Microsoft Store 分配给你的发布者标识符
publisher: CN=14B607B9-7CF3-42D9-9054-090F3ECEC1D7
# 应用图标路径(ICO 格式,用于任务栏和窗口图标)
logo_path: windows/runner/resources/app_icon.ico
# 开始菜单磁贴图标(PNG 格式,符合 MS Store 要求)
# 这些图标用于开始菜单、应用列表等位置
start_menu_icon_path: windows/runner/resources/tiles/Square44x44Logo.png
tile_icon_path: windows/runner/resources/tiles/Square150x150Logo.png
# Visual Assets 图标路径(可选,但推荐提供以通过 Store 审核)
# 这些是高质量的 PNG 图标,用于各种 Windows UI 场景
icons_background_color: '#FFFFFF'
# 应用权限(internetClient 用于网络访问)
# 注意:不要手动添加 runFullTrust,Flutter Windows 应用会自动添加
capabilities: internetClient
# 支持的语言
languages: zh-CN, en-US, ja-JP, ko-KR
# 输出文件名(不含 .msix 扩展名)
output_name: ThoughtEcho-Setup
# ⚠️ 关键配置:禁用本地签名,让 Microsoft Store 自动签名
# 这样可以避免使用测试证书,确保 Publisher 正确匹配
sign_msix: false
# CI 环境设置:不安装测试证书
install_certificate: false
# Store 提交标识:确保使用正确的 Store ID
# Store ID: 9NC7GDG6KFMC
# Package Family Name: Shangjinyun.330094822087A_q4mj6h6cp1xbc
# 注意:PFN 后缀 (q4mj6h6cp1xbc) 由 Publisher DN 自动生成,无需手动配置
# 字体配置
flutter:
# 启用国际化代码生成
generate: true
# 确保应用可以使用Material Design图标
uses-material-design: true
assets:
- assets/lottie/
- assets/svg/
- assets/icon.png
- assets/icon_ios_full.png
- assets/icon_ios_large.png
- assets/fonts/OFL.txt
- docs/
- LICENSE
fonts:
# 手工风格(纸墨、素笺)的阅读字体。随包分发而不是指望系统自带:
# 通用族名 `serif` 在 iOS 上解析不到,CJK 字符会直接走引擎默认字体(苹方),
# `fontFamilyFallback` 里的具名字体根本没机会被查询——衬线在 iOS 上从未生效。
#
# 这是一个可变字体,字重轴 400–900,默认实例 400。**只声明一条 asset、不写
# weight**:写死 weight 会让 Flutter 按静态字体匹配,反而用不上字重轴。
# `TextStyle.fontWeight` 由引擎映射到 wght 轴,所以全项目现有的
# `copyWith(fontWeight: ...)` 照常生效,不需要改成 fontVariations。
#
# 产物由 `scripts/fonts/build_serif_subset.py` 生成(思源宋体 GB2312 子集),
# 许可证见 assets/fonts/OFL.txt。
- family: NotoSerifSC
fonts:
- asset: assets/fonts/NotoSerifSC-Subset.ttf