Repository navigation
Stats-flutter v1.3.0 - UI/UX overhaul
Stats-flutter v1.3.0 · UI/UX overhaul / 界面与体验升级
冲「专业、克制的统计分析工作台」重做了一遍表现层与交互层。统计内核 packages/statkit 未改动,计算口径与 v1.2 完全一致;这是一个可以放心替换旧版本的界面升级。
亮点 / Highlights
- 🎨 设计地基:新增
design_tokens.dart(间距 / 圆角 / 字号 / 动效 / 语义色),重写app_theme.dart,明暗两套主题同等优先级。 - 🔤 字体本地打包:内置 Inter(400/500/600/700,拉丁与数字),中文回退系统字体;移除
google_fonts,离线启动不再掉字体、不再有首屏 FOUT。数值统一启用等宽数字(tabular figures)。 - 🧩 通用组件库:
AppCardSectionHeaderStatTile/StatChipEmptyStateLoadingSkeletonAnalysisTileParamVarPickerSignificanceBadgeChartCard+AdaptiveNavScaffold。 - 🔍 分析中心:32 项分析 / 8 个分类可折叠分组,支持搜索、最近使用、收藏(本地持久化)。
- 📊 报告与图表:自绘表格(等宽数字、数值右对齐、表头吸顶、斑马纹、横向滚动);p 值按阈值着色 + 星级 + 文字标注(色盲友好);分区可一键复制;HTML / Markdown 导出带新配色、深色模式与打印样式。
- 📱 响应式:断点 600 / 840 / 1200,正文最大宽度 960 居中;手机底部导航 ↔ 宽屏侧栏(状态保持);375 / 768 / 1024 / 1440 四档无横向滚动。
- ✨ 动效:
FadeForwards页面转场、骨架屏加载,全局响应系统「减少动态效果」设置。 - 🌏 双语:ARB 各 576 条文案;学习课程与题库内容双语;版本号从
AppInfo读取,与pubspec.yaml一致。 - ♿ 可访问性:明暗两套正文对比度达 AA、交互元素满足 44×44 触摸目标、图标按钮带 tooltip 与语义标签、状态不只靠颜色区分。
顺带修掉的缺陷 / Bug fixes
- 组件主题(按钮 / 标签 / Tab / 导航栏)此前使用裸
TextStyle,真机上会退回系统字体而不是 Inter。 - 未选中的 chip 标签几乎不可见(覆盖了默认颜色,对比度仅 1.05)。
- 收藏分析项时,新插入的收藏区块会把已展开的分类折叠回去(列表元素缺少稳定 key)。
- 答题页底部按钮在 375px 宽度下溢出 15px。
质量 / Quality
flutter analyze:无告警flutter test:72 项全部通过(widget / 单元 / 无障碍 / 响应式回归)- 视觉基线:8 张 golden(学习页明·暗·宽屏、测试页明·暗、课程详情明·暗、自适应导航),基线由 Windows 生成,CI 上以
--exclude-tags golden排除,本地用flutter test --tags golden验证
构建环境 / Requirements
- Flutter 3.41.9 stable(Dart SDK
^3.11.5) statkit 0.4.0(本地 path 依赖,未变更)
产物 / Artifacts
CI 会为本次发布构建并附加:Android APK、Windows x64(zip)、Linux x64(tar.gz)、macOS(zip)。
完整变更清单 / Full changelog:git log app-v1.2.0..app-v1.3.0