chore: v6.6.6 版本迭代更新
主要变更: 1. 重构"国学"相关模块为"经典名句",统一命名规范 2. 重命名"阅读报告"为"使用报告",调整相关文案与配置 3. 修复iOS模拟器图片缓存兼容问题,优化图表渲染逻辑 4. 新增设备活跃状态前端兜底判断,修复在线计数异常 5. 完善登录/注册流程,新增忘记密码路由与账户编辑提示 6. 优化文件传输与字体导入逻辑,废弃过时的bytes属性使用 7. 添加Spotlight全局快捷键支持,更新隐私权限与通知配置 8. 补充数据库迁移脚本与部署文档,修复后端接口兼容问题 9. 调整部分UI交互细节,优化内存占用与应用稳定性
This commit is contained in:
@@ -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.yaml),pubspec.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_picker(API 变更 + 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处理策略;与双模板机制对齐*
|
||||
|
||||
Reference in New Issue
Block a user