Skip to content

pi-admin 是基于 Spring Boot 2.7.12、MyBatis-Plus、Spring Security 等主流技术栈构建的后台管理系统。

License

Notifications You must be signed in to change notification settings

zengpi/pi-admin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pi-admin

简介

pi-admin 是基于 Spring Boot 2.7.12、MyBatis-Plus、Spring Security 等主流技术栈构建的后台管理系统。

特性

  • 基于 Spring Security、JWT 的统一认证鉴权。
  • 使用 MyBatis-Plus 简化 DAO 操作,它提供了众多插件,如自动分页、逻辑删除、自动填充、多租户等。
  • 整合 Flowable 工作流,方便管理、执行和监控复杂的工作流和业务流程。
  • 内置多租户,方便隔离不同企业、分公司、组织的数据。
  • 数据权限。自定义 MyBatis-Plus 的拦截器拦截待执行的 SQL,动态添加查询条件,实现数据过滤。
  • 数据脱敏。采用自定义 Jackson 序列化器在序列化时脱敏。只需一个注解,指定脱敏策略即可实现数据脱敏。
  • 支持 Docker 编排,一键部署环境。
  • 代码风格遵循 Alibaba Java 开发规范。
  • 只保留系统核心功能,无过度自定义封装,易于学习和功能扩展。

系统演示

系统演示请访问:https://jiabin.williamalec.top/

源码

pi-admin 前后端分离框架

文档跳转

Gitee GitHub
后端 https://gitee.com/linjiabin100/pi-admin.git https://github.com/zengpi/pi-admin.git
前端 https://gitee.com/linjiabin100/pi-admin-web.git https://github.com/zengpi/pi-admin-web.git

pi-cloud 微服务框架

文档跳转

Gitee GitHub
后端 https://gitee.com/linjiabin100/pi-cloud.git https://github.com/zengpi/pi-cloud.git
前端 https://gitee.com/linjiabin100/pi-cloud-web.git https://github.com/zengpi/pi-cloud-web.git

分支说明

master:主分支。最新代码的稳定分支。

1.0.x:1.0 版本稳定分支。

dev:开发分支。此分支代码随时修改,不稳定。

版本说明

pi-admin 的版本号命名方式为 主版本号.次版本号.修订号:

  • 主版本号 - 版本可能包含破坏性更改,如产品方向改变,或者大规模 API 不兼容,或者架构不兼容升级。
  • 次版本号 - 保持相对兼容性,包含增强功能,影响范围极小的 API 不兼容修改。
  • 修订号 - 版本完全向前和向后兼容,bug 修复、新增次要功能特性等。

注意:SNAPSHOT 版本是一种特殊的版本命名约定,用于表示软件项目的开发过程中的临时版本或快照版本。SNAPSHOT 版本用于开发和测试阶段,通常不适合用于生产环境或稳定版本的部署,可能包含未经完全验证或稳定的代码。

参考文档

请阅读 pi-admin 的 参考文档 ,它描述了开发、运行 pi-admin 的必要信息以及核心原理。

阅读 个人博客 也是一个不错的选择,它是对文档很好的一个补充,阅读它会对项目有更深的理解。

软件架构

项目模块

- pi-admin
   - pi-boot                      项目启动入口
   - pi-common                    公共模块
      - pi-common-core            公共核心模块
      - pi-common-mybatis         mybatis 配置
      - pi-common-serialization   序列化配置
   - pi-core                      系统核心模块
      - pi-log                    日志模块
      - pi-security               安全模块
      - pi-system                 系统模块
   - pi-workflow			      工作流

功能模块

- 系统管理
   - 用户管理                       维护平台及租户用户
   - 菜单管理                       维护系统菜单。注意:只有平台用户才有修改权限
   - 角色管理                       维护系统角色,为角色分配菜单
   - 部门管理                       维护系统组织架构(公司、部门、组织)、数据权限等
   - 操作日志                       查看系统操作日志
   - 接口文档                       系统 API 接口文档
- 流程
   - 流程管理
      - 流程分类                    管理流程分类
      - 表单配置                    维护流程节点表单,用于收集流程数据
      - 流程建模                    bpmn 设计器,在线设计流程模型
      - 流程部署                    对流程模型进行部署
   - 流程中心
      - 新建流程                    根据流程定义创建流程实例
      - 我的流程                    查看登录用户的流程实例
      - 代办任务                    查看登录用户代办的任务
      - 抄送我的                    查看抄送给登录用户的流程
      - 已办任务                    查看登录用户已办的历史任务
- 租户
   - 企业管理                       管理企业信息,用户根据企业信息新增租户,一个企业对应一个租户。
   - 套餐管理                       维护租户所拥有的的菜单。
   - 租户管理                       维护租户信息,设置租户套餐,用户数量等。

快速开始

系统要求

在开始之前,您需要确保您的计算机上安装了必要的环境。

pi-admin 需要 Java 8+,同时支持 Maven 3.5 及以上版本。实际上,pi-admin 是在 Jdk 1.8.0_161下开发的。

此外,要保证 pi-admin 的正常运行,还需要在您的计算机中至少存在:MySQL、Redis。下表是以上环境版本清单:

版本
* Jdk 1.8.0_161
* Maven 3.8.6
* MySQL 8.0.31
* Redis 7.0.7
Docker 23.0.5
Git 2.41.0

安装方式请点击上表对应链接或查看对应官网。

注意:项目中 MySQL 默认用户名密码均为 root,Redis 的密码为 123456

Docker 部署开发环境

这种方式要求在你的计算机中已经安装了 Docker,如果没有,请按照系统要求中提供的方式进行安装。

  1. 将项目目录 doc 中的 docker 目录上传到 Docker 服务器的根目录中,上传工具请自行选择。

  2. 给 docker 目录分配权限:

    $ sudo chmod -R 777 /docker
  3. 使用远程连接工具连接服务器并进入 /docker 目录,执行以下命令:

    $ sudo docker compose up -d mysql redis nginx

注意:对于以上方式启动的 mysql,只适合在开发环境使用,生产环境请自行搭建。

项目下载

$ git clone https://gitee.com/linjiabin100/pi-admin.git
# or
$ git clone https://github.com/zengpi/pi-admin.git

修改 hosts

在开发环境下,pi-admin 配置中的地址均设置为域名,比如:

spring:
  data:
    redis:
      host: pi-redis
      password: 123456

注意 host 的值 pi-redis 并不是 ip 地址。

如果不想修改它,您需要修改 hosts 文件。Windows 中 hosts 文件位于 C:\Windows\System32\drivers\etc\hosts,打开该文件,在文件末尾追加:

10.30.1.19 pi-redis
10.30.1.19 pi-db
10.30.1.19 pi-server

其中,10.30.1.19 为我的内网的 IP,您需要将它修改成你自己的。

为方便修改,您还可以选择使用工具 SwitchHosts,你可以很轻松地安装并使用它。

注意:如果 hosts 文件无法写入内容,请将该文件属性的只读复选框取消勾选,具体是:右键 hosts -> 属性 -> 取消勾选“只读”复选框

导入数据库

使用你喜欢的方式连接到 MySQL 数据库中,新建一个数据库,它的名称是 pi-admin,并将项目目录下的 doc/sql/pi-admin_${version}.sql 导入到新建的数据库中。

启动项目

项目启动入口文件:pi-admin/pi-boot/src/main/java/me/pi/admin/AdminApplication.java

现在使用 curl 运行服务(在一个单独的终端窗口中),通过运行以下命令(显示其输出):

$ curl localhost:9317
Hello, Pi Admin!

预览

About

pi-admin 是基于 Spring Boot 2.7.12、MyBatis-Plus、Spring Security 等主流技术栈构建的后台管理系统。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages