chore: 迁移依赖、移除sqlite3_flutter_libs并新增功能

1. 替换hive_flutter为hive_ce_flutter依赖
2. 从各平台插件列表移除sqlite3_flutter_libs
3. 重构API请求体格式,优化历史记录去重逻辑
4. 新增CTC笔记相关功能:桌面小部件、模板模型、本地存储
5. 新增表单收集服务和后台管理接口
6. 优化缓存配置、多语言文案和UI细节
7. 重构首页状态监听组件
This commit is contained in:
Developer
2026-06-15 10:04:52 +08:00
parent af14ed4121
commit ad00967c68
90 changed files with 4728 additions and 1028 deletions

View File

@@ -10,13 +10,10 @@
| 日期 | 版本 | 变更内容 |
|---|---|---|
<<<<<<< Updated upstream
| 2026-06-15 | v11 | 同步三方库升级删除custom_lint/riverpod_lint新增analyzer/test_api/test/xml/pointycastle overridesrecord降级到^6.2.1(7.0.0需Dart3.12+)更新差异对照表和dependency_overrides行数 |
| 2026-06-07 | v10 | 修正 §2.3 dependency_overrides 行数4→5行/40+→46行修正 §2.6 补丁引用§2.8→§2.9);简化 §2.8.1 pro_image_editor 过时回退建议;删除 §5.4 pro_image_editor 本地包条目和 bitsdojo_window 废弃条目;简化 §3.3 pubspec.yaml 处理策略git stash → 双模板脚本生成);更新 §3.2/§3.5/§6 与双模板机制对齐 |
| 2026-06-06 | v9 | 清理未使用依赖:移除 animations、animate_do、value_layout_builder、flutter_advanced_canvas_editor、flutter_blue_plus、http_cache_file_store、dartx、vector_math删除差异对照表中 flutter_nfc_kit 过时条目 |
| 2026-06-06 | v8 | 新增 `app_tracking_transparency` 差异对照条目;新增 `nearby_connections` 鸿蒙端本地stub包说明新增 §2.10 nearby_connections鸿蒙适配说明 |
=======
| 2026-06-06 | v8 | 移除 `nearby_connections` 库及P2P功能本地stub包影响Android构建更新差异对照表新增 §2.8.7 app_tracking_transparency说明 |
>>>>>>> Stashed changes
| 2026-06-02 | v7 | **重大变更**pubspec.yaml 拆分为双模板pubspec.ohos.yaml + pubspec.macos.yamlpubspec.yaml 不再提交到 Git新增三方库变更通知机制新增 setup_pubspec.ps1 脚本 |
| 2026-06-02 | v6 | 鸿蒙端 pubspec.yaml 同步 bitsdojo_window → window_manager 迁移;更新 file_picker 本地包版本注释(v8.3.7→v11.0.0-ohos.1);更新 speech_to_text(^7.0.0→^7.4.0)、live_activities(^2.0.0→^2.4.9) 远程版本号;补充 dependency_overrides 中 bitsdojo_window_windows 移除说明 |
| 2026-06-01 | v5 | 新增 §2.6 pub cache 补丁说明;标记 bitsdojo_window 迁移完成file_picker 升级到 12.x |
@@ -64,10 +61,7 @@ git checkout main
# 1. 确认使用官方 Flutter SDK
flutter --version # 应显示官方版本,非 flutter-ohos
# 2. 运行脚本生成 pubspec.yamlMacBook Pro 端)
.\tools\setup_pubspec.ps1 -Platform macos
# 或自动检测平台
.\tools\setup_pubspec.ps1
# 3. 获取依赖
flutter pub get
@@ -84,8 +78,7 @@ flutter build macos
# 1. 确认使用 flutter-ohos SDK
flutter --version # 应显示 ohos 版本
# 2. 运行脚本生成 pubspec.yaml鸿蒙端
.\tools\setup_pubspec.ps1 -Platform ohos
# 3. 获取依赖
flutter pub get
@@ -148,18 +141,18 @@ Error: The getter 'ohos' isn't defined for the class 'TargetPlatform'
| 区域 | pubspec.ohos.yaml鸿蒙端 | pubspec.macos.yamlMacBook Pro端 |
|---|---|---|
| shared_preferences | `path: packages/shared_preferences` | `^2.5.5` |
| flutter_secure_storage | `path: packages/flutter_secure_storage` | `^10.2.0` |
| hive_flutter | `path: packages/hive_flutter` | `^1.1.0` |
| flutter_secure_storage | `path: packages/flutter_secure_storage` | `^10.3.0` |
| hive_ce_flutter | `path: packages/hive_flutter` | `^2.3.4` |
| path_provider | `path: packages/path_provider` | `^2.1.5` |
| package_info_plus | `path: packages/package_info_plus` | `^10.1.0` |
| connectivity_plus | `path: packages/connectivity_plus` | `^7.1.1` |
| device_info_plus | `path: packages/device_info_plus` | `^13.1.0` |
| permission_handler | `path: packages/permission_handler` | `^12.0.1` |
| app_tracking_transparency | `^2.0.6` | `^2.0.6` |
| flutter_local_notifications | `path: packages/flutter_local_notifications` | `^21.0.0` |
| flutter_local_notifications | `path: packages/flutter_local_notifications` | `^22.0.0` |
| url_launcher | `path: packages/url_launcher` | `^6.3.2` |
| app_links | `path: packages/app_links` | `^7.0.0` |
| home_widget | `git: gitcode.com/...` | `^0.9.1` |
| home_widget | `git: gitcode.com/...` | `^0.9.3` |
| file_picker | `path: packages/file_picker` | `^12.0.0-beta.5` |
| image_picker | `path: packages/image_picker` | `^1.2.2` |
| share_plus | `path: packages/share_plus` | `^13.1.0` |
@@ -167,24 +160,24 @@ Error: The getter 'ohos' isn't defined for the class 'TargetPlatform'
| flutter_quill | `path: packages/flutter_quill` | `^11.5.0` |
| flex_color_picker | `path: packages/flex_color_picker` | `^3.8.0` |
| flutter_image_compress | `path: packages/flutter_image_compress` | `^2.4.0` |
| wakelock_plus | `path: packages/wakelock_plus` | `^1.4.0` |
| wakelock_plus | `path: packages/wakelock_plus` | `^1.6.0` |
| audioplayers | `path: packages/audioplayers` | `^6.5.0` |
| record | `path: packages/record` | `^6.0.0` |
| video_compress | `path: packages/video_compress` | `^3.1.2` |
| video_player | `path: packages/video_player` | `^2.10.0` |
| record | `path: packages/record` | `^6.2.1` |
| video_compress | `path: packages/video_compress` | `^3.1.4` |
| video_player | `path: packages/video_player` | `^2.11.0` |
| local_auth | `path: packages/local_auth` | `^3.0.1` |
| battery_plus | `path: packages/battery_plus` | `^7.0.0` |
| network_info_plus | `path: packages/network_info_plus` | `^8.1.0` |
| flutter_webrtc | `path: packages/flutter_webrtc` | `^1.4.0` |
| mobile_scanner | `path: packages/mobile_scanner` | `^7.1.4` |
| mobile_scanner | `path: packages/mobile_scanner` | `^7.2.0` |
| wifi_iot | `path: packages/wifi_iot` | `^0.3.19` |
| nearby_service | `path: packages/nearby_service` | `^0.2.1` |
| sqflite | `path: packages/sqflite` | `^2.4.1` |
| workmanager | `path: packages/workmanager` | `^0.9.0` |
| flutter_tts | `path: packages/flutter_tts` | `^4.2.0` |
| flutter_tts | `path: packages/flutter_tts` | `^4.2.5` |
| speech_to_text | `path: packages/speech_to_text` | `^7.4.0` |
| live_activities | `path: packages/live_activities` | `^2.4.9` |
| dependency_overrides | 46 行(含本地包覆盖 + ohos 子包) | 5 行(版本号覆盖 + win32 + quill_native_bridge_windows |
| dependency_overrides | 49 行(含本地包覆盖 + ohos 子包 + analyzer/test_api/test/xml/pointycastle | 10 行(版本号覆盖 + win32 + quill_native_bridge_windows + analyzer/test_api/test/xml/pointycastle |
### 2.4 ⚠️ 新增三方库变更流程(必读)
@@ -198,7 +191,6 @@ Error: The getter 'ohos' isn't defined for the class 'TargetPlatform'
4. 在本文档顶部更新日志记录变更
5. 在 CHANGELOG.md 记录变更
6. git push 后通知另一端开发者
7. 另一端开发者: git pull → 运行 setup_pubspec.ps1 → flutter pub get
```
**鸿蒙端新增本地化包时额外步骤:**
@@ -303,11 +295,11 @@ API 已与远程版本对齐,无需额外处理。
#### 2.8.3 flutter_secure_storage版本差异说明
MacBook Pro 端使用远程版本 `^10.2.0`,其 Windows 平台实现兼容 `win32 ^6.0.1`
MacBook Pro 端使用远程版本 `^10.3.0`,其 Windows 平台实现兼容 `win32 ^6.0.1`
解决了之前版本与 `win32 6.x` 的编译冲突。
> **注意**:鸿蒙端本地包版本为 `9.2.4-ohos.1`(基于 9.x 适配),
> 与 MacBook Pro 端远程版本 `10.2.0` 存在主版本号差异。
> 与 MacBook Pro 端远程版本 `10.3.0` 存在主版本号差异。
> 两端 API 兼容,`lib/` 代码无需特殊处理。
#### 2.8.4 receive_sharing_intentgitcode 引用)
@@ -339,11 +331,11 @@ MacBook Pro 端使用远程版本 `^10.2.0`,其 Windows 平台实现兼容 `wi
#### 2.8.6 home_widgetpub.dev 远程版本)
`home_widget` 的 gitcode 版本依赖 `path_provider` 的 git 版本,会与远程 `path_provider` 冲突。
MacBook Pro 端使用 pub.dev 版本 `^0.9.1`,鸿蒙端的 `ohosName` 参数通过 `pu.isOhos` + `dynamic` 调用隔离:
MacBook Pro 端使用 pub.dev 版本 `^0.9.3`,鸿蒙端的 `ohosName` 参数通过 `pu.isOhos` + `dynamic` 调用隔离:
```yaml
# MacBook Pro 端使用 pub.dev 远程版本
home_widget: ^0.9.1
home_widget: ^0.9.3
```
#### 2.8.7 nearby_connections已移除
@@ -365,7 +357,69 @@ MacBook Pro 端使用 pub.dev 版本 `^0.9.1`,鸿蒙端的 `ohosName` 参数
app_tracking_transparency: ^2.0.6
```
### 2.9 ⚠️ pub cache 补丁MacBook Pro 端必读
### 2.9 ⚠️ 鸿蒙端升级 Tips2026-06-15完成后删除本节
> **本节为鸿蒙端开发者提供升级指引,鸿蒙端完成适配后请删除此节。**
#### 2.9.1 需要升级的鸿蒙本地包
| 本地包目录 | 当前版本 | 需升级到 | 升级说明 |
|---|---|---|---|
| `packages/wakelock_plus` | v1.4.0-ohos.1 | v1.6.0-ohos | API不变仅平台接口版本提升 |
| `packages/record` | v6.0.0-ohos.1 | v6.2.1-ohos | 降级到6.2.1(7.0.0需Dart3.12+当前SDK为3.11.5) |
| `packages/flutter_local_notifications` | v21.0.0-ohos | v22.0.0-ohos | 需Flutter 3.38.1+API已使用命名参数 |
| `packages/flutter_secure_storage` | v9.2.4-ohos.1 | v10.3.0-ohos | 主版本差异(9→10)需评估API兼容性 |
| `packages/mobile_scanner` | v7.1.4-ohos.1 | v7.2.0-ohos | 次版本更新 |
| `packages/video_player` | v2.10.0-ohos.1 | v2.11.0-ohos | 次版本更新 |
| `packages/hive_flutter` | v1.1.0-ohos.2 | v2.3.4-ohos | 迁移到hive_ce_flutter导入路径变更 |
| `packages/sqflite` | v2.4.1-ohos.1 | v2.4.3-ohos | 补丁更新 |
#### 2.9.2 EOL 包迁移(鸿蒙端)
| 旧包 | 新包 | 鸿蒙端操作 |
|---|---|---|
| `sqlite3_flutter_libs` | `sqlite3 v3.x` | 鸿蒙端使用sqflite_ohos桥接不受影响但需移除`sqlite3_flutter_libs`引用。所有平台均配置`hooks.user_defines.sqlite3.source: system`使用系统SQLite避免从GitHub下载预编译库失败 |
| `hive_flutter` | `hive_ce_flutter` | 将`packages/hive_flutter`升级为hive_ce版本导入路径从`package:hive_flutter/`改为`package:hive_ce_flutter/` |
| `device_calendar` | `device_calendar_plus` | 鸿蒙端通过MethodChannel桥接不受影响但需移除`device_calendar`引用 |
#### 2.9.3 鸿蒙端升级步骤
```bash
# 1. 拉取最新代码
git pull
# 2. 重新生成 pubspec.yaml
.\tools\setup_pubspec.ps1 -Platform ohos
# 3. 逐一升级本地包
# 对每个需要升级的包:
# a. 下载新版本源码
# b. 添加 ohos 平台适配代码
# c. 更新 packages/xxx 目录
# d. 更新 pubspec.ohos.yaml 中的版本注释
# 4. 特别注意 hive_flutter → hive_ce_flutter 迁移
# 本地包 packages/hive_flutter 需要更新导入路径
# lib/ 代码中已将 import 'package:hive_flutter/' 改为 import 'package:hive_ce_flutter/'
# 鸿蒙端本地包也需同步修改导出路径
# 5. 获取依赖
flutter pub get
# 6. 构建验证
flutter build hap --debug
```
#### 2.9.4 dio_cache_interceptor 4.x 变更(鸿蒙端注意)
`dio_cache_interceptor` 已从 3.x 升级到 4.xAPI 变更:
- `hitCacheOnErrorExcept: [401, 403]``hitCacheOnNetworkFailure: true`
- `Nullable<Duration>``Duration?`
- `CacheResponse` 新增 `statusCode` 字段
鸿蒙端如果使用远程版本,需同步更新缓存配置代码。
### 2.10 ⚠️ pub cache 补丁MacBook Pro 端必读)
> **关键问题**`dependency_overrides` 中 `win32: ^6.0.1` 导致部分依赖 `win32 ^5.x` 的三方包编译失败。
> 这些三方包的 Windows 平台代码在 macOS 构建时也会被编译Dart 编译器不区分平台)。
@@ -384,8 +438,7 @@ MacBook Pro 端使用 pub.dev 版本 `^0.9.1`,鸿蒙端的 `ohosName` 参数
# 1. 确保 flutter pub get 已执行
flutter pub get
# 2. 运行补丁脚本(见 §2.6.3
bash scripts/patch_pub_cache.sh
# 3. 验证构建
flutter build macos
@@ -1066,7 +1119,6 @@ iOS/macOS 端这些检测不会执行(`isOhos` 为 false无需关心。
| 编译报 `TargetPlatform.ohos` 不存在 | 使用了含 ohos 引用的本地包 | 确认使用 `pubspec.macos.yaml` 生成的 pubspec.yaml |
| iOS 编译报 ohos 相关错误 | 误用鸿蒙SDK编译iOS | 切换到官方 Flutter SDK |
| GoRouter 路由正常但鸿蒙端白屏 | 鸿蒙端不支持 GoRouter | 检查 OhosNavBridge 路由映射 |
| git pull 后 pubspec.yaml 被覆盖 | pubspec.yaml 已在 .gitignore | 重新运行 `.\tools\setup_pubspec.ps1` |
| 新增依赖后另一端报错 | 只更新了一个模板 | 必须同时更新两个模板 + 文档,参见 §2.4 |
| 新增依赖后鸿蒙端报错 | 新增的三方库未适配鸿蒙 | 通知鸿蒙开发者评估,必要时本地化到 packages/ |
| 编译报 `OhosInitializationSettings` 不存在 | 官方SDK无此类型 | 使用 `notification_init_stub.dart` 桥接,参见 §4.5 |
@@ -1082,7 +1134,6 @@ MacBook Pro 开发前,确认以下事项:
- [ ] 使用官方 Flutter SDK非 flutter-ohos
- [ ]`git clone` 拉取最新代码
- [ ] 已运行 `.\tools\setup_pubspec.ps1 -Platform macos` 生成 pubspec.yaml
- [ ] `flutter pub get` 无报错
- [ ] `dart analyze lib/` 无 error
- [ ] 新增代码未使用 `switch(TargetPlatform)` 穷举匹配
@@ -1093,5 +1144,5 @@ MacBook Pro 开发前,确认以下事项:
---
*文档创建时间: 2026-05-21 | 更新时间: 2026-06-07 v10 | 维护者: 闲言APP开发团队*
*更新内容: 修正dependency_overrides行数、补丁引用简化pro_image_editor和pubspec.yaml处理策略与双模板机制对齐*
*文档创建时间: 2026-05-21 | 更新时间: 2026-06-15 v11 | 维护者: 闲言APP开发团队*
*更新内容: 同步三方库升级删除custom_lint/riverpod_lint新增analyzer/test_api/test/xml/pointycastle overridesrecord降级到^6.2.1;更新差异对照表*