# 更新日志 ## v1.12.0 - 2026-03-26 ### 📄 新增隐私政策与用户协议页面 - **新建隐私政策与用户协议页面** - 创建 `privacy.dart` 页面,包含隐私政策和用户协议两个标签页 - 采用 TabBar 设计,便于在隐私政策和用户协议之间切换 - 关键字段使用 ***** 占位,便于后续修改 - 包含完整的隐私政策内容:信息收集、设备权限、联系方式等 - 包含完整的用户协议内容:协议范围、服务内容、知识产权等 - 地址信息:云南昆明 xx工作室 - 软件名称:情景诗词 ### 🔗 在线版本功能 - **AppBar 右侧添加在线版本按钮** - 添加链接图标按钮,点击显示在线协议弹窗 - 弹窗显示在线协议链接(占位符:https://*****.github.io/privacy) - 支持一键复制链接到剪贴板 - 复制成功后显示 SnackBar 提示 ### 📝 HTML 版协议 - **创建独立的 HTML 版本协议文件** - 文件位置:`privacy.html` - 响应式设计,支持手机、平板、桌面端 - 采用现代苹果风格设计,与 App 风格统一 - Tab 切换动画,流畅的用户体验 - 可用于部署到 GitHub Pages 或其他静态网站托管 ### 🔗 页面导航优化 - **个人页面添加跳转入口** - 在 profile_page.dart 中添加隐私政策页面导入 - 修改"软件协议"设置项,点击跳转到隐私政策页面 - 更新图标为 Icons.description,更符合页面功能 ### 👥 新增"了解我们"页面 - **新建了解我们页面** - 创建 `learn-us.dart` 页面,展示开发者信息 - 页面头部卡片:显示应用名称、版本号和标语 - 官方网站卡片:展示官网链接(占位符:https://*****.github.io) - 开发者卡片:显示"微风暴工作室"信息 - 团队信息卡片:展示团队成员及个性签名 - 程序设计:*** - UI/UX/Testing:**** - 后端:*** - 技术支持:技术 - 备案信息卡片:显示备案号"滇ICP备2022000863号-15A" - 备案号支持点击复制,复制成功后显示 SnackBar 提示 ### 🎨 界面设计 - **统一苹果风格设计** - 使用与项目一致的设计系统和颜色变量 - 采用卡片式布局,圆角和阴影保持统一 - 关键字使用加粗显示,提升可读性 - 底部添加"到底了"指示器,与其他页面保持一致 --- ## v1.11.0 - 2026-03-25 ### 🎨 界面优化 - **新增下一条悬浮按钮** - 在"上一条"按钮下方添加"下一条"悬浮按钮 - 左侧垂直排列:上一条(上)、下一条(下) - 下一条按钮使用与点击诗词卡片相同的逻辑 - 保留诗词卡片点击加载下一条的功能 - 增加底部预留空间,确保所有按钮都可见 ### 🔘 按钮布局优化 - **三悬浮按钮设计** - 左侧垂直排列:上一条、下一条 - 右侧:点赞按钮 - 所有按钮保持圆形设计和阴影效果 - 左侧两个按钮间距合理,便于操作 --- ## v1.10.0 - 2026-03-25 ### 🎨 界面重构 - **诗词卡片交互优化** - 移除"下一条"按钮,改为点击诗词卡片任意区域加载下一条诗词 - 诗词卡片整体可点击,提升用户体验 - 保留原有的长按复制功能 ### 🔘 按钮布局调整 - **双悬浮按钮设计** - 点赞按钮改为悬浮固定按钮,位于右下角 - 上一条按钮改为悬浮固定按钮,位于左下角 - 双按钮采用圆形设计,带阴影效果,左右分布 - 保持加载状态显示和触觉反馈 - 按钮位于上层,诗词卡片在下层,确保按钮始终可见 ### 🔄 导航按钮重构 - **双悬浮按钮布局** - 移除传统导航按钮,改为双悬浮按钮设计 - 左右分布:上一条(左)、点赞(右) - 简化界面,提升视觉层次感 - 按钮位于上层,确保始终可见和可操作 ### ⚡ 动态加载优化 - **分步加载机制** - 移除全局空白等待,改为固定布局动态加载 - 不同区域显示不同的加载状态文字 - "出处加载中..."、"诗句加载中..."、"原文加载中..."、"关键词加载中..."、"译文加载中..." - 分步加载顺序:标题→诗句→原文→关键词→译文 - 每个区域200ms间隔,提供流畅的视觉体验 ### 🌐 网络权限配置 - **Android端网络权限** - 添加INTERNET权限用于网络访问 - 添加ACCESS_NETWORK_STATE权限检查网络状态 - 添加ACCESS_WIFI_STATE权限检查WiFi状态 - 启用usesCleartextTraffic支持HTTP连接 ### 🧹 代码优化 - **组件重构** - 移除ActionButtons组件,替换为FloatingLikeButton - 移除NavigationButtons组件,替换为FloatingPreviousButton - 移除未使用的swapped相关代码 - 优化布局结构,使用Stack实现双层悬浮按钮定位 - 为悬浮按钮预留底部空间,避免遮挡内容 - 新增sectionLoadingStates状态管理 - 实现分步加载逻辑_simulateSectionLoading ### 📱 用户体验提升 - **更直观的交互方式** - 点击卡片即可切换到下一条诗词 - 双悬浮按钮设计,左右分布 - 上一条按钮在左,点赞按钮在右,符合操作习惯 - 悬浮按钮位于上层,始终可见和可操作 - 动态加载保持布局稳定,无页面跳动 - 分步加载提供清晰的加载进度反馈 - 简化界面,减少视觉干扰,突出内容展示 - 保持原有的下拉刷新功能 --- ## v1.9.0 - 2026-03-25 ### 🛠 技术重构 - **替换SQLite为SharedPreferences** - 将SQLiteStorageController从SQLite实现改为SharedPreferences实现 - 移除sqflite和sqflite_common_ffi依赖 - 使用SharedPreferences实现本地键值对存储 - 保持原有API接口不变,确保向后兼容 ### 📦 依赖更新 - **移除SQLite相关依赖** - 移除 `sqflite: ^2.4.2` 依赖 - 移除 `sqflite_common_ffi` 相关代码 - 保留 `shared_preferences` 作为唯一本地存储方案 ### 🎯 功能优化 - **存储控制器优化** - 简化初始化流程,无需数据库路径处理 - 移除平台权限问题,提升兼容性 - 减少包体积,降低依赖复杂度 - 提升存储操作性能 ### 🔧 API保持 - **接口兼容性** - 保持所有原有方法签名不变 - setString/getString - setInt/getInt - setBool/getBool - setDouble/getDouble - remove/clear/getKeys/containsKey - 新增 setStringList/getStringList 方法 ### 📚 OHOS兼容性 - **平台兼容保证** - SharedPreferences天然支持OHOS平台 - 无需处理数据库文件路径权限 - 确保跨平台一致性体验 --- ## v1.8.1 - 2026-03-23 ### 🔧 错误修复 - **修复OHOS平台SQLite数据库路径权限问题** - 解决"PathAccessException: Creation failed, path = '/.dart_tool' (OS Error: Permission denied)"错误 - 改进数据库路径获取逻辑,增加备用路径机制 - 确保在OHOS平台上能够正常创建和访问数据库文件 ## v1.8.0 - 2026-03-23 ### 🛠 技术重构 - **替换Hive为SQLite** - 新增 `SQLiteStorageController` 存储控制器 - 基于sqflite实现本地存储功能 - 提供完整的键值对存储API ### 🔧 错误修复 - **彻底解决编译错误** - 修复"Target of URI doesn't exist"错误 - 修复"Undefined name 'SharedPreferences'"错误 - 修复"The name 'SharedPreferences' isn't a type"错误 ### 📦 依赖更新 - **添加SQLite支持** - 新增 `sqflite: ^2.3.0` 依赖 - 新增 `path: ^1.8.3` 依赖 - 使用dependency_overrides解决版本冲突 ### 🎯 功能实现 - **完整的存储功能** - 支持String、int、bool、double等基本类型 - 支持对象序列化和反序列化 - 提供完整的CRUD操作接口 - 自动数据库初始化和管理 ### 📚 OHOS兼容性 - **平台兼容保证** - 使用SQLite确保跨平台兼容 - 解决Flutter版本识别问题 - 确保OHOS平台构建成功 ## v1.7.0 - 2026-03-21 ### 🛠 彻底重构 - **完全移除shared_preferences** - 删除shared_preferences_controller.dart文件 - 统一使用HiveStorageController - 修复所有编译错误和引用问题 ### 🔄 代码统一 - **存储控制器标准化** - hive_storage_controller.dart重命名为HiveStorageController - 移除重复的控制器定义 - 统一API接口和调用方式 ### 📦 依赖清理 - **构建问题彻底解决** - 移除所有shared_preferences相关依赖 - 确保OHOS构建路径兼容性 - 简化项目依赖结构 ### 🔧 修复内容 - **编译错误修复** - 修复"uri_does_not_exist"错误 - 修复"undefined_identifier"错误 - 更新所有import语句 ### 📚 OHOS兼容性 - **构建成功保证** - 使用纯Dart库确保平台兼容 - 移除所有Flutter平台特定依赖 - 确保HAP构建无路径错误 --- ## v1.6.0 - 2026-03-21 ### 🛠 技术重构 - **完全移除shared_preferences依赖** - 解决OHOS构建路径兼容性问题 - 替换为纯Dart的Hive存储方案 - 确保OHOS平台完全兼容 ### 🔄 存储方案重构 - **Hive存储控制器** - 重写SharedPreferencesController为HiveStorageController - 提供相同的API接口确保向后兼容 - 支持所有数据类型:String, int, double, bool, List, Map - 更好的性能和类型安全 ### 📦 依赖清理 - **移除问题依赖** - 删除shared_preferences git依赖 - 保留Hive作为唯一本地存储方案 - 简化依赖树,减少构建复杂度 ### 🔧 初始化优化 - **Hive初始化流程** - 在main.dart中正确初始化Hive - 使用Hive.initFlutter()确保Flutter兼容 - 统一的存储控制器初始化 ### 📚 OHOS兼容性 - **构建问题解决** - 修复"srcPath is not a relative path"错误 - 移除绝对路径依赖问题 - 确保OHOS HAP构建成功 --- ## 版本说明 - 版本号格式:主版本号.次版本号.修订号 - CHANGELOG.md 仅保留最近 5 个版本记录 - 较早版本记录已开发完成的功能写入下方 1.主页 诗句加载 点赞 侧感手势 原生90/120帧率