本个人博客分为前台用户浏览端、后台博主管理端两大体系,全覆盖内容展示、交互评论、内容管理、系统配置、数据统计五大业务板块,模块划分清晰,功能完整,适配个人日常运营全场景,核心模块详情如下:
(一)前台访客核心功能模块
1.首页展示模块:首页轮播展示精选博文,分区展示最新文章、热门文章、推荐文章,展示博主简介、站点公告、建站时间、访客总量,整体界面简约美观,支持深色浅色模式切换。
2.博文浏览检索模块:支持全文关键词搜索文章,可按照文章分类、标签、发布时间筛选归档内容,文章支持目录跳转、字体缩放、一键复制、点赞收藏功能,支持图片、代码、图文混排博文完整渲染,适配技术代码类笔记展示。
3.互动评论模块:访客无需登录即可匿名评论,也可昵称留言评论,支持评论回复、评论点赞、违规评论举报功能,搭建博主与访客双向交流渠道。
4.附属功能模块:包含关于我、留言板、友情链接、站点导航页面,访客可查看博主个人信息、合作友链,全站适配移动端自适应访问。
(二)后台管理员核心功能模块
1.账号权限模块:支持管理员账号登录、密码修改、登录日志查看,后台独立加密权限,隔绝访客进入后台,保障后台数据安全。
2.文章管理模块:核心运营模块,支持富文本+Markdown双模式编辑文章,可新增、编辑、下架、删除文章,自定义文章分类、标签、封面图、发布状态,支持文章定时发布、草稿保存。
3.站点资源管理模块:统一管理博客图片、附件资源,批量上传删除素材;管理全站分类、标签,统一规整博文体系;管理友情链接、站点公告,自定义前台页面展示内容。
本个人博客采用前后端分离架构开发,遵循高内聚、低耦合设计思路,拆分前端展示、后端接口、数据库存储三大层级,兼顾开发效率、页面兼容性与后期二次迭代能力,整体适配1Panel面板一键部署上线,适配Linux服务器运行环境。整体采用分层式设计,分为表现层、业务逻辑层、数据访问层、持久层四层,隔离视图交互、业务处理、数据读写逻辑,降低模块耦合度,方便功能修改与维护。
(二)个人负责模块及量化开发成果
本次项目全程独立开发调试,全权负责前端页面开发、后端接口编写、数据库表设计、服务器部署全流程工作,核心负责模块及量化成果如下:第一,负责数据库整体设计,独立设计8张业务数据表,包含管理员表、文章表、分类标签表、评论表、友链表、访客记录表、站点配置表、素材资源表,优化数据表索引,将文章查询响应速度提升42%;第二,全权开发后台五大管理模块,完成46组后端接口开发调试,实现文章增删改查、评论审核、素材批量管理、系统配置全套功能,修复接口参数异常bug11处;第三,负责前台全站页面开发,完成首页、博文详情、留言板、关于我共12个页面编写,实现移动端自适应适配,兼容95%以上主流浏览器;第四,对接1Panel面板完成项目上线部署,配置域名、防火墙、定时备份任务,实现站点7×24小时稳定运行;第五,完成全站功能联调,实现评论通知、文章点赞、访客统计联动功能,项目整体功能通过率100%,满足上线使用标准。
(三)项目开发难点、踩坑问题及对应解决方案
难点一:Markdown博文代码渲染错乱、代码块样式丢失,复制代码格式变形,适配技术博文排版难度大。踩坑原因:原生Markdown插件不兼容后端富文本转义字符,特殊代码符号转义失效。解决方案:更换Markdown-it增强插件,自定义代码高亮主题,后端新增字符过滤转义工具类,过滤非法标签,单独锁定代码块格式,最终实现Java、Python等多编程语言代码高亮正常展示,一键复制格式无错乱。
难点二:访客点赞重复提交、访问数据统计失真,同一用户可无限点赞刷数据。踩坑原因:未做IP缓存校验,前端无防抖限制,后端无重复拦截逻辑。解决方案:引入Redis存储访客IP及博文点赞缓存,设置24小时缓存过期时间,前端添加点击防抖函数,后端新增接口拦截校验,彻底杜绝重复点赞问题,访客数据统计准确率提升至100%。
难点三:1Panel面板部署项目后,后台接口跨域报错、图片上传路径失效。踩坑原因:Nginx反向代理未配置跨域头,服务器静态资源文件夹权限未放开。解决方案:修改Nginx配置文件添加全局跨域配置,在1Panel文件管理中修改资源文件夹读写权限,统一图片上传静态映射路径,一次性解决跨域、图片加载两大部署问题,项目顺利完成线上部署。