springboot+vue宿舍管理系统

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

近期学了个springboot+vue项目的宿舍管理系统,特此记录用以准备接下来的面试。


一、所用软件

前端:WebStorm 2022.3.1
后端:IntelliJ IDEA 2022.3.1
数据库:mysql8.0.31+Navicat

二、所用技术栈

前端:VUE+Element-ui+Axios+Vue-Router
后端:Springboot+Mybatis

三、所实现功能

1.登录

为了防止密码被盗所以采用来MD5加密,并实现了记住密码功能,对所登用户做出判断,该用户可以执行哪些操作,超级管理员、系统管理员和宿管这三类用户具有不同的操作权限。

2.首页

显示欢迎登录者和该登录这所管理的宿舍楼和宿舍总数。
在这里插入图片描述

3.学生宿舍管理

1.宿舍管理

在这里插入图片描述
在这里插入图片描述

登录者可以根据所选条件进行查询,重置条件和新增。点击新增按钮会弹出对话框,根据所选的宿舍楼进行添加宿舍。下面一些功能模块都类似。

2.学生管理

在这里插入图片描述

3.班级管理

在这里插入图片描述

4.宿舍楼管理

在这里插入图片描述

5.记录

1.维修记录

在这里插入图片描述在这里插入图片描述

2.晚归记录

在这里插入图片描述

3.请假记录

在这里插入图片描述

4.系统管理

1.用户管理

在这里插入图片描述

2.角色管理

在这里插入图片描述在这里插入图片描述

3.菜单管理

在这里插入图片描述

4.日志管理

在这里插入图片描述

5.用户关于自身的操作

1.查看信息

在这里插入图片描述

2.修改头像与密码、用户名称、电话和邮箱

在这里插入图片描述
在这里插入图片描述

3.注销

四、功能编写

以学生管理为例

首先去element-ui官网找一些合适的组件复制到WebStorm里进行修改,比如添加v-model等等。其次在script标签里利用data()定义一些属性,利用method定义方法。如

  data() {
    return {
      listQuery:{
        page: 1,
        rows: 10,
        entity: {}
      }
  }
  methods:{
      async getStudent(id) {
      const {data} = await queryStudent(id)
      this.student = data
    }
  }
  

用import语句导入queryStudent

import {query as queryStudent} from "@/api/student";

在api目录下新建名为student的js文件,在js里面定义query方法

export function query(id) {
    return request({
        url: '/student/query?id=' + id,
        method: 'get'
    })
}

到IDEA找到controller包下面的StudentController类,编写与数据库交互等语句。

@RestController
@RequestMapping("/student")
public class StudentController {
    @GetMapping("/query")
    @RequirePermission(permissions = {"student:query"})
    public Result<Student> query(@RequestParam("id") Long id) {
        Student student = studentService.query(id).orElseThrow(() -> new HttpException(HttpCode.FAILED, "该数据不存在"));
        return Result.<Student>ok().add(student);
    }
}

@RestController的作用:相当于@Controller+@ResponseBody
@Controller:用@Controller标识的类,代表该类是控制器类(控制层/表现层)。这里控制层里面的每个方法,都可以去调用@Service标识的类(业务逻辑层)。
@ResponseBody:将java对象转为json格式的数据。

五、后期改进

1.登录

问题:目前登录过期它会提示用户登录过期,登录没过期直接在浏览器URL地址当中输入首页地址,它会直接跳转到首页,这样不太安全。
改进:用springsecurity,r如果登录没过期直接在浏览器URL地址当中输入首页地址,它会、进行拦截,直接跳转到登录页面。

2.不同用户操作权限

问题:操作地址在数据库里写死了。在这里插入图片描述
改进:用动态路由。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值