分享

[开源]MIT协议,致力于打造一款不用生成冗赘代码的后台管理系统

 风声之家 2022-05-17 发布于江苏

一、开源项目简介

基于SpringBoot,后端核心技术采用Sqltoy操作数据库以及Sa-Token鉴权,前端使用Vue3+TS+Element-plus。是一款前后端分离、开箱即用的后台权限管理系统。

  • 致力于打造一款不用生成冗赘代码的后台管理系统

二、开源协议

使用MIT开源协议

三、界面展示

️ 图片演示

图片

图片

图片

图片

四、功能概述

后台首页

  • 系统首页

  • 仪表盘

系统管理

  • 用户管理

  • 角色管理

  • 权限管理

  • 菜单管理

  • 字典管理

  • 日志管理

系统工具

  • 代码生成

404页面

版本v1.0.2

1. 修复已知BUG & 优化UI.2. 新增字典表维护.3. 补充权限缓存以及角色鉴权.4. 后台系统新增实体类代码生成器.5. 增加操作日志功能.快马加鞭建设中...

版本v1.0.1正式完成

基于SpringBoot,后端核心技术采用Sqltoy操作数据库以及Sa-Token鉴权,前端使用Vue3+TS+Element-plus。是一款前后端分离、开箱即用的后台权限管理系统。

五、技术选型

 软件架构

  • 前后端分离,后端采用流行的MVC三层架构,缓存Redis,数据库MySQL

与其它优秀Admin的不同之处

  • 很多优秀的Admin系统都是具备代码生成功能,一套代码生成下来的确能省很多事,但是重复性的代码有很多,所以在本项目将其抽象出一层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文件,因为mapper也是重复度很高,当然sqltoy还有很多优点本项目尚未用到,有待挖掘;

mybatits

public class UserServiceImpl{
@Autowired
private UserMapper userMapper;

public List<User> getAll() {
return userMapper.getAll();
}
}
// + 这里还得加一个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");
}
}
// - 这里不用再写一个mapper.java文件

// mapper的xml文件......

☘️ 启动说明

  • 步骤

  • 运行数据库脚本

  • 启动本地Redis并运行后端服务

  • 安装前端依赖并运行前端项目

  • 后端

application.yml配置文件位置:src/main/resources/application.yml
数据库脚本:/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 #开发环境
$ npm run build || yarn run build #生产环境
  • 访问地址

  • 后端接口文档:http://localhost:7777/doc.html

  • 前端登录地址:http://localhost:8080/login

  • 备注

  • 必须安装Redis;

  • 目前只支持mysql数据库;

 开发规范

  • 建议使用《阿里巴巴Java开发手册》

 项目结构

├─logs  ------------------------日志文件  
├─doc -------------------------文档
│ └─db -----------------------数据库脚本
├─sra-bootstrap ---------------启动模块
├─sra-common ------------------常用模块
├─sra-config ------------------配置模块
├─sra-framework ---------------框架模块
├─sra-system ------------------系统模块
└─sra-ui ----------------------前端项目

 核心技术栈

后端

  • SpringBoot :Spring Boot 可以轻松创建可以“直接运行”的独立的、生产级的基于 Spring 的应用程序。

  • Sqltoy :java真正最强大的ORM框架,支持市场上流行数据库。

  • Satoken :一个轻量级 Java 权限认证框架,让鉴权变得简单、优雅!

  • Hutool :小而全的Java工具类库,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。

前端

  • Vue3开发文档 :Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。

  • Element Plus :基于 Vue 3,面向设计师和开发者的组件库,简洁、美观、稳定、易用。

  • Apache ECharts :一个基于 JavaScript 的开源可视化图表库,功能非常强大。

️ 软件版本要求

  • MySQL:8.0及以上

  • JDK:jdk8及以上

  • Nodejs:14.0及以上

六、源码地址

访问一飞开源:https://code./


确定


  • 不看此公众号

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多