更新日志
项目演进历程 — 记录每一次有意义的改变
UI 增强合集
新增分享卡片生成、全息徽章展示组件、通用确认对话框;实现 JWT 静默续期机制;安全图片代理防止 SSRF;全局 CORS 跨域支持;升级 Bootstrap 至 5.3.3 并引入 spring-boot-devtools 热更新。
暗色/亮色主题切换
实现双主题系统:暗色玻璃态(默认)与亮色模式,通过 CSS 自定义属性切换,主题偏好持久化至 localStorage,支持系统级 prefers-color-scheme 自动检测。
音乐播放器悬浮组件
新增全局悬浮音乐播放器:迷你胶囊形态与展开面板双模式,支持音频可视化 Canvas、Bass 演奏 GIF 动效、歌词同步滚动、播放列表管理。
创作者数据分析中心
为创作者提供数据洞察面板:GitHub 风格 SVG 发文热力图、标签使用统计饼图、阅读/点赞/评论趋势图、最受欢迎文章排行;含骨架屏加载态。
签到升级系统
每日签到获取经验值与连续签到奖励;等级系统含进度条与等级徽章(绿→蓝→黄→橙→红→粉→紫渐变色);成就徽章解锁与展示墙;博客封面图上传功能。
全息徽章卡片
为成就徽章实现 3D 全息卡片效果:镭射箔纹理、彩虹光泽、指针驱动倾斜变换(弹簧物理缓动)、缩略图与模态框交互。
JWT 无状态认证体系
全面迁移至 JWT 无状态认证:access token + refresh token 双令牌机制,refresh token 通过 HttpOnly Cookie 传输防止 XSS 窃取;authFetch 前端封装自动 401 续期;彻底禁用 JSESSIONID 与 Servlet 会话追踪,实现 STATELESS 安全策略。
小游戏页面 + GitHub 并行获取
新增休闲小游戏页面(easysurvivor);GitHub 个人信息面板实现并行数据获取(热力图、成就、仓库列表),优化加载速度。
Redis 点赞系统
将博客点赞从 JSON 字段方案迁移至 Redis 缓存 + MySQL 持久化双层架构,提升高并发场景下点赞性能与数据一致性。
个人主页重新设计
全新个人主页布局:用户信息卡片、经验等级展示、我的文章列表、点赞收藏列表、编辑资料弹窗(含头像裁剪上传)。
互动指标系统
新增博客点赞/点踩、阅读量计数功能;首页热门文章排行(按阅读量/点赞数排序);修复作者显示为 ID 而非用户名的问题。
标签筛选 + 天气组件
博客标签系统(JSON 存储 + MySQL JSON_CONTAINS 查询);首页按标签筛选博文;集成心知天气 API,侧边栏天气小部件(含地理位置、当前天气、多日预报)。
归档管理系统
博客回收站归档功能:已删除文章移入归档区,支持浏览与恢复;归档页面独立展示。
评论与回复系统
博客评论功能上线:支持发表评论与嵌套回复;评论树形展示与分页;页面 UI 整体改版(Bootstrap 卡片式布局)。
性能调优与格式修复
批量查询性能优化;博文阅读/编辑格式修复;标题长度限制漏洞修复。
回收站与安全防护
博客软删除机制:移入回收站与从回收站恢复;使用 CommonMark + Jsoup 进行 HTML 净化,防止 XSS/HTML 注入攻击。
Swagger API 文档
集成 Springdoc OpenAPI,提供 Swagger UI 交互式 API 测试界面;自定义错误页面路由。
文章发布功能
实现博客文章创建与发布流程:Markdown 编辑、文本处理、数据库持久化。
项目初始化
基于 Spring Boot 3.5 + Thymeleaf + MyBatis + MySQL 搭建博客项目骨架:首页展示、基础 CRUD、MVC 三层架构。
| 依赖 | 版本 | 说明 | Scope |
|---|---|---|---|
spring-boot-starter |
3.5.7 | Spring Boot 核心自动配置启动器 | compile |
spring-boot-starter-web |
3.5.7 | Spring MVC RESTful Web 框架(内嵌 Tomcat) | compile |
spring-boot-starter-security |
3.5.7 | 认证与授权安全框架 | compile |
spring-boot-starter-thymeleaf |
3.5.7 | Thymeleaf 服务端模板引擎 | compile |
spring-boot-starter-validation |
3.5.7 | Bean Validation 数据校验(Hibernate Validator) | compile |
spring-boot-starter-data-redis |
3.5.7 | Redis 缓存与数据存储(Lettuce 客户端) | compile |
spring-boot-starter-mail |
3.5.7 | Java Mail 邮件发送(注册验证码等) | compile |
spring-boot-devtools |
3.5.7 | 开发热更新,生产环境自动排除 | runtime |
spring-boot-starter-test |
3.5.7 | 单元测试与集成测试(JUnit 5 + Mockito) | test |
mybatis-spring-boot-starter |
3.0.3 | MyBatis ORM 持久层框架(注解式 Mapper) | compile |
mysql-connector-j |
9.5.0 | MySQL JDBC 数据库驱动 | runtime |
springdoc-openapi-starter-webmvc-ui |
2.8.14 | Swagger / OpenAPI 3 交互式接口文档 | compile |
jsoup |
1.21.2 | HTML 解析与净化,防博文 XSS 注入 | compile |
commonmark + 4 扩展 |
0.27.0 | Markdown → HTML 解析(含表格/删除线/任务列表/自动链接扩展) | compile |
jjwt-api |
0.12.6 | JWT 无状态令牌:签发、解析、验证 | compile |
jjwt-impl |
0.12.6 | JWT 实现层(RSA/HMAC 算法支持) | runtime |
jjwt-jackson |
0.12.6 | JWT Payload JSON 序列化/反序列化 | runtime |
lombok |
1.18.42 | 简化 Java 代码(@Data/@Builder/@Slf4j 等),编译期注解 | provided |