175 lines
8.1 KiB
Markdown
175 lines
8.1 KiB
Markdown
# Changelog
|
||
|
||
All notable changes to this project will be documented in this file.
|
||
|
||
---
|
||
|
||
## [1.3.3] - 2026-03-30
|
||
|
||
### 修复
|
||
- 🐛 **验证码验证问题修复**
|
||
- 修复验证码填写正确但提交时仍显示"验证码错误"的问题
|
||
- 原因:Flutter应用无法像浏览器那样自动维护PHP Session,导致服务器无法验证验证码
|
||
- 解决方案:将验证码生成本地化,本地验证用户输入,提交时发送正确答案
|
||
- 文件:`lib/views/profile/expand/manu-script.dart`
|
||
|
||
---
|
||
|
||
## [1.3.2] - 2026-03-30
|
||
|
||
### 新增
|
||
- 📝 **诗词投稿功能**
|
||
- 新增投稿页面 `lib/views/profile/expand/manu-script.dart`
|
||
- 支持诗词收录申请,包含完整表单(参考语句、分类选择、诗人和标题、关键词、诗词介绍、人机验证)
|
||
- 实现相似度检测功能,防止重复提交
|
||
- 平台字段自动获取设备类型并发送"设备类型 + Flutter"格式数据
|
||
- 修改"去投稿"按钮跳转逻辑,文件:`lib/views/profile/profile_page.dart`
|
||
|
||
### 修复
|
||
- 🐛 **投稿API网络请求修复**
|
||
- 修改HTTP客户端 `lib/utils/http/http_client.dart`,新增 `postForm` 方法支持 FormData 格式
|
||
- 修复验证码获取逻辑,从API获取验证码而非本地生成
|
||
- 修复所有API调用使用正确的路径 `app/api.php` 和 FormData 数据格式
|
||
- 修复"网络请求失败2"错误
|
||
|
||
---
|
||
|
||
## [1.3.1] - 2026-03-29
|
||
|
||
### 修复
|
||
- 🐛 **服务器监控页面错误修复**
|
||
- 修复获取服务器数据失败的错误
|
||
- 添加模拟数据功能,确保在无PHP服务器时也能正常显示
|
||
- 优化错误处理逻辑,提供更好的用户体验
|
||
- 文件:`server_monitor.html`
|
||
|
||
### 新增
|
||
- 📊 **服务器监控模拟数据**
|
||
- 添加 `getMockData()` 函数生成模拟服务器数据
|
||
- 模拟数据包括:服务器负载、内存使用、磁盘使用、运行时间、响应时间和网络延迟
|
||
- 当无法连接到PHP API时自动使用模拟数据
|
||
- 显示"模拟数据"状态标识
|
||
- 文件:`server_monitor.html`
|
||
|
||
---
|
||
|
||
## [1.3.0] - 2026-03-29
|
||
|
||
### 新增
|
||
- ⚡ **离线数据下载优化**
|
||
- 添加取消下载功能,支持中断下载过程
|
||
- 下载过程中显示取消按钮,点击可立即停止
|
||
- 优化下载状态显示,避免页面卡死
|
||
- 取消下载时显示相应提示
|
||
- 文件:`lib/views/profile/settings/offline-data.dart`
|
||
|
||
### 优化
|
||
- 🌐 **网络状态自动检测**
|
||
- 个人卡片加载时自动检测网络状态
|
||
- 无网络时自动调整为离线状态
|
||
- 避免网络异常导致的错误
|
||
- 文件:`lib/views/profile/per_card.dart`
|
||
|
||
### 修复
|
||
- 🐛 **网络状态检测错误修复**
|
||
- 修复 `currentNetworkStatus` 不存在的错误
|
||
- 修复 `NetworkStatus.offline` 不存在的错误
|
||
- 使用正确的 `currentStatus` 和 `NetworkStatus.error`
|
||
- 文件:`lib/views/profile/per_card.dart`
|
||
|
||
### 新增
|
||
- 📊 **服务器信息显示**
|
||
- 在离线数据页面添加服务器信息卡片
|
||
- 显示 API 地址、版本、频率限制等信息
|
||
- 文件:`lib/views/profile/settings/offline-data.dart`
|
||
|
||
### 优化
|
||
- 📱 **离线数据下载功能增强**
|
||
- 新增下载类型选择:诗句和答题
|
||
- 诗句数量选项:20、30、60、100条
|
||
- 答题数量选项:20、50、80、100条
|
||
- 100条下载需要加入用户体验计划
|
||
- 实现下载一条写入一条的功能
|
||
- 取消下载时保存已下载的数据
|
||
- 实时更新缓存状态显示
|
||
- 返回上一页时继续后台下载,不中断
|
||
- 清空缓存时弹窗选择清空内容(诗句/答题/全部)
|
||
- 缓存状态同时显示诗句和答题数量
|
||
- 文件:`lib/views/profile/settings/offline-data.dart`
|
||
|
||
---
|
||
|
||
## [1.2.99] - 2026-03-29
|
||
|
||
### 新增
|
||
- 🌐 **离线模式支持**
|
||
- 新增 `OfflineDataManager` 类管理离线数据加载
|
||
- 离线状态时从本地缓存加载诗句,在线状态时从网络加载
|
||
- 支持循环加载本地缓存的诗句
|
||
- 离线模式下隐藏点赞按钮
|
||
- 无缓存时显示网络错误提示
|
||
- 优化数据加载逻辑,确保离线模式正常工作
|
||
- 文件:`lib/views/home/home-load.dart`, `lib/views/home/home_page.dart`
|
||
|
||
---
|
||
|
||
## [1.2.98] - 2026-03-29
|
||
|
||
### 新增
|
||
- 🔄 **个人卡片在线/离线状态切换**
|
||
- 在个人卡片tips卡片内添加在线状态开关
|
||
- 开关状态保存到SharedPreferences,默认开启
|
||
- 关闭后切换为离线状态,个人头像右下角绿勾切换成红勾(关闭图标)
|
||
- 支持点击tips卡片切换祝福语功能
|
||
- 优化开关布局:开关位于卡片右侧,与文本平行显示
|
||
- 移除状态文字,保持界面简洁
|
||
- 状态切换时显示气泡消息提示
|
||
- 文件:`lib/views/profile/per_card.dart`
|
||
|
||
---
|
||
|
||
## [1.2.97] - 2026-03-29
|
||
|
||
### 新增
|
||
- 📱 **离线数据管理功能**
|
||
- 新增离线数据管理页面 `lib/views/profile/settings/offline-data.dart`
|
||
- 从服务器加载诗词数据到本地缓存
|
||
- 支持选择下载数量:30/50/100/200条
|
||
- 显示实时下载进度条
|
||
- 数据保存在SharedPreferences中
|
||
- 缓存数据不会写入历史记录
|
||
- 提供清空缓存功能
|
||
- 优化"离线使用"按钮跳转逻辑
|
||
- 文件:`lib/views/profile/profile_page.dart`
|
||
|
||
---
|
||
|
||
## 软件特性功能
|
||
|
||
### 已开发完成
|
||
- <20> **调试信息显示功能** - 功能设置页面添加"调试信息"开关、开启后主页显示操作反馈悬浮气泡、支持显示各种操作成功/失败状态、气泡显示2秒后自动消失、开关状态保存到SharedPreferences、调试信息默认关闭
|
||
- <20><> **首页自动刷新功能** - 功能设置页面添加"自动刷新"开关、开启后首页诗句每5秒自动加载下一条、开关状态保存到SharedPreferences、自动刷新默认关闭、创建home-load.dart统一管理自动刷新逻辑
|
||
- 🗳️ **投票功能完整实现** - 用户登录/注册、获取投票列表、投票详情、提交投票、投票结果展示、API服务基础URL修改、登录注册逻辑简化(只需用户名、默认密码123456、自动注册登录、设备标识)、投票页面调试功能、user_identifier增加Flutter后缀、setState调用安全修复(添加mounted检查)、投票登录状态持久化修复(添加Cookie管理器支持PHP Session认证)
|
||
- 🎨 **个人卡片标签栏布局优化** - 将标签栏区域一分为二,左侧区域可以点击展开/收起个人卡片
|
||
- 🎲 **题目随机化功能** - 进入答题页面时调用 fetch 接口获取新题,使用 Fisher-Yates 算法打乱题目 ID 顺序
|
||
- 💬 **答对答错反馈信息修复** - 当 API 返回的提示信息为空时,自行添加提示内容
|
||
- 📚 **App 自行管理题目 ID** - 实现题目 ID 管理逻辑,不再随机生成
|
||
- 🔧 **API 接口路径和参数最终修复** - 确认 API 路径,调整随机题目 ID 范围
|
||
- 🔧 **API 接口路径和参数修复** - 修复 API 路径和参数,使用正确的新 API 接口
|
||
- 🐛 **HttpResponse 处理修复** - 修复 HttpResponse 对象处理方式,使用正确的属性访问
|
||
- 🔧 **API 请求参数更新** - 根据新的 API 文档更新所有请求参数
|
||
- 📊 **个人页面统计数字动态化** - 从SharedPreferences读取真实的答题统计数据
|
||
- 📝 **记录页显示问题修复** - 修复答题记录页面显示未知题目和标签的问题
|
||
- 📋 **答题统计弹窗功能** - 显示详细的答题统计数据,支持复制发送给AI评估
|
||
- 📝 **诗词答题功能** - 完整的答题页面,支持题目加载、答案提交、提示获取
|
||
- 🕐 **中国十二时辰制时间显示** - 时间显示改为十二时辰(子丑寅卯辰巳午未申酉戌亥)
|
||
- 🌤️ **天气功能集成** - 集成天气API获取城市、天气状态和温度
|
||
- 📚 **朝代信息显示** - 在诗人名称左侧添加朝代信息显示
|
||
- 🎨 **卡片样式优化** - 经典和现代样式颜色统一,毛玻璃样式优化
|
||
- 🐛 **卡片设置页面重复打开问题修复** - 使用 router.replaceUrl 替换当前页面,避免堆叠
|
||
- 📐 **2x2卡片布局优化** - 移除天气按钮组件,保留城市名称显示
|
||
|
||
### 开发进度
|
||
- 🏗️ **HarmonyOS桌面小组件** - 开发中,包含2x2布局、天气显示、诗句展示等功能
|
||
- 优先级:3
|