【例子介绍】多租户后台管理系统
- 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
- 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
- 岗位管理:配置系统用户所属担任职务。
- 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
- 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
- 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
- 参数管理:对系统动态配置常用参数。
- 通知公告:系统通知公告信息发布维护。
- 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
- 登录日志:系统登录日志记录查询包含登录异常。
- 在线用户:当前系统中活跃用户状态监控。
- 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
- 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
- 系统接口:根据业务代码自动生成相关的api接口文档。
- 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
- 缓存监控:对系统的缓存信息查询,命令统计等。
- 在线构建器:拖动表单元素生成相应的HTML代码。
- 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。
【相关图片】
【源码结构】
.
├── RuoYi-Vue-master
│ ├── LICENSE
│ ├── README.md
│ ├── bin
│ │ ├── clean.bat
│ │ ├── package.bat
│ │ └── run.bat
│ ├── doc
│ │ └── 若依环境使用手册.docx
│ ├── pom.xml
│ ├── ruoyi-admin
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── ruoyi
│ │ │ ├── RuoYiApplication.java
│ │ │ ├── RuoYiServletInitializer.java
│ │ │ └── web
│ │ │ ├── controller
│ │ │ │ ├── common
│ │ │ │ │ ├── CaptchaController.java
│ │ │ │ │ └── CommonController.java
│ │ │ │ ├── monitor
│ │ │ │ │ ├── CacheController.java
│ │ │ │ │ ├── ServerController.java
│ │ │ │ │ ├── SysLogininforController.java
│ │ │ │ │ ├── SysOperlogController.java
│ │ │ │ │ └── SysUserOnlineController.java
│ │ │ │ ├── system
│ │ │ │ │ ├── SysConfigController.java
│ │ │ │ │ ├── SysDeptController.java
│ │ │ │ │ ├── SysDictDataController.java
│ │ │ │ │ ├── SysDictTypeController.java
│ │ │ │ │ ├── SysIndexController.java
│ │ │ │ │ ├── SysLoginController.java
│ │ │ │ │ ├── SysMenuController.java
│ │ │ │ │ ├── SysNoticeController.java
│ │ │ │ │ ├── SysPostController.java
│ │ │ │ │ ├── SysProfileController.java
│ │ │ │ │ ├── SysRegisterController.java
│ │ │ │ │ ├── SysRoleController.java
│ │ │ │ │ └── SysUserController.java
│ │ │ │ └── tool
│ │ │ │ ├── SwaggerController.java
│ │ │ │ └── TestController.java
│ │ │ └── core
│ │ │ └── config
│ │ │ └── SwaggerConfig.java
│ │ └── resources
│ │ ├── META-INF
│ │ │ └── spring-devtools.properties
│ │ ├── application-druid.yml
│ │ ├── application.yml
│ │ ├── banner.txt
│ │ ├── i18n
│ │ │ └── messages.properties
│ │ ├── logback.xml
│ │ └── mybatis
│ │ └── mybatis-config.xml
│ ├── ruoyi-common
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── ruoyi
│ │ └── common
│ │ ├── annotation
│ │ │ ├── Anonymous.java
│ │ │ ├── DataScope.java
│ │ │ ├── DataSource.java
│ │ │ ├── Excel.java
│ │ │ ├── Excels.java
│ │ │ ├── Log.java
│ │ │ ├── RateLimiter.java
│ │ │ └── RepeatSubmit.java
│ │ ├── config
│ │ │ └── RuoYiConfig.java
│ │ ├── constant
│ │ │ ├── CacheConstants.java
│ │ │ ├── Constants.java
│ │ │ ├── GenConstants.java
│ │ │ ├── HttpStatus.java
│ │ │ ├── ScheduleConstants.java
│ │ │ └── UserConstants.java
│ │ ├── core
│ │ │ ├── controller
│ │ │ │ └── BaseController.java
│ │ │ ├── domain
│ │ │ │ ├── AjaxResult.java
│ │ │ │ ├── BaseEntity.java
│ │ │ │ ├── R.java
│ │ │ │ ├── TreeEntity.java
│ │ │ │ ├── TreeSelect.java
│ │ │ │ ├── entity
│ │ │ │ │ ├── SysDept.java
│ │ │ │ │ ├── SysDictData.java
│ │ │ │ │ ├── SysDictType.java
│ │ │ │ │ ├── SysMenu.java
│ │ │ │ │ ├── SysRole.java
│ │ │ │ │ └── SysUser.java
│ │ │ │ └── model
│ │ │ │ ├── LoginBody.java
│ │ │ │ ├── LoginUser.java
│ │ │ │ └── RegisterBody.java
│ │ │ ├── page
│ │ │ │ ├── PageDomain.java
│ │ │ │ ├── TableDataInfo.java
│ │ │ │ └── TableSupport.java
│ │ │ ├── redis
│ │ │ │ └── RedisCache.java
│ │ │ └── text
│ │ │ ├── CharsetKit.java
│ │ │ ├── Convert.java
│ │ │ └── StrFormatter.java
│ │ ├── enums
│ │ │ ├── BusinessStatus.java
│ │ │ ├── BusinessType.java
│ │ │ ├── DataSourceType.java
│ │ │ ├── HttpMethod.java
│ │ │ ├── LimitType.java
│ │ │ ├── OperatorType.java
│ │ │ └── UserStatus.java
│ │ ├── exception
│ │ │ ├── DemoModeException.java
│ │ │ ├── GlobalException.java
│ │ │ ├── ServiceException.java
│ │ │ ├── UtilException.java
│ │ │ ├── base
│ │ │ │ └── BaseException.java
│ │ │ ├── file
│ │ │ │ ├── FileException.java
│ │ │ │ ├── FileNameLengthLimitExceededException.java
│ │ │ │ ├── FileSizeLimitExceededException.java
│ │ │ │ └── InvalidExtensionException.java
│ │ │ ├── job
│ │ │ │ └── TaskException.java
│ │ │ └── user
│ │ │ ├── CaptchaException.java
│ │ │ ├── CaptchaExpireException.java
│ │ │ ├── UserException.java
│ │ │ ├── UserPasswordNotMatchException.java
│ │ │ └── UserPasswordRetryLimitExceedException.java
│ │ ├── filter
│ │ │ ├── PropertyPreExcludeFilter.java
│ │ │ ├── RepeatableFilter.java
│ │ │ ├── RepeatedlyRequestWrapper.java
│ │ │ ├── XssFilter.java
│ │ │ └── XssHttpServletRequestWrapper.java
│ │ ├── utils
│ │ │ ├── Arith.java
│ │ │ ├── DateUtils.java
│ │ │ ├── DictUtils.java
│ │ │ ├── ExceptionUtil.java
│ │ │ ├── LogUtils.java
│ │ │ ├── MessageUtils.java
│ │ │ ├── PageUtils.java
│ │ │ ├── SecurityUtils.java
│ │ │ ├── ServletUtils.java
│ │ │ ├── StringUtils.java
│ │ │ ├── Threads.java
│ │ │ ├── bean
│ │ │ │ ├── BeanUtils.java
│ │ │ │ └── BeanValidators.java
│ │ │ ├── file
│ │ │ │ ├── FileTypeUtils.java
│ │ │ │ ├── FileUploadUtils.java
│ │ │ │ ├── FileUtils.java
│ │ │ │ ├── ImageUtils.java
│ │ │ │ └── MimeTypeUtils.java
│ │ │ ├── html
│ │ │ │ ├── EscapeUtil.java
│ │ │ │ └── HTMLFilter.java
│ │ │ ├── http
│ │ │ │ ├── HttpHelper.java
│ │ │ │ └── HttpUtils.java
│ │ │ ├── ip
│ │ │ │ ├── AddressUtils.java
│ │ │ │ └── IpUtils.java
│ │ │ ├── poi
│ │ │ │ ├── ExcelHandlerAdapter.java
│ │ │ │ └── ExcelUtil.java
│ │ │ ├── reflect
│ │ │ │ └── ReflectUtils.java
│ │ │ ├── sign
│ │ │ │ ├── Base64.java
│ │ │ │ └── Md5Utils.java
│ │ │ ├── spring
│ │ │ │ └── SpringUtils.java
│ │ │ ├── sql
│ │ │ │ └── SqlUtil.java
│ │ │ └── uuid
│ │ │ ├── IdUtils.java
│ │ │ ├── Seq.java
│ │ │ └── UUID.java
│ │ └── xss
│ │ ├── Xss.java
│ │ └── XssValidator.java
│ ├── ruoyi-framework
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── ruoyi
│ │ └── framework
│ │ ├── aspectj
│ │ │ ├── DataScopeAspect.java
│ │ │ ├── DataSourceAspect.java
│ │ │ ├── LogAspect.java
│ │ │ └── RateLimiterAspect.java
│ │ ├── config
│ │ │ ├── ApplicationConfig.java
│ │ │ ├── CaptchaConfig.java
│ │ │ ├── DruidConfig.java
│ │ │ ├── FastJson2JsonRedisSerializer.java
│ │ │ ├── FilterConfig.java
│ │ │ ├── KaptchaTextCreator.java
│ │ │ ├── MyBatisConfig.java
│ │ │ ├── RedisConfig.java
│ │ │ ├── ResourcesConfig.java
│ │ │ ├── SecurityConfig.java
│ │ │ ├── ServerConfig.java
│ │ │ ├── ThreadPoolConfig.java
│ │ │ └── properties
│ │ │ ├── DruidProperties.java
│ │ │ └── PermitAllUrlProperties.java
│ │ ├── datasource
│ │ │ ├── DynamicDataSource.java
│ │ │ └── DynamicDataSourceContextHolder.java
│ │ ├── interceptor
│ │ │ ├── RepeatSubmitInterceptor.java
│ │ │ └── impl
│ │ │ └── SameUrlDataInterceptor.java
│ │ ├── manager
│ │ │ ├── AsyncManager.java
│ │ │ ├── ShutdownManager.java
│ │ │ └── factory
│ │ │ └── AsyncFactory.java
│ │ ├── security
│ │ │ ├── context
│ │ │ │ ├── AuthenticationContextHolder.java
│ │ │ │ └── PermissionContextHolder.java
│ │ │ ├── filter
│ │ │ │ └── JwtAuthenticationTokenFilter.java
│ │ │ └── handle
│ │ │ ├── AuthenticationEntryPointImpl.java
│ │ │ └── LogoutSuccessHandlerImpl.java
│ │ └── web
│ │ ├── domain
│ │ │ ├── Server.java
│ │ │ └── server
│ │ │ ├── Cpu.java
│ │ │ ├── Jvm.java
│ │ │ ├── Mem.java
│ │ │ ├── Sys.java
│ │ │ └── SysFile.java
│ │ ├── exception
│ │ │ └── GlobalExceptionHandler.java
│ │ └── service
│ │ ├── PermissionService.java
│ │ ├── SysLoginService.java
│ │ ├── SysPasswordService.java
│ │ ├── SysPermissionService.java
│ │ ├── SysRegisterService.java
│ │ ├── TokenService.java
│ │ └── UserDetailsServiceImpl.java
│ ├── ruoyi-generator
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── ruoyi
│ │ │ └── generator
│ │ │ ├── config
│ │ │ │ └── GenConfig.java
│ │ │ ├── controller
│ │ │ │ └── GenController.java
│ │ │ ├── domain
│ │ │ │ ├── GenTable.java
│ │ │ │ └── GenTableColumn.java
│ │ │ ├── mapper
│ │ │ │ ├── GenTableColumnMapper.java
│ │ │ │ └── GenTableMapper.java
│ │ │ ├── service
│ │ │ │ ├── GenTableColumnServiceImpl.java
│ │ │ │ ├── GenTableServiceImpl.java
│ │ │ │ ├── IGenTableColumnService.java
│ │ │ │ └── IGenTableService.java
│ │ │ └── util
│ │ │ ├── GenUtils.java
│ │ │ ├── VelocityInitializer.java
│ │ │ └── VelocityUtils.java
│ │ └── resources
│ │ ├── generator.yml
│ │ ├── mapper
│ │ │ └── generator
│ │ │ ├── GenTableColumnMapper.xml
│ │ │ └── GenTableMapper.xml
│ │ └── vm
│ │ ├── java
│ │ │ ├── controller.java.vm
│ │ │ ├── domain.java.vm
│ │ │ ├── mapper.java.vm
│ │ │ ├── service.java.vm
│ │ │ ├── serviceImpl.java.vm
│ │ │ └── sub-domain.java.vm
│ │ ├── js
│ │ │ └── api.js.vm
│ │ ├── sql
│ │ │ └── sql.vm
│ │ ├── vue
│ │ │ ├── index-tree.vue.vm
│ │ │ ├── index.vue.vm
│ │ │ └── v3
│ │ │ ├── index-tree.vue.vm
│ │ │ ├── index.vue.vm
│ │ │ └── readme.txt
│ │ └── xml
│ │ └── mapper.xml.vm
│ ├── ruoyi-quartz
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── ruoyi
│ │ │ └── quartz
│ │ │ ├── config
│ │ │ │ └── ScheduleConfig.java
│ │ │ ├── controller
│ │ │ │ ├── SysJobController.java
│ │ │ │ └── SysJobLogController.java
│ │ │ ├── domain
│ │ │ │ ├── SysJob.java
│ │ │ │ └── SysJobLog.java
│ │ │ ├── mapper
│ │ │ │ ├── SysJobLogMapper.java
│ │ │ │ └── SysJobMapper.java
│ │ │ ├── service
│ │ │ │ ├── ISysJobLogService.java
│ │ │ │ ├── ISysJobService.java
│ │ │ │ └── impl
│ │ │ │ ├── SysJobLogServiceImpl.java
│ │ │ │ └── SysJobServiceImpl.java
│ │ │ ├── task
│ │ │ │ └── RyTask.java
│ │ │ └── util
│ │ │ ├── AbstractQuartzJob.java
│ │ │ ├── CronUtils.java
│ │ │ ├── JobInvokeUtil.java
│ │ │ ├── QuartzDisallowConcurrentExecution.java
│ │ │ ├── QuartzJobExecution.java
│ │ │ └── ScheduleUtils.java
│ │ └── resources
│ │ └── mapper
│ │ └── quartz
│ │ ├── SysJobLogMapper.xml
│ │ └── SysJobMapper.xml
│ ├── ruoyi-system
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── ruoyi
│ │ │ └── system
│ │ │ ├── domain
│ │ │ │ ├── SysCache.java
│ │ │ │ ├── SysConfig.java
│ │ │ │ ├── SysLogininfor.java
│ │ │ │ ├── SysNotice.java
│ │ │ │ ├── SysOperLog.java
│ │ │ │ ├── SysPost.java
│ │ │ │ ├── SysRoleDept.java
│ │ │ │ ├── SysRoleMenu.java
│ │ │ │ ├── SysUserOnline.java
│ │ │ │ ├── SysUserPost.java
│ │ │ │ ├── SysUserRole.java
│ │ │ │ └── vo
│ │ │ │ ├── MetaVo.java
│ │ │ │ └── RouterVo.java
│ │ │ ├── mapper
│ │ │ │ ├── SysConfigMapper.java
│ │ │ │ ├── SysDeptMapper.java
│ │ │ │ ├── SysDictDataMapper.java
│ │ │ │ ├── SysDictTypeMapper.java
│ │ │ │ ├── SysLogininforMapper.java
│ │ │ │ ├── SysMenuMapper.java
│ │ │ │ ├── SysNoticeMapper.java
│ │ │ │ ├── SysOperLogMapper.java
│ │ │ │ ├── SysPostMapper.java
│ │ │ │ ├── SysRoleDeptMapper.java
│ │ │ │ ├── SysRoleMapper.java
│ │ │ │ ├── SysRoleMenuMapper.java
│ │ │ │ ├── SysUserMapper.java
│ │ │ │ ├── SysUserPostMapper.java
│ │ │ │ └── SysUserRoleMapper.java
│ │ │ └── service
│ │ │ ├── ISysConfigService.java
│ │ │ ├── ISysDeptService.java
│ │ │ ├── ISysDictDataService.java
│ │ │ ├── ISysDictTypeService.java
│ │ │ ├── ISysLogininforService.java
│ │ │ ├── ISysMenuService.java
│ │ │ ├── ISysNoticeService.java
│ │ │ ├── ISysOperLogService.java
│ │ │ ├── ISysPostService.java
│ │ │ ├── ISysRoleService.java
│ │ │ ├── ISysUserOnlineService.java
│ │ │ ├── ISysUserService.java
│ │ │ └── impl
│ │ │ ├── SysConfigServiceImpl.java
│ │ │ ├── SysDeptServiceImpl.java
│ │ │ ├── SysDictDataServiceImpl.java
│ │ │ ├── SysDictTypeServiceImpl.java
│ │ │ ├── SysLogininforServiceImpl.java
│ │ │ ├── SysMenuServiceImpl.java
│ │ │ ├── SysNoticeServiceImpl.java
│ │ │ ├── SysOperLogServiceImpl.java
│ │ │ ├── SysPostServiceImpl.java
│ │ │ ├── SysRoleServiceImpl.java
│ │ │ ├── SysUserOnlineServiceImpl.java
│ │ │ └── SysUserServiceImpl.java
│ │ └── resources
│ │ └── mapper
│ │ └── system
│ │ ├── SysConfigMapper.xml
│ │ ├── SysDeptMapper.xml
│ │ ├── SysDictDataMapper.xml
│ │ ├── SysDictTypeMapper.xml
│ │ ├── SysLogininforMapper.xml
│ │ ├── SysMenuMapper.xml
│ │ ├── SysNoticeMapper.xml
│ │ ├── SysOperLogMapper.xml
│ │ ├── SysPostMapper.xml
│ │ ├── SysRoleDeptMapper.xml
│ │ ├── SysRoleMapper.xml
│ │ ├── SysRoleMenuMapper.xml
│ │ ├── SysUserMapper.xml
│ │ ├── SysUserPostMapper.xml
│ │ └── SysUserRoleMapper.xml
│ ├── ruoyi-ui
│ │ ├── README.md
│ │ ├── babel.config.js
│ │ ├── bin
│ │ │ ├── build.bat
│ │ │ ├── package.bat
│ │ │ └── run-web.bat
│ │ ├── build
│ │ │ └── index.js
│ │ ├── package.json
│ │ ├── public
│ │ │ ├── favicon.ico
│ │ │ ├── html
│ │ │ │ └── ie.html
│ │ │ ├── index.html
│ │ │ └── robots.txt
│ │ ├── src
│ │ │ ├── App.vue
│ │ │ ├── api
│ │ │ │ ├── login.js
│ │ │ │ ├── menu.js
│ │ │ │ ├── monitor
│ │ │ │ │ ├── cache.js
│ │ │ │ │ ├── job.js
│ │ │ │ │ ├── jobLog.js
│ │ │ │ │ ├── logininfor.js
│ │ │ │ │ ├── online.js
│ │ │ │ │ ├── operlog.js
│ │ │ │ │ └── server.js
│ │ │ │ ├── system
│ │ │ │ │ ├── config.js
│ │ │ │ │ ├── dept.js
│ │ │ │ │ ├── dict
│ │ │ │ │ │ ├── data.js
│ │ │ │ │ │ └── type.js
│ │ │ │ │ ├── menu.js
│ │ │ │ │ ├── notice.js
│ │ │ │ │ ├── post.js
│ │ │ │ │ ├── role.js
│ │ │ │ │ └── user.js
│ │ │ │ └── tool
│ │ │ │ └── gen.js
│ │ │ ├── assets
│ │ │ │ ├── 401_images
│ │ │ │ │ └── 401.gif
│ │ │ │ ├── 404_images
│ │ │ │ │ ├── 404.png
│ │ │ │ │ └── 404_cloud.png
│ │ │ │ ├── icons
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── svg
│ │ │ │ │ │ ├── 404.svg
│ │ │ │ │ │ ├── bug.svg
│ │ │ │ │ │ ├── build.svg
│ │ │ │ │ │ ├── button.svg
│ │ │ │ │ │ ├── cascader.svg
│ │ │ │ │ │ ├── chart.svg
│ │ │ │ │ │ ├── checkbox.svg
│ │ │ │ │ │ ├── clipboard.svg
│ │ │ │ │ │ ├── code.svg
│ │ │ │ │ │ ├── color.svg
│ │ │ │ │ │ ├── component.svg
│ │ │ │ │ │ ├── dashboard.svg
│ │ │ │ │ │ ├── date-range.svg
│ │ │ │ │ │ ├── date.svg
│ │ │ │ │ │ ├── dict.svg
│ │ │ │ │ │ ├── documentation.svg
│ │ │ │ │ │ ├── download.svg
│ │ │ │ │ │ ├── drag.svg
│ │ │ │ │ │ ├── druid.svg
│ │ │ │ │ │ ├── edit.svg
│ │ │ │ │ │ ├── education.svg
│ │ │ │ │ │ ├── email.svg
│ │ │ │ │ │ ├── example.svg
│ │ │ │ │ │ ├── excel.svg
│ │ │ │ │ │ ├── exit-fullscreen.svg
│ │ │ │ │ │ ├── eye-open.svg
│ │ │ │ │ │ ├── eye.svg
│ │ │ │ │ │ ├── form.svg
│ │ │ │ │ │ ├── fullscreen.svg
│ │ │ │ │ │ ├── github.svg
│ │ │ │ │ │ ├── guide.svg
│ │ │ │ │ │ ├── icon.svg
│ │ │ │ │ │ ├── input.svg
│ │ │ │ │ │ ├── international.svg
│ │ │ │ │ │ ├── job.svg
│ │ │ │ │ │ ├── language.svg
│ │ │ │ │ │ ├── link.svg
│ │ │ │ │ │ ├── list.svg
│ │ │ │ │ │ ├── lock.svg
│ │ │ │ │ │ ├── log.svg
│ │ │ │ │ │ ├── logininfor.svg
│ │ │ │ │ │ ├── message.svg
│ │ │ │ │ │ ├── money.svg
│ │ │ │ │ │ ├── monitor.svg
│ │ │ │ │ │ ├── nested.svg
│ │ │ │ │ │ ├── number.svg
│ │ │ │ │ │ ├── online.svg
│ │ │ │ │ │ ├── password.svg
│ │ │ │ │ │ ├── pdf.svg
│ │ │ │ │ │ ├── people.svg
│ │ │ │ │ │ ├── peoples.svg
│ │ │ │ │ │ ├── phone.svg
│ │ │ │ │ │ ├── post.svg
│ │ │ │ │ │ ├── qq.svg
│ │ │ │ │ │ ├── question.svg
│ │ │ │ │ │ ├── radio.svg
│ │ │ │ │ │ ├── rate.svg
│ │ │ │ │ │ ├── redis-list.svg
│ │ │ │ │ │ ├── redis.svg
│ │ │ │ │ │ ├── row.svg
│ │ │ │ │ │ ├── search.svg
│ │ │ │ │ │ ├── select.svg
│ │ │ │ │ │ ├── server.svg
│ │ │ │ │ │ ├── shopping.svg
│ │ │ │ │ │ ├── size.svg
│ │ │ │ │ │ ├── skill.svg
│ │ │ │ │ │ ├── slider.svg
│ │ │ │ │ │ ├── star.svg
│ │ │ │ │ │ ├── swagger.svg
│ │ │ │ │ │ ├── switch.svg
│ │ │ │ │ │ ├── system.svg
│ │ │ │ │ │ ├── tab.svg
│ │ │ │ │ │ ├── table.svg
│ │ │ │ │ │ ├── textarea.svg
│ │ │ │ │ │ ├── theme.svg
│ │ │ │ │ │ ├── time-range.svg
│ │ │ │ │ │ ├── time.svg
│ │ │ │ │ │ ├── tool.svg
│ │ │ │ │ │ ├── tree-table.svg
│ │ │ │ │ │ ├── tree.svg
│ │ │ │ │ │ ├── upload.svg
│ │ │ │ │ │ ├── user.svg
│ │ │ │ │ │ ├── validCode.svg
│ │ │ │ │ │ ├── wechat.svg
│ │ │ │ │ │ └── zip.svg
│ │ │ │ │ └── svgo.yml
│ │ │ │ ├── images
│ │ │ │ │ ├── dark.svg
│ │ │ │ │ ├── light.svg
│ │ │ │ │ ├── login-background.jpg
│ │ │ │ │ └── profile.jpg
│ │ │ │ ├── logo
│ │ │ │ │ └── logo.png
│ │ │ │ └── styles
│ │ │ │ ├── btn.scss
│ │ │ │ ├── element-ui.scss
│ │ │ │ ├── element-variables.scss
│ │ │ │ ├── index.scss
│ │ │ │ ├── mixin.scss
│ │ │ │ ├── ruoyi.scss
│ │ │ │ ├── sidebar.scss
│ │ │ │ ├── transition.scss
│ │ │ │ └── variables.scss
│ │ │ ├── components
│ │ │ │ ├── Breadcrumb
│ │ │ │ │ └── index.vue
│ │ │ │ ├── Crontab
│ │ │ │ │ ├── day.vue
│ │ │ │ │ ├── hour.vue
│ │ │ │ │ ├── index.vue
│ │ │ │ │ ├── min.vue
│ │ │ │ │ ├── month.vue
│ │ │ │ │ ├── result.vue
│ │ │ │ │ ├── second.vue
│ │ │ │ │ ├── week.vue
│ │ │ │ │ └── year.vue
│ │ │ │ ├── DictData
│ │ │ │ │ └── index.js
│ │ │ │ ├── DictTag
│ │ │ │ │ └── index.vue
│ │ │ │ ├── Editor
│ │ │ │ │ └── index.vue
│ │ │ │ ├── FileUpload
│ │ │ │ │ └── index.vue
│ │ │ │ ├── Hamburger
│ │ │ │ │ └── index.vue
│ │ │ │ ├── HeaderSearch
│ │ │ │ │ └── index.vue
│ │ │ │ ├── IconSelect
│ │ │ │ │ ├── index.vue
│ │ │ │ │ └── requireIcons.js
│ │ │ │ ├── ImagePreview
│ │ │ │ │ └── index.vue
│ │ │ │ ├── ImageUpload
│ │ │ │ │ └── index.vue
│ │ │ │ ├── Pagination
│ │ │ │ │ └── index.vue
│ │ │ │ ├── PanThumb
│ │ │ │ │ └── index.vue
│ │ │ │ ├── ParentView
│ │ │ │ │ └── index.vue
│ │ │ │ ├── RightPanel
│ │ │ │ │ └── index.vue
│ │ │ │ ├── RightToolbar
│ │ │ │ │ └── index.vue
│ │ │ │ ├── RuoYi
│ │ │ │ │ ├── Doc
│ │ │ │ │ │ └── index.vue
│ │ │ │ │ └── Git
│ │ │ │ │ └── index.vue
│ │ │ │ ├── Screenfull
│ │ │ │ │ └── index.vue
│ │ │ │ ├── SizeSelect
│ │ │ │ │ └── index.vue
│ │ │ │ ├── SvgIcon
│ │ │ │ │ └── index.vue
│ │ │ │ ├── ThemePicker
│ │ │ │ │ └── index.vue
│ │ │ │ ├── TopNav
│ │ │ │ │ └── index.vue
│ │ │ │ └── iFrame
│ │ │ │ └── index.vue
│ │ │ ├── directive
│ │ │ │ ├── dialog
│ │ │ │ │ ├── drag.js
│ │ │ │ │ ├── dragHeight.js
│ │ │ │ │ └── dragWidth.js
│ │ │ │ ├── index.js
│ │ │ │ ├── module
│ │ │ │ │ └── clipboard.js
│ │ │ │ └── permission
│ │ │ │ ├── hasPermi.js
│ │ │ │ └── hasRole.js
│ │ │ ├── layout
│ │ │ │ ├── components
│ │ │ │ │ ├── AppMain.vue
│ │ │ │ │ ├── IframeToggle
│ │ │ │ │ │ └── index.vue
│ │ │ │ │ ├── InnerLink
│ │ │ │ │ │ └── index.vue
│ │ │ │ │ ├── Navbar.vue
│ │ │ │ │ ├── Settings
│ │ │ │ │ │ └── index.vue
│ │ │ │ │ ├── Sidebar
│ │ │ │ │ │ ├── FixiOSBug.js
│ │ │ │ │ │ ├── Item.vue
│ │ │ │ │ │ ├── Link.vue
│ │ │ │ │ │ ├── Logo.vue
│ │ │ │ │ │ ├── SidebarItem.vue
│ │ │ │ │ │ └── index.vue
│ │ │ │ │ ├── TagsView
│ │ │ │ │ │ ├── ScrollPane.vue
│ │ │ │ │ │ └── index.vue
│ │ │ │ │ └── index.js
│ │ │ │ ├── index.vue
│ │ │ │ └── mixin
│ │ │ │ └── ResizeHandler.js
│ │ │ ├── main.js
│ │ │ ├── permission.js
│ │ │ ├── plugins
│ │ │ │ ├── auth.js
│ │ │ │ ├── cache.js
│ │ │ │ ├── download.js
│ │ │ │ ├── index.js
│ │ │ │ ├── modal.js
│ │ │ │ └── tab.js
│ │ │ ├── router
│ │ │ │ └── index.js
│ │ │ ├── settings.js
│ │ │ ├── store
│ │ │ │ ├── getters.js
│ │ │ │ ├── index.js
│ │ │ │ └── modules
│ │ │ │ ├── app.js
│ │ │ │ ├── dict.js
│ │ │ │ ├── permission.js
│ │ │ │ ├── settings.js
│ │ │ │ ├── tagsView.js
│ │ │ │ └── user.js
│ │ │ ├── utils
│ │ │ │ ├── auth.js
│ │ │ │ ├── dict
│ │ │ │ │ ├── Dict.js
│ │ │ │ │ ├── DictConverter.js
│ │ │ │ │ ├── DictData.js
│ │ │ │ │ ├── DictMeta.js
│ │ │ │ │ ├── DictOptions.js
│ │ │ │ │ └── index.js
│ │ │ │ ├── errorCode.js
│ │ │ │ ├── generator
│ │ │ │ │ ├── config.js
│ │ │ │ │ ├── css.js
│ │ │ │ │ ├── drawingDefault.js
│ │ │ │ │ ├── html.js
│ │ │ │ │ ├── icon.json
│ │ │ │ │ ├── js.js
│ │ │ │ │ └── render.js
│ │ │ │ ├── index.js
│ │ │ │ ├── jsencrypt.js
│ │ │ │ ├── permission.js
│ │ │ │ ├── request.js
│ │ │ │ ├── ruoyi.js
│ │ │ │ ├── scroll-to.js
│ │ │ │ └── validate.js
│ │ │ └── views
│ │ │ ├── components
│ │ │ │ └── icons
│ │ │ │ ├── element-icons.js
│ │ │ │ ├── index.vue
│ │ │ │ └── svg-icons.js
│ │ │ ├── dashboard
│ │ │ │ ├── BarChart.vue
│ │ │ │ ├── LineChart.vue
│ │ │ │ ├── PanelGroup.vue
│ │ │ │ ├── PieChart.vue
│ │ │ │ ├── RaddarChart.vue
│ │ │ │ └── mixins
│ │ │ │ └── resize.js
│ │ │ ├── error
│ │ │ │ ├── 401.vue
│ │ │ │ └── 404.vue
│ │ │ ├── index.vue
│ │ │ ├── index_v1.vue
│ │ │ ├── login.vue
│ │ │ ├── monitor
│ │ │ │ ├── cache
│ │ │ │ │ ├── index.vue
│ │ │ │ │ └── list.vue
│ │ │ │ ├── druid
│ │ │ │ │ └── index.vue
│ │ │ │ ├── job
│ │ │ │ │ ├── index.vue
│ │ │ │ │ └── log.vue
│ │ │ │ ├── logininfor
│ │ │ │ │ └── index.vue
│ │ │ │ ├── online
│ │ │ │ │ └── index.vue
│ │ │ │ ├── operlog
│ │ │ │ │ └── index.vue
│ │ │ │ └── server
│ │ │ │ └── index.vue
│ │ │ ├── redirect.vue
│ │ │ ├── register.vue
│ │ │ ├── system
│ │ │ │ ├── config
│ │ │ │ │ └── index.vue
│ │ │ │ ├── dept
│ │ │ │ │ └── index.vue
│ │ │ │ ├── dict
│ │ │ │ │ ├── data.vue
│ │ │ │ │ └── index.vue
│ │ │ │ ├── menu
│ │ │ │ │ └── index.vue
│ │ │ │ ├── notice
│ │ │ │ │ └── index.vue
│ │ │ │ ├── post
│ │ │ │ │ └── index.vue
│ │ │ │ ├── role
│ │ │ │ │ ├── authUser.vue
│ │ │ │ │ ├── index.vue
│ │ │ │ │ └── selectUser.vue
│ │ │ │ └── user
│ │ │ │ ├── authRole.vue
│ │ │ │ ├── index.vue
│ │ │ │ └── profile
│ │ │ │ ├── index.vue
│ │ │ │ ├── resetPwd.vue
│ │ │ │ ├── userAvatar.vue
│ │ │ │ └── userInfo.vue
│ │ │ └── tool
│ │ │ ├── build
│ │ │ │ ├── CodeTypeDialog.vue
│ │ │ │ ├── DraggableItem.vue
│ │ │ │ ├── IconsDialog.vue
│ │ │ │ ├── RightPanel.vue
│ │ │ │ ├── TreeNodeDialog.vue
│ │ │ │ └── index.vue
│ │ │ ├── gen
│ │ │ │ ├── basicInfoForm.vue
│ │ │ │ ├── editTable.vue
│ │ │ │ ├── genInfoForm.vue
│ │ │ │ ├── importTable.vue
│ │ │ │ └── index.vue
│ │ │ └── swagger
│ │ │ └── index.vue
│ │ └── vue.config.js
│ ├── ry.bat
│ ├── ry.sh
│ └── sql
│ ├── quartz.sql
│ └── ry_20220822.sql
└── 多租户后台管理系统_Manage-Vue-master.zip
232 directories, 596 files
评论