Skip to content

v0.3.0 打磨·测试·发布

Choose a tag to compare

@YJLZSL YJLZSL released this 23 Jul 14:18

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 包装器 + flightShuttleBuilderSpringMotion.gentleSpeed 曲线)
  • 按压微交互
    • LingxiButton 按压 scale 0.96 + 阴影从 subtle 抬升至 elevated
    • LingxiCard 按压 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.dartstoreDateTimeAsText: 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 run

Full Changelog: v0.2.0...v0.3.0