Releases: FangSuYu/OrangeTools
Releases · FangSuYu/OrangeTools
Release list
v2.3.0 - 智能排班助手 & 深度课表解析上线 📅
🌈 v2.3.0 更新日志
🚀 OrangeTools v2.3.0 来了!
距离上一个大版本 v2.0.0 发布不久,我们又迎来了一次重磅更新。本次更新重点聚焦于生产力工具的增强。我们新增了可视化的「智能排班助手」,并对核心的「课表解析引擎」进行了底层重构,支持了单双周与详细课程信息的读取。
✨ 新功能 (New Features)
📅 智能排班助手 (Intelligent Scheduler)
这是一个全新的模块,旨在解决社团、班级活动排班难的问题:
- 可视化交互: 基于
VueDraggable实现,支持拖拽分配人员,操作丝滑。 - Excel 解析: 支持直接上传包含课表的 Excel 文件,自动解析空闲时间。
- 冲突检测: 实时高亮显示时间冲突项,避免人为排班失误。
- 🧪 自动排班 (Beta): 内置多种算法策略(贪心均衡、匈牙利全局最优、连续班次优先...以及随机分配),一键生成排班方案(注:算法处于实验阶段,仅供参考)。
- 导出与分享: 支持截图分享排班表,或导出 JSON 存档以便下次编辑。
🎓 深度课表解析 (Advanced Course Parsing)
核心解析逻辑全面升级,不再只看“有课/没课”,现在有更懂你的课表:
- 详情解析: 支持解析课程名、教师姓名、上课地点等详细信息。
- 单双周识别: 完美支持如
3-5(单),8-10(双)等复杂周次规则。 - 交互升级: 课表界面支持点击查看课程详情弹窗。
- 信息补全: 新增“完善学生信息”功能,支持批量导入/粘贴名单来补全班级与学号。
⚡ 优化与改进 (Improvements)
- Auth: 优化登录体验,移除了用户名输入框中冗余的占位符文本;修正了注册时学号的默认值处理逻辑。
- UI/UX:
- 优化了截图功能的清晰度与宽度适配。
- 改进了暗黑模式下的部分组件样式。
- 调整了移动端和特殊时段的视觉区分。
- Dev: 为
.vscode添加了 Docker Compose 文件的默认格式化配置。
📦 依赖更新
- 前端引入
html2canvas(用于截图) 和vuedraggable(用于拖拽交互)。
⚠️ 升级指南 (Upgrade Guide)
由于引入了新的前端依赖库和后端解析逻辑变更,请务必执行以下操作:
- 前端: 必须重新构建镜像,以安装新增的 npm 依赖。
- 后端: 必须重新构建镜像,以应用新的数据库模型(CourseDetail)和解析算法。
# 拉取最新代码
git pull
# Docker
# 重新构建镜像并启动
docker compose up -d --build
# 本地
# 清除数据库表并重新运行init.sql
# 前后端更新依赖后即可运行v2.0.0 - 邮箱认证体系全面上线 📧
🌈 v2.0.0 更新日志
🎉 OrangeTools v2.0.0 正式发布!
本次更新带来了全新的邮箱认证体系,彻底解决了用户忘记密码无法找回的痛点,并新增了验证码快捷登录方式。为了支持这些功能,我们引入了 Redis 缓存组件,显著提升了系统的安全性和扩展性。
✨ 新特性 (New Features)
- 📧 全场景邮箱支持:
- 新增邮箱验证码发送接口,覆盖注册、登录、重置密码三大核心场景。
- 注册升级: 注册流程增加邮箱验证步骤,确保用户身份真实有效。
- 快捷登录: 支持使用“邮箱 + 验证码”直接登录,无需记忆密码。
- 密码找回: 新增“忘记密码”功能,用户可通过邮箱验证码自助重置密码。
- 🎨 前端界面更新:
- 新增独立的邮箱登录页面。
- 新增忘记密码/重置密码流程页面。
- 优化认证流程的交互体验。
🏗️ 架构与后端 (Architecture & Backend)
- Redis 集成: 引入 Redis 用于存储和校验短效验证码,提升系统性能与安全性。
- Spring Mail 集成: 实现了标准的邮件发送服务。
- 依赖升级: 项目整体依赖组件更新,版本号正式迈入 v2.0.0 时代。
⚡ 优化 (Improvements)
- 系统稳定性: 调整了前端请求的超时时间配置,适应网络波动环境。
- 配置管理: 更新了
application.yml模板,规范了 Redis 和 Mail 的配置项。
⚠️ 升级注意事项 (Upgrade Guide)
由于 v2.0.0 引入了新的中间件和配置,老版本升级请务必执行以下操作:
- 中间件依赖: 服务器必须安装并启动 Redis 服务。
- 配置文件更新: 请在
application-prod.yml中追加以下配置:spring: # Redis 配置 data: redis: host: localhost port: 6379 password: your_redis_password # 邮件配置 mail: host: smtp.qq.com (或你的邮件服务商) username: your_email@domain.com password: your_email_auth_code
- 重新构建: 需重新拉取代码并构建前后端镜像。
v1.0.3 - 注册功能修复与404/500页面动画修复
🌈 变更日志 (Changelog)
本次更新重点解决了用户注册时一直转圈圈和前端404、500页面lottie动画资源未显示的问题。
🐛 问题修复 (Fixes)
- 用户注册转圈圈问题:修复了用户在注册时,因前端组件加载问题卡住一直处于loading状态的问题。
- 前端404、500页面lottie动画未显示问题:修复了前端对于静态资源引入的问题。
v1.0.2 - 剪贴板兼容性升级与细节打磨
🌈 变更日志 (Changelog)
本次更新重点解决了生产环境(HTTP/IP访问)下的交互兼容性问题,并修复了静态资源加载的若干 Bug。
✨ 新特性 (Features)
- 📋 全环境剪贴板支持 (Clipboard Compatibility):
- 重写了复制功能底层逻辑,新增智能降级方案。
- 在支持 HTTPS 的现代环境中优先调用
Clipboard API。 - 在 HTTP 或内网环境中自动降级为
execCommand方案,彻底解决了非安全上下文无法复制课表/周报的问题。
🐛 问题修复 (Fixes)
- 🖼️ 侧边栏 Logo 修复:
- 修复了生产环境构建后,侧边栏 Logo 因路径问题无法显示的 Bug。
- 统一了 Logo 资源引用源,现在默认使用高清的
favicon.png,视觉体验更统一。
♻️ 代码优化 (Refactors)
- 🐟 赛博木鱼组件优化:
- 优化了音频资源的引用方式(改为 ESM import),确保在 Docker 部署后音频能正确加载。
- 清理了未使用的动画样式代码,提升组件代码纯净度。
Full Changelog: v1.0.1...v1.0.2
v1.0.1 - 样式优化与体验修复
🌈 变更日志 (Changelog)
本次更新主要修复了 UI 细节问题,并优化了部分链接跳转体验。
💄 样式与交互优化 (UI/UX)
- 主控台: 优化了更新日志的展示方式,移除硬编码,改为CDN读取Github release信息。
- 个人中心: 采用赛博浮岛风格重构,修复了左右栏高度不对齐的问题。
- 导航栏: 修复了面包屑导航的显示逻辑。
- 全局: 优化了暗黑模式下的部分颜色对比度。
🐛 修复 (Fixes)
- 修复了头像加载的路径解析问题 (Avatar URL Fix)。
- 修正了主控台快捷导航的链接跳转错误。
🔧 其他 (Chores)
- 升级前后端版本号至
1.0.1。 - 更新了
package.json配置。
Full Changelog: v1.0.0...v1.0.1
OrangeTools v1.0.0 - 校园工具集合正式版
🎉 OrangeTools v1.0.0 正式发布!
这是 OrangeTools 的第一个里程碑版本。在这个版本中,我们为校园生活打造了一个集实用与趣味于一体的工具平台。
✨ 核心功能 (Features)
- 📅 课表空闲统计助手:
- 支持 Excel 批量上传与解析。
- 全自动计算全班/全校空闲时间。
- 支持周次切换、热力图展示、一键复制空闲名单。
- 🎋 社区许愿墙:
- 用户可提交功能建议或 Bug 反馈。
- 支持“赛博木鱼”积攒功德,解压神器。
- 极简交互,提交即上墙。
- 🏆 贡献者荣誉墙:
- 炫酷的 3D 悬浮卡片效果。
- 赛博朋克风格的入场动画。
- 致敬每一位项目参与者。
- 👤 个人中心体系:
- 支持修改资料、绑定学号、修改密码。
- 精美的毛玻璃 UI 设计。
- 全站头像统一管理。
🛠️ 技术栈 (Tech Stack)
- Frontend: Vue 3, Vite, Pinia, Element Plus, VueUse
- Backend: Spring Boot, MyBatis-Plus, MySQL, Spring Security + JWT
- Design: Cyberpunk & Glassmorphism UI Style
致谢
特别感谢所有参与测试的同学以及核心开发团队!