一,、開源項(xiàng)目簡(jiǎn)介
基于SpringBoot,后端核心技術(shù)采用Sqltoy操作數(shù)據(jù)庫(kù)以及Sa-Token鑒權(quán),,前端使用Vue3+TS+Element-plus,。是一款前后端分離、開箱即用的后臺(tái)權(quán)限管理系統(tǒng),。
二,、開源協(xié)議
使用MIT開源協(xié)議
三、界面展示
? 圖片演示
四,、功能概述
后臺(tái)首頁(yè)
系統(tǒng)管理
用戶管理
角色管理
權(quán)限管理
菜單管理
字典管理
日志管理
系統(tǒng)工具
404頁(yè)面
版本v1.0.2
1. 修復(fù)已知BUG & 優(yōu)化UI.2. 新增字典表維護(hù).3. 補(bǔ)充權(quán)限緩存以及角色鑒權(quán).4. 后臺(tái)系統(tǒng)新增實(shí)體類代碼生成器.5. 增加操作日志功能.快馬加鞭建設(shè)中...
版本v1.0.1正式完成
基于SpringBoot,,后端核心技術(shù)采用Sqltoy操作數(shù)據(jù)庫(kù)以及Sa-Token鑒權(quán),前端使用Vue3+TS+Element-plus,。是一款前后端分離,、開箱即用的后臺(tái)權(quán)限管理系統(tǒng)。
五,、技術(shù)選型
軟件架構(gòu)
與其它優(yōu)秀Admin的不同之處
很多優(yōu)秀的Admin系統(tǒng)都是具備代碼生成功能,,一套代碼生成下來(lái)的確能省很多事,但是重復(fù)性的代碼有很多,,所以在本項(xiàng)目將其抽象出一層BaseService,;
v1.0.1
public interface IUserService {
// 注釋已省略......
boolean add(UserAddParam param) throws BusinessException;
boolean deleteBatch(List<String> idList) throws BusinessException;
boolean update(UserUpdateParam param) throws BusinessException;
Page<UserVO> listByPage(Page<UserVO> param) throws BusinessException;
boolean delete(String id) throws BusinessException;
}
v1.0.2
public interface IUserService extends IBaseService<Page<UserVO>, UserPageParam, UserAddParam, UserUpdateParam> {
}
使用sqltoy框架的原因主要是不用寫mybatits的mapper.java文件,因?yàn)閙apper也是重復(fù)度很高,,當(dāng)然sqltoy還有很多優(yōu)點(diǎn)本項(xiàng)目尚未用到,,有待挖掘,;
mybatits
public class UserServiceImpl{
@Autowired
private UserMapper userMapper;
public List<User> getAll() {
return userMapper.getAll();
}
}
// + 這里還得加一個(gè)mapper
public class UserMapper{
public List<User> getAll();
}
// mapper的xml文件......
sqltoy
public class UserServiceImpl{
@Autowired
private SqlToyLazyDao sqlToyLazyDao;
public List<User> getAll() {
return sqlToyLazyDao.findBySql("getAll");
}
}
// - 這里不用再寫一個(gè)mapper.java文件
// mapper的xml文件......
?? 啟動(dòng)說(shuō)明
步驟
運(yùn)行數(shù)據(jù)庫(kù)腳本
啟動(dòng)本地Redis并運(yùn)行后端服務(wù)
安裝前端依賴并運(yùn)行前端項(xiàng)目
后端
application.yml配置文件位置:src/main/resources/application.yml
數(shù)據(jù)庫(kù)腳本:/doc/db/DB_SRA_V1.sql
Main入口主類:sra-bootstrap/src/main/java/com/jwss/bootstrap/SraApplicationBoot.java
$ cd sra-ui #切換到前端目錄
$ npm install || yarn #安裝依賴
$ npm run serve || yarn run serve #開發(fā)環(huán)境
$ npm run build || yarn run build #生產(chǎn)環(huán)境
訪問(wèn)地址
后端接口文檔:http://localhost:7777/doc.html
前端登錄地址:http://localhost:8080/login
備注
必須安裝Redis;
目前只支持mysql數(shù)據(jù)庫(kù),;
開發(fā)規(guī)范
項(xiàng)目結(jié)構(gòu)
├─logs ------------------------日志文件
├─doc -------------------------文檔
│ └─db -----------------------數(shù)據(jù)庫(kù)腳本
├─sra-bootstrap ---------------啟動(dòng)模塊
├─sra-common ------------------常用模塊
├─sra-config ------------------配置模塊
├─sra-framework ---------------框架模塊
├─sra-system ------------------系統(tǒng)模塊
└─sra-ui ----------------------前端項(xiàng)目
核心技術(shù)棧
后端
SpringBoot :Spring Boot 可以輕松創(chuàng)建可以“直接運(yùn)行”的獨(dú)立的,、生產(chǎn)級(jí)的基于 Spring 的應(yīng)用程序。
Sqltoy :java真正最強(qiáng)大的ORM框架,,支持市場(chǎng)上流行數(shù)據(jù)庫(kù),。
Satoken :一個(gè)輕量級(jí) Java 權(quán)限認(rèn)證框架,讓鑒權(quán)變得簡(jiǎn)單,、優(yōu)雅,!
Hutool :小而全的Java工具類庫(kù),使Java擁有函數(shù)式語(yǔ)言般的優(yōu)雅,,讓Java語(yǔ)言也可以“甜甜的”,。
前端
Vue3開發(fā)文檔 :Vue 被設(shè)計(jì)為可以自底向上逐層應(yīng)用。Vue 的核心庫(kù)只關(guān)注視圖層,,不僅易于上手,,還便于與第三方庫(kù)或既有項(xiàng)目整合。
Element Plus :基于 Vue 3,,面向設(shè)計(jì)師和開發(fā)者的組件庫(kù),,簡(jiǎn)潔、美觀,、穩(wěn)定,、易用。
Apache ECharts :一個(gè)基于 JavaScript 的開源可視化圖表庫(kù),,功能非常強(qiáng)大,。
? 軟件版本要求
MySQL:8.0及以上
JDK:jdk8及以上
Nodejs:14.0及以上
六、源碼地址
訪問(wèn)一飛開源:https://code./