黑洞空间站 - 一个简单好看的博客系统
作者的个人博客“黑洞空间站”经过长时间开发后上线,采用Springboot后端和Vue3+TypeScript前端技术栈。项目开源,后端使用Mybatis、PageHelper等,前端依赖Tailwind、GSAP等。博客支持夜间模式,打包体积小,性能良好。后续将分享开发中的问题和解决方案,包括后端安全、缓存、分页等,以及前端图片懒加载、表单验证等功能。
文章目录
前言
在经历漫长的开发,推到重来,再开发后,我的个人博客 黑洞空间站 终于上线了!
从上一篇博文至今已经半年多了,去年九月花了一个月时间学习了vue3和typescript,做了几个demo页面就沉寂了,毕竟还是要忙于毕业设计等事务,不得不作罢。
时间来到十二月,我才重新捡起这个项目,着手开始后端部分的开发,开发过程还算得心应手,也萌生了不少有趣的想法,后面会一一道来。前端部分踩坑连连,不想赘述。总之,现在呈现在你面前的就是这一个不太完善(指后台管理)的博客,不完善部分等之后有时间再逐步优化吧。
代码已开源,后端:brooke-zb/BlackHoleStation,前端:brooke-zb/BlackHoleStation-UI
同时欢迎各路大佬交换友链~
技术选型&架构
此次项目后端采用Springboot,其他依赖主要有Mybatis(老生常谈)、PageHelper(分页)、Caffeine(缓存)和Hibernate Validator(校验)。
前端采用vue3 + typescript,主要依赖有tailwind(原子化css,用过都说棒!)、gsap(动画)、marked(markdown解析)、prism(代码高亮)。
为了充分发挥前后端分离的优点,将静态资源和API服务分开部署,用户体验++

后续博文
怎么写博客系统这种文章网上一搜一大把,作为一个不愿随波逐流的技术博客(确信),我决定后续写点不一样的,基于在项目中遇到的一些问题,将自己的思考和解决方案放出来,欢迎大家讨论交流。也许偶尔还会写一些博主生活相关的博文,就当是树洞了。
后端篇
- 登录方案和session失效、角色权限问题
- 基于Spring拦截器的鉴权实现
- 后端安全措施之CSRF拦截
- 联表查询导致PageHelper分页不准确解决方案
- 使用缓存和定时任务实现浏览量记录
- 使用spring validation进行分组参数校验
- 使用邮件来实现回复通知功能
- 通过DFA算法实现评论敏感词审核
前端篇
- 如何实现图片懒加载和图片灯箱
- 如何实现Toast通知功能
- 实现表单参数验证,并自定义提示信息
- 使用Custom Extensions拓展marked语法
敬请见证!