From 2841620be623be15c1832a783136a2b73c2b4424 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90li?= <15040126243@163.com> Date: Thu, 13 Feb 2020 10:48:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LICENSE | 20 + README.md | 84 ++ ruoyi-ui/.editorconfig | 22 + ruoyi-ui/.env.development | 8 + ruoyi-ui/.env.production | 5 + ruoyi-ui/.env.staging | 7 + ruoyi-ui/.eslintignore | 10 + ruoyi-ui/.eslintrc.js | 199 ++++ ruoyi-ui/.gitignore | 23 + ruoyi-ui/README.md | 30 + ruoyi-ui/babel.config.js | 5 + ruoyi-ui/bin/package.bat | 12 + ruoyi-ui/bin/run-web.bat | 12 + ruoyi-ui/build/index.js | 35 + ruoyi-ui/package.json | 103 ++ ruoyi-ui/public/favicon.ico | Bin 0 -> 5663 bytes ruoyi-ui/public/index.html | 207 ++++ ruoyi-ui/src/App.vue | 11 + ruoyi-ui/src/api/login.js | 40 + ruoyi-ui/src/api/menu.js | 9 + ruoyi-ui/src/api/monitor/logininfor.js | 35 + ruoyi-ui/src/api/monitor/online.js | 18 + ruoyi-ui/src/api/monitor/operlog.js | 35 + ruoyi-ui/src/api/monitor/server.js | 9 + ruoyi-ui/src/api/system/config.js | 61 ++ ruoyi-ui/src/api/system/dept.js | 60 ++ ruoyi-ui/src/api/system/dict/data.js | 61 ++ ruoyi-ui/src/api/system/dict/type.js | 61 ++ ruoyi-ui/src/api/system/menu.js | 60 ++ ruoyi-ui/src/api/system/notice.js | 44 + ruoyi-ui/src/api/system/post.js | 53 + ruoyi-ui/src/api/system/role.js | 75 ++ ruoyi-ui/src/api/system/user.js | 127 +++ ruoyi-ui/src/api/tool/gen.js | 59 ++ ruoyi-ui/src/assets/401_images/401.gif | Bin 0 -> 164227 bytes ruoyi-ui/src/assets/404_images/404.png | Bin 0 -> 98071 bytes ruoyi-ui/src/assets/404_images/404_cloud.png | Bin 0 -> 4766 bytes ruoyi-ui/src/assets/icons/index.js | 9 + ruoyi-ui/src/assets/icons/svg/404.svg | 1 + ruoyi-ui/src/assets/icons/svg/bug.svg | 1 + ruoyi-ui/src/assets/icons/svg/build.svg | 1 + ruoyi-ui/src/assets/icons/svg/chart.svg | 1 + ruoyi-ui/src/assets/icons/svg/clipboard.svg | 1 + ruoyi-ui/src/assets/icons/svg/code.svg | 1 + ruoyi-ui/src/assets/icons/svg/component.svg | 1 + ruoyi-ui/src/assets/icons/svg/dashboard.svg | 1 + ruoyi-ui/src/assets/icons/svg/date.svg | 1 + ruoyi-ui/src/assets/icons/svg/dict.svg | 1 + .../src/assets/icons/svg/documentation.svg | 1 + ruoyi-ui/src/assets/icons/svg/download.svg | 1 + ruoyi-ui/src/assets/icons/svg/drag.svg | 1 + ruoyi-ui/src/assets/icons/svg/druid.svg | 1 + ruoyi-ui/src/assets/icons/svg/edit.svg | 1 + ruoyi-ui/src/assets/icons/svg/education.svg | 1 + ruoyi-ui/src/assets/icons/svg/email.svg | 1 + ruoyi-ui/src/assets/icons/svg/example.svg | 1 + ruoyi-ui/src/assets/icons/svg/excel.svg | 1 + .../src/assets/icons/svg/exit-fullscreen.svg | 1 + ruoyi-ui/src/assets/icons/svg/eye-open.svg | 1 + ruoyi-ui/src/assets/icons/svg/eye.svg | 1 + ruoyi-ui/src/assets/icons/svg/form.svg | 1 + ruoyi-ui/src/assets/icons/svg/fullscreen.svg | 1 + ruoyi-ui/src/assets/icons/svg/guide.svg | 1 + ruoyi-ui/src/assets/icons/svg/icon.svg | 1 + .../src/assets/icons/svg/international.svg | 1 + ruoyi-ui/src/assets/icons/svg/job.svg | 1 + ruoyi-ui/src/assets/icons/svg/language.svg | 1 + ruoyi-ui/src/assets/icons/svg/link.svg | 1 + ruoyi-ui/src/assets/icons/svg/list.svg | 1 + ruoyi-ui/src/assets/icons/svg/lock.svg | 1 + ruoyi-ui/src/assets/icons/svg/log.svg | 1 + ruoyi-ui/src/assets/icons/svg/logininfor.svg | 1 + ruoyi-ui/src/assets/icons/svg/message.svg | 1 + ruoyi-ui/src/assets/icons/svg/money.svg | 1 + ruoyi-ui/src/assets/icons/svg/monitor.svg | 2 + ruoyi-ui/src/assets/icons/svg/nested.svg | 1 + ruoyi-ui/src/assets/icons/svg/online.svg | 1 + ruoyi-ui/src/assets/icons/svg/password.svg | 1 + ruoyi-ui/src/assets/icons/svg/pdf.svg | 1 + ruoyi-ui/src/assets/icons/svg/people.svg | 1 + ruoyi-ui/src/assets/icons/svg/peoples.svg | 1 + ruoyi-ui/src/assets/icons/svg/phone.svg | 1 + ruoyi-ui/src/assets/icons/svg/post.svg | 1 + ruoyi-ui/src/assets/icons/svg/qq.svg | 1 + ruoyi-ui/src/assets/icons/svg/search.svg | 1 + ruoyi-ui/src/assets/icons/svg/server.svg | 1 + ruoyi-ui/src/assets/icons/svg/shopping.svg | 1 + ruoyi-ui/src/assets/icons/svg/size.svg | 1 + ruoyi-ui/src/assets/icons/svg/skill.svg | 1 + ruoyi-ui/src/assets/icons/svg/star.svg | 1 + ruoyi-ui/src/assets/icons/svg/swagger.svg | 1 + ruoyi-ui/src/assets/icons/svg/system.svg | 2 + ruoyi-ui/src/assets/icons/svg/tab.svg | 1 + ruoyi-ui/src/assets/icons/svg/table.svg | 1 + ruoyi-ui/src/assets/icons/svg/theme.svg | 1 + ruoyi-ui/src/assets/icons/svg/tool.svg | 1 + ruoyi-ui/src/assets/icons/svg/tree-table.svg | 1 + ruoyi-ui/src/assets/icons/svg/tree.svg | 1 + ruoyi-ui/src/assets/icons/svg/user.svg | 1 + ruoyi-ui/src/assets/icons/svg/validCode.svg | 1 + ruoyi-ui/src/assets/icons/svg/wechat.svg | 1 + ruoyi-ui/src/assets/icons/svg/zip.svg | 1 + ruoyi-ui/src/assets/icons/svgo.yml | 22 + .../src/assets/image/login-background.jpg | Bin 0 -> 521275 bytes ruoyi-ui/src/assets/image/profile.jpg | Bin 0 -> 81131 bytes ruoyi-ui/src/assets/logo/logo.png | Bin 0 -> 5663 bytes ruoyi-ui/src/assets/styles/btn.scss | 99 ++ ruoyi-ui/src/assets/styles/element-ui.scss | 79 ++ .../src/assets/styles/element-variables.scss | 31 + ruoyi-ui/src/assets/styles/index.scss | 191 ++++ ruoyi-ui/src/assets/styles/mixin.scss | 66 ++ ruoyi-ui/src/assets/styles/ruoyi.scss | 190 ++++ ruoyi-ui/src/assets/styles/sidebar.scss | 209 ++++ ruoyi-ui/src/assets/styles/transition.scss | 48 + ruoyi-ui/src/assets/styles/variables.scss | 35 + ruoyi-ui/src/components/Breadcrumb/index.vue | 81 ++ ruoyi-ui/src/components/Editor/index.vue | 226 ++++ ruoyi-ui/src/components/Hamburger/index.vue | 44 + .../src/components/HeaderSearch/index.vue | 180 ++++ ruoyi-ui/src/components/IconSelect/index.vue | 69 ++ .../src/components/IconSelect/requireIcons.js | 11 + ruoyi-ui/src/components/Pagination/index.vue | 101 ++ ruoyi-ui/src/components/PanThumb/index.vue | 142 +++ ruoyi-ui/src/components/RightPanel/index.vue | 149 +++ ruoyi-ui/src/components/RuoYi/index.vue | 21 + ruoyi-ui/src/components/Screenfull/index.vue | 60 ++ ruoyi-ui/src/components/SizeSelect/index.vue | 57 + ruoyi-ui/src/components/SvgIcon/index.vue | 61 ++ ruoyi-ui/src/components/ThemePicker/index.vue | 175 +++ ruoyi-ui/src/directive/permission/hasPermi.js | 28 + ruoyi-ui/src/directive/permission/hasRole.js | 28 + ruoyi-ui/src/directive/permission/index.js | 15 + ruoyi-ui/src/layout/components/AppMain.vue | 57 + ruoyi-ui/src/layout/components/Navbar.vue | 181 ++++ .../src/layout/components/Settings/index.vue | 108 ++ .../layout/components/Sidebar/FixiOSBug.js | 25 + .../src/layout/components/Sidebar/Item.vue | 29 + .../src/layout/components/Sidebar/Link.vue | 36 + .../src/layout/components/Sidebar/Logo.vue | 84 ++ .../layout/components/Sidebar/SidebarItem.vue | 93 ++ .../src/layout/components/Sidebar/index.vue | 54 + .../layout/components/TagsView/ScrollPane.vue | 85 ++ .../src/layout/components/TagsView/index.vue | 286 +++++ ruoyi-ui/src/layout/components/index.js | 5 + ruoyi-ui/src/layout/index.vue | 102 ++ ruoyi-ui/src/layout/mixin/ResizeHandler.js | 45 + ruoyi-ui/src/main.js | 70 ++ ruoyi-ui/src/permission.js | 64 ++ ruoyi-ui/src/router/index.js | 114 ++ ruoyi-ui/src/settings.js | 31 + ruoyi-ui/src/store/getters.js | 15 + ruoyi-ui/src/store/index.js | 23 + ruoyi-ui/src/store/modules/app.js | 56 + ruoyi-ui/src/store/modules/permission.js | 54 + ruoyi-ui/src/store/modules/settings.js | 34 + ruoyi-ui/src/store/modules/tagsView.js | 165 +++ ruoyi-ui/src/store/modules/user.js | 96 ++ ruoyi-ui/src/utils/auth.js | 15 + ruoyi-ui/src/utils/index.js | 317 ++++++ ruoyi-ui/src/utils/jsencrypt.js | 30 + ruoyi-ui/src/utils/permission.js | 24 + ruoyi-ui/src/utils/request.js | 65 ++ ruoyi-ui/src/utils/ruoyi.js | 103 ++ ruoyi-ui/src/utils/scroll-to.js | 58 + ruoyi-ui/src/utils/validate.js | 83 ++ ruoyi-ui/src/utils/zipdownload.js | 40 + .../views/components/icons/element-icons.js | 74 ++ ruoyi-ui/src/views/components/icons/index.vue | 87 ++ .../src/views/components/icons/svg-icons.js | 10 + ruoyi-ui/src/views/dashboard/BarChart.vue | 102 ++ ruoyi-ui/src/views/dashboard/LineChart.vue | 135 +++ ruoyi-ui/src/views/dashboard/PanelGroup.vue | 181 ++++ ruoyi-ui/src/views/dashboard/PieChart.vue | 79 ++ ruoyi-ui/src/views/dashboard/RaddarChart.vue | 116 ++ ruoyi-ui/src/views/dashboard/mixins/resize.js | 52 + ruoyi-ui/src/views/error/401.vue | 88 ++ ruoyi-ui/src/views/error/404.vue | 233 ++++ ruoyi-ui/src/views/index.vue | 98 ++ ruoyi-ui/src/views/login.vue | 203 ++++ ruoyi-ui/src/views/login/auth-redirect.vue | 15 + .../views/login/components/SocialSignin.vue | 72 ++ ruoyi-ui/src/views/monitor/druid/index.vue | 26 + ruoyi-ui/src/views/monitor/job/index.vue | 5 + .../src/views/monitor/logininfor/index.vue | 227 ++++ ruoyi-ui/src/views/monitor/online/index.vue | 128 +++ ruoyi-ui/src/views/monitor/operlog/index.vue | 315 ++++++ ruoyi-ui/src/views/monitor/server/index.vue | 210 ++++ ruoyi-ui/src/views/redirect.vue | 12 + ruoyi-ui/src/views/system/config/index.vue | 346 ++++++ ruoyi-ui/src/views/system/dept/index.vue | 308 ++++++ ruoyi-ui/src/views/system/dict/data.vue | 355 +++++++ ruoyi-ui/src/views/system/dict/index.vue | 350 ++++++ ruoyi-ui/src/views/system/log/index.vue | 3 + ruoyi-ui/src/views/system/menu/index.vue | 337 ++++++ ruoyi-ui/src/views/system/notice/index.vue | 345 ++++++ ruoyi-ui/src/views/system/post/index.vue | 327 ++++++ ruoyi-ui/src/views/system/role/index.vue | 548 ++++++++++ ruoyi-ui/src/views/system/user/index.vue | 663 ++++++++++++ .../src/views/system/user/profile/index.vue | 91 ++ .../views/system/user/profile/resetPwd.vue | 76 ++ .../views/system/user/profile/userAvatar.vue | 138 +++ .../views/system/user/profile/userInfo.vue | 80 ++ ruoyi-ui/src/views/tool/build/index.vue | 5 + ruoyi-ui/src/views/tool/gen/basicInfoForm.vue | 61 ++ ruoyi-ui/src/views/tool/gen/editTable.vue | 204 ++++ ruoyi-ui/src/views/tool/gen/genInfoForm.vue | 154 +++ ruoyi-ui/src/views/tool/gen/importTable.vue | 114 ++ ruoyi-ui/src/views/tool/gen/index.vue | 287 +++++ ruoyi-ui/src/views/tool/swagger/index.vue | 26 + ruoyi-ui/vue.config.js | 130 +++ ruoyi/.gitignore | 43 + ruoyi/bin/clean.bat | 12 + ruoyi/bin/package.bat | 12 + ruoyi/bin/run-tomcat.bat | 14 + ruoyi/pom.xml | 282 +++++ ruoyi/ry.sh | 86 ++ ruoyi/sql/ry_20191202.sql | 675 ++++++++++++ .../main/java/com/ruoyi/RuoYiApplication.java | 30 + .../com/ruoyi/RuoYiServletInitializer.java | 18 + .../com/ruoyi/common/constant/Constants.java | 101 ++ .../ruoyi/common/constant/GenConstants.java | 94 ++ .../com/ruoyi/common/constant/HttpStatus.java | 89 ++ .../ruoyi/common/constant/UserConstants.java | 39 + .../java/com/ruoyi/common/core/lang/UUID.java | 481 +++++++++ .../ruoyi/common/core/text/CharsetKit.java | 86 ++ .../com/ruoyi/common/core/text/Convert.java | 999 ++++++++++++++++++ .../ruoyi/common/core/text/StrFormatter.java | 92 ++ .../com/ruoyi/common/enums/HttpMethod.java | 36 + .../com/ruoyi/common/enums/UserStatus.java | 30 + .../ruoyi/common/exception/BaseException.java | 97 ++ .../common/exception/CustomException.java | 43 + .../common/exception/DemoModeException.java | 15 + .../ruoyi/common/exception/UtilException.java | 26 + .../common/exception/file/FileException.java | 19 + .../FileNameLengthLimitExceededException.java | 16 + .../file/FileSizeLimitExceededException.java | 16 + .../file/InvalidExtensionException.java | 71 ++ .../exception/user/CaptchaException.java | 16 + .../user/CaptchaExpireException.java | 16 + .../common/exception/user/UserException.java | 18 + .../user/UserPasswordNotMatchException.java | 16 + .../java/com/ruoyi/common/utils/Arith.java | 114 ++ .../com/ruoyi/common/utils/DateUtils.java | 155 +++ .../java/com/ruoyi/common/utils/IdUtils.java | 51 + .../java/com/ruoyi/common/utils/LogUtils.java | 18 + .../com/ruoyi/common/utils/MessageUtils.java | 26 + .../com/ruoyi/common/utils/SecurityUtils.java | 90 ++ .../com/ruoyi/common/utils/ServletUtils.java | 136 +++ .../com/ruoyi/common/utils/StringUtils.java | 453 ++++++++ .../java/com/ruoyi/common/utils/Threads.java | 99 ++ .../ruoyi/common/utils/VerifyCodeUtils.java | 226 ++++ .../common/utils/file/FileUploadUtils.java | 243 +++++ .../ruoyi/common/utils/file/FileUtils.java | 142 +++ .../common/utils/file/MimeTypeUtils.java | 55 + .../ruoyi/common/utils/html/EscapeUtil.java | 152 +++ .../ruoyi/common/utils/html/HTMLFilter.java | 569 ++++++++++ .../ruoyi/common/utils/http/HttpUtils.java | 248 +++++ .../ruoyi/common/utils/ip/AddressUtils.java | 41 + .../com/ruoyi/common/utils/ip/IpUtils.java | 189 ++++ .../com/ruoyi/common/utils/poi/ExcelUtil.java | 872 +++++++++++++++ .../common/utils/reflect/ReflectUtils.java | 406 +++++++ .../ruoyi/common/utils/security/Md5Utils.java | 66 ++ .../com/ruoyi/common/utils/sign/Base64.java | 291 +++++ .../common/utils/spring/SpringUtils.java | 114 ++ .../com/ruoyi/common/utils/sql/SqlUtil.java | 36 + .../ruoyi/common/utils/text/CharsetKit.java | 87 ++ .../com/ruoyi/common/utils/text/Convert.java | 999 ++++++++++++++++++ .../ruoyi/common/utils/text/StrFormatter.java | 93 ++ .../java/com/ruoyi/common/xss/XssFilter.java | 97 ++ .../xss/XssHttpServletRequestWrapper.java | 105 ++ .../framework/aspectj/DataScopeAspect.java | 160 +++ .../framework/aspectj/DataSourceAspect.java | 76 ++ .../ruoyi/framework/aspectj/LogAspect.java | 217 ++++ .../aspectj/lang/annotation/DataScope.java | 28 + .../aspectj/lang/annotation/DataSource.java | 26 + .../aspectj/lang/annotation/Excel.java | 113 ++ .../aspectj/lang/annotation/Excels.java | 18 + .../aspectj/lang/annotation/Log.java | 41 + .../aspectj/lang/enums/BusinessStatus.java | 20 + .../aspectj/lang/enums/BusinessType.java | 59 ++ .../aspectj/lang/enums/DataSourceType.java | 19 + .../aspectj/lang/enums/OperatorType.java | 24 + .../framework/config/ApplicationConfig.java | 30 + .../ruoyi/framework/config/DruidConfig.java | 126 +++ .../config/FastJson2JsonRedisSerializer.java | 69 ++ .../ruoyi/framework/config/FilterConfig.java | 46 + .../com/ruoyi/framework/config/GenConfig.java | 66 ++ .../ruoyi/framework/config/MyBatisConfig.java | 105 ++ .../ruoyi/framework/config/RedisConfig.java | 43 + .../framework/config/ResourcesConfig.java | 41 + .../ruoyi/framework/config/RuoYiConfig.java | 116 ++ .../framework/config/SecurityConfig.java | 134 +++ .../ruoyi/framework/config/ServerConfig.java | 32 + .../ruoyi/framework/config/SwaggerConfig.java | 113 ++ .../framework/config/ThreadPoolConfig.java | 62 ++ .../config/properties/DruidProperties.java | 77 ++ .../datasource/DynamicDataSource.java | 26 + .../DynamicDataSourceContextHolder.java | 45 + .../interceptor/RepeatSubmitInterceptor.java | 55 + .../interceptor/annotation/RepeatSubmit.java | 23 + .../impl/SameUrlDataInterceptor.java | 94 ++ .../ruoyi/framework/manager/AsyncManager.java | 55 + .../framework/manager/ShutdownManager.java | 39 + .../manager/factory/AsyncFactory.java | 101 ++ .../com/ruoyi/framework/redis/RedisCache.java | 207 ++++ .../ruoyi/framework/security/LoginUser.java | 228 ++++ .../filter/JwtAuthenticationTokenFilter.java | 44 + .../handle/AuthenticationEntryPointImpl.java | 34 + .../handle/LogoutSuccessHandlerImpl.java | 53 + .../security/service/PermissionService.java | 169 +++ .../security/service/SysLoginService.java | 88 ++ .../service/SysPermissionService.java | 66 ++ .../security/service/TokenService.java | 220 ++++ .../service/UserDetailsServiceImpl.java | 60 ++ .../web/controller/BaseController.java | 85 ++ .../framework/web/domain/AjaxResult.java | 148 +++ .../framework/web/domain/BaseEntity.java | 156 +++ .../ruoyi/framework/web/domain/Server.java | 241 +++++ .../framework/web/domain/TreeSelect.java | 77 ++ .../framework/web/domain/server/Cpu.java | 101 ++ .../framework/web/domain/server/Jvm.java | 122 +++ .../framework/web/domain/server/Mem.java | 61 ++ .../framework/web/domain/server/Sys.java | 84 ++ .../framework/web/domain/server/SysFile.java | 114 ++ .../web/exception/GlobalExceptionHandler.java | 117 ++ .../ruoyi/framework/web/page/PageDomain.java | 69 ++ .../framework/web/page/TableDataInfo.java | 85 ++ .../framework/web/page/TableSupport.java | 49 + .../project/common/CaptchaController.java | 62 ++ .../project/common/CommonController.java | 89 ++ .../monitor/controller/ServerController.java | 28 + .../controller/SysLogininforController.java | 67 ++ .../controller/SysOperlogController.java | 66 ++ .../controller/SysUserOnlineController.java | 92 ++ .../project/monitor/domain/SysLogininfor.java | 142 +++ .../project/monitor/domain/SysOperLog.java | 253 +++++ .../project/monitor/domain/SysUserOnline.java | 113 ++ .../monitor/mapper/SysLogininforMapper.java | 42 + .../monitor/mapper/SysOperLogMapper.java | 48 + .../service/ISysLogininforService.java | 40 + .../monitor/service/ISysOperLogService.java | 48 + .../impl/SysLogininforServiceImpl.java | 65 ++ .../service/impl/SysOperLogServiceImpl.java | 75 ++ .../controller/SysConfigController.java | 121 +++ .../system/controller/SysDeptController.java | 134 +++ .../controller/SysDictDataController.java | 109 ++ .../controller/SysDictTypeController.java | 119 +++ .../system/controller/SysLoginController.java | 94 ++ .../system/controller/SysMenuController.java | 141 +++ .../controller/SysNoticeController.java | 92 ++ .../system/controller/SysPostController.java | 130 +++ .../controller/SysProfileController.java | 127 +++ .../system/controller/SysRoleController.java | 154 +++ .../system/controller/SysUserController.java | 198 ++++ .../project/system/domain/SysConfig.java | 111 ++ .../ruoyi/project/system/domain/SysDept.java | 202 ++++ .../project/system/domain/SysDictData.java | 176 +++ .../project/system/domain/SysDictType.java | 94 ++ .../ruoyi/project/system/domain/SysMenu.java | 217 ++++ .../project/system/domain/SysNotice.java | 100 ++ .../ruoyi/project/system/domain/SysPost.java | 123 +++ .../ruoyi/project/system/domain/SysRole.java | 197 ++++ .../project/system/domain/SysRoleDept.java | 46 + .../project/system/domain/SysRoleMenu.java | 46 + .../ruoyi/project/system/domain/SysUser.java | 324 ++++++ .../project/system/domain/SysUserPost.java | 46 + .../project/system/domain/SysUserRole.java | 46 + .../project/system/domain/vo/MetaVo.java | 49 + .../project/system/domain/vo/RouterVo.java | 133 +++ .../system/mapper/SysConfigMapper.java | 68 ++ .../project/system/mapper/SysDeptMapper.java | 109 ++ .../system/mapper/SysDictDataMapper.java | 95 ++ .../system/mapper/SysDictTypeMapper.java | 85 ++ .../project/system/mapper/SysMenuMapper.java | 116 ++ .../system/mapper/SysNoticeMapper.java | 60 ++ .../project/system/mapper/SysPostMapper.java | 99 ++ .../system/mapper/SysRoleDeptMapper.java | 44 + .../project/system/mapper/SysRoleMapper.java | 107 ++ .../system/mapper/SysRoleMenuMapper.java | 36 + .../project/system/mapper/SysUserMapper.java | 113 ++ .../system/mapper/SysUserPostMapper.java | 44 + .../system/mapper/SysUserRoleMapper.java | 62 ++ .../system/service/ISysConfigService.java | 76 ++ .../system/service/ISysDeptService.java | 101 ++ .../system/service/ISysDictDataService.java | 77 ++ .../system/service/ISysDictTypeService.java | 83 ++ .../system/service/ISysMenuService.java | 136 +++ .../system/service/ISysNoticeService.java | 60 ++ .../system/service/ISysPostService.java | 100 ++ .../system/service/ISysRoleService.java | 131 +++ .../system/service/ISysUserOnlineService.java | 48 + .../system/service/ISysUserService.java | 167 +++ .../service/impl/SysConfigServiceImpl.java | 129 +++ .../service/impl/SysDeptServiceImpl.java | 294 ++++++ .../service/impl/SysDictDataServiceImpl.java | 116 ++ .../service/impl/SysDictTypeServiceImpl.java | 141 +++ .../service/impl/SysMenuServiceImpl.java | 381 +++++++ .../service/impl/SysNoticeServiceImpl.java | 91 ++ .../service/impl/SysPostServiceImpl.java | 177 ++++ .../service/impl/SysRoleServiceImpl.java | 311 ++++++ .../impl/SysUserOnlineServiceImpl.java | 95 ++ .../service/impl/SysUserServiceImpl.java | 455 ++++++++ .../tool/gen/controller/GenController.java | 185 ++++ .../project/tool/gen/domain/GenTable.java | 269 +++++ .../tool/gen/domain/GenTableColumn.java | 368 +++++++ .../tool/gen/mapper/GenTableColumnMapper.java | 52 + .../tool/gen/mapper/GenTableMapper.java | 76 ++ .../service/GenTableColumnServiceImpl.java | 68 ++ .../tool/gen/service/GenTableServiceImpl.java | 341 ++++++ .../gen/service/IGenTableColumnService.java | 44 + .../tool/gen/service/IGenTableService.java | 99 ++ .../ruoyi/project/tool/gen/util/GenUtils.java | 238 +++++ .../tool/gen/util/VelocityInitializer.java | 35 + .../project/tool/gen/util/VelocityUtils.java | 281 +++++ .../project/tool/swagger/TestController.java | 175 +++ .../src/main/resources/application-druid.yml | 57 + ruoyi/src/main/resources/application.yml | 122 +++ ruoyi/src/main/resources/banner.txt | 24 + .../main/resources/i18n/messages.properties | 36 + ruoyi/src/main/resources/logback.xml | 93 ++ .../mybatis/monitor/SysLogininforMapper.xml | 56 + .../mybatis/monitor/SysOperLogMapper.xml | 82 ++ .../main/resources/mybatis/mybatis-config.xml | 15 + .../mybatis/system/SysConfigMapper.xml | 112 ++ .../mybatis/system/SysDeptMapper.xml | 151 +++ .../mybatis/system/SysDictDataMapper.xml | 123 +++ .../mybatis/system/SysDictTypeMapper.xml | 105 ++ .../mybatis/system/SysMenuMapper.xml | 174 +++ .../mybatis/system/SysNoticeMapper.xml | 89 ++ .../mybatis/system/SysPostMapper.xml | 122 +++ .../mybatis/system/SysRoleDeptMapper.xml | 34 + .../mybatis/system/SysRoleMapper.xml | 144 +++ .../mybatis/system/SysRoleMenuMapper.xml | 27 + .../mybatis/system/SysUserMapper.xml | 182 ++++ .../mybatis/system/SysUserPostMapper.xml | 34 + .../mybatis/system/SysUserRoleMapper.xml | 44 + .../mybatis/tool/GenTableColumnMapper.xml | 120 +++ .../resources/mybatis/tool/GenTableMapper.xml | 181 ++++ .../main/resources/vm/java/controller.java.vm | 103 ++ .../src/main/resources/vm/java/domain.java.vm | 76 ++ .../src/main/resources/vm/java/mapper.java.vm | 61 ++ .../main/resources/vm/java/service.java.vm | 61 ++ .../resources/vm/java/serviceImpl.java.vm | 109 ++ ruoyi/src/main/resources/vm/js/api.js.vm | 53 + ruoyi/src/main/resources/vm/sql/sql.vm | 22 + ruoyi/src/main/resources/vm/vue/index.vue.vm | 439 ++++++++ ruoyi/src/main/resources/vm/xml/mapper.xml.vm | 95 ++ 447 files changed, 43037 insertions(+) create mode 100644 LICENSE create mode 100644 README.md create mode 100644 ruoyi-ui/.editorconfig create mode 100644 ruoyi-ui/.env.development create mode 100644 ruoyi-ui/.env.production create mode 100644 ruoyi-ui/.env.staging create mode 100644 ruoyi-ui/.eslintignore create mode 100644 ruoyi-ui/.eslintrc.js create mode 100644 ruoyi-ui/.gitignore create mode 100644 ruoyi-ui/README.md create mode 100644 ruoyi-ui/babel.config.js create mode 100644 ruoyi-ui/bin/package.bat create mode 100644 ruoyi-ui/bin/run-web.bat create mode 100644 ruoyi-ui/build/index.js create mode 100644 ruoyi-ui/package.json create mode 100644 ruoyi-ui/public/favicon.ico create mode 100644 ruoyi-ui/public/index.html create mode 100644 ruoyi-ui/src/App.vue create mode 100644 ruoyi-ui/src/api/login.js create mode 100644 ruoyi-ui/src/api/menu.js create mode 100644 ruoyi-ui/src/api/monitor/logininfor.js create mode 100644 ruoyi-ui/src/api/monitor/online.js create mode 100644 ruoyi-ui/src/api/monitor/operlog.js create mode 100644 ruoyi-ui/src/api/monitor/server.js create mode 100644 ruoyi-ui/src/api/system/config.js create mode 100644 ruoyi-ui/src/api/system/dept.js create mode 100644 ruoyi-ui/src/api/system/dict/data.js create mode 100644 ruoyi-ui/src/api/system/dict/type.js create mode 100644 ruoyi-ui/src/api/system/menu.js create mode 100644 ruoyi-ui/src/api/system/notice.js create mode 100644 ruoyi-ui/src/api/system/post.js create mode 100644 ruoyi-ui/src/api/system/role.js create mode 100644 ruoyi-ui/src/api/system/user.js create mode 100644 ruoyi-ui/src/api/tool/gen.js create mode 100644 ruoyi-ui/src/assets/401_images/401.gif create mode 100644 ruoyi-ui/src/assets/404_images/404.png create mode 100644 ruoyi-ui/src/assets/404_images/404_cloud.png create mode 100644 ruoyi-ui/src/assets/icons/index.js create mode 100644 ruoyi-ui/src/assets/icons/svg/404.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/bug.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/build.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/chart.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/clipboard.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/code.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/component.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/dashboard.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/date.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/dict.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/documentation.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/download.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/drag.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/druid.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/edit.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/education.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/email.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/example.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/excel.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/exit-fullscreen.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/eye-open.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/eye.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/form.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/fullscreen.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/guide.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/icon.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/international.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/job.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/language.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/link.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/list.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/lock.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/log.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/logininfor.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/message.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/money.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/monitor.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/nested.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/online.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/password.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/pdf.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/people.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/peoples.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/phone.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/post.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/qq.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/search.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/server.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/shopping.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/size.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/skill.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/star.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/swagger.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/system.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/tab.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/table.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/theme.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/tool.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/tree-table.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/tree.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/user.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/validCode.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/wechat.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/zip.svg create mode 100644 ruoyi-ui/src/assets/icons/svgo.yml create mode 100644 ruoyi-ui/src/assets/image/login-background.jpg create mode 100644 ruoyi-ui/src/assets/image/profile.jpg create mode 100644 ruoyi-ui/src/assets/logo/logo.png create mode 100644 ruoyi-ui/src/assets/styles/btn.scss create mode 100644 ruoyi-ui/src/assets/styles/element-ui.scss create mode 100644 ruoyi-ui/src/assets/styles/element-variables.scss create mode 100644 ruoyi-ui/src/assets/styles/index.scss create mode 100644 ruoyi-ui/src/assets/styles/mixin.scss create mode 100644 ruoyi-ui/src/assets/styles/ruoyi.scss create mode 100644 ruoyi-ui/src/assets/styles/sidebar.scss create mode 100644 ruoyi-ui/src/assets/styles/transition.scss create mode 100644 ruoyi-ui/src/assets/styles/variables.scss create mode 100644 ruoyi-ui/src/components/Breadcrumb/index.vue create mode 100644 ruoyi-ui/src/components/Editor/index.vue create mode 100644 ruoyi-ui/src/components/Hamburger/index.vue create mode 100644 ruoyi-ui/src/components/HeaderSearch/index.vue create mode 100644 ruoyi-ui/src/components/IconSelect/index.vue create mode 100644 ruoyi-ui/src/components/IconSelect/requireIcons.js create mode 100644 ruoyi-ui/src/components/Pagination/index.vue create mode 100644 ruoyi-ui/src/components/PanThumb/index.vue create mode 100644 ruoyi-ui/src/components/RightPanel/index.vue create mode 100644 ruoyi-ui/src/components/RuoYi/index.vue create mode 100644 ruoyi-ui/src/components/Screenfull/index.vue create mode 100644 ruoyi-ui/src/components/SizeSelect/index.vue create mode 100644 ruoyi-ui/src/components/SvgIcon/index.vue create mode 100644 ruoyi-ui/src/components/ThemePicker/index.vue create mode 100644 ruoyi-ui/src/directive/permission/hasPermi.js create mode 100644 ruoyi-ui/src/directive/permission/hasRole.js create mode 100644 ruoyi-ui/src/directive/permission/index.js create mode 100644 ruoyi-ui/src/layout/components/AppMain.vue create mode 100644 ruoyi-ui/src/layout/components/Navbar.vue create mode 100644 ruoyi-ui/src/layout/components/Settings/index.vue create mode 100644 ruoyi-ui/src/layout/components/Sidebar/FixiOSBug.js create mode 100644 ruoyi-ui/src/layout/components/Sidebar/Item.vue create mode 100644 ruoyi-ui/src/layout/components/Sidebar/Link.vue create mode 100644 ruoyi-ui/src/layout/components/Sidebar/Logo.vue create mode 100644 ruoyi-ui/src/layout/components/Sidebar/SidebarItem.vue create mode 100644 ruoyi-ui/src/layout/components/Sidebar/index.vue create mode 100644 ruoyi-ui/src/layout/components/TagsView/ScrollPane.vue create mode 100644 ruoyi-ui/src/layout/components/TagsView/index.vue create mode 100644 ruoyi-ui/src/layout/components/index.js create mode 100644 ruoyi-ui/src/layout/index.vue create mode 100644 ruoyi-ui/src/layout/mixin/ResizeHandler.js create mode 100644 ruoyi-ui/src/main.js create mode 100644 ruoyi-ui/src/permission.js create mode 100644 ruoyi-ui/src/router/index.js create mode 100644 ruoyi-ui/src/settings.js create mode 100644 ruoyi-ui/src/store/getters.js create mode 100644 ruoyi-ui/src/store/index.js create mode 100644 ruoyi-ui/src/store/modules/app.js create mode 100644 ruoyi-ui/src/store/modules/permission.js create mode 100644 ruoyi-ui/src/store/modules/settings.js create mode 100644 ruoyi-ui/src/store/modules/tagsView.js create mode 100644 ruoyi-ui/src/store/modules/user.js create mode 100644 ruoyi-ui/src/utils/auth.js create mode 100644 ruoyi-ui/src/utils/index.js create mode 100644 ruoyi-ui/src/utils/jsencrypt.js create mode 100644 ruoyi-ui/src/utils/permission.js create mode 100644 ruoyi-ui/src/utils/request.js create mode 100644 ruoyi-ui/src/utils/ruoyi.js create mode 100644 ruoyi-ui/src/utils/scroll-to.js create mode 100644 ruoyi-ui/src/utils/validate.js create mode 100644 ruoyi-ui/src/utils/zipdownload.js create mode 100644 ruoyi-ui/src/views/components/icons/element-icons.js create mode 100644 ruoyi-ui/src/views/components/icons/index.vue create mode 100644 ruoyi-ui/src/views/components/icons/svg-icons.js create mode 100644 ruoyi-ui/src/views/dashboard/BarChart.vue create mode 100644 ruoyi-ui/src/views/dashboard/LineChart.vue create mode 100644 ruoyi-ui/src/views/dashboard/PanelGroup.vue create mode 100644 ruoyi-ui/src/views/dashboard/PieChart.vue create mode 100644 ruoyi-ui/src/views/dashboard/RaddarChart.vue create mode 100644 ruoyi-ui/src/views/dashboard/mixins/resize.js create mode 100644 ruoyi-ui/src/views/error/401.vue create mode 100644 ruoyi-ui/src/views/error/404.vue create mode 100644 ruoyi-ui/src/views/index.vue create mode 100644 ruoyi-ui/src/views/login.vue create mode 100644 ruoyi-ui/src/views/login/auth-redirect.vue create mode 100644 ruoyi-ui/src/views/login/components/SocialSignin.vue create mode 100644 ruoyi-ui/src/views/monitor/druid/index.vue create mode 100644 ruoyi-ui/src/views/monitor/job/index.vue create mode 100644 ruoyi-ui/src/views/monitor/logininfor/index.vue create mode 100644 ruoyi-ui/src/views/monitor/online/index.vue create mode 100644 ruoyi-ui/src/views/monitor/operlog/index.vue create mode 100644 ruoyi-ui/src/views/monitor/server/index.vue create mode 100644 ruoyi-ui/src/views/redirect.vue create mode 100644 ruoyi-ui/src/views/system/config/index.vue create mode 100644 ruoyi-ui/src/views/system/dept/index.vue create mode 100644 ruoyi-ui/src/views/system/dict/data.vue create mode 100644 ruoyi-ui/src/views/system/dict/index.vue create mode 100644 ruoyi-ui/src/views/system/log/index.vue create mode 100644 ruoyi-ui/src/views/system/menu/index.vue create mode 100644 ruoyi-ui/src/views/system/notice/index.vue create mode 100644 ruoyi-ui/src/views/system/post/index.vue create mode 100644 ruoyi-ui/src/views/system/role/index.vue create mode 100644 ruoyi-ui/src/views/system/user/index.vue create mode 100644 ruoyi-ui/src/views/system/user/profile/index.vue create mode 100644 ruoyi-ui/src/views/system/user/profile/resetPwd.vue create mode 100644 ruoyi-ui/src/views/system/user/profile/userAvatar.vue create mode 100644 ruoyi-ui/src/views/system/user/profile/userInfo.vue create mode 100644 ruoyi-ui/src/views/tool/build/index.vue create mode 100644 ruoyi-ui/src/views/tool/gen/basicInfoForm.vue create mode 100644 ruoyi-ui/src/views/tool/gen/editTable.vue create mode 100644 ruoyi-ui/src/views/tool/gen/genInfoForm.vue create mode 100644 ruoyi-ui/src/views/tool/gen/importTable.vue create mode 100644 ruoyi-ui/src/views/tool/gen/index.vue create mode 100644 ruoyi-ui/src/views/tool/swagger/index.vue create mode 100644 ruoyi-ui/vue.config.js create mode 100644 ruoyi/.gitignore create mode 100644 ruoyi/bin/clean.bat create mode 100644 ruoyi/bin/package.bat create mode 100644 ruoyi/bin/run-tomcat.bat create mode 100644 ruoyi/pom.xml create mode 100644 ruoyi/ry.sh create mode 100644 ruoyi/sql/ry_20191202.sql create mode 100644 ruoyi/src/main/java/com/ruoyi/RuoYiApplication.java create mode 100644 ruoyi/src/main/java/com/ruoyi/RuoYiServletInitializer.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/constant/Constants.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/constant/GenConstants.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/constant/HttpStatus.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/constant/UserConstants.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/core/lang/UUID.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/core/text/CharsetKit.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/core/text/Convert.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/core/text/StrFormatter.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/enums/HttpMethod.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/enums/UserStatus.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/exception/BaseException.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/exception/CustomException.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/exception/DemoModeException.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/exception/UtilException.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/exception/file/FileException.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/exception/file/FileNameLengthLimitExceededException.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/exception/file/FileSizeLimitExceededException.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/exception/file/InvalidExtensionException.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/exception/user/CaptchaException.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/exception/user/CaptchaExpireException.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/exception/user/UserException.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/exception/user/UserPasswordNotMatchException.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/Arith.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/DateUtils.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/IdUtils.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/LogUtils.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/MessageUtils.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/SecurityUtils.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/ServletUtils.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/StringUtils.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/Threads.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/VerifyCodeUtils.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/file/FileUtils.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/file/MimeTypeUtils.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/html/EscapeUtil.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/html/HTMLFilter.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/ip/IpUtils.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/reflect/ReflectUtils.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/security/Md5Utils.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/sign/Base64.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/spring/SpringUtils.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/text/CharsetKit.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/text/Convert.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/text/StrFormatter.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/xss/XssFilter.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/xss/XssHttpServletRequestWrapper.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/aspectj/lang/annotation/DataScope.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/aspectj/lang/annotation/DataSource.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/aspectj/lang/annotation/Excel.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/aspectj/lang/annotation/Excels.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/aspectj/lang/annotation/Log.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/aspectj/lang/enums/BusinessStatus.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/aspectj/lang/enums/BusinessType.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/aspectj/lang/enums/DataSourceType.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/aspectj/lang/enums/OperatorType.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/config/ApplicationConfig.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/config/DruidConfig.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/config/FastJson2JsonRedisSerializer.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/config/FilterConfig.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/config/GenConfig.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/config/RedisConfig.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/config/RuoYiConfig.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/config/SecurityConfig.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/config/ServerConfig.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/config/ThreadPoolConfig.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/config/properties/DruidProperties.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/datasource/DynamicDataSource.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/datasource/DynamicDataSourceContextHolder.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/interceptor/RepeatSubmitInterceptor.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/interceptor/annotation/RepeatSubmit.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/manager/AsyncManager.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/manager/ShutdownManager.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/manager/factory/AsyncFactory.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/redis/RedisCache.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/security/LoginUser.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/security/filter/JwtAuthenticationTokenFilter.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/security/handle/AuthenticationEntryPointImpl.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/security/handle/LogoutSuccessHandlerImpl.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/security/service/PermissionService.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/security/service/SysLoginService.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/security/service/SysPermissionService.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/security/service/TokenService.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/security/service/UserDetailsServiceImpl.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/web/controller/BaseController.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/web/domain/AjaxResult.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/web/domain/BaseEntity.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/web/domain/Server.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/web/domain/TreeSelect.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/web/domain/server/Cpu.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/web/domain/server/Jvm.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/web/domain/server/Mem.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/web/domain/server/Sys.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/web/domain/server/SysFile.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/web/page/PageDomain.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/web/page/TableDataInfo.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/web/page/TableSupport.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/common/CaptchaController.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/common/CommonController.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/monitor/controller/ServerController.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/monitor/controller/SysLogininforController.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/monitor/controller/SysOperlogController.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/monitor/controller/SysUserOnlineController.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/monitor/domain/SysLogininfor.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/monitor/domain/SysOperLog.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/monitor/domain/SysUserOnline.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/monitor/mapper/SysLogininforMapper.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/monitor/mapper/SysOperLogMapper.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/monitor/service/ISysLogininforService.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/monitor/service/ISysOperLogService.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/monitor/service/impl/SysLogininforServiceImpl.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/monitor/service/impl/SysOperLogServiceImpl.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/controller/SysConfigController.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/controller/SysDeptController.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/controller/SysDictDataController.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/controller/SysDictTypeController.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/controller/SysLoginController.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/controller/SysMenuController.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/controller/SysNoticeController.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/controller/SysPostController.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/controller/SysProfileController.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/controller/SysRoleController.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/controller/SysUserController.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/domain/SysConfig.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/domain/SysDept.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/domain/SysDictData.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/domain/SysDictType.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/domain/SysMenu.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/domain/SysNotice.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/domain/SysPost.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/domain/SysRole.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/domain/SysRoleDept.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/domain/SysRoleMenu.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/domain/SysUser.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/domain/SysUserPost.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/domain/SysUserRole.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/domain/vo/MetaVo.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/domain/vo/RouterVo.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysConfigMapper.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysDeptMapper.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysDictDataMapper.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysDictTypeMapper.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysMenuMapper.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysNoticeMapper.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysPostMapper.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysRoleDeptMapper.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysRoleMapper.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysRoleMenuMapper.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysUserPostMapper.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysUserRoleMapper.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/service/ISysConfigService.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/service/ISysDeptService.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/service/ISysDictDataService.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/service/ISysDictTypeService.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/service/ISysMenuService.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/service/ISysNoticeService.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/service/ISysPostService.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/service/ISysRoleService.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/service/ISysUserOnlineService.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/service/ISysUserService.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysConfigServiceImpl.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDictDataServiceImpl.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDictTypeServiceImpl.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysMenuServiceImpl.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysNoticeServiceImpl.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysPostServiceImpl.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysRoleServiceImpl.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysUserOnlineServiceImpl.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/tool/gen/controller/GenController.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/tool/gen/domain/GenTable.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/tool/gen/domain/GenTableColumn.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/tool/gen/mapper/GenTableColumnMapper.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/tool/gen/mapper/GenTableMapper.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/tool/gen/service/GenTableColumnServiceImpl.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/tool/gen/service/GenTableServiceImpl.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/tool/gen/service/IGenTableColumnService.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/tool/gen/service/IGenTableService.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/tool/gen/util/GenUtils.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/tool/gen/util/VelocityInitializer.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/tool/gen/util/VelocityUtils.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/tool/swagger/TestController.java create mode 100644 ruoyi/src/main/resources/application-druid.yml create mode 100644 ruoyi/src/main/resources/application.yml create mode 100644 ruoyi/src/main/resources/banner.txt create mode 100644 ruoyi/src/main/resources/i18n/messages.properties create mode 100644 ruoyi/src/main/resources/logback.xml create mode 100644 ruoyi/src/main/resources/mybatis/monitor/SysLogininforMapper.xml create mode 100644 ruoyi/src/main/resources/mybatis/monitor/SysOperLogMapper.xml create mode 100644 ruoyi/src/main/resources/mybatis/mybatis-config.xml create mode 100644 ruoyi/src/main/resources/mybatis/system/SysConfigMapper.xml create mode 100644 ruoyi/src/main/resources/mybatis/system/SysDeptMapper.xml create mode 100644 ruoyi/src/main/resources/mybatis/system/SysDictDataMapper.xml create mode 100644 ruoyi/src/main/resources/mybatis/system/SysDictTypeMapper.xml create mode 100644 ruoyi/src/main/resources/mybatis/system/SysMenuMapper.xml create mode 100644 ruoyi/src/main/resources/mybatis/system/SysNoticeMapper.xml create mode 100644 ruoyi/src/main/resources/mybatis/system/SysPostMapper.xml create mode 100644 ruoyi/src/main/resources/mybatis/system/SysRoleDeptMapper.xml create mode 100644 ruoyi/src/main/resources/mybatis/system/SysRoleMapper.xml create mode 100644 ruoyi/src/main/resources/mybatis/system/SysRoleMenuMapper.xml create mode 100644 ruoyi/src/main/resources/mybatis/system/SysUserMapper.xml create mode 100644 ruoyi/src/main/resources/mybatis/system/SysUserPostMapper.xml create mode 100644 ruoyi/src/main/resources/mybatis/system/SysUserRoleMapper.xml create mode 100644 ruoyi/src/main/resources/mybatis/tool/GenTableColumnMapper.xml create mode 100644 ruoyi/src/main/resources/mybatis/tool/GenTableMapper.xml create mode 100644 ruoyi/src/main/resources/vm/java/controller.java.vm create mode 100644 ruoyi/src/main/resources/vm/java/domain.java.vm create mode 100644 ruoyi/src/main/resources/vm/java/mapper.java.vm create mode 100644 ruoyi/src/main/resources/vm/java/service.java.vm create mode 100644 ruoyi/src/main/resources/vm/java/serviceImpl.java.vm create mode 100644 ruoyi/src/main/resources/vm/js/api.js.vm create mode 100644 ruoyi/src/main/resources/vm/sql/sql.vm create mode 100644 ruoyi/src/main/resources/vm/vue/index.vue.vm create mode 100644 ruoyi/src/main/resources/vm/xml/mapper.xml.vm diff --git a/LICENSE b/LICENSE new file mode 100644 index 000000000..8564f294c --- /dev/null +++ b/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2018 RuoYi + +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. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 000000000..0d0985688 --- /dev/null +++ b/README.md @@ -0,0 +1,84 @@ +## 平台简介 + +一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适的。于是利用空闲休息时间开始自己写了一套后台系统。如此有了若依。她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。 + +性别男,若依是给还没有出生女儿取的名字(寓意:你若不离不弃,我必生死相依) + +参考后台模板[vue-element-admin](https://github.com/PanJiaChen/vue-element-admin) + +> 阿里云服务器89元/年,双12年末特惠,爆款产品限时1折 :[点我进入](https://www.aliyun.com/minisite/goods?userCode=brki8iof&share_source=copy_link) + +> 如需不分离应用,请移步 [RuoYi](https://gitee.com/y_project/RuoYi) `(保持同步更新)`,如需其他版本,请移步 [项目扩展](http://doc.ruoyi.vip/ruoyi/document/xmkz.html) `(不定时更新)` + +> 阿里云通用云产品1888优惠券 :[点我领取](https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=brki8iof)    腾讯云通用云产品2860优惠券 :[点我领取](https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console)  `(仅限新用户)` + +> 阿里云Hi拼购 限量爆款 低至199元/年 [点我进入](https://www.aliyun.com/acts/hi-group-buying?userCode=brki8iof)  `(仅限新用户)` + +## 内置功能 + +1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 +2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。 +3. 岗位管理:配置系统用户所属担任职务。 +4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。 +5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。 +6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。 +7. 参数管理:对系统动态配置常用参数。 +8. 通知公告:系统通知公告信息发布维护。 +9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。 +10. 登录日志:系统登录日志记录查询包含登录异常。 +11. 在线用户:当前系统中活跃用户状态监控。 +12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。 +13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。 +14. 系统接口:根据业务代码自动生成相关的api接口文档。 +15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。 +16. 在线构建器:拖动表单元素生成相应的HTML代码。 +17. 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。 +## 在线体验 +> admin/admin123 +> 陆陆续续收到一些打赏,为了更好的体验已用于演示服务器升级。谢谢各位小伙伴。 + +演示地址:http://vue.ruoyi.vip + +文档地址:http://doc.ruoyi.vip + +## 演示图 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +## 若依前后端分离交流群 + +QQ群: [![加入QQ群](https://img.shields.io/badge/已满-937441-blue.svg)](https://jq.qq.com/?_wv=1027&k=5bVB1og) [![加入QQ群](https://img.shields.io/badge/887144332-blue.svg)](https://jq.qq.com/?_wv=1027&k=5eiA4DH)点击按钮入群。 \ No newline at end of file diff --git a/ruoyi-ui/.editorconfig b/ruoyi-ui/.editorconfig new file mode 100644 index 000000000..7034f9bf3 --- /dev/null +++ b/ruoyi-ui/.editorconfig @@ -0,0 +1,22 @@ +# 告诉EditorConfig插件,这是根文件,不用继续往上查找 +root = true + +# 匹配全部文件 +[*] +# 设置字符集 +charset = utf-8 +# 缩进风格,可选space、tab +indent_style = space +# 缩进的空格数 +indent_size = 2 +# 结尾换行符,可选lf、cr、crlf +end_of_line = lf +# 在文件结尾插入新行 +insert_final_newline = true +# 删除一行中的前后空格 +trim_trailing_whitespace = true + +# 匹配md结尾的文件 +[*.md] +insert_final_newline = false +trim_trailing_whitespace = false diff --git a/ruoyi-ui/.env.development b/ruoyi-ui/.env.development new file mode 100644 index 000000000..28b97c7e1 --- /dev/null +++ b/ruoyi-ui/.env.development @@ -0,0 +1,8 @@ +# 开发环境配置 +ENV = 'development' + +# 若依管理系统/开发环境 +VUE_APP_BASE_API = '/dev-api' + +# 路由懒加载 +VUE_CLI_BABEL_TRANSPILE_MODULES = true diff --git a/ruoyi-ui/.env.production b/ruoyi-ui/.env.production new file mode 100644 index 000000000..27c717e97 --- /dev/null +++ b/ruoyi-ui/.env.production @@ -0,0 +1,5 @@ +# 生产环境配置 +ENV = 'production' + +# 若依管理系统/生产环境 +VUE_APP_BASE_API = '/prod-api' diff --git a/ruoyi-ui/.env.staging b/ruoyi-ui/.env.staging new file mode 100644 index 000000000..619573673 --- /dev/null +++ b/ruoyi-ui/.env.staging @@ -0,0 +1,7 @@ +NODE_ENV = production + +# 测试环境配置 +ENV = 'staging' + +# 若依管理系统/测试环境 +VUE_APP_BASE_API = '/stage-api' diff --git a/ruoyi-ui/.eslintignore b/ruoyi-ui/.eslintignore new file mode 100644 index 000000000..89be6f659 --- /dev/null +++ b/ruoyi-ui/.eslintignore @@ -0,0 +1,10 @@ +# 忽略build目录下类型为js的文件的语法检查 +build/*.js +# 忽略src/assets目录下文件的语法检查 +src/assets +# 忽略public目录下文件的语法检查 +public +# 忽略当前目录下为js的文件的语法检查 +*.js +# 忽略当前目录下为vue的文件的语法检查 +*.vue \ No newline at end of file diff --git a/ruoyi-ui/.eslintrc.js b/ruoyi-ui/.eslintrc.js new file mode 100644 index 000000000..82bbdeea6 --- /dev/null +++ b/ruoyi-ui/.eslintrc.js @@ -0,0 +1,199 @@ +// ESlint 检查配置 +module.exports = { + root: true, + parserOptions: { + parser: 'babel-eslint', + sourceType: 'module' + }, + env: { + browser: true, + node: true, + es6: true, + }, + extends: ['plugin:vue/recommended', 'eslint:recommended'], + + // add your custom rules here + //it is base on https://github.com/vuejs/eslint-config-vue + rules: { + "vue/max-attributes-per-line": [2, { + "singleline": 10, + "multiline": { + "max": 1, + "allowFirstLine": false + } + }], + "vue/singleline-html-element-content-newline": "off", + "vue/multiline-html-element-content-newline":"off", + "vue/name-property-casing": ["error", "PascalCase"], + "vue/no-v-html": "off", + 'accessor-pairs': 2, + 'arrow-spacing': [2, { + 'before': true, + 'after': true + }], + 'block-spacing': [2, 'always'], + 'brace-style': [2, '1tbs', { + 'allowSingleLine': true + }], + 'camelcase': [0, { + 'properties': 'always' + }], + 'comma-dangle': [2, 'never'], + 'comma-spacing': [2, { + 'before': false, + 'after': true + }], + 'comma-style': [2, 'last'], + 'constructor-super': 2, + 'curly': [2, 'multi-line'], + 'dot-location': [2, 'property'], + 'eol-last': 2, + 'eqeqeq': ["error", "always", {"null": "ignore"}], + 'generator-star-spacing': [2, { + 'before': true, + 'after': true + }], + 'handle-callback-err': [2, '^(err|error)$'], + 'indent': [2, 2, { + 'SwitchCase': 1 + }], + 'jsx-quotes': [2, 'prefer-single'], + 'key-spacing': [2, { + 'beforeColon': false, + 'afterColon': true + }], + 'keyword-spacing': [2, { + 'before': true, + 'after': true + }], + 'new-cap': [2, { + 'newIsCap': true, + 'capIsNew': false + }], + 'new-parens': 2, + 'no-array-constructor': 2, + 'no-caller': 2, + 'no-console': 'off', + 'no-class-assign': 2, + 'no-cond-assign': 2, + 'no-const-assign': 2, + 'no-control-regex': 0, + 'no-delete-var': 2, + 'no-dupe-args': 2, + 'no-dupe-class-members': 2, + 'no-dupe-keys': 2, + 'no-duplicate-case': 2, + 'no-empty-character-class': 2, + 'no-empty-pattern': 2, + 'no-eval': 2, + 'no-ex-assign': 2, + 'no-extend-native': 2, + 'no-extra-bind': 2, + 'no-extra-boolean-cast': 2, + 'no-extra-parens': [2, 'functions'], + 'no-fallthrough': 2, + 'no-floating-decimal': 2, + 'no-func-assign': 2, + 'no-implied-eval': 2, + 'no-inner-declarations': [2, 'functions'], + 'no-invalid-regexp': 2, + 'no-irregular-whitespace': 2, + 'no-iterator': 2, + 'no-label-var': 2, + 'no-labels': [2, { + 'allowLoop': false, + 'allowSwitch': false + }], + 'no-lone-blocks': 2, + 'no-mixed-spaces-and-tabs': 2, + 'no-multi-spaces': 2, + 'no-multi-str': 2, + 'no-multiple-empty-lines': [2, { + 'max': 1 + }], + 'no-native-reassign': 2, + 'no-negated-in-lhs': 2, + 'no-new-object': 2, + 'no-new-require': 2, + 'no-new-symbol': 2, + 'no-new-wrappers': 2, + 'no-obj-calls': 2, + 'no-octal': 2, + 'no-octal-escape': 2, + 'no-path-concat': 2, + 'no-proto': 2, + 'no-redeclare': 2, + 'no-regex-spaces': 2, + 'no-return-assign': [2, 'except-parens'], + 'no-self-assign': 2, + 'no-self-compare': 2, + 'no-sequences': 2, + 'no-shadow-restricted-names': 2, + 'no-spaced-func': 2, + 'no-sparse-arrays': 2, + 'no-this-before-super': 2, + 'no-throw-literal': 2, + 'no-trailing-spaces': 2, + 'no-undef': 2, + 'no-undef-init': 2, + 'no-unexpected-multiline': 2, + 'no-unmodified-loop-condition': 2, + 'no-unneeded-ternary': [2, { + 'defaultAssignment': false + }], + 'no-unreachable': 2, + 'no-unsafe-finally': 2, + 'no-unused-vars': [2, { + 'vars': 'all', + 'args': 'none' + }], + 'no-useless-call': 2, + 'no-useless-computed-key': 2, + 'no-useless-constructor': 2, + 'no-useless-escape': 0, + 'no-whitespace-before-property': 2, + 'no-with': 2, + 'one-var': [2, { + 'initialized': 'never' + }], + 'operator-linebreak': [2, 'after', { + 'overrides': { + '?': 'before', + ':': 'before' + } + }], + 'padded-blocks': [2, 'never'], + 'quotes': [2, 'single', { + 'avoidEscape': true, + 'allowTemplateLiterals': true + }], + 'semi': [2, 'never'], + 'semi-spacing': [2, { + 'before': false, + 'after': true + }], + 'space-before-blocks': [2, 'always'], + 'space-before-function-paren': [2, 'never'], + 'space-in-parens': [2, 'never'], + 'space-infix-ops': 2, + 'space-unary-ops': [2, { + 'words': true, + 'nonwords': false + }], + 'spaced-comment': [2, 'always', { + 'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ','] + }], + 'template-curly-spacing': [2, 'never'], + 'use-isnan': 2, + 'valid-typeof': 2, + 'wrap-iife': [2, 'any'], + 'yield-star-spacing': [2, 'both'], + 'yoda': [2, 'never'], + 'prefer-const': 2, + 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, + 'object-curly-spacing': [2, 'always', { + objectsInObjects: false + }], + 'array-bracket-spacing': [2, 'never'] + } +} diff --git a/ruoyi-ui/.gitignore b/ruoyi-ui/.gitignore new file mode 100644 index 000000000..78a752d87 --- /dev/null +++ b/ruoyi-ui/.gitignore @@ -0,0 +1,23 @@ +.DS_Store +node_modules/ +dist/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* +**/*.log + +tests/**/coverage/ +tests/e2e/reports +selenium-debug.log + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.local + +package-lock.json +yarn.lock diff --git a/ruoyi-ui/README.md b/ruoyi-ui/README.md new file mode 100644 index 000000000..3b5daaca5 --- /dev/null +++ b/ruoyi-ui/README.md @@ -0,0 +1,30 @@ +## + +```bash +# ¡Ŀ +git clone https://gitee.com/y_project/RuoYi-Vue + +# ĿĿ¼ +cd ruoyi-ui + +# װ +npm install + +# 鲻Ҫֱʹ cnpm װиֹ bugͨ² npm ٶ +npm install --registry=https://registry.npm.taobao.org + +# +npm run dev +``` + + http://localhost:80 + +## + +```bash +# Ի +npm run build:stage + +# +npm run build:prod +``` \ No newline at end of file diff --git a/ruoyi-ui/babel.config.js b/ruoyi-ui/babel.config.js new file mode 100644 index 000000000..ba179669a --- /dev/null +++ b/ruoyi-ui/babel.config.js @@ -0,0 +1,5 @@ +module.exports = { + presets: [ + '@vue/app' + ] +} diff --git a/ruoyi-ui/bin/package.bat b/ruoyi-ui/bin/package.bat new file mode 100644 index 000000000..9997921e2 --- /dev/null +++ b/ruoyi-ui/bin/package.bat @@ -0,0 +1,12 @@ +@echo off +echo. +echo [Ϣ] Weḅnode_modulesļ +echo. + +%~d0 +cd %~dp0 + +cd .. +npm install --registry=https://registry.npm.taobao.org + +pause \ No newline at end of file diff --git a/ruoyi-ui/bin/run-web.bat b/ruoyi-ui/bin/run-web.bat new file mode 100644 index 000000000..a938e8921 --- /dev/null +++ b/ruoyi-ui/bin/run-web.bat @@ -0,0 +1,12 @@ +@echo off +echo. +echo [Ϣ] ʹ Vue Web ̡ +echo. + +%~d0 +cd %~dp0 + +cd .. +npm run dev + +pause \ No newline at end of file diff --git a/ruoyi-ui/build/index.js b/ruoyi-ui/build/index.js new file mode 100644 index 000000000..0c57de2aa --- /dev/null +++ b/ruoyi-ui/build/index.js @@ -0,0 +1,35 @@ +const { run } = require('runjs') +const chalk = require('chalk') +const config = require('../vue.config.js') +const rawArgv = process.argv.slice(2) +const args = rawArgv.join(' ') + +if (process.env.npm_config_preview || rawArgv.includes('--preview')) { + const report = rawArgv.includes('--report') + + run(`vue-cli-service build ${args}`) + + const port = 9526 + const publicPath = config.publicPath + + var connect = require('connect') + var serveStatic = require('serve-static') + const app = connect() + + app.use( + publicPath, + serveStatic('./dist', { + index: ['index.html', '/'] + }) + ) + + app.listen(port, function () { + console.log(chalk.green(`> Preview at http://localhost:${port}${publicPath}`)) + if (report) { + console.log(chalk.green(`> Report at http://localhost:${port}${publicPath}report.html`)) + } + + }) +} else { + run(`vue-cli-service build ${args}`) +} diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json new file mode 100644 index 000000000..cafa1dadf --- /dev/null +++ b/ruoyi-ui/package.json @@ -0,0 +1,103 @@ +{ + "name": "ruoyi", + "version": "2.0.0", + "description": "若依管理系统", + "author": "若依", + "license": "MIT", + "scripts": { + "dev": "vue-cli-service serve", + "build:prod": "vue-cli-service build", + "build:stage": "vue-cli-service build --mode staging", + "preview": "node build/index.js --preview", + "lint": "eslint --ext .js,.vue src", + "test:unit": "jest --clearCache && vue-cli-service test:unit", + "test:ci": "npm run lint && npm run test:unit", + "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml", + "new": "plop" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + }, + "lint-staged": { + "src/**/*.{js,vue}": [ + "eslint --fix", + "git add" + ] + }, + "keywords": [ + "vue", + "admin", + "dashboard", + "element-ui", + "boilerplate", + "admin-template", + "management-system" + ], + "repository": { + "type": "git", + "url": "https://gitee.com/y_project/RuoYi-Vue.git" + }, + "dependencies": { + "@riophae/vue-treeselect": "0.4.0", + "vue-quill-editor": "3.0.6", + "vue-cropper": "0.4.9", + "axios": "0.18.1", + "echarts": "4.2.1", + "element-ui": "2.11.1", + "fuse.js": "3.4.4", + "js-cookie": "2.2.0", + "jsencrypt": "3.0.0-rc.1", + "normalize.css": "7.0.0", + "nprogress": "0.2.0", + "path-to-regexp": "2.4.0", + "screenfull": "4.2.0", + "vue": "2.6.10", + "vue-count-to": "1.0.13", + "vue-router": "3.0.2", + "vue-splitpane": "1.0.4", + "vuex": "3.1.0" + }, + "devDependencies": { + "@babel/core": "7.0.0", + "@babel/register": "7.0.0", + "@vue/cli-plugin-babel": "3.5.3", + "@vue/cli-plugin-eslint": "^3.9.1", + "@vue/cli-plugin-unit-jest": "3.5.3", + "@vue/cli-service": "3.5.3", + "@vue/test-utils": "1.0.0-beta.29", + "autoprefixer": "^9.5.1", + "babel-core": "7.0.0-bridge.0", + "babel-eslint": "10.0.1", + "babel-jest": "23.6.0", + "chalk": "2.4.2", + "chokidar": "2.1.5", + "connect": "3.6.6", + "eslint": "5.15.3", + "eslint-plugin-vue": "5.2.2", + "html-webpack-plugin": "3.2.0", + "http-proxy-middleware": "^0.19.1", + "husky": "1.3.1", + "lint-staged": "8.1.5", + "mockjs": "1.0.1-beta3", + "node-sass": "^4.9.0", + "plop": "2.3.0", + "runjs": "^4.3.2", + "sass-loader": "^7.1.0", + "script-ext-html-webpack-plugin": "2.1.3", + "script-loader": "0.7.2", + "serve-static": "^1.13.2", + "svg-sprite-loader": "4.1.3", + "svgo": "1.2.0", + "vue-template-compiler": "2.6.10" + }, + "engines": { + "node": ">=8.9", + "npm": ">= 3.0.0" + }, + "browserslist": [ + "> 1%", + "last 2 versions" + ] +} diff --git a/ruoyi-ui/public/favicon.ico b/ruoyi-ui/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..e26376026420542212ed58d90d0ed34f554fa4ae GIT binary patch literal 5663 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 Jmvv4FO#sw$?iv69 literal 0 HcmV?d00001 diff --git a/ruoyi-ui/public/index.html b/ruoyi-ui/public/index.html new file mode 100644 index 000000000..6d64bf957 --- /dev/null +++ b/ruoyi-ui/public/index.html @@ -0,0 +1,207 @@ + + + + + + + + + <%= webpackConfig.name %> + + + +
+
+
+
+
+
正在加载系统资源,请耐心等待
+
+
+ + diff --git a/ruoyi-ui/src/App.vue b/ruoyi-ui/src/App.vue new file mode 100644 index 000000000..e448b1130 --- /dev/null +++ b/ruoyi-ui/src/App.vue @@ -0,0 +1,11 @@ + + + diff --git a/ruoyi-ui/src/api/login.js b/ruoyi-ui/src/api/login.js new file mode 100644 index 000000000..1e84761de --- /dev/null +++ b/ruoyi-ui/src/api/login.js @@ -0,0 +1,40 @@ +import request from '@/utils/request' + +// 登录方法 +export function login(username, password, code, uuid) { + const data = { + username, + password, + code, + uuid + } + return request({ + url: '/login', + method: 'post', + params: data + }) +} + +// 获取用户详细信息 +export function getInfo() { + return request({ + url: '/getInfo', + method: 'get' + }) +} + +// 退出方法 +export function logout() { + return request({ + url: '/logout', + method: 'post' + }) +} + +// 获取验证码 +export function getCodeImg() { + return request({ + url: '/captchaImage', + method: 'get' + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/api/menu.js b/ruoyi-ui/src/api/menu.js new file mode 100644 index 000000000..faef101c4 --- /dev/null +++ b/ruoyi-ui/src/api/menu.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +// 获取路由 +export const getRouters = () => { + return request({ + url: '/getRouters', + method: 'get' + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/api/monitor/logininfor.js b/ruoyi-ui/src/api/monitor/logininfor.js new file mode 100644 index 000000000..383d61f30 --- /dev/null +++ b/ruoyi-ui/src/api/monitor/logininfor.js @@ -0,0 +1,35 @@ +import request from '@/utils/request' + +// 查询登录日志列表 +export function list(query) { + return request({ + url: '/monitor/logininfor/list', + method: 'get', + params: query + }) +} + +// 删除登录日志 +export function delLogininfor(infoId) { + return request({ + url: '/monitor/logininfor/' + infoId, + method: 'delete' + }) +} + +// 清空登录日志 +export function cleanLogininfor() { + return request({ + url: '/monitor/logininfor/clean', + method: 'delete' + }) +} + +// 导出登录日志 +export function exportLogininfor(query) { + return request({ + url: '/monitor/logininfor/export', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/api/monitor/online.js b/ruoyi-ui/src/api/monitor/online.js new file mode 100644 index 000000000..bd2213780 --- /dev/null +++ b/ruoyi-ui/src/api/monitor/online.js @@ -0,0 +1,18 @@ +import request from '@/utils/request' + +// 查询在线用户列表 +export function list(query) { + return request({ + url: '/monitor/online/list', + method: 'get', + params: query + }) +} + +// 强退用户 +export function forceLogout(tokenId) { + return request({ + url: '/monitor/online/' + tokenId, + method: 'delete' + }) +} diff --git a/ruoyi-ui/src/api/monitor/operlog.js b/ruoyi-ui/src/api/monitor/operlog.js new file mode 100644 index 000000000..f09b8ed8f --- /dev/null +++ b/ruoyi-ui/src/api/monitor/operlog.js @@ -0,0 +1,35 @@ +import request from '@/utils/request' + +// 查询操作日志列表 +export function list(query) { + return request({ + url: '/monitor/operlog/list', + method: 'get', + params: query + }) +} + +// 删除操作日志 +export function delOperlog(operId) { + return request({ + url: '/monitor/operlog/' + operId, + method: 'delete' + }) +} + +// 清空操作日志 +export function cleanOperlog() { + return request({ + url: '/monitor/operlog/clean', + method: 'delete' + }) +} + +// 导出操作日志 +export function exportOperlog(query) { + return request({ + url: '/monitor/operlog/export', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/api/monitor/server.js b/ruoyi-ui/src/api/monitor/server.js new file mode 100644 index 000000000..feed7836c --- /dev/null +++ b/ruoyi-ui/src/api/monitor/server.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +// 查询服务器详细 +export function getServer() { + return request({ + url: '/monitor/server', + method: 'get' + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/api/system/config.js b/ruoyi-ui/src/api/system/config.js new file mode 100644 index 000000000..f2e792c58 --- /dev/null +++ b/ruoyi-ui/src/api/system/config.js @@ -0,0 +1,61 @@ +import request from '@/utils/request' + +// 查询参数列表 +export function listConfig(query) { + return request({ + url: '/system/config/list', + method: 'get', + params: query + }) +} + +// 查询参数详细 +export function getConfig(configId) { + return request({ + url: '/system/config/' + configId, + method: 'get' + }) +} + +// 根据参数键名查询参数值 +export function getConfigKey(configKey) { + return request({ + url: '/system/config/configKey/' + configKey, + method: 'get' + }) +} + +// 新增参数配置 +export function addConfig(data) { + return request({ + url: '/system/config', + method: 'post', + data: data + }) +} + +// 修改参数配置 +export function updateConfig(data) { + return request({ + url: '/system/config', + method: 'put', + data: data + }) +} + +// 删除参数配置 +export function delConfig(configId) { + return request({ + url: '/system/config/' + configId, + method: 'delete' + }) +} + +// 导出参数 +export function exportConfig(query) { + return request({ + url: '/system/config/export', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/api/system/dept.js b/ruoyi-ui/src/api/system/dept.js new file mode 100644 index 000000000..c26894c0b --- /dev/null +++ b/ruoyi-ui/src/api/system/dept.js @@ -0,0 +1,60 @@ +import request from '@/utils/request' + +// 查询部门列表 +export function listDept(query) { + return request({ + url: '/system/dept/list', + method: 'get', + params: query + }) +} + +// 查询部门详细 +export function getDept(deptId) { + return request({ + url: '/system/dept/' + deptId, + method: 'get' + }) +} + +// 查询部门下拉树结构 +export function treeselect() { + return request({ + url: '/system/dept/treeselect', + method: 'get' + }) +} + +// 根据角色ID查询部门树结构 +export function roleDeptTreeselect(roleId) { + return request({ + url: '/system/dept/roleDeptTreeselect/' + roleId, + method: 'get' + }) +} + +// 新增部门 +export function addDept(data) { + return request({ + url: '/system/dept', + method: 'post', + data: data + }) +} + +// 修改部门 +export function updateDept(data) { + return request({ + url: '/system/dept', + method: 'put', + data: data + }) +} + +// 删除部门 +export function delDept(deptId) { + return request({ + url: '/system/dept/' + deptId, + method: 'delete' + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/api/system/dict/data.js b/ruoyi-ui/src/api/system/dict/data.js new file mode 100644 index 000000000..55972043b --- /dev/null +++ b/ruoyi-ui/src/api/system/dict/data.js @@ -0,0 +1,61 @@ +import request from '@/utils/request' + +// 查询字典数据列表 +export function listData(query) { + return request({ + url: '/system/dict/data/list', + method: 'get', + params: query + }) +} + +// 查询字典数据详细 +export function getData(dictCode) { + return request({ + url: '/system/dict/data/' + dictCode, + method: 'get' + }) +} + +// 根据字典类型查询字典数据信息 +export function getDicts(dictType) { + return request({ + url: '/system/dict/data/dictType/' + dictType, + method: 'get' + }) +} + +// 新增字典数据 +export function addData(data) { + return request({ + url: '/system/dict/data', + method: 'post', + data: data + }) +} + +// 修改字典数据 +export function updateData(data) { + return request({ + url: '/system/dict/data', + method: 'put', + data: data + }) +} + +// 删除字典数据 +export function delData(dictCode) { + return request({ + url: '/system/dict/data/' + dictCode, + method: 'delete' + }) +} + +// 导出字典数据 +export function exportData(query) { + return request({ + url: '/system/dict/data/export', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/api/system/dict/type.js b/ruoyi-ui/src/api/system/dict/type.js new file mode 100644 index 000000000..b8d974e11 --- /dev/null +++ b/ruoyi-ui/src/api/system/dict/type.js @@ -0,0 +1,61 @@ +import request from '@/utils/request' + +// 查询字典类型列表 +export function listType(query) { + return request({ + url: '/system/dict/type/list', + method: 'get', + params: query + }) +} + +// 查询字典类型详细 +export function getType(dictId) { + return request({ + url: '/system/dict/type/' + dictId, + method: 'get' + }) +} + +// 新增字典类型 +export function addType(data) { + return request({ + url: '/system/dict/type', + method: 'post', + data: data + }) +} + +// 修改字典类型 +export function updateType(data) { + return request({ + url: '/system/dict/type', + method: 'put', + data: data + }) +} + +// 删除字典类型 +export function delType(dictId) { + return request({ + url: '/system/dict/type/' + dictId, + method: 'delete' + }) +} + +// 导出字典类型 +export function exportType(query) { + return request({ + url: '/system/dict/type/export', + method: 'get', + params: query + }) +} + +// 获取字典选择框列表 +export function optionselect() { + return request({ + url: '/system/dict/type/optionselect', + method: 'get' + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/api/system/menu.js b/ruoyi-ui/src/api/system/menu.js new file mode 100644 index 000000000..f6415c656 --- /dev/null +++ b/ruoyi-ui/src/api/system/menu.js @@ -0,0 +1,60 @@ +import request from '@/utils/request' + +// 查询菜单列表 +export function listMenu(query) { + return request({ + url: '/system/menu/list', + method: 'get', + params: query + }) +} + +// 查询菜单详细 +export function getMenu(menuId) { + return request({ + url: '/system/menu/' + menuId, + method: 'get' + }) +} + +// 查询菜单下拉树结构 +export function treeselect() { + return request({ + url: '/system/menu/treeselect', + method: 'get' + }) +} + +// 根据角色ID查询菜单下拉树结构 +export function roleMenuTreeselect(roleId) { + return request({ + url: '/system/menu/roleMenuTreeselect/' + roleId, + method: 'get' + }) +} + +// 新增菜单 +export function addMenu(data) { + return request({ + url: '/system/menu', + method: 'post', + data: data + }) +} + +// 修改菜单 +export function updateMenu(data) { + return request({ + url: '/system/menu', + method: 'put', + data: data + }) +} + +// 删除菜单 +export function delMenu(menuId) { + return request({ + url: '/system/menu/' + menuId, + method: 'delete' + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/api/system/notice.js b/ruoyi-ui/src/api/system/notice.js new file mode 100644 index 000000000..c274ea5ba --- /dev/null +++ b/ruoyi-ui/src/api/system/notice.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询公告列表 +export function listNotice(query) { + return request({ + url: '/system/notice/list', + method: 'get', + params: query + }) +} + +// 查询公告详细 +export function getNotice(noticeId) { + return request({ + url: '/system/notice/' + noticeId, + method: 'get' + }) +} + +// 新增公告 +export function addNotice(data) { + return request({ + url: '/system/notice', + method: 'post', + data: data + }) +} + +// 修改公告 +export function updateNotice(data) { + return request({ + url: '/system/notice', + method: 'put', + data: data + }) +} + +// 删除公告 +export function delNotice(noticeId) { + return request({ + url: '/system/notice/' + noticeId, + method: 'delete' + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/api/system/post.js b/ruoyi-ui/src/api/system/post.js new file mode 100644 index 000000000..434cd3513 --- /dev/null +++ b/ruoyi-ui/src/api/system/post.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 查询岗位列表 +export function listPost(query) { + return request({ + url: '/system/post/list', + method: 'get', + params: query + }) +} + +// 查询岗位详细 +export function getPost(postId) { + return request({ + url: '/system/post/' + postId, + method: 'get' + }) +} + +// 新增岗位 +export function addPost(data) { + return request({ + url: '/system/post', + method: 'post', + data: data + }) +} + +// 修改岗位 +export function updatePost(data) { + return request({ + url: '/system/post', + method: 'put', + data: data + }) +} + +// 删除岗位 +export function delPost(postId) { + return request({ + url: '/system/post/' + postId, + method: 'delete' + }) +} + +// 导出岗位 +export function exportPost(query) { + return request({ + url: '/system/post/export', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/api/system/role.js b/ruoyi-ui/src/api/system/role.js new file mode 100644 index 000000000..463501ce8 --- /dev/null +++ b/ruoyi-ui/src/api/system/role.js @@ -0,0 +1,75 @@ +import request from '@/utils/request' + +// 查询角色列表 +export function listRole(query) { + return request({ + url: '/system/role/list', + method: 'get', + params: query + }) +} + +// 查询角色详细 +export function getRole(roleId) { + return request({ + url: '/system/role/' + roleId, + method: 'get' + }) +} + +// 新增角色 +export function addRole(data) { + return request({ + url: '/system/role', + method: 'post', + data: data + }) +} + +// 修改角色 +export function updateRole(data) { + return request({ + url: '/system/role', + method: 'put', + data: data + }) +} + +// 角色数据权限 +export function dataScope(data) { + return request({ + url: '/system/role/dataScope', + method: 'put', + data: data + }) +} + +// 角色状态修改 +export function changeRoleStatus(roleId, status) { + const data = { + roleId, + status + } + return request({ + url: '/system/role/changeStatus', + method: 'put', + data: data + }) +} + +// 删除角色 +export function delRole(roleId) { + return request({ + url: '/system/role/' + roleId, + method: 'delete' + }) +} + +// 导出角色 +export function exportRole(query) { + return request({ + url: '/system/role/export', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/api/system/user.js b/ruoyi-ui/src/api/system/user.js new file mode 100644 index 000000000..3b9a776a7 --- /dev/null +++ b/ruoyi-ui/src/api/system/user.js @@ -0,0 +1,127 @@ +import request from '@/utils/request' +import { praseStrEmpty } from "@/utils/ruoyi"; + +// 查询用户列表 +export function listUser(query) { + return request({ + url: '/system/user/list', + method: 'get', + params: query + }) +} + +// 查询用户详细 +export function getUser(userId) { + return request({ + url: '/system/user/' + praseStrEmpty(userId), + method: 'get' + }) +} + +// 新增用户 +export function addUser(data) { + return request({ + url: '/system/user', + method: 'post', + data: data + }) +} + +// 修改用户 +export function updateUser(data) { + return request({ + url: '/system/user', + method: 'put', + data: data + }) +} + +// 删除用户 +export function delUser(userId) { + return request({ + url: '/system/user/' + userId, + method: 'delete' + }) +} + +// 导出用户 +export function exportUser(query) { + return request({ + url: '/system/user/export', + method: 'get', + params: query + }) +} + +// 用户密码重置 +export function resetUserPwd(userId, password) { + const data = { + userId, + password + } + return request({ + url: '/system/user/resetPwd', + method: 'put', + data: data + }) +} + +// 用户状态修改 +export function changeUserStatus(userId, status) { + const data = { + userId, + status + } + return request({ + url: '/system/user/changeStatus', + method: 'put', + data: data + }) +} + +// 查询用户个人信息 +export function getUserProfile() { + return request({ + url: '/system/user/profile', + method: 'get' + }) +} + +// 修改用户个人信息 +export function updateUserProfile(data) { + return request({ + url: '/system/user/profile', + method: 'put', + data: data + }) +} + +// 用户密码重置 +export function updateUserPwd(oldPassword, newPassword) { + const data = { + oldPassword, + newPassword + } + return request({ + url: '/system/user/profile/updatePwd', + method: 'put', + params: data + }) +} + +// 用户头像上传 +export function uploadAvatar(data) { + return request({ + url: '/system/user/profile/avatar', + method: 'post', + data: data + }) +} + +// 下载用户导入模板 +export function importTemplate() { + return request({ + url: '/system/user/importTemplate', + method: 'get' + }) +} diff --git a/ruoyi-ui/src/api/tool/gen.js b/ruoyi-ui/src/api/tool/gen.js new file mode 100644 index 000000000..09a0b6f8a --- /dev/null +++ b/ruoyi-ui/src/api/tool/gen.js @@ -0,0 +1,59 @@ +import request from '@/utils/request' + +// 查询生成表数据 +export function listTable(query) { + return request({ + url: '/tool/gen/list', + method: 'get', + params: query + }) +} +// 查询db数据库列表 +export function listDbTable(query) { + return request({ + url: '/tool/gen/db/list', + method: 'get', + params: query + }) +} + +// 查询表详细信息 +export function getGenTable(tableId) { + return request({ + url: '/tool/gen/' + tableId, + method: 'get' + }) +} + +// 修改代码生成信息 +export function updateGenTable(data) { + return request({ + url: '/tool/gen', + method: 'put', + data: data + }) +} + +// 导入表 +export function importTable(data) { + return request({ + url: '/tool/gen/importTable', + method: 'post', + params: data + }) +} +// 预览生成代码 +export function previewTable(tableId) { + return request({ + url: '/tool/gen/preview/' + tableId, + method: 'get' + }) +} +// 删除表数据 +export function delTable(tableId) { + return request({ + url: '/tool/gen/' + tableId, + method: 'delete' + }) +} + diff --git a/ruoyi-ui/src/assets/401_images/401.gif b/ruoyi-ui/src/assets/401_images/401.gif new file mode 100644 index 0000000000000000000000000000000000000000..cd6e0d9433421b3f29d0ec0c40f755e354728000 GIT binary patch literal 164227 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 p$#=yW3amr{V0|NtNage(c!@6@aFBupd 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

+5UbZpZ?Nexe?L_OFSGKLaWo+%YK5)`Y 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≠~eY{?6|y-!DZ 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 RXJBAp@O1TaS?83{1OW6lDDwaS literal 0 HcmV?d00001 diff --git a/ruoyi-ui/src/assets/404_images/404_cloud.png b/ruoyi-ui/src/assets/404_images/404_cloud.png new file mode 100644 index 0000000000000000000000000000000000000000..c6281d09013e0a2c5f8e699a0a6038d9480291e5 GIT binary patch literal 4766 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 P7#KWV{an^LB{Ts5*%CDp literal 0 HcmV?d00001 diff --git a/ruoyi-ui/src/assets/icons/index.js b/ruoyi-ui/src/assets/icons/index.js new file mode 100644 index 000000000..2c6b309c9 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/index.js @@ -0,0 +1,9 @@ +import Vue from 'vue' +import SvgIcon from '@/components/SvgIcon'// svg component + +// register globally +Vue.component('svg-icon', SvgIcon) + +const req = require.context('./svg', false, /\.svg$/) +const requireAll = requireContext => requireContext.keys().map(requireContext) +requireAll(req) diff --git a/ruoyi-ui/src/assets/icons/svg/404.svg b/ruoyi-ui/src/assets/icons/svg/404.svg new file mode 100644 index 000000000..6df50190a --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/404.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/bug.svg b/ruoyi-ui/src/assets/icons/svg/bug.svg new file mode 100644 index 000000000..05a150dc3 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/bug.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/build.svg b/ruoyi-ui/src/assets/icons/svg/build.svg new file mode 100644 index 000000000..97c468863 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/build.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/chart.svg b/ruoyi-ui/src/assets/icons/svg/chart.svg new file mode 100644 index 000000000..27728fb0b --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/chart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/clipboard.svg b/ruoyi-ui/src/assets/icons/svg/clipboard.svg new file mode 100644 index 000000000..90923ff62 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/clipboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/code.svg b/ruoyi-ui/src/assets/icons/svg/code.svg new file mode 100644 index 000000000..ed4d23cf4 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/code.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/component.svg b/ruoyi-ui/src/assets/icons/svg/component.svg new file mode 100644 index 000000000..207ada34f --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/component.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/dashboard.svg b/ruoyi-ui/src/assets/icons/svg/dashboard.svg new file mode 100644 index 000000000..5317d3702 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/dashboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/date.svg b/ruoyi-ui/src/assets/icons/svg/date.svg new file mode 100644 index 000000000..2a28112eb --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/date.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/dict.svg b/ruoyi-ui/src/assets/icons/svg/dict.svg new file mode 100644 index 000000000..484937730 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/dict.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/documentation.svg b/ruoyi-ui/src/assets/icons/svg/documentation.svg new file mode 100644 index 000000000..704312289 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/documentation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/download.svg b/ruoyi-ui/src/assets/icons/svg/download.svg new file mode 100644 index 000000000..c89695134 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/download.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/drag.svg b/ruoyi-ui/src/assets/icons/svg/drag.svg new file mode 100644 index 000000000..4185d3cee --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/drag.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/druid.svg b/ruoyi-ui/src/assets/icons/svg/druid.svg new file mode 100644 index 000000000..a2b4b4ed2 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/druid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/edit.svg b/ruoyi-ui/src/assets/icons/svg/edit.svg new file mode 100644 index 000000000..d26101f29 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/edit.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/education.svg b/ruoyi-ui/src/assets/icons/svg/education.svg new file mode 100644 index 000000000..7bfb01d18 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/education.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/email.svg b/ruoyi-ui/src/assets/icons/svg/email.svg new file mode 100644 index 000000000..74d25e21a --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/email.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/example.svg b/ruoyi-ui/src/assets/icons/svg/example.svg new file mode 100644 index 000000000..46f42b532 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/example.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/excel.svg b/ruoyi-ui/src/assets/icons/svg/excel.svg new file mode 100644 index 000000000..74d97b802 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/excel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/exit-fullscreen.svg b/ruoyi-ui/src/assets/icons/svg/exit-fullscreen.svg new file mode 100644 index 000000000..485c128b6 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/exit-fullscreen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/eye-open.svg b/ruoyi-ui/src/assets/icons/svg/eye-open.svg new file mode 100644 index 000000000..88dcc98e6 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/eye-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/eye.svg b/ruoyi-ui/src/assets/icons/svg/eye.svg new file mode 100644 index 000000000..16ed2d872 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/eye.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/form.svg b/ruoyi-ui/src/assets/icons/svg/form.svg new file mode 100644 index 000000000..dcbaa185a --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/form.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/fullscreen.svg b/ruoyi-ui/src/assets/icons/svg/fullscreen.svg new file mode 100644 index 000000000..0e86b6fa8 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/fullscreen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/guide.svg b/ruoyi-ui/src/assets/icons/svg/guide.svg new file mode 100644 index 000000000..b27100179 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/guide.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/icon.svg b/ruoyi-ui/src/assets/icons/svg/icon.svg new file mode 100644 index 000000000..82be8eeed --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/international.svg b/ruoyi-ui/src/assets/icons/svg/international.svg new file mode 100644 index 000000000..e9b56eee2 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/international.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/job.svg b/ruoyi-ui/src/assets/icons/svg/job.svg new file mode 100644 index 000000000..2a93a2519 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/job.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/language.svg b/ruoyi-ui/src/assets/icons/svg/language.svg new file mode 100644 index 000000000..0082b577a --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/language.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/link.svg b/ruoyi-ui/src/assets/icons/svg/link.svg new file mode 100644 index 000000000..48197ba4d --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/link.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/list.svg b/ruoyi-ui/src/assets/icons/svg/list.svg new file mode 100644 index 000000000..20259eddb --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/list.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/lock.svg b/ruoyi-ui/src/assets/icons/svg/lock.svg new file mode 100644 index 000000000..74fee543d --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/lock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/log.svg b/ruoyi-ui/src/assets/icons/svg/log.svg new file mode 100644 index 000000000..d879d33b6 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/log.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/logininfor.svg b/ruoyi-ui/src/assets/icons/svg/logininfor.svg new file mode 100644 index 000000000..267f84474 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/logininfor.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/message.svg b/ruoyi-ui/src/assets/icons/svg/message.svg new file mode 100644 index 000000000..14ca81728 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/message.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/money.svg b/ruoyi-ui/src/assets/icons/svg/money.svg new file mode 100644 index 000000000..c1580de10 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/money.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/monitor.svg b/ruoyi-ui/src/assets/icons/svg/monitor.svg new file mode 100644 index 000000000..bc308cb0f --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/monitor.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/nested.svg b/ruoyi-ui/src/assets/icons/svg/nested.svg new file mode 100644 index 000000000..06713a86c --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/nested.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/online.svg b/ruoyi-ui/src/assets/icons/svg/online.svg new file mode 100644 index 000000000..330a20293 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/online.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/password.svg b/ruoyi-ui/src/assets/icons/svg/password.svg new file mode 100644 index 000000000..e291d85df --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/password.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/pdf.svg b/ruoyi-ui/src/assets/icons/svg/pdf.svg new file mode 100644 index 000000000..957aa0cc3 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/pdf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/people.svg b/ruoyi-ui/src/assets/icons/svg/people.svg new file mode 100644 index 000000000..2bd54aeb7 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/people.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/peoples.svg b/ruoyi-ui/src/assets/icons/svg/peoples.svg new file mode 100644 index 000000000..aab852e52 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/peoples.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/phone.svg b/ruoyi-ui/src/assets/icons/svg/phone.svg new file mode 100644 index 000000000..ab8e8c4e5 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/phone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/post.svg b/ruoyi-ui/src/assets/icons/svg/post.svg new file mode 100644 index 000000000..2922c613b --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/post.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/qq.svg b/ruoyi-ui/src/assets/icons/svg/qq.svg new file mode 100644 index 000000000..ee13d4ec2 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/qq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/search.svg b/ruoyi-ui/src/assets/icons/svg/search.svg new file mode 100644 index 000000000..84233ddaa --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/search.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/server.svg b/ruoyi-ui/src/assets/icons/svg/server.svg new file mode 100644 index 000000000..ca37b001e --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/server.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/shopping.svg b/ruoyi-ui/src/assets/icons/svg/shopping.svg new file mode 100644 index 000000000..87513e7c5 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/shopping.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/size.svg b/ruoyi-ui/src/assets/icons/svg/size.svg new file mode 100644 index 000000000..ddb25b8d5 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/size.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/skill.svg b/ruoyi-ui/src/assets/icons/svg/skill.svg new file mode 100644 index 000000000..a3b731218 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/skill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/star.svg b/ruoyi-ui/src/assets/icons/svg/star.svg new file mode 100644 index 000000000..6cf86e66a --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/star.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/swagger.svg b/ruoyi-ui/src/assets/icons/svg/swagger.svg new file mode 100644 index 000000000..05d4e7bce --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/swagger.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/system.svg b/ruoyi-ui/src/assets/icons/svg/system.svg new file mode 100644 index 000000000..dba28cf6f --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/system.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/tab.svg b/ruoyi-ui/src/assets/icons/svg/tab.svg new file mode 100644 index 000000000..b4b48e480 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/tab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/table.svg b/ruoyi-ui/src/assets/icons/svg/table.svg new file mode 100644 index 000000000..0e3dc9dea --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/table.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/theme.svg b/ruoyi-ui/src/assets/icons/svg/theme.svg new file mode 100644 index 000000000..5982a2f78 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/theme.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/tool.svg b/ruoyi-ui/src/assets/icons/svg/tool.svg new file mode 100644 index 000000000..c813067ef --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/tool.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/tree-table.svg b/ruoyi-ui/src/assets/icons/svg/tree-table.svg new file mode 100644 index 000000000..8aafdb829 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/tree-table.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/tree.svg b/ruoyi-ui/src/assets/icons/svg/tree.svg new file mode 100644 index 000000000..dd4b7dd22 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/tree.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/user.svg b/ruoyi-ui/src/assets/icons/svg/user.svg new file mode 100644 index 000000000..0ba0716a6 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/user.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/validCode.svg b/ruoyi-ui/src/assets/icons/svg/validCode.svg new file mode 100644 index 000000000..cfb10214c --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/validCode.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/wechat.svg b/ruoyi-ui/src/assets/icons/svg/wechat.svg new file mode 100644 index 000000000..c586e5511 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/wechat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/zip.svg b/ruoyi-ui/src/assets/icons/svg/zip.svg new file mode 100644 index 000000000..f806fc482 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/zip.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svgo.yml b/ruoyi-ui/src/assets/icons/svgo.yml new file mode 100644 index 000000000..d11906aec --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svgo.yml @@ -0,0 +1,22 @@ +# replace default config + +# multipass: true +# full: true + +plugins: + + # - name + # + # or: + # - name: false + # - name: true + # + # or: + # - name: + # param1: 1 + # param2: 2 + +- removeAttrs: + attrs: + - 'fill' + - 'fill-rule' diff --git a/ruoyi-ui/src/assets/image/login-background.jpg b/ruoyi-ui/src/assets/image/login-background.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8a89eb8291d5cb7d9f37ec4f275deab911c9e28e GIT binary patch literal 521275 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