README.md 4.0 KB
Newer Older
cxt104926's avatar
cxt104926 已提交
1 2
# stusystem

cxt104926's avatar
cxt104926 已提交
3
#### 1.介绍
cxt104926's avatar
1  
cxt104926 已提交
4
一个简单的练手demo,[前后端分离]
cxt104926's avatar
cxt104926 已提交
5
运用了MySQL为后台数据库,使用了当前较为流行的框架spring Boot + MyBatis + shiro,前端是Vue + Element-ui架构,以IDEA为开发工具,系统实现了宿舍管理、学生管理、宿舍分配、宿舍评比、损坏管理查询等必需的功能,其操作简单,界面友好,运行比较稳定,适用于大学院校大学生宿舍管理。
cxt104926's avatar
cxt104926 已提交
6 7 8 9

用户管理(增删改查)、宿舍管理(增删改查)、学生管理(增删改查)、宿舍分配(增删改查)、宿舍评比(增删改查)、损坏报备(增删改查)、日志记录(增查)、进出宿舍记录(增查)_调用人脸识别

权限:
cxt104926's avatar
1  
cxt104926 已提交
10 11 12 13 14
* 学生:修改自己信息(宿舍号不能改),损坏报备(自己的报备记录),日志(查看自己的),进出宿舍记录(自己的);
* 宿管:修改自己信息,损坏报备(自己管的楼报备记录),日志(查看自己的),宿舍管理(自己楼,宿舍状况,增删改查),学生管理(自己所在楼的增删改查密码重置),进出宿舍记录(归自己管的),
* 辅导员:修改自己信息,学生管理(自己所管的增删改查密码重置),进出宿舍记录(归自己管的学生),日志(查看自己的)
* 领导:修改自己信息,学生管理(全部),损坏报备查看(全部),宿舍管理(全部),日志(查看自己的),学生管理(全部),进出宿舍记录(全部),员工管理(辅导员,宿管,增删改查)
* 超级用户:
cxt104926's avatar
cxt104926 已提交
15
	
cxt104926's avatar
readme  
cxt104926 已提交
16

cxt104926's avatar
cxt104926 已提交
17
登录
cxt104926's avatar
1  
cxt104926 已提交
18 19
* 登录验证权限,显示对应权限下的功能;
* 登录成功后将IP地址,时间,账号存入数据库中,以便于后续查看用户登录情况;
cxt104926's avatar
cxt104926 已提交
20 21 22

注册

cxt104926's avatar
cxt104926 已提交
23 24 25
菜单加载:
    登录成功后去后台查询菜单,在查询完菜单后,在根据用户去查询权限,将权限code也携带在菜单中,可以实现某一些页面中的按钮这个用户没有权限,就不显示。当然在后端的接口也要验证是否有权限,否则通过手动修改按钮显示也是可以实现数据传入后台。

cxt104926's avatar
readme  
cxt104926 已提交
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
**效果展示:**

![1](/doc/img/chat.gif)

![log](/doc/img/log.png)

![register](/doc/img/register.png)

![菜单管理](/doc/img/菜单管理.png)

![菜单管理1](/doc/img/菜单管理1.png)

![聊天](/doc/img/聊天.png)




cxt104926's avatar
cxt104926 已提交
43

cxt104926's avatar
cxt104926 已提交
44
#### 2.软件架构
cxt104926's avatar
readme  
cxt104926 已提交
45

cxt104926's avatar
1  
cxt104926 已提交
46 47
1.  系统环境
    
cxt104926's avatar
cxt104926 已提交
48
    后端
cxt104926's avatar
1  
cxt104926 已提交
49
        
cxt104926's avatar
cxt104926 已提交
50 51 52 53 54 55 56 57 58
        1.Java 8
        2.SpringBoot 2.3.3       
        3.MySQL 5.7
        4.Maven 3.5 
        5.MyBatis 2.1.4
        6.Shiro 1.4.0
        7.Tomcat 9.0.37
        8.Liquibase 3.8.9

cxt104926's avatar
cxt104926 已提交
59
#### 3.安装教程
cxt104926's avatar
cxt104926 已提交
60 61 62
1.  克隆项目到本地
2.  在数据库中新建数据库名称为stusystem,注意设置数据库编码等为UTF-8
3.  在项目中设置数据库连接信息,用户名 & 密码
cxt104926's avatar
cxt104926 已提交
63 64 65 66
4.  按照下面方式启动项目即可,数据表自动建(系统使用了Liquibase,所以会自动新建数据表)

       
#### 4.使用说明
cxt104926's avatar
1  
cxt104926 已提交
67 68
1.  项目启动:本系统前后端分离,故而在启动项目时候需要启动前端、后端两者。
    前端启动:npm run dev
cxt104926's avatar
readme  
cxt104926 已提交
69
    
cxt104926's avatar
1  
cxt104926 已提交
70 71 72 73 74 75
2.  打包部署项目:
    
     ① 打包前端(IDEA下方Terminal):npm run build 
           
     ② 启动后端:启动SpringBoot项目
           
cxt104926's avatar
cxt104926 已提交
76
     ③ 访问项目:在浏览器中输入 -> `localhost:2020` 
cxt104926's avatar
cxt104926 已提交
77

cxt104926's avatar
1  
cxt104926 已提交
78 79 80
登录账号:
    管理员账号:admin
    密码:1    
cxt104926's avatar
cxt104926 已提交
81
       
cxt104926's avatar
bug fix  
cxt104926 已提交
82 83 84 85
#### 5.报错
 ① 启动项目时候卡死,控制台报 `Waiting for changelog lock....`
 出现的问题:liquibase导致表锁死报错
 解决办法,在数据库中执行更新语句,将DATABASECHANGELOGLOCK表中锁状态改成0
cxt104926's avatar
readme  
cxt104926 已提交
86

cxt104926's avatar
bug fix  
cxt104926 已提交
87 88 89 90
 UPDATE DATABASECHANGELOGLOCK
 SET locked=0, lockgranted=null, lockedby=null
 WHERE id=1

cxt104926's avatar
cxt104926 已提交
91 92 93 94 95 96 97
#### 6.开发记录
文件管理:
1、前端上传图片/文件,将图片名字改成uuid,存放到指定位置,在文件表记录一条信息,用到图片的表中记录id。
2、定时任务,在规定时间去检查文件表,已经删除的文件进行清除


#### 7.说在最后
cxt104926's avatar
bug fix  
cxt104926 已提交
98 99
   1.  系统正在开发,想到的后面再更新
   2.  正在学习使用这些技术,若有错误 不对之处欢迎大佬指正
cxt104926's avatar
cxt104926 已提交
100 101 102 103