No Description

allen c2e978e0e0 first commit 2 years ago
bin c2e978e0e0 first commit 2 years ago
doc c2e978e0e0 first commit 2 years ago
fidms-admin c2e978e0e0 first commit 2 years ago
fidms-common c2e978e0e0 first commit 2 years ago
fidms-framework c2e978e0e0 first commit 2 years ago
fidms-generator c2e978e0e0 first commit 2 years ago
fidms-quartz c2e978e0e0 first commit 2 years ago
fidms-system c2e978e0e0 first commit 2 years ago
fidms-ui c2e978e0e0 first commit 2 years ago
sql c2e978e0e0 first commit 2 years ago
.gitignore c2e978e0e0 first commit 2 years ago
LICENSE c2e978e0e0 first commit 2 years ago
pom.xml c2e978e0e0 first commit 2 years ago
readme.md c2e978e0e0 first commit 2 years ago
ry.bat c2e978e0e0 first commit 2 years ago
ry.sh c2e978e0e0 first commit 2 years ago

readme.md

技术选型

1、系统环境

  • Java EE 8
  • Servlet 3.0
  • Apache Maven 3

2、主框架

  • Spring Boot 2.2.x
  • Spring Framework 5.2.x
  • Spring Security 5.2.x

3、持久层

  • Apache MyBatis 3.5.x
  • Hibernate Validation 6.0.x
  • Alibaba Druid 1.2.x

4、视图层

  • Vue 2.6.x
  • Axios 0.21.x
  • Element 2.15.x

基础功能

  • 用户管理:用户是系统操作者,该功能主要完成系统用户配置。

  • 菜单管理:配置系统菜单,操作权限,按钮权限标识等。

  • 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。

  • 字典管理:对系统中经常使用的一些较为固定的数据进行维护。

  • 参数管理:对系统动态配置常用参数。

  • 通知公告:系统通知公告信息发布维护。

  • 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。

  • 登录日志:系统登录日志记录查询包含登录异常。

  • 在线用户:当前系统中活跃用户状态监控。

  • 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。

  • 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。

  • 缓存监控:对系统的缓存信息查询,命令统计等。

  • 连接池监视:监视当期系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。

环境部署

准备工作

JDK = 1.8 
Mysql = 5.7.0 
Redis = 3.0
Maven = 3.0
Node = 12

项目介绍

文件结构

后端结构

com.ruoyi     
├── common            // 工具类
│       └── annotation                    // 自定义注解
│       └── config                        // 全局配置
│       └── constant                      // 通用常量
│       └── core                          // 核心控制
│       └── enums                         // 通用枚举
│       └── exception                     // 通用异常
│       └── filter                        // 过滤器处理
│       └── utils                         // 通用类处理
├── framework         // 框架核心
│       └── aspectj                       // 注解实现
│       └── config                        // 系统配置
│       └── datasource                    // 数据权限
│       └── interceptor                   // 拦截器
│       └── manager                       // 异步处理
│       └── security                      // 权限控制
│       └── web                           // 前端控制
├── ruoyi-generator   // 代码生成(可移除)
├── ruoyi-quartz      // 定时任务(可移除)
├── ruoyi-system      // 系统代码
├── ruoyi-admin       // 后台服务
├── ruoyi-xxxxxx      // 其他模块

前端结构

├── build                      // 构建相关  
├── bin                        // 执行脚本
├── public                     // 公共文件
│   ├── favicon.ico            // favicon图标
│   └── index.html             // html模板
│   └── robots.txt             // 反爬虫
├── src                        // 源代码
│   ├── api                    // 所有请求
│   ├── assets                 // 主题 字体等静态资源
│   ├── components             // 全局公用组件
│   ├── directive              // 全局指令
│   ├── layout                 // 布局
│   ├── plugins                // 通用方法
│   ├── router                 // 路由
│   ├── store                  // 全局 store管理
│   ├── utils                  // 全局公用方法
│   ├── views                  // view
│   ├── App.vue                // 入口页面
│   ├── main.js                // 入口 加载组件 初始化等
│   ├── permission.js          // 权限管理
│   └── settings.js            // 系统配置
├── .editorconfig              // 编码格式
├── .env.development           // 开发环境配置
├── .env.production            // 生产环境配置
├── .env.staging               // 测试环境配置
├── .eslintignore              // 忽略语法检查
├── .eslintrc.js               // eslint 配置项
├── .gitignore                 // git 忽略项
├── babel.config.js            // babel.config.js
├── package.json               // package.json
└── vue.config.js              // vue.config.js

核心技术

TIP

  • 前端技术栈 ES6、vue、vuex、vue-router、vue-cli、axios、element-ui
  • 后端技术栈 SpringBoot、MyBatis、Spring Security、Jwt

后端技术

SpringBoot框架

1、介绍 Spring Boot是一款开箱即用框架,提供各种默认配置来简化项目配置。让我们的Spring应用变的更轻量化、更快的入门。 在主程序执行main函数就可以运行。你也可以打包你的应用为jar并通过使用java -jar来运行你的Web应用。它遵循"约定优先于配置"的原则, 使用SpringBoot只需很少的配置,大部分的时候直接使用默认的配置即可。同时可以与Spring Cloud的微服务无缝结合。

提示

Spring Boot2.x版本环境要求必须是jdk8或以上版本,服务器Tomcat8或以上版本

2、优点

  • 使编码变得简单: 推荐使用注解。
  • 使配置变得简单: 自动配置、快速集成新技术能力 没有冗余代码生成和XML配置的要求
  • 使部署变得简单: 内嵌Tomcat、Jetty、Undertow等web容器,无需以war包形式部署
  • 使监控变得简单: 提供运行时的应用监控
  • 使集成变得简单: 对主流开发框架的无配置集成。
  • 使开发变得简单: 极大地提高了开发快速构建项目、部署效率。

Spring Security安全控制

1、介绍 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。

2、功能 Authentication 认证,就是用户登录 Authorization 授权,判断用户拥有什么权限,可以访问什么资源 安全防护,跨站脚本攻击,session攻击等 非常容易结合Spring进行使用

3、Spring SecurityShiro的区别

相同点

1、认证功能 2、授权功能 3、加密功能 4、会话管理 5、缓存支持 6、rememberMe功能 ....

不同点

优点:

1、Spring Security基于Spring开发,项目如果使用Spring作为基础,配合Spring Security做权限更加方便。而Shiro需要和Spring进行整合开发 2、Spring Security功能比Shiro更加丰富,例如安全防护方面 3、Spring Security社区资源相对比Shiro更加丰富

缺点:

1)Shiro的配置和使用比较简单,Spring Security上手复杂些 2)Shiro依赖性低,不需要依赖任何框架和容器,可以独立运行。Spring Security依赖Spring容器

前端技术

  • npm:node.js的包管理工具,用于统一管理我们前端项目中需要用到的包、插件、工具、命令等,便于开发和维护。
  • ES6:Javascript的新版本,ECMAScript6的简称。利用ES6我们可以简化我们的JS代码,同时利用其提供的强大功能来快速实现JS逻辑。
  • vue-cli:Vue的脚手架工具,用于自动生成Vue项目的目录及文件。
  • vue-router: Vue提供的前端路由工具,利用其我们实现页面的路由控制,局部刷新及按需加载,构建单页应用,实现前后端分离。
  • vuex:Vue提供的状态管理工具,用于统一管理我们项目中各种数据的交互和重用,存储我们需要用到数据对象。
  • element-ui:基于MVVM框架Vue开源出来的一套前端ui组件。