chore: v6.6.6 版本迭代更新

主要变更:
1. 重构"国学"相关模块为"经典名句",统一命名规范
2. 重命名"阅读报告"为"使用报告",调整相关文案与配置
3. 修复iOS模拟器图片缓存兼容问题,优化图表渲染逻辑
4. 新增设备活跃状态前端兜底判断,修复在线计数异常
5. 完善登录/注册流程,新增忘记密码路由与账户编辑提示
6. 优化文件传输与字体导入逻辑,废弃过时的bytes属性使用
7. 添加Spotlight全局快捷键支持,更新隐私权限与通知配置
8. 补充数据库迁移脚本与部署文档,修复后端接口兼容问题
9. 调整部分UI交互细节,优化内存占用与应用稳定性
This commit is contained in:
Developer
2026-06-07 06:56:52 +08:00
parent e119c84868
commit f281e465bb
159 changed files with 10502 additions and 2120 deletions

View File

@@ -10,6 +10,8 @@
| 日期 | 版本 | 变更内容 |
|---|---|---|
| 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-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 移除说明 |
@@ -171,8 +173,6 @@ Error: The getter 'ohos' isn't defined for the class 'TargetPlatform'
| 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` |
| flutter_blue_plus | `path: packages/flutter_blue_plus` | `^2.1.0` |
| flutter_nfc_kit | `path: packages/flutter_nfc_kit` | `^3.6.0` |
| mobile_scanner | `path: packages/mobile_scanner` | `^7.1.4` |
| wifi_iot | `path: packages/wifi_iot` | `^0.3.19` |
| nearby_service | `path: packages/nearby_service` | `^0.2.1` |
@@ -182,7 +182,7 @@ Error: The getter 'ohos' isn't defined for the class 'TargetPlatform'
| flutter_tts | `path: packages/flutter_tts` | `^4.2.0` |
| speech_to_text | `path: packages/speech_to_text` | `^7.4.0` |
| live_activities | `path: packages/live_activities` | `^2.4.9` |
| dependency_overrides | 40+ 行(含本地包覆盖 + ohos 子包) | 4 行(仅版本号覆盖 + win32 |
| dependency_overrides | 46 行(含本地包覆盖 + ohos 子包) | 5 行(仅版本号覆盖 + win32 + quill_native_bridge_windows |
### 2.4 ⚠️ 新增三方库变更流程(必读)
@@ -242,7 +242,7 @@ cd xianyan
# 3. 获取依赖
flutter pub get
# 4. 应用 pub cache 补丁(见 §2.8
# 4. 应用 pub cache 补丁(见 §2.9
bash scripts/patch_pub_cache.sh
# 5. 编译验证
@@ -270,17 +270,13 @@ flutter pub get
#### 2.8.1 pro_image_editor已迁移至远程版本
`pro_image_editor` 已从本地包迁移为远程版本 `^12.4.4`MacBook Pro 端直接使用远程版本即可
`pro_image_editor` 已从本地包迁移为远程版本 `^12.4.4`两端均使用远程版本:
```yaml
# MacBook Pro 端使用远程版本
# 两端均使用远程版本
pro_image_editor: ^12.4.4
```
> **注意**:如果项目代码中使用了自定义的 `CanvasStyleModel` 类,
> 远程版本可能不包含此类型,需要检查兼容性。
> 如遇编译错误,可恢复使用本地包版本(`path: packages/pro_image_editor`)。
#### 2.8.2 file_pickerAPI 变更 + win32 6.x 兼容)
`file_picker` 已从 `^11.0.0` 升级为 `^12.0.0-beta.5`,原因:
@@ -786,87 +782,58 @@ main (受保护) ← 所有平台共用
- 鸿蒙SDK特有的配置文件
**⚠️ pubspec.yaml 提交铁律:**
1. **MacBook Pro 端修改的 `pubspec.yaml` 绝对不能提交**仓库中的版本必须保持鸿蒙端本地包引用
2. **使用 `git stash` 或 `.git/info/exclude` 隔离修改** — 防止误提交
3. **如果必须提交 `pubspec.yaml`**(如新增了远程依赖),先 `git stash pop` 恢复原始版本,在原始版本上修改,再提交
1. **`pubspec.yaml` 已加入 `.gitignore`,不应提交** — `setup_pubspec.ps1` 脚本从模板生成
2. **修改依赖时编辑模板文件**`pubspec.macos.yaml`MacBook Pro 端)或 `pubspec.ohos.yaml`(鸿蒙端)
3. **模板文件必须提交** — 确保两端依赖配置同步
### 3.3 pubspec.yaml 处理策略(⭐ 重点)
由于 MacBook Pro 端和鸿蒙端使用不同的 `pubspec.yaml` 配置,需要特别注意。
> **双模板机制下,`pubspec.yaml` 由脚本生成,不提交到 Git。**
> MacBook Pro 端开发者无需手动替换本地包引用,也无需 git stash 隔离。
#### 3.3.1 两端 pubspec.yaml 差异
| 区域 | 鸿蒙端(仓库版本) | MacBook Pro 端(本地版本) |
|---|---|---|
| dependencies 中的本地包 | `path: packages/xxx` | 远程版本号(如 `^2.5.5` |
| dependency_overrides | 包含所有 `path: packages/xxx` | 仅保留 `meta``web` 等版本号覆盖 |
#### 3.3.2 MacBook Pro 端日常操作
#### 3.3.1 日常操作
```bash
# 开发前:恢复 MacBook Pro 本地版本
git stash list # 查看暂存
git stash pop # 恢复修改后的 pubspec.yaml
# 开发中:正常编码,不涉及 pubspec.yaml 的提交
# 提交代码时:先暂存本地 pubspec.yaml
git stash push -m "macOS-local-pubspec" pubspec.yaml
git add lib/ ios/ macos/ assets/
git commit -m "feat: xxx"
git push origin feature/xxx
# 提交后:恢复本地 pubspec.yaml
git stash pop
```
#### 3.3.3 需要新增依赖时
MacBook Pro 端新增依赖时,需要在**两端**分别操作:
```bash
# ── MacBook Pro 端 ──
# 1. 在本地 pubspec.yaml 中添加新依赖
echo " new_package: ^1.0.0" >> pubspec.yaml
# git pull 后,重新生成 pubspec.yaml 即可
.\tools\setup_pubspec.ps1 -Platform macos
flutter pub get
# 2. 恢复仓库版本的 pubspec.yaml
git stash push -m "macOS-local-pubspec" pubspec.yaml
git stash pop # 如果之前有暂存,先恢复
# 3. 在仓库版本的 pubspec.yaml 中也添加新依赖
# (保持鸿蒙端的本地包引用格式)
# 4. 提交仓库版本
git add pubspec.yaml
git commit -m "feat: add new_package dependency"
# ── 通知鸿蒙开发者 ──
# 告知新增了 new_package评估是否需要鸿蒙适配
# 如果需要适配 → 鸿蒙端添加本地包引用
# 如果不需要适配 → 两端都使用远程版本
# 编译验证
flutter build ios --no-codesign
```
#### 3.3.4 git pull 后 pubspec.yaml 被覆盖
#### 3.3.2 需要新增依赖时
新增依赖时,必须在**两端模板**分别操作:
```bash
# git pull 后,仓库版本的 pubspec.yaml 覆盖了本地修改
# 重新替换为远程版本即可:
# 1. 在 pubspec.macos.yaml 添加远程版本依赖
# 2. 在 pubspec.ohos.yaml 添加对应依赖(本地包或远程版本
# 3. 更新本文档 §2.3 差异对照表
# 4. 重新生成 pubspec.yaml
.\tools\setup_pubspec.ps1 -Platform macos
flutter pub get
# 方式1从备份恢复
git stash pop # 如果之前有暂存
# 方式2重新手动替换参见 §2.2
# 搜索 "path: packages/" 逐个替换为远程版本号
# 5. 通知鸿蒙开发者评估适配
```
#### 3.3.5 减少冲突的最佳实践
#### 3.3.3 git pull 后 pubspec.yaml 被覆盖
```bash
# pubspec.yaml 在 .gitignore 中git pull 不会覆盖
# 如果误删或需要重新生成:
.\tools\setup_pubspec.ps1 -Platform macos
flutter pub get
```
#### 3.3.4 减少冲突的最佳实践
| 做法 | 说明 |
|---|---|
| **MacBook Pro 端不提交 pubspec.yaml** | 从根本上避免冲突 |
| **使用 git stash 隔离** | 每次提交前 stash提交后 pop |
| **不提交 pubspec.yaml** | 已在 .gitignore从根本上避免冲突 |
| **新增依赖时通知鸿蒙开发者** | 让鸿蒙端同步评估适配 |
| **版本号升级单独提交** | 不要和功能代码混在一起提交 |
| **修改模板而非 pubspec.yaml** | 直接编辑 `pubspec.macos.yaml` / `pubspec.ohos.yaml` |
### 3.4 其他合并注意事项
@@ -876,7 +843,8 @@ git stash pop # 如果之前有暂存
### 3.5 PR 审查要点
- [ ] 未提交 MacBook Pro 端修改的 `pubspec.yaml`(仓库版本保持鸿蒙本地包引用
- [ ] 未提交 `pubspec.yaml`(已加入 .gitignore由脚本生成
- [ ] 依赖变更已同步更新 `pubspec.macos.yaml``pubspec.ohos.yaml` 两个模板
- [ ] 未引入 `TargetPlatform` exhaustive switch 问题
- [ ] 新增路由已在 `ohos_nav_bridge.dart` 中同步
- [ ] `lib/` 代码无平台特定硬编码(应使用 `platform_utils.dart`
@@ -1077,10 +1045,8 @@ iOS/macOS 端这些检测不会执行(`isOhos` 为 false无需关心。
### 5.4 packages 目录说明
- `packages/` 目录存放鸿蒙适配的本地三方库,已在 `.gitignore` 中排除(`/packages/`
- MacBook Pro 端需 `packages/pro_image_editor/`(含魔改的 `CanvasStyleModel`),从 zip 解压获取
- 其他本地包 MacBook Pro 端使用远程版本,无需放在 `packages/` 目录
- MacBook Pro 端使用远程版本,无`packages/` 目录
- 鸿蒙开发者需手动维护本地 `packages/` 目录
- `packages/bitsdojo_window_windows/` 已随 bitsdojo_window 移除而废弃,可安全删除
- ⚠️ `pubspec.yaml` 已加入 `.gitignore`,不再提交到 Git
- 鸿蒙端模板:`pubspec.ohos.yaml`MacBook Pro 端模板:`pubspec.macos.yaml`
- 使用 `tools/setup_pubspec.ps1` 生成 `pubspec.yaml`
@@ -1125,17 +1091,16 @@ MacBook Pro 开发前,确认以下事项:
- [ ] 使用官方 Flutter SDK非 flutter-ohos
- [ ]`git clone` 拉取最新代码
- [ ] `pubspec.yaml` 中的本地包替换为远程版本(参见 §2.2
- [ ] 已解压 `pro_image_editor``packages/` 目录(参见 §2.5.1
- [ ]运行 `.\tools\setup_pubspec.ps1 -Platform macos` 生成 pubspec.yaml
- [ ] `flutter pub get` 无报错
- [ ] `dart analyze lib/` 无 error
- [ ] 新增代码未使用 `switch(TargetPlatform)` 穷举匹配
- [ ] 新增鸿蒙SDK特有类型已通过桥接文件隔离参见 §4.5
- [ ] 新增路由已在 `app_router.dart``ohos_nav_bridge.dart` 双写
- [ ] 已使用 `git stash` 隔离本地 `pubspec.yaml`,不会误提交
- [ ] 依赖变更已同步更新两个模板文件
- [ ] Git 提交未删除 `pu.isOhos` 相关代码
---
*文档创建时间: 2026-05-21 | 更新时间: 2026-06-01 v6 | 维护者: 闲言APP开发团队*
*更新内容: win32 6.x兼容修复(file_picker升级+pub cache补丁)flutter_vibrate Swift 6修复新增§2.6 pub cache补丁文档*
*文档创建时间: 2026-05-21 | 更新时间: 2026-06-07 v10 | 维护者: 闲言APP开发团队*
*更新内容: 修正dependency_overrides行数、补丁引用简化pro_image_editor和pubspec.yaml处理策略与双模板机制对齐*