# Aaron-Blog **Repository Path**: we_2575603672/Aaron-Blog ## Basic Information - **Project Name**: Aaron-Blog - **Description**: Aaron个人博客管理平台 摘要: 博客管理平台主要实现用户管理、文章管理、书籍管理、链接管理、日志管理等,管理员用户可以发表文章和进行文章、评论的管理还能进行书籍、日志、日记的管理,平台用户可以浏览文章和评论文章。本文对博客管理平台进行整体分析,明确了系统的可行性和用户需求;根据模块化原理,规划设计了系统功能模块。本平台的开发设计实现采用SpringBoot、Mybatis、Mysql、Oss、Vue、iView等技术。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 1 - **Created**: 2020-12-27 - **Last Updated**: 2025-03-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Aaron-Blog #### 介绍 Aaron个人博客管理平台 摘要: 博客管理平台主要实现用户管理、文章管理、书籍管理、链接管理、日志管理等,管理员用户可以发表文章和进行文章、评论的管理还能进行书籍、日志、日记的管理,平台用户可以浏览文章和评论文章。本文对博客管理平台进行整体分析,明确了系统的可行性和用户需求;根据模块化原理,规划设计了系统功能模块。本平台的开发设计实现采用SpringBoot、Mybatis、Mysql、Oss、Vue、iView等技术。 #### 软件架构 一 储论 1.1 目的和意义 近两年来,博客及博客文化正成为互联网的热点,并被视为继E-mail、BBS和ICQ之后出现的第四种网络交流方式。 博客正在改变组织沟通和社会交流方式。目前,全球参与博客的人数已经达到1000万之众,而且每5.8秒钟,都有一名新的博客用户加盟进来。显然,博客的发展对应了全球范围内知识社会来临的背景。对于中国这样一个组织机构信息化仍处于初级阶段的国家,博客这种充分发挥个人主导性和积极性的非正式知识管理工具和其深度沟通交流的功能,对于我们国家的知识性传播、知识扩散和有效提升组织的学习和创新能力,具有更特殊的意义。博客系统的快速增长以及组织机构对它的广泛应用,有助于推动中国向学习型社会转变。 本平台根据现实情况以及博客互动性的特点进行设计开发,旨在为用户提供一个交流的平台,促进用户间的深度沟通;并对用户所写的博文及评论进行有效管理。 1.2开发设计思想 本平台采用前后端分离技术,后端用Springboot作为基础框架,数据库用mysql存储信息,用阿里云Oss对象存储库存储图片。通过Mybatis中的mapper映射器来进行数据操作;通过Spring来进行后台业务逻辑控制;前端用vue实现视图层。即vue+spring+mybatis三层模式完成整个设计工作。后端只负责返回接口数据,前端只需调用接口即可。并采用JWT权限规范使平台更加安全。 二 运行环境与工具 2.1 运行环境 系统:windows 64 JDK:1.8 Tomcat:8.5 数据库:mysql、oss对象存储库 框架:springboot 、 mybatis、vue、iView 2.2 开发工具 开发工具:IDEA、VsCode、postman 三 个人博客管理平台功能分析 3.1 系统功能分析 首先对现有系统进行分析,现有系统是信息的重要来源。分析已有系统的功能和实现,从而确定新系统的设计目标和模型。由于条件有限,调研主要是在网上进行。即通过在网上已有的博客管理平台了解其具备的功能。 1、 从普通用户角度来看: 用户通过在线注册成为平台的一员,可以获得以下功能:博文浏览,博客评论、点赞。 2、从管理员的角度来看 管理员可以发布博文,管理博文,设置分类,对不良言论进行删除,管理书籍、日志、日记等,审核用户申请的友情链接,并对现有用户进行管理。 3、 从平台安全的角度来看 要区分管理员和普通用户的权限。不允许未登录就可访问页面的情况发生。 3.2 可行性研究 3.2.1 技术可行性分析 Aaron个人博客管理平台采用近年来流行的基于spring4.0的springboot作为底层框架,拥有良好的技术支持和便携性,很好地实现了后台的业务逻辑操作。并使用mybatis这一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。使开发难度大大降低,还使用了最流行的vue框架作为视图层,只关心视图层的显示,不仅易于上手,还便于与第三方库或既有项目整合,从而加快系统开发的速度,保证质量以及降低开发成本。并采用mysql存储信息数据,采用oss对象存储库存储图片,实现了资源区分,更加快了数据的读取速度。 3.2.2 运行可行性分析 随着计算机知识的普及和推广,越来越多的人掌握了计算机的基本使用方法和技能,随着Internet的发展,用户对于网络、windows等环境下的软件使用比较熟悉,对于一个抒发内心,与人交流的平台,用户表现出极大的兴趣和热情。 3.2.3 经济可行性分析 Aaron个人博客管理系统在现在的信息时代给人们带来了方便,成为一种全新的信息交流平台。因此,只有拥有网络和一个浏览器就可以在家中与别人畅聊。并且该平台的开发成本低,维护成本低,非常符合经济可行性。 3.3 网站总体结构图 总体结构图: 权限控制采用JWT规范: 1.client 发起登录请求 携带 username password 等信息 2.server 接收用户登录请求,验证账户正确,正确返回一条jwt编码 3.客户端接收到jwt编码,之后每次发起请求在请求头中加入一条k/v值 4.server接收到client请求,获取到请求头中的jwt信息,对jwt进行校验若签名核对成功,则为server自身发出并未有第三方修改过真实可靠的信息,若为正确信息,对jwt中的header与playload进行Base64解析获取原json,读取json 中的信息获取用户的UserId、Role、jwt有效期等信息,在此时可以对用户访问的资源(路径)进行鉴权是否匹配该用户权限(该部分将在下一篇文章中提到); 5.若jwt合法,且符合server的鉴权规则那么返回给客户端相应请求; 四 成员分工 五 个人博客管理平台系统设计 5.1系统功能设计目标 1、 任何拥有博客的人都可以做到 (1) 登录博客系统浏览文章 (2) 管理自己博客的基本信息 (3) 撰写个人日记 (4) 处理文章评论 2、 访问博客系统的人,可以做到 浏览博客系统中的文章、评论博客系统中的内容 3、 使用阿里云oss对象存储库存储上传的所有图片 用户通过前端页面上传图片,后端接收图片字节并携带阿里服务器的地址、密钥等信息向阿里云oss服务器请求连接,阿里服务器验证请求信息,若信息错误则抛出异常,若正确则建立连接,允许其操作远程oss对象存储库将图片存入并返回图片的url地址。 5.2管理系统功能模块 总体模块: 分为登录、博文管理、用户管理、书籍管理、日记管理、日志管理、友链管理 登录模块:使用post请求将用户名和密码传给后台,后台会先查询用户名是否存在,若不存在则返回用户名错误消息,若存在,则比对密码是否正确,若不正确,则返回密码错误消息,若正确,则将用户信息封装到token值中传给前端,前端将token值存入session中,每次发送请求都携带token值访问数据,后端每次接收前端传过来的token值都会进行校验,若正确则返回数据,若不正确,则抛出异常,前端页面将提示权限不足。 博文管理:管理员点击发布博文,即可进入博文撰写页面。并可以上传图片,上传的图片会存入阿里云oss对象存储库中并返回图片路径,并将路径存入本地mysql数据库中,前端将通过访问图片路径显示图片。管理员还可以对已发布的博文进行修改,并可将其进行删除。 博文删除后会进入到已删除的页面中,将不会展示给普通用户浏览,而管理员可以选择将已删除的博文进行“恢复”,恢复后会重新展示给用户,也可以选择“彻底删除”,彻底删除后,博文会从数据库中删除,不可恢复。 博文评论:普通用户登录后可以看见已经发布的博文的简介。 点击博文可以进入博文详情,并可对博文进行评论,也可以对其他用户的评论进行回复,并可对自己喜欢的博文进行点赞和打赏博文作者。 评论管理:管理员可在后台对不良的评论进行删除操作,并且删除父评论后,子评论也会随着删除。 用户管理:管理员可以添加新用户,添加新用户后会有随机头像,管理员可编辑用户信息,包括头像、邮箱等。并可将用户设置成管理员。 书籍管理:管理员可将自己喜欢的书籍添加入平台中,并可展示给普通用户,向其他用户推荐。 日记管理:管理员可将每日心得写入平台中,方便以后借阅,了解之前的所思所想。 日志管理:管理员每次优化管理平台时,可将优化信息发表在平台上,方便管理员了解之前的优化事项及优化时间。 友链管理:普通用户可向该网站提示友情链接申请,管理员可对申请的友情链接进行审核,并将审核结果及原因传给用户。