毕业设计|SpringBoot+Vue的前后端分离个人博客系统 您所在的位置:网站首页 基于springboot的个人博客网站论文 毕业设计|SpringBoot+Vue的前后端分离个人博客系统

毕业设计|SpringBoot+Vue的前后端分离个人博客系统

2024-07-10 14:23| 来源: 网络整理| 查看: 265

作者主页:编程指南针

作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师

主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简历模板、学习资料、面试题库、技术互助

收藏点赞不迷路  关注作者有好处

文末获取源码 

项目编号: 一,环境介绍

语言环境:Java:  jdk1.8

数据库:Mysql: mysql5.7

应用服务器:Tomcat:  tomcat8.5.31

开发工具:IDEA或eclipse

二,项目简介

一个功能完备的个人博客系统, redis缓存记录可恢复未完成的博客。可以自己使用或者学习 后端框架是SpringBoot、Mybatis,前端框架是VUE,数据库使用MySQL,缓存中间件Redis等技术 博客系统分为前台展示页面、后台管理 前台展示博客列表文章,分类,标签,评论以及时间轴等等 后台: 博客管理:用户可新增博客,对博客修改, 管理员可对 对分类,标签进行管理、 用户管理、 评论管理等等。 日志监控:对系统日志、在线用户黑名单进行管理 系统管理:可以对用户、角色、菜单、字典、 页面通知、 轮播图进行管理 系统工具:可以管理定时任务、已经对本地存储、七牛云存储进行管理,同步七牛云文件等等

三,系统展示 3.1 后台管理系统

3.2 前台功能

四,核心代码展示 4.1 轮播图代码 @Service public class CarouselServiceImpl implements CarouselService { @Autowired CarouselMapper carouselMapper; @Override public Carousel selectCarouselById(Long id) { return carouselMapper.selectCarouselById(id); } @Override public List selectCarouselList(Carousel carousel) { return carouselMapper.selectCarouselList(carousel); } @Override public int insertCarousel(Carousel carousel) { carousel.setCreateBy(SecurityUtils.getUsername()); return carouselMapper.insertCarousel(carousel); } @Override public int updateCarousel(Carousel carousel) { carousel.setUpdateBy(SecurityUtils.getUsername()); return carouselMapper.updateCarousel(carousel); } @Override public int deleteCarouselById(Long id) { String username = SecurityUtils.getUsername(); return carouselMapper.deleteCarouselById(id, username); } } 4.2 用户管理代码 @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Autowired private RoleMapper roleMapper; @Autowired private UserRoleMapper userRoleMapper; @Autowired TokenService tokenService; @Override public List selectUserList(SysUser user) { return userMapper.selectUserList(user); } @Override public SysUser selectUserByUserName(String userName) { return userMapper.selectUserByUserName(userName); } @Override public SysUser selectUserById(Long userId) { return userMapper.selectUserById(userId); } @Override public String selectUserRoleGroup(String userName) { List list = roleMapper.selectRolesByUserName(userName); StringBuilder idsStr = new StringBuilder(); for (Role role : list) { idsStr.append(role.getRoleName()).append(","); } if (StringUtils.isNotEmpty(idsStr.toString())) { return idsStr.substring(0, idsStr.length() - 1); } return idsStr.toString(); } @Override public String checkUserNameUnique(String userName) { int count = userMapper.checkUserNameUnique(userName); if (count > 0) { return UserConstants.NOT_UNIQUE; } return UserConstants.UNIQUE; } @Override public String checkPhoneUnique(SysUser user) { Long userId = StringUtils.isNull(user.getId()) ? -1L : user.getId(); SysUser info = userMapper.checkPhoneUnique(user.getPhone()); if (StringUtils.isNotNull(info) && info.getId().longValue() != userId.longValue()) { return UserConstants.NOT_UNIQUE; } return UserConstants.UNIQUE; } @Override public String checkEmailUnique(SysUser user) { Long userId = StringUtils.isNull(user.getId()) ? -1L : user.getId(); SysUser info = userMapper.checkEmailUnique(user.getEmail()); if (StringUtils.isNotNull(info) && info.getId().longValue() != userId.longValue()) { return UserConstants.NOT_UNIQUE; } return UserConstants.UNIQUE; } @Override public void checkUserAllowed(SysUser user) { if (StringUtils.isNotNull(user.getId()) && user.isAdmin()) { throw new CustomException("不允许操作超级管理员用户"); } } @Override @Transactional public int insertUser(SysUser user) { // 新增用户信息 int rows = userMapper.insertUser(user); // 新增用户与角色管理 insertUserRole(user); return rows; } @Override @Transactional public int updateUser(SysUser user) { Long userId = user.getId(); // 删除用户与角色关联 userRoleMapper.deleteUserRoleByUserId(userId); // 新增用户与角色管理 insertUserRole(user); return userMapper.updateUser(user); } @Override public int updateUserStatus(SysUser user) { return userMapper.updateUser(user); } @Override public int updateUserProfile(SysUser user) { user.setId(SecurityUtils.getLoginUser().getUser().getId()); int result = userMapper.updateUser(user); //更新redis缓存 refreshTokenClaims(user.getId()); return result; } /** * 同步刷新Redis缓存 * * @param id sys_user id */ private void refreshTokenClaims(Long id) { //更新redis缓存 LoginUser loginUser = SecurityUtils.getLoginUser(); loginUser.setUser(userMapper.selectUserById(id)); tokenService.refreshToken(loginUser); } @Override public int resetPwd(SysUser user) { return userMapper.updateUser(user); } @Override public int resetUserPwd(String userName, String password) { return userMapper.resetUserPwd(userName, password); } public void insertUserRole(SysUser user) { Long[] roles = user.getRoleIds(); if (StringUtils.isNotNull(roles)) { // 新增用户与角色管理 List list = new ArrayList(); for (Long roleId : roles) { UserRole ur = new UserRole(); ur.setUserId(user.getId()); ur.setRoleId(roleId); list.add(ur); } if (!list.isEmpty()) { userRoleMapper.batchUserRole(list); } } } @Override @Transactional public int deleteUserByIds(String ids) { Long[] userIds = ConvertUtils.toLongArray(ids); for (Long userId : userIds) { checkUserAllowed(new SysUser(userId)); // 删除用户与角色关联 userRoleMapper.deleteUserRoleByUserId(userId); } String loginUsername = SecurityUtils.getUsername(); return userMapper.deleteUserByIds(userIds, loginUsername); } } 五,相关作品展示

基于Java开发、Python开发、PHP开发、C#开发等相关语言开发的实战项目

基于Nodejs、Vue等前端技术开发的前端实战项目

基于微信小程序和安卓APP应用开发的相关作品

基于51单片机等嵌入式物联网开发应用

基于各类算法实现的AI智能应用

基于大数据实现的各类数据管理和推荐系统

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有