日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

基于java Springboot+Vue+shiro前后端分离疫情防疫管理系统设计和实现2.0

發布時間:2025/3/12 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于java Springboot+Vue+shiro前后端分离疫情防疫管理系统设计和实现2.0 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄??

研究背景

主要特性功能:

視頻效果演示 :

主要功能截圖:

系統首頁:??

疫情數據分布圖模擬:

用戶管理:

角色控制:

菜單權限:

每日健康打卡:

歷史出行數據:

外出報備申請:

外出請假審核:

疫情通知公告:

疫情資料管理:

注銷修改密碼:

?主要代碼實現:

主要數據表設計:

表clock

表file

表go_out

表info

表sys_captcha (系統驗證碼)

表sys_config (系統配置信息表)

表sys_log (系統日志)

表sys_menu (菜單管理)

表sys_oss (文件上傳)

表sys_role (角色)

表sys_role_menu (角色與菜單對應關系)

表sys_user (系統用戶)

表sys_user_role (用戶與角色對應關系)

表sys_user_token (系統用戶Token)

表thm

表towork_apply

?獲取源碼聯系:


🍅 作者主頁:Java李楊勇?

🍅 簡介:Java領域優質創作者🏆、【java李楊勇】公號作者? ?簡歷模板、學習資料、面試題庫【關注我,都給你】

🍅文末獲取源碼聯系🍅

主要特性功能:

完全響應式布局(支持電腦、平板、手機等所有主流設備)
強大的一鍵生成功能(包括控制器、模型、視圖、菜單等)
支持多數據源,簡單配置即可實現切換。
支持按鈕及數據權限,可自定義部門數據權限。
對常用js插件進行二次封裝,使js代碼變得簡潔,更加易維護
完善的XSS防范及腳本過濾,徹底杜絕XSS攻擊
Maven多項目依賴,模塊及插件分項目,盡量松耦合,方便模塊升級、增減模塊。
國際化支持,服務端及客戶端支持
完善的日志記錄體系簡單注解即可實現
支持服務監控,數據監控,緩存監控功能。

主要技術:java、springboot、springmvc、redis、shiro、vue、element、echarts、mysql等

視頻效果演示基于Springboot+Vue前后端分離疫情防疫管理系統設計和實.mp4https://www.bilibili.com/video/BV1tb4y1i7Lhhttps://www.bilibili.com/video/BV1tb4y1i7Lh

主要功能截圖:

用戶登錄、輸入賬號密碼進行驗證和用戶角色判斷、不同角色不同菜單權限

系統首頁:??

疫情數據分布圖模擬:

用戶管理:

?

角色控制:

菜單權限:

每日健康打卡:

?

歷史出行數據:

外出報備申請:

外出請假審核:

?

疫情通知公告:

疫情資料管理:

?

注銷修改密碼:

主要代碼實現:

菜單列表處理和顯示:

@Service("sysMenuService") public class SysMenuServiceImpl extends ServiceImpl<SysMenuDao, SysMenuEntity> implements SysMenuService {@Autowiredprivate SysUserService sysUserService;@Autowiredprivate SysRoleMenuService sysRoleMenuService;@Overridepublic List<SysMenuEntity> queryListParentId(Long parentId, List<Long> menuIdList) {List<SysMenuEntity> menuList = queryListParentId(parentId);if(menuIdList == null){return menuList;}List<SysMenuEntity> userMenuList = new ArrayList<>();for(SysMenuEntity menu : menuList){if(menuIdList.contains(menu.getMenuId())){userMenuList.add(menu);}}return userMenuList;}@Overridepublic List<SysMenuEntity> queryListParentId(Long parentId) {return baseMapper.queryListParentId(parentId);}@Overridepublic List<SysMenuEntity> queryNotButtonList() {return baseMapper.queryNotButtonList();}@Overridepublic List<SysMenuEntity> getUserMenuList(Long userId) {//系統管理員,擁有最高權限if(userId == Constant.SUPER_ADMIN){return getAllMenuList(null);}//用戶菜單列表List<Long> menuIdList = sysUserService.queryAllMenuId(userId);return getAllMenuList(menuIdList);}@Overridepublic void delete(Long menuId){//刪除菜單this.removeById(menuId);//刪除菜單與角色關聯sysRoleMenuService.removeByMap(new MapUtils().put("menu_id", menuId));}/*** 獲取所有菜單列表*/private List<SysMenuEntity> getAllMenuList(List<Long> menuIdList){//查詢根菜單列表List<SysMenuEntity> menuList = queryListParentId(0L, menuIdList);//遞歸獲取子菜單getMenuTreeList(menuList, menuIdList);return menuList;}/*** 遞歸*/private List<SysMenuEntity> getMenuTreeList(List<SysMenuEntity> menuList, List<Long> menuIdList){List<SysMenuEntity> subMenuList = new ArrayList<SysMenuEntity>();for(SysMenuEntity entity : menuList){//目錄if(entity.getType() == Constant.MenuType.CATALOG.getValue()){entity.setList(getMenuTreeList(queryListParentId(entity.getMenuId(), menuIdList), menuIdList));}subMenuList.add(entity);}return subMenuList;}

shiro權限靈活控制到目錄、菜單、按鈕級別以及權限攔截。

@Bean("shiroFilter")public ShiroFilterFactoryBean shiroFilter(SecurityManager securityManager) {ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();shiroFilter.setSecurityManager(securityManager);//oauth過濾Map<String, Filter> filters = new HashMap<>();filters.put("oauth2", new OAuth2Filter());shiroFilter.setFilters(filters);Map<String, String> filterMap = new LinkedHashMap<>();filterMap.put("/webjars/**", "anon");filterMap.put("/druid/**", "anon");filterMap.put("/app/**", "anon");filterMap.put("/sys/login", "anon");filterMap.put("/swagger/**", "anon");filterMap.put("/v2/api-docs", "anon");filterMap.put("/swagger-ui.html", "anon");filterMap.put("/swagger-resources/**", "anon");filterMap.put("/captcha.jpg", "anon");filterMap.put("/aaa.txt", "anon");filterMap.put("/virtuel/**", "anon");filterMap.put("/**", "oauth2");shiroFilter.setFilterChainDefinitionMap(filterMap);return shiroFilter;}

?登錄模塊的驗證以及保存token到前端

/*** 登錄*/@PostMapping("/sys/login")public Map<String, Object> login(@RequestBody SysLoginForm form)throws IOException {boolean captcha = sysCaptchaService.validate(form.getUuid(), form.getCaptcha()); // if(!captcha){ // return R.error("驗證碼不正確"); // }//用戶信息SysUserEntity user = sysUserService.queryByUserName(form.getUsername());//賬號不存在、密碼錯誤if(user == null || !user.getPassword().equals(new Sha256Hash(form.getPassword(), user.getSalt()).toHex())) {return R.error("賬號或密碼不正確");}//賬號鎖定if(user.getStatus() == 0){return R.error("賬號已被鎖定,請聯系管理員");}//生成token,并保存到數據庫R r = sysUserTokenService.createToken(user.getUserId());return r;}

主要數據表設計:

數據庫名:renren-epidemic

文檔版本:V1.0.0

文檔描述:數據庫表設計描述

表clock

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

id

int

10

0

N

Y

2

name

varchar

255

0

Y

N

姓名

3

phone

varchar

255

0

Y

N

手機號

4

szd

varchar

255

0

Y

N

所在地

5

stzk

varchar

255

0

Y

N

身體狀況

6

grjc

varchar

255

0

Y

N

是否和感染人員接觸

7

bz

varchar

255

0

Y

N

8

create_time

datetime

19

0

Y

N

日期

9

tw

varchar

255

0

Y

N

表file

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

id

int

10

0

N

Y

2

path

varchar

255

0

Y

N

3

file_name

varchar

255

0

Y

N

4

file_type

varchar

255

0

Y

N

5

classify

varchar

255

0

Y

N

6

create_time

datetime

19

0

Y

N

7

create_by

varchar

255

0

Y

N

表go_out

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

id

int

10

0

N

Y

2

wc_time

datetime

19

0

Y

N

外出時間

3

wc_yy

varchar

255

0

Y

N

外出原因

4

wc_dd

varchar

255

0

Y

N

外出地點

5

username

varchar

255

0

Y

N

用戶姓名

6

phone

varchar

255

0

Y

N

聯系手機號碼

7

bz

varchar

255

0

Y

N

備注說明

8

stu

varchar

255

0

Y

N

表info

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

id

int

10

0

N

Y

2

title

varchar

255

0

Y

N

3

content

longtext

2147483647

0

Y

N

4

create_time

datetime

19

0

Y

N

5

create_by

varchar

255

0

Y

N

6

bz

varchar

255

0

Y

N

表sys_captcha (系統驗證碼)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

uuid

char

36

0

N

Y

uuid

2

code

varchar

6

0

N

N

驗證碼

3

expire_time

datetime

19

0

Y

N

過期時間

表sys_config (系統配置信息表)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

id

bigint

20

0

N

Y

2

param_key

varchar

50

0

Y

N

key

3

param_value

varchar

2000

0

Y

N

value

4

status

tinyint

4

0

Y

N

1

狀態 ??0:隱藏 ??1:顯示

5

remark

varchar

500

0

Y

N

備注

表sys_log (系統日志)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

id

bigint

20

0

N

Y

2

username

varchar

50

0

Y

N

用戶名

3

operation

varchar

50

0

Y

N

用戶操作

4

method

varchar

200

0

Y

N

請求方法

5

params

varchar

5000

0

Y

N

請求參數

6

time

bigint

20

0

N

N

執行時長(毫秒)

7

ip

varchar

64

0

Y

N

IP地址

8

create_date

datetime

19

0

Y

N

創建時間

表sys_menu (菜單管理)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

menu_id

bigint

20

0

N

Y

2

parent_id

bigint

20

0

Y

N

父菜單ID,一級菜單為0

3

name

varchar

50

0

Y

N

菜單名稱

4

url

varchar

200

0

Y

N

菜單URL

5

perms

varchar

500

0

Y

N

授權(多個用逗號分隔,如:user:list,user:create)

6

type

int

10

0

Y

N

類型 ??0:目錄 ??1:菜單 ??2:按鈕

7

icon

varchar

50

0

Y

N

菜單圖標

8

order_num

int

10

0

Y

N

排序

表sys_oss (文件上傳)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

id

bigint

20

0

N

Y

2

url

varchar

200

0

Y

N

URL地址

3

create_date

datetime

19

0

Y

N

創建時間

表sys_role (角色)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

role_id

bigint

20

0

N

Y

2

role_name

varchar

100

0

Y

N

角色名稱

3

remark

varchar

100

0

Y

N

備注

4

create_user_id

bigint

20

0

Y

N

創建者ID

5

create_time

datetime

19

0

Y

N

創建時間

表sys_role_menu (角色與菜單對應關系)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

id

bigint

20

0

N

Y

2

role_id

bigint

20

0

Y

N

角色ID

3

menu_id

bigint

20

0

Y

N

菜單ID

表sys_user (系統用戶)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

user_id

bigint

20

0

N

Y

2

username

varchar

50

0

N

N

用戶名

3

password

varchar

100

0

Y

N

密碼

4

salt

varchar

20

0

Y

N

5

email

varchar

100

0

Y

N

郵箱

6

mobile

varchar

100

0

Y

N

手機號

7

status

tinyint

4

0

Y

N

狀態 ?0:禁用 ??1:正常

8

create_user_id

bigint

20

0

Y

N

創建者ID

9

create_time

datetime

19

0

Y

N

創建時間

表sys_user_role (用戶與角色對應關系)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

id

bigint

20

0

N

Y

2

user_id

bigint

20

0

Y

N

用戶ID

3

role_id

bigint

20

0

Y

N

角色ID

表sys_user_token (系統用戶Token)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

user_id

bigint

20

0

N

Y

2

token

varchar

100

0

N

N

token

3

expire_time

datetime

19

0

Y

N

過期時間

4

update_time

datetime

19

0

Y

N

更新時間

表thm

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

id

int

10

0

N

Y

2

username

varchar

255

0

Y

N

3

cx_time

datetime

19

0

Y

N

4

place

varchar

255

0

Y

N

5

bz

varchar

255

0

Y

N

6

mobile

varchar

255

0

Y

N

表towork_apply

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

id

int

10

0

N

Y

2

title

varchar

255

0

Y

N

3

content

varchar

255

0

Y

N

4

apply_user

varchar

255

0

Y

N

5

apply_time

datetime

19

0

Y

N

6

bz

varchar

255

0

Y

N

7

stu

varchar

255

0

Y

N

?獲取源碼聯系:

?大家點贊、收藏、關注、評論啦 、查看👇🏻👇🏻👇🏻微信公眾號獲取聯系方👇🏻👇🏻👇🏻

打卡 文章 更新?115/? 365天

?精彩專欄推薦訂閱:下方專欄👇🏻👇🏻👇🏻👇🏻

??Java項目精品實戰案例《100套》https://blog.csdn.net/weixin_39709134/category_11128297.htmlhttps://blog.csdn.net/weixin_39709134/category_11128297.html

web前端期末大作業網頁實戰《100套》https://blog.csdn.net/weixin_39709134/category_11374891.htmlhttps://blog.csdn.net/weixin_39709134/category_11374891.html

總結

以上是生活随笔為你收集整理的基于java Springboot+Vue+shiro前后端分离疫情防疫管理系统设计和实现2.0的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。