1 Star 0 Fork 0

徐猛猛7号 / youzhi

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

前言

在目前互联网需求萎缩,基于企业数字化与外包项目需求增长时代背景下.市面上大部分后台开发框架,仍然采用的是分布式,模块化,或者“炫技”的开发方式,导致结果就是项目结构臃肿,维护复杂且远离实际需求.youzhi是从实际业务需求的角度出发,打造的一款基于springboot,vue2.x,vue3.x适用于中小型项目简单易用的web快速开发框架.

项目介绍

特性介绍

  • 用户角色权限管理,及单点登录功能
  • 后台在线,离线消息通知功能
  • 集成activity6工作流引擎,助力自身业务流程快速实现

项目结构

项目结构

名称 描述 技术框架
backend 后台服务提供后台API接口 Spring Boot 2.7.5
message 提供与前端项目的websocket消息通知能力 Netty 3.10.5.Final
webend vue2前端项目提供后台管理界面 Vue 2.6.14,Element-UI 2.15.12
webend3 vue3前端项目提供后台管理界面 Vue 3.2.41,TypeScript 4.7.4,element-plus 2.3.3

功能列表

功能列表

功能 描述
用户管理 包括用户信息的编辑,给用户选定身份,部门,重置用户密码,删除用户等操作
角色管理 包括添加角色,给角色分配权限,删除角色等操作
组织架构 包括部门信息编辑,添加下级部门,添加部门内人员,移出部门内人员,指定部门负责人等操作
操作日志 记录后台登陆人员操作日志,支撑按操作类型查询,登陆,查看,新增,编辑,删除类型操作日志
工作流模版管理 工作流定义信息查询,开启工作流等操作
工作流实例管理 正在运行的实例查询,暂停,恢复工作流实例运行状态,删除流程实例等操作
历史工作流实例管理 查询已经结束运行的工作流实例,查询流程变量,删除历史工作流实例等操作

技术栈

后端

框架 说明 版本 官方文档
Spring Boot Web服务基础框架 2.7.5 链接
Netty Websocket基础框架 3.10.5.Final 链接
Kafka 服务通信消息中间件 3.3 链接
Mysql 关系数据库 5.7 链接
Redis 缓存数据库 7.0 链接
Mybatis-Plus 持久层框架 3.5.1 链接
Shiro 权限验证 1.10.0 链接
Activiti 工作流引擎 6.0.0 链接
Swagger 接口文档 2.9.2 链接
Hutool 工具类 1.10.0 链接
Lombok 简化JavaBean 1.16.16
Junit 单元测试 5.8.2
Logback 日志框架 1.1.11

前端VUE2.x

框架 说明 版本 官方文档
Node.js JavaScript运行环境 18.12.1 链接
Vue2.x JavaScript框架 2.6.14 链接
Vue-Router 前端页面路由 3.0.7 链接
Vuex 存储状态管理 3.6.2 链接
Vuex-Persistedstate 存储状态实现管理 3.2.1 链接
Element-UI 基于Vue桌面端组件库 2.15.12 链接
Axios 基于promise的网络请求库 1.2.0 链接
Font-Awesome 字体图表库 4.7.0 链接
Node-Sass CSS扩展 8.0.0 链接
Sass-Loader webpack打包css插件 13.2.0 链接
el-table-infinite-scroll 基于element table实现滚动加载数据的vue组件 1.0.10 链接

前端VUE3.x

框架 说明 版本 官方文档
Vue3.x 项目开发框架 3.2.47
Element-plus 前端UI库 2.3.3
Pinia 存储状态管理 2.0.32
Vue-router 页面路由管理 4.1.6
typescript javascript上类型推导 4.8.4
unplugin-auto-import ts,vue函数,自动声明配置 0.15.3

演示图

vue2.x界面

  • 登陆界面 登陆界面
  • 单点登录,用户在一个浏览器登录,就会把另外浏览器登录同一个用户挤下线 单点登录
  • 离线消息,用户未读消息上线之后以徽标形式通知 离线消息
  • 数据概览,一般情况为统计拓扑图,这里留空根据实际业务自行填充 数据概览
  • 用户管理 用户管理
  • 修改用户信息,可以给用户分配多个角色 修改用户信息
  • 角色管理,给角色分配权限 角色管理
  • 组织部门,添加人员 组织添加人员
  • 工作流模版管理 工作流定义
  • 历史工作流管理 历史工作流管理
  • 接口文档 接口文档

vue3.x界面

  • 登陆界面 vue3登陆界面
  • 首页页面 vue3首页

快速开发指南

环境搭建

整个项目依赖jdk1.8,mysql5.7,redis7.0,kafka3.3服务,这些服务请自行部署安装,如果只是开发的话建议使用docker镜像,方便快捷.开发工具后端使用idea,前端使用vscode.或者用自己喜欢的开发工具亦可

代码生成器使用

代码生成器 只需要将mysql配置与outputDirectory修改为自己本机实际情况,传入需要生成代码的表名,运行main方法即可,main方法执行完毕会生成对应的entity实体类,xml,Dao,Service,Controller类

新增页面与权限校验的规范

新增页面以HisoryProcessInstanceManager.vue举例分为三步,第四步为权限校验的规范

  1. 在前端项目components目录下(或者还可以新建一层目录)手动添加HisoryProcessInstanceManager.vue的页面, 新增HistoryProcessInstance.vue
  2. 在index.js文件里面添加页面路由,注意code,对应的是后台用户的权限code,第三步会讲到 页面路由
  3. 在后台mysql数据表插入菜单记录,根据截图中的注释描述填写即可,privilegeCode与第二步的code要一致 插入mysql数据菜单
  4. 权限校验的规范分为前端和后端两部分,前端主要是以vue的v-if来控制,如果用户没有改权限code,则页面上直接不显示,后台则是以shrio注解的形式来进行拦截的.
  • 前端权限校验 前端权限校验
  • 后台权限校验 后台权限校验

新增websocket消息类型

后台向前端发送Websocket消息时,需要加上type字段(在后台MessageType枚举类定义),前端对不同的类型的消息进行不同的处理 websoket消息处理

activiti工作流使用简介

后台项目已经集成activiti工作流,将自定义的流程文件processes文件夹下,项目每次启动会自动部署该流程(没有改动则不会部署,有改动会生成一个最新的版本,创建工作流实例也是以最新的版本创建),使用activiti工作流需要了解工作流相关概念,项目里面提供一个请假的流程可以供参考,在Spring的test目录下也提供了工作流测试类,里面有工作流的基本使用方法.

MIT License Copyright (c) 2023 徐猛猛7号 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

从实际业务需求的角度出发,打造的一款基于springboot2.x,vue2.x,适用于中小型项目简单易用的权限管理web快速开发框架. 展开 收起
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/xm12/youzhi.git
git@gitee.com:xm12/youzhi.git
xm12
youzhi
youzhi
master

搜索帮助