# Changelog All notable changes to this project will be documented in this file. --- ## [1.4.1] - 2026-04-03 ### 新增 - ✨ **从 pubspec.yaml 动态获取版本号** - 使用 package_info_plus 插件动态获取应用版本号和版本代码 - 在 AppConfig 中添加 init() 初始化方法和 appVersion、appVersionCode getter - 在 main.dart 中应用启动时初始化 AppConfig - 在 app-info.dart 中动态显示 appVersion 和 appVersionCode - 涉及文件: - `pubspec.yaml` - 使用官方 package_info_plus: ^9.0.1 - `lib/config/app_config.dart` - 添加动态版本号获取 - `lib/main.dart` - 初始化 AppConfig - `lib/views/profile/app-info.dart` - 动态显示版本号 - ✨ **软件更新日志卡片** - 启用应用信息页面的软件更新日志卡片 - 添加了版本 1.4.1 和 1.3.59 的更新内容 - 涉及文件: - `lib/views/profile/app-info.dart` - 启用更新日志 - ✨ **开源框架列表添加 GetX** - 在应用信息页面的开源框架列表中添加了 GetX - GetX 协议:MIT - 涉及文件: - `lib/views/profile/app-info.dart` - 添加 GetX 到开源框架列表 - ✨ **了解我们页面网站列表优化** - 在官方网站卡片中添加了情景诗词在线版 - 两个网站都添加了独立的复制按钮 - 添加了网站标签显示(官方APP页/情景诗词在线版) - 涉及文件: - `lib/views/profile/settings/learn-us.dart` - 新增网站列表和复制按钮 ### 优化 - ⚡ **解决 package_info_plus 依赖冲突** - 解决 wakelock_plus 与 package_info_plus 的版本冲突 - 使用官方版本 package_info_plus: ^9.0.1 替代 git 版本 - 同时保留鸿蒙适配版代码在 packages/flutter_plus_plugins/packages/package_info_plus 以备需要 - 鸿蒙适配版包含完整的 ohos 平台实现 - 涉及文件: - `pubspec.yaml` - 移除 dependency_overrides,使用官方版本 - `packages/flutter_plus_plugins/packages/package_info_plus` - 鸿蒙适配版本地备份 - ⚡ **使用 Get.snackbar 替代 ScaffoldMessenger** - 将应用信息页面中的所有 SnackBar 消息改为 Get.snackbar - 背景色使用 Get.snackbar 默认颜色 - 文字颜色使用动态主题色 - 图标颜色也使用动态主题色(仅复制提示) - 添加圆角和边距样式 - 涉及文件: - `lib/views/profile/app-info.dart` - SnackBar 改为 Get.snackbar - ⚡ **了解我们页面消息提示优化** - 将了解我们页面中的所有 SnackBar 消息改为 Get.snackbar - 包括:QQ群号复制、微信公众号复制、网站链接复制 - 背景色使用 Get.snackbar 默认颜色 - 文字颜色使用动态主题色 - 涉及文件: - `lib/views/profile/settings/learn-us.dart` - 所有消息改为 Get.snackbar ### 修复 - 🐛 **修复版本号不显示的问题** - 将 AppConfig 中的版本号改为 GetX 响应式变量 - 在 app-info.dart 中使用 Obx 观察版本号变化 - 更新默认版本号为 1.4.1 - 涉及文件: - `lib/config/app_config.dart` - 响应式版本号 - `lib/views/profile/app-info.dart` - Obx 包裹版本号显示 ### 删除 - 🗑️ **移除设计风格卡片** - 从应用信息页面移除了设计风格卡片 - 涉及文件: - `lib/views/profile/app-info.dart` - 移除 _buildDesignStyleCard 调用 ## [1.3.59] - 2026-04-03 ### 修复 - 🐛 **修复出处字段被时间提示语遮挡的问题** - 给诗词卡片内容添加了顶部内边距(60) - 确保出处等内容不被浮动的时间提示语遮挡 - 涉及文件: - `lib/views/home/home_part.dart` - 添加顶部内边距 ## [1.3.58] - 2026-04-03 ### 优化 - ✨ **优化主页诗词卡片布局,去除时间提示语下方的空白** - 将时间提示语("夜深了,注意身体")改为 Positioned 在上层单独占位 - 时间提示语不再占用布局空间,下方内容自动顶上来 - 调整了复制提示框的位置,避免与时间提示语重叠 - 涉及文件: - `lib/views/home/home_part.dart` - 优化时间提示语布局 ## [1.3.57] - 2026-04-03 ### 修复 - 🐛 **修复诗词答题页面底部操作按钮容器的深色模式适配** - 修复了底部"上一题 提示 下一题"容器在深色模式下背景色不匹配的问题 - 适配了按钮渐变、文字颜色、阴影等元素在深色模式下的显示 - 将静态颜色 `AppConstants.primaryColor` 改为动态的 `primaryColor`,跟随主题色变化 - 涉及文件: - `lib/views/profile/level/poetry.dart` - 修复深色模式适配 ## [1.3.56] - 2026-04-03 ### 优化 - 🎨 **修改主题颜色默认值为中国传统风格** - 默认主题颜色从紫色改为书褐色 (0xFF8B4513),更符合中国传统诗词风格 - 默认强调色从紫色改为明黄色 (Colors.yellow) - 涉及文件: - `lib/models/colors/theme_colors.dart` - 调整主题颜色和强调色顺序 - 📋 **搜索项目中使用静态主题色的地方** - 发现项目中多个文件使用 AppConstants.primaryColor 等静态颜色 - 建议后续逐步改用 ThemeController 动态获取主题色 ## [1.3.55] - 2026-04-03 ### 修复 - 🐛 **修复发现页面动画导致的卡死问题** - 修复了使用 SingleTickerProviderStateMixin 但创建多个 AnimationController 导致的异常 - 将 SingleTickerProviderStateMixin 改为 TickerProviderStateMixin - 涉及文件: - `lib/views/discover_page.dart` - 修复 ticker 提供者 ## [1.3.54] - 2026-04-03 ### 优化 - ✨ **优化发现页面提示框的关闭动画** - 点击关闭按钮时,提示框会有平滑的淡出和收缩动画 - 下方的内容会自动顶上来占位,实现流畅的过渡效果 - 涉及文件: - `lib/views/discover_page.dart` - 添加动画控制器和过渡效果 ## [1.3.53] - 2026-04-03 ### 修复 - 🐛 **修复声音设置不一致的问题** - 修复了声音关闭时依旧有声音、有时候关闭时没声音的问题 - 统一了 AudioManager 和 app_fun.dart 的默认值(都默认为 false,即静音) - 修复了 AudioManager.setMuted() 没有保存到 SharedPreferences 的问题 - 在 app_fun.dart 中加载设置时同步到 AudioManager - 涉及文件: - `lib/utils/audio_manager.dart` - 修复默认值和 setMuted 方法 - `lib/views/profile/settings/app_fun.dart` - 修复设置加载和同步逻辑 ## [1.3.52] - 2026-04-03 ### 修复 - 🐛 **彻底修复主页加载下一条诗词卡片时的闪白问题** - 找到并修复了闪白的根本原因:home_page.dart 中每次 build 都会触发的 FadeTransition 动画 - 移除了导致页面每次重新渲染都闪烁的动画代码 - 简化了数据加载逻辑,移除了复杂的分步加载,改为一次性加载 - 清理了不再需要的 AnimationController 和 SingleTickerProviderStateMixin - 涉及文件: - `lib/views/home/home_page.dart` - 移除 FadeTransition 动画和 AnimationController - `lib/services/get/home_controller.dart` - 简化 `simulateSectionLoading()` 方法 ## [1.3.51] - 2026-04-03 ### 修复 - 🐛 **主页加载下一条诗词卡片时的闪白问题** - 修复切换诗词卡片时页面闪白的问题 - 优化数据加载顺序,确保在显示骨架屏时旧数据仍然可见 - 优化分步加载动画,将延迟从200ms缩短为150ms - 在设置加载状态后立即调用update()通知UI更新 - 涉及文件: - `lib/services/get/home_controller.dart` - 优化 `loadNextPoetry()` 和 `simulateSectionLoading()` 方法 ## [1.3.50] - 2026-04-03 ### 新增 - ✨ **分类页面底部提示** - 在分类列表底部添加"到底了"提示 - 防止列表项被全局底部导航栏遮住 - 支持深色模式适配 - 涉及文件: - `lib/views/active/category_page.dart` - 添加 `_buildEndIndicator` 方法 ### 优化 - ⚡ **版本号管理优化** - 删除 `AppConstants` 中重复的 `appVersion` 定义 - 统一使用 `AppConfig.appVersion` 管理版本号 - 更新版本号至 1.3.50 - 涉及文件: - `lib/constants/app_constants.dart` - 删除 `appVersion` 定义 - `lib/config/app_config.dart` - 更新版本号 - `lib/views/profile/profile_page.dart` - 更新引用 - ⚡ **Get.snackbar 消息样式优化** - 字体颜色使用动态主题色,背景使用默认样式 - 调用时重新获取 `ThemeController` 确保获取最新主题色 - 涉及文件: - `lib/views/profile/settings/learn-us.dart` - 复制成功提示 - `lib/views/profile/per_card.dart` - 头像切换提示 - `lib/views/profile/history_page.dart` - 分享和查看详情提示 - `lib/views/profile/settings/offline-data.dart` - 离线数据页面所有消息提示 - `lib/services/get/profile_controller.dart` - 开发计划、屏幕常亮等提示 - `lib/services/get/favorites_controller.dart` - 收藏页面排序提示 - `lib/services/get/discover_controller.dart` - 发现页面刷新提示 - `lib/services/get/theme_controller.dart` - 主题切换提示 ## [1.3.49] - 2026-04-03 ### 修复 - 🐛 **悬浮按钮管理器状态更新时机修复** - 修复 `setState() or markNeedsBuild() called when widget tree was locked` 错误 - 使用 `WidgetsBinding.instance.addPostFrameCallback` 延迟状态更新 - 涉及文件: - `lib/views/home/set/home-set.dart` - `init()`、`_restoreFromFlashing()`、`dispose()` 方法添加延迟更新 ## [1.3.48] - 2026-04-03 ### 修复 - 🐛 **关怀页面用户类型主题色跟随修复** - 修复用户类型选择按钮的主题色不跟随问题 - 使用 `Obx` 包裹按钮,实时响应主题色变化 - 涉及文件: - `lib/views/home/care/care-page.dart` - `_buildUserTypeSelector` 方法添加响应式主题色 ## [1.3.47] - 2026-04-03 ### 优化 - ⚡ **关怀模式开关点击区域优化** - 点击关怀开关卡片的空白区域也可跳转至关怀页面 - Switch 开关保持独立的开关功能 - 涉及文件: - `lib/views/home/care/care_widgets.dart` - `CareModeToggle` 组件添加整体点击跳转 ## [1.3.46] - 2026-04-03 ### 新增 - ✨ **设置建议卡片新增统计跳转选项** - 新增统计选项,跳转至 `EntirePage`(全站数据统计) - 选项总数从8个增加到9个,布局调整为3页 - 每页显示4个选项,第三页显示最后1个选项 - 页面指示器更新为3个圆点 - 涉及文件: - `lib/controllers/settings/suggestions.dart` - 添加统计选项并调整布局 ## [1.3.45] - 2026-04-03 ### 新增 - ✨ **设置建议卡片新增跳转选项** - 新增诗词搜索选项,跳转至 `ActiveSearchPage` - 新增调试页面选项,跳转至 `RatePage` - 选项总数从6个增加到8个,每页显示4个选项 - 涉及文件: - `lib/controllers/settings/suggestions.dart` - 添加新选项并调整布局 ## [1.3.44] - 2026-04-03 ### 新增 - ✨ **权限管理页面添加设置建议卡片** - 在权限管理页面底部显示 `SuggestionsCard` 组件 - 用户可在权限页面快速访问主题风格、关怀模式、使用教程等功能 - 涉及文件: - `lib/views/profile/guide/permission.dart` - 导入并添加 `SuggestionsCard` ## [1.3.43] - 2026-04-03 ### 新增 - ✨ **设置建议卡片功能扩展** - 新增关怀模式选项,跳转至 `CarePage` - 新增使用教程选项,跳转至 `BeginnerPage` - 选项支持左右滑动切换页面(PageView) - 选项支持随机排序,每次展示卡片时自动重新排序 - 添加页面指示器,显示当前所在页面 - 涉及文件: - `lib/controllers/settings/suggestions.dart` - 重构为 PageView 布局,添加随机排序功能 ## [1.3.42] - 2026-04-03 ### 新增 - ✨ **设置建议卡片页面返回悬浮按钮** - 从卡片进入的页面自动添加左侧返回悬浮长条按钮 - 按钮位置在屏幕左侧中间(45%高度处) - 5秒后自动消失,带有淡出动画 - 支持深色/浅色模式,颜色跟随主题色 - 涉及文件: - `lib/controllers/settings/suggestions.dart` - 添加 `_PageWithBackButton` 包装组件 ## [1.3.41] - 2026-04-03 ### 优化 - ⚡ **设置建议卡片布局与主题色支持** - 修改卡片内选项布局:icon 和标题改为同一行,左右对齐 - 卡片整体支持主题色,icon 颜色跟随主题色变化 - 使用 `AppColors.primary` 动态获取当前主题色 - 按钮背景使用主题色边框和半透明背景 - 涉及文件: - `lib/controllers/settings/suggestions.dart` - 布局重构,添加主题色支持 - `lib/models/colors/app_colors.dart` - 使用动态颜色 ## [1.3.40] - 2026-04-03 ### 优化 - ⚡ **个性化设置页面对话框优化** - 开发中提示对话框添加"不再提醒"复选框,勾选后下次进入页面不再自动显示 - 设置保存到 SharedPreferences,持久化存储用户选择 - AppBar 右侧添加信息图标,点击可手动显示开发中提示对话框 - 涉及文件: - `lib/views/profile/theme/app-diy.dart` - 对话框优化,添加复选框和图标按钮 ## [1.3.39] - 2026-04-03 ### 新增 - ✨ **主页诗词卡片骨架屏加载动画** - 创建 `skeleton_widgets.dart`,实现骨架屏基础组件(SkeletonContainer) - 修改 `home_part.dart`,所有区块(标题、诗词名、内容、关键词、简介)支持骨架屏加载状态 - 修改 `care_poetry_page.dart`,关怀模式诗词页面支持骨架屏加载 - 骨架屏采用渐变动画效果,防止加载时闪白 - 支持深色/浅色模式,骨架颜色自动适配 - 涉及文件: - `lib/views/home/components/skeleton_widgets.dart` - 新建骨架屏组件 - `lib/views/home/home_part.dart` - 集成骨架屏到各区块 - `lib/views/home/care/care_poetry_page.dart` - 关怀模式骨架屏支持 ### 优化 - ⚡ **关怀开关自动隐藏功能** - 主页左上角关怀按钮点击后,开关面板3秒内无操作自动消失 - 用户与开关交互时重置定时器,延长显示时间 - 涉及文件: - `lib/services/get/care_controller.dart` - 添加自动隐藏定时器逻辑 - `lib/views/home/home_page.dart` - 交互时重置定时器 ## [1.3.38] - 2026-04-03 ### 重构 - 🔄 **诗词答题页面主题色支持与代码重构** - 创建 `poetry-page.dart`,提取 UI 组件(PoetryOptionItem、PoetryOptionsLayout、PoetryTag) - 修改 `poetry.dart`,使用新组件,添加主题色支持 - 修改 `flow-anim.dart`,添加主题色支持 - 修改 `distinguish.dart`,添加主题色支持 - 支持动态主题色切换,所有组件颜色同步更新 - 支持深色模式,背景色、文字颜色自动适配 - 保持页面布局不变,功能完全兼容 - 涉及文件: - `lib/views/profile/level/poetry-page.dart` - 新建 UI 组件文件 - `lib/views/profile/level/poetry.dart` - 重构主页面 - `lib/views/profile/level/flow-anim.dart` - 添加主题色支持 - `lib/views/profile/level/distinguish.dart` - 添加主题色支持 ## [1.3.37] - 2026-04-02 ### 新增 - ✨ **主题颜色选择器重新设计** - 新增中国传统色彩:书褐色(#8B4513)和宣纸色(#F5F5F0) - 颜色选择器改为横向滚动列表,每个颜色显示圆形色块和中文名称 - 选中状态显示勾选图标和发光阴影效果 - 颜色名称采用中国风命名:紫韵、天蓝、翠绿、橙光、朱红、青碧、书褐、明黄、桃粉、湖青、罗兰、宣纸 - 涉及文件: - `lib/models/colors/theme_colors.dart` - 新增中国传统色彩 - `lib/views/profile/theme/app-diy.dart` - 重新设计颜色选择器 ## [1.3.36] - 2026-04-02 ### 新增 - ✨ **Profile 组件主题色支持** - Bug列表页面、全站统计页面、投票凭证弹窗、Pop菜单、服务器信息弹窗支持主题色设置 - 所有组件颜色动态响应主题色变化,包括按钮、卡片、图标、文本等 - 新增 `AppColors` 类统一管理动态主题色,支持深色/浅色模式自动切换 - 使用 iOS 风格系统颜色(蓝、绿、红、橙、紫等)保持一致性 - 涉及文件: - `lib/models/colors/app_colors.dart` - 新建动态颜色管理类 - `lib/views/profile/components/bug_list_page.dart` - 支持主题色 - `lib/views/profile/components/entire_page.dart` - 支持主题色 - `lib/views/profile/components/login_register_dialog.dart` - 支持主题色 - `lib/views/profile/components/pop-menu.dart` - 支持主题色 - `lib/views/profile/components/server_info_dialog.dart` - 支持主题色 - `lib/views/profile/level/distinguish.dart` - 支持主题色 - `lib/views/profile/level/flow-anim.dart` - 支持主题色 - `lib/views/profile/level/poetry.dart` - 支持主题色 - `lib/views/profile/app-info.dart` - 支持主题色 ## [1.3.35] - 2026-04-02 ### 新增 - ✨ **活跃页面主题色支持** - 搜索页面、热门页面、分类页面、活跃度页面支持主题色设置 - 所有组件颜色动态响应主题色变化,包括Tab栏、按钮、卡片边框等 - 涉及文件: - `lib/views/active/active_search_page.dart` - 支持主题色 - `lib/views/active/popular_page.dart` - 支持主题色 - `lib/views/active/category_page.dart` - 支持主题色 - `lib/views/active/rate.dart` - 支持主题色 ## [1.3.34] - 2026-04-02 ### 新增 - ✨ **多页面主题色支持** - 发现页面、标签页面、收藏页面、响应式首页等多个页面支持主题色设置 - 所有组件颜色动态响应主题色变化 - 涉及文件: - `lib/views/active/tags/corr_page.dart` - 支持主题色 - `lib/views/discover_page.dart` - 支持主题色 - `lib/views/favorites_page.dart` - 支持主题色 - `lib/views/responsive_home_page.dart` - 支持主题色 ## [1.3.33] - 2026-04-02 ### 新增 - ✨ **首页主题色支持** - 首页诗词卡片、按钮、加载状态等组件支持主题色设置 - 主题色变化时,首页所有相关组件会实时更新 - 涉及文件: - `lib/views/home/home_part.dart` - 支持主题色 - `lib/views/home/set/home_components.dart` - 支持主题色 ## [1.3.32] - 2026-04-02 ### 新增 - ✨ **个人卡片emoji头像点击切换功能** - 点击头像可自动切换不同的emoji表情 - 内置20个精选emoji头像:👤😊🎨🌟🦋🌺🍀🎯🚀💎🌈🎭🦊🐼🦁🐨🦄🐉🔥⚡ - 添加触觉反馈,提升交互体验 - 切换时显示SnackBar提示,告知用户新头像 - 支持收起和展开状态下的头像切换 - 涉及文件: - `lib/views/profile/per_card.dart` - 添加头像切换功能 ## [1.3.31] - 2026-04-02 ### 优化 - 🎨 **统一气泡提示样式为 Get.snackbar** - 将 `home_components.dart` 中的所有 `PoetryStateManager.showSnackBar` 改为 `Get.snackbar` - 使用透明毛玻璃样式,与调试信息气泡保持一致 - 包括分享、复制等操作的提示 - 涉及文件: - `lib/views/home/home_components.dart` - 统一气泡样式 --- ## 软件特性功能 ### 已开发完成 - ✅ iOS 风格界面设计 - ✅ 诗词浏览与收藏 - ✅ 搜索与分类 - ✅ 答题挑战功能 - ✅ 离线模式 - ✅ 个性化设置 - ✅ 投稿功能 - ✅ 投票功能 - ✅ 天气与十二时辰 - ✅ 图片分享 - ✅ 数据管理 - ✅ 使用教程页面 - ✅ 全站统计页面 - ✅ 修复 AppBar 标题显示问题 - ✅ 个人卡片emoji头像切换功能 - ✅ 深色模式支持 - ✅ 液态玻璃导航栏 - ✅ 多页面主题色支持 ### 开发中 - 🚧 更多功能优化 ## 开发进度 | 功能 | 优先级 | 状态 | | ------------ | ------ | -------- | | 使用教程 | 1 | ✅ 已完成 | | 投稿功能优化 | 2 | ✅ 已完成 | | 界面美化 | 3 | ✅ 已完成 | | 数据管理功能 | 1 | ✅ 已完成 | | 主题色支持 | 1 | ✅ 已完成 | | 性能优化 | 4 | 🔄 进行中 | | 新功能开发 | 5 | 📋 计划中 |