v0.3.0 打磨·测试·发布
v0.3.0 打磨·测试·发布
灵犀学院 v0.3.0 — 灵动丝滑 + 功能验证版本
🎨 四大方向优化
1. 仓库版本序列治理
- 删除 fork 前遗留的 5 个旧 GitHub Release(v1.0.0 / v2.0.0 / v2.1.0 / v3.0.0 / v5.0.0)
- GitHub Releases 现仅保留本项目实际发布的版本(v0.2.0 / v0.3.0)
2. 美术细节继续打磨
- Hero 共享元素动画:首页吉祥物 → 学习路径页 / 对话页视觉延续(
MascotHero包装器 +flightShuttleBuilder,SpringMotion.gentleSpeed曲线) - 按压微交互:
LingxiButton按压 scale 0.96 + 阴影从 subtle 抬升至 elevatedLingxiCard按压 scale 0.99 + 阴影抬升(仅可点击卡片)LingxiChip选中态AnimatedSwitcher+ scale 0.95
- 暗色模式 trueBlack 策略:OLED 屏幕背景
0xFF000000,语义色亮度提升确保 WCAG AA 对比度 - 空状态插画升级:
_TwinklingStar→_ParticleField(7 个粒子,circular / spiral / parabolic 三种轨迹,LingxiGradients.celebration渐变色,两层RepaintBoundary隔离)
3. 动画丝滑深度优化
- SpringMotion fastSpeed 微调:damping 53 → 54,settle time 151ms → 148ms(完全符合 Material Motion 3 规范 ≤150ms)
- 列表滚动性能:
chat_list_page/notes_page/learning_path_page添加cacheExtent: 500+RepaintBoundary隔离复杂列表项 - PageView 滑动手感:
BouncingScrollPhysics三端统一 iOS 风格回弹 +reduceMotion时降级为按钮切换 - GoRouter 页面过渡统一:
slideFadeTransitionBuilder+SpringMotion.entranceCurve,14 个 GoRoute 一致过渡,三端共享同一套时长与曲线常量
4. 测试补全与功能验证
新增 10 个测试文件,149 个测试用例:
| 测试文件 | 用例数 | 覆盖范围 |
|---|---|---|
mascot_controller_test.dart |
16 | 6 种情绪切换 + 彩蛋触发 + mounted 检查 |
mascot_widget_test.dart |
20 | 6 情绪渲染 + 点击交互 + 尺寸 |
streak_service_edge_test.dart |
15 | 跨日边界 + 时区 + 断档重置 |
confusion_detection_service_test.dart |
18 | 困惑检测阈值 + 降级 + 重置 |
spaced_repetition_service_test.dart |
18 | 复习队列 + 间隔重复算法 |
recommendation_service_test.dart |
16 | 推荐引擎 + 完成率 |
course_level_extensions_test.dart |
16 | L0-L4 级别色映射 |
spring_motion_test.dart |
14 | 6 档弹簧参数 + reduceMotion 降级 |
lingxi_button_test.dart |
8 | 按压动画 + 禁用态 |
lingxi_card_test.dart |
8 | 阴影层级 + 按压反馈 |
静态代码审查通过:
- 19 个文件使用
AnimationController,30 个文件含 106 处dispose()调用,无泄漏 - 16 个文件使用
Future.delayed,14 个含mounted检查(2 个无 UI 状态文件豁免) - 7 个文件共 21 处
RepaintBoundary,持续动画全部隔离
📚 文档同步
AGENTS.md新增"版本演进历史"+"60fps 监控方法"章节docs/代码百科.md扩充 motion/ 章节(5 子章节)+ 测试体系(149 用例清单)README.md版本徽章 v0.3.0 + 新增"动画亮点"展示
⚠️ 验证限制说明
本机 Flutter SDK 不可用(路径 C:\Users\23501\AppData\Local\Temp\flutter\bin\flutter.bat 不存在),无法运行 flutter analyze / flutter test / flutter build 最终验证。
推荐 CI 验证方式:
flutter pub get
flutter pub run build_runner build --delete-conflicting-outputs
flutter analyze
flutter test --coverage本次 Release 不附带构建产物(仅源代码 Release),待 CI 环境验证通过后可补充构建产物。
🔒 安全红线
SecureStorageService逻辑未修改SecureLogInterceptor脱敏逻辑未修改ProviderConfig.toJson()仍跳过 apiKey 字段DataExportService中的assert(!json.containsKey('apiKey'))断言仍存在database.dart的storeDateTimeAsText: true未被修改.gitignore中敏感文件条目未被移除
📦 升级指南
git clone https://github.com/YJLZSL/polaris-learn.git
cd polaris-learn
flutter pub get
flutter pub run build_runner build --delete-conflicting-outputs
flutter runFull Changelog: v0.2.0...v0.3.0