From 7cf533d8a0dc26570b9bda1890b87680a06ede9e Mon Sep 17 00:00:00 2001 From: zhaodengke Date: Mon, 23 Oct 2023 15:00:10 +0800 Subject: [PATCH] ui --- README.md | 2 +- .../controller/file/FileSystemController.java | 48 + .../controller/file/ProjectController.java | 12 + .../java/com/ruoyi/file/enums/FileType.java | 33 + .../java/com/ruoyi/file/object/FileModel.java | 45 + .../ruoyi/file/object/FileSystemFilter.java | 38 + .../com/ruoyi/file/service/FileService.java | 5 +- .../ruoyi/file/service/FileSystemService.java | 41 + .../ruoyi/file/service/IProjectService.java | 2 + .../file/service/impl/ProjectServiceImpl.java | 14 + ruoyi-ui/.editorconfig | 22 + ruoyi-ui/.env.development | 14 + ruoyi-ui/.env.production | 8 + ruoyi-ui/.env.staging | 10 + ruoyi-ui/.eslintignore | 10 + ruoyi-ui/.eslintrc.js | 199 ++++ ruoyi-ui/.gitignore | 25 + ruoyi-ui/README.md | 92 ++ ruoyi-ui/babel.config.js | 13 + ruoyi-ui/bin/build-dist.bat | 12 + ruoyi-ui/bin/install.bat | 12 + ruoyi-ui/bin/run-web.bat | 12 + ruoyi-ui/build/index.js | 35 + ruoyi-ui/config/development.json | 10 + ruoyi-ui/config/local-dev.json | 10 + ruoyi-ui/config/production.json | 10 + ruoyi-ui/config/stage.json | 10 + ruoyi-ui/config/test.json | 10 + ruoyi-ui/package.json | 104 ++ ruoyi-ui/public/favicon.ico | Bin 0 -> 4012 bytes ruoyi-ui/public/html/ie.html | 46 + ruoyi-ui/public/index.html | 208 ++++ ruoyi-ui/public/robots.txt | 2 + ruoyi-ui/routes/apiProxy.js | 65 ++ ruoyi-ui/routes/compression.js | 36 + ruoyi-ui/routes/index.js | 36 + ruoyi-ui/routes/staticResourceProvider.js | 34 + ruoyi-ui/services/env.js | 62 ++ ruoyi-ui/src/App.vue | 28 + ruoyi-ui/src/api/file/filesystem.js | 9 + ruoyi-ui/src/api/file/project.js | 52 + ruoyi-ui/src/api/login.js | 59 ++ ruoyi-ui/src/api/menu.js | 9 + ruoyi-ui/src/api/monitor/cache.js | 57 ++ ruoyi-ui/src/api/monitor/job.js | 71 ++ ruoyi-ui/src/api/monitor/jobLog.js | 26 + ruoyi-ui/src/api/monitor/logininfor.js | 34 + ruoyi-ui/src/api/monitor/online.js | 26 + ruoyi-ui/src/api/monitor/operlog.js | 26 + ruoyi-ui/src/api/monitor/server.js | 9 + ruoyi-ui/src/api/system/config.js | 60 ++ ruoyi-ui/src/api/system/dept.js | 52 + ruoyi-ui/src/api/system/dict/data.js | 52 + ruoyi-ui/src/api/system/dict/type.js | 60 ++ ruoyi-ui/src/api/system/menu.js | 60 ++ ruoyi-ui/src/api/system/notice.js | 44 + ruoyi-ui/src/api/system/post.js | 44 + ruoyi-ui/src/api/system/role.js | 119 +++ ruoyi-ui/src/api/system/user.js | 156 +++ ruoyi-ui/src/api/tool/gen.js | 76 ++ 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/button.svg | 1 + ruoyi-ui/src/assets/icons/svg/cascader.svg | 1 + ruoyi-ui/src/assets/icons/svg/chart.svg | 1 + ruoyi-ui/src/assets/icons/svg/checkbox.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/color.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-range.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/github.svg | 1 + ruoyi-ui/src/assets/icons/svg/guide.svg | 1 + ruoyi-ui/src/assets/icons/svg/icon.svg | 1 + ruoyi-ui/src/assets/icons/svg/input.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/number.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/question.svg | 1 + ruoyi-ui/src/assets/icons/svg/radio.svg | 1 + ruoyi-ui/src/assets/icons/svg/rate.svg | 1 + ruoyi-ui/src/assets/icons/svg/redis-list.svg | 2 + ruoyi-ui/src/assets/icons/svg/redis.svg | 1 + ruoyi-ui/src/assets/icons/svg/row.svg | 1 + ruoyi-ui/src/assets/icons/svg/search.svg | 1 + ruoyi-ui/src/assets/icons/svg/select.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/slider.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/switch.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/textarea.svg | 1 + ruoyi-ui/src/assets/icons/svg/theme.svg | 1 + ruoyi-ui/src/assets/icons/svg/time-range.svg | 1 + ruoyi-ui/src/assets/icons/svg/time.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/upload.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 + ruoyi-ui/src/assets/images/dark.svg | 39 + ruoyi-ui/src/assets/images/index_icon.png | Bin 0 -> 65764 bytes ruoyi-ui/src/assets/images/light.svg | 39 + .../src/assets/images/login-background.jpg | Bin 0 -> 596204 bytes ruoyi-ui/src/assets/images/pay.png | Bin 0 -> 140720 bytes ruoyi-ui/src/assets/images/profile.jpg | Bin 0 -> 81131 bytes ruoyi-ui/src/assets/logo/logo.png | Bin 0 -> 4012 bytes ruoyi-ui/src/assets/styles/btn.scss | 99 ++ ruoyi-ui/src/assets/styles/element-ui.scss | 92 ++ .../src/assets/styles/element-variables.scss | 31 + ruoyi-ui/src/assets/styles/index.scss | 182 ++++ ruoyi-ui/src/assets/styles/mixin.scss | 66 ++ ruoyi-ui/src/assets/styles/ruoyi.scss | 277 +++++ ruoyi-ui/src/assets/styles/sidebar.scss | 227 +++++ ruoyi-ui/src/assets/styles/transition.scss | 49 + ruoyi-ui/src/assets/styles/variables.scss | 54 + ruoyi-ui/src/components/Breadcrumb/index.vue | 74 ++ ruoyi-ui/src/components/Crontab/day.vue | 161 +++ ruoyi-ui/src/components/Crontab/hour.vue | 114 +++ ruoyi-ui/src/components/Crontab/index.vue | 430 ++++++++ ruoyi-ui/src/components/Crontab/min.vue | 116 +++ ruoyi-ui/src/components/Crontab/month.vue | 114 +++ ruoyi-ui/src/components/Crontab/result.vue | 559 +++++++++++ ruoyi-ui/src/components/Crontab/second.vue | 117 +++ ruoyi-ui/src/components/Crontab/week.vue | 202 ++++ ruoyi-ui/src/components/Crontab/year.vue | 131 +++ ruoyi-ui/src/components/DictData/index.js | 49 + ruoyi-ui/src/components/DictTag/index.vue | 106 ++ ruoyi-ui/src/components/Editor/index.vue | 283 ++++++ .../src/components/Editor/index_origin.vue | 272 +++++ ruoyi-ui/src/components/FileUpload/index.vue | 215 ++++ ruoyi-ui/src/components/FullscreenDialog.vue | 78 ++ ruoyi-ui/src/components/Hamburger/index.vue | 44 + .../src/components/HeaderSearch/index.vue | 189 ++++ ruoyi-ui/src/components/IconSelect/index.vue | 104 ++ .../src/components/IconSelect/requireIcons.js | 11 + .../src/components/ImagePreview/index.vue | 90 ++ .../src/components/ImageUpload/ImageStore.vue | 276 +++++ ruoyi-ui/src/components/ImageUpload/index.vue | 226 +++++ ruoyi-ui/src/components/ManagerFramework.vue | 79 ++ ruoyi-ui/src/components/Pagination/index.vue | 114 +++ ruoyi-ui/src/components/PanThumb/index.vue | 142 +++ ruoyi-ui/src/components/ParentView/index.vue | 3 + ruoyi-ui/src/components/RightPanel/index.vue | 106 ++ .../src/components/RightToolbar/index.vue | 154 +++ ruoyi-ui/src/components/RuoYi/Doc/index.vue | 21 + ruoyi-ui/src/components/RuoYi/Git/index.vue | 21 + ruoyi-ui/src/components/Screenfull/index.vue | 57 ++ ruoyi-ui/src/components/ServerFileChooser.vue | 69 ++ ruoyi-ui/src/components/SizeSelect/index.vue | 56 ++ ruoyi-ui/src/components/SvgIcon/index.vue | 61 ++ ruoyi-ui/src/components/ThemePicker/index.vue | 173 ++++ ruoyi-ui/src/components/TopNav/index.vue | 191 ++++ ruoyi-ui/src/components/common/DateEdit.vue | 126 +++ ruoyi-ui/src/components/common/DeptInput.vue | 90 ++ ruoyi-ui/src/components/common/DeptSelect.vue | 103 ++ ruoyi-ui/src/components/common/DeptTree.vue | 251 +++++ .../src/components/common/DeptTreeLayout.vue | 71 ++ .../src/components/common/Descriptions.vue | 60 ++ .../src/components/common/ELTableColumn_r.vue | 178 ++++ .../src/components/common/InputNumber.vue | 325 ++++++ ruoyi-ui/src/components/common/LineEdit.vue | 125 +++ ruoyi-ui/src/components/common/TreeSelect.vue | 283 ++++++ ruoyi-ui/src/components/iFrame/index.vue | 36 + ruoyi-ui/src/components/vue_treeselect.js | 3 + ruoyi-ui/src/directive/dialog/drag.js | 64 ++ ruoyi-ui/src/directive/dialog/dragHeight.js | 34 + ruoyi-ui/src/directive/dialog/dragWidth.js | 30 + ruoyi-ui/src/directive/index.js | 23 + ruoyi-ui/src/directive/module/clipboard.js | 54 + ruoyi-ui/src/directive/permission/hasPermi.js | 28 + ruoyi-ui/src/directive/permission/hasRole.js | 28 + ruoyi-ui/src/layout/components/AppMain.vue | 75 ++ .../layout/components/IframeToggle/index.vue | 24 + .../src/layout/components/InnerLink/index.vue | 47 + ruoyi-ui/src/layout/components/Navbar.vue | 200 ++++ .../src/layout/components/Settings/index.vue | 260 +++++ .../layout/components/Sidebar/FixiOSBug.js | 25 + .../src/layout/components/Sidebar/Item.vue | 33 + .../src/layout/components/Sidebar/Link.vue | 43 + .../src/layout/components/Sidebar/Logo.vue | 93 ++ .../layout/components/Sidebar/SidebarItem.vue | 100 ++ .../src/layout/components/Sidebar/index.vue | 57 ++ .../layout/components/TagsView/ScrollPane.vue | 94 ++ .../src/layout/components/TagsView/index.vue | 332 ++++++ ruoyi-ui/src/layout/components/index.js | 5 + ruoyi-ui/src/layout/index.vue | 111 ++ ruoyi-ui/src/layout/mixin/ResizeHandler.js | 45 + ruoyi-ui/src/main.js | 86 ++ ruoyi-ui/src/permission.js | 56 ++ ruoyi-ui/src/plugins/auth.js | 60 ++ ruoyi-ui/src/plugins/cache.js | 77 ++ ruoyi-ui/src/plugins/download.js | 72 ++ ruoyi-ui/src/plugins/index.js | 20 + ruoyi-ui/src/plugins/modal.js | 83 ++ ruoyi-ui/src/plugins/tab.js | 71 ++ ruoyi-ui/src/router/index.js | 204 ++++ ruoyi-ui/src/settings.js | 44 + ruoyi-ui/src/store/getters.js | 22 + ruoyi-ui/src/store/index.js | 25 + ruoyi-ui/src/store/modules/app.js | 66 ++ ruoyi-ui/src/store/modules/dict.js | 50 + ruoyi-ui/src/store/modules/permission.js | 133 +++ ruoyi-ui/src/store/modules/settings.js | 42 + ruoyi-ui/src/store/modules/tagsView.js | 228 +++++ ruoyi-ui/src/store/modules/user.js | 108 ++ ruoyi-ui/src/utils/auth.js | 15 + ruoyi-ui/src/utils/date.js | 523 ++++++++++ ruoyi-ui/src/utils/dev.js | 15 + ruoyi-ui/src/utils/dict/Dict.js | 82 ++ ruoyi-ui/src/utils/dict/DictConverter.js | 17 + ruoyi-ui/src/utils/dict/DictData.js | 13 + ruoyi-ui/src/utils/dict/DictMeta.js | 38 + ruoyi-ui/src/utils/dict/DictOptions.js | 51 + ruoyi-ui/src/utils/dict/index.js | 33 + ruoyi-ui/src/utils/errorCode.js | 6 + ruoyi-ui/src/utils/file.js | 71 ++ ruoyi-ui/src/utils/generator/config.js | 438 ++++++++ ruoyi-ui/src/utils/generator/css.js | 18 + .../src/utils/generator/drawingDefault.js | 29 + ruoyi-ui/src/utils/generator/html.js | 359 +++++++ ruoyi-ui/src/utils/generator/icon.json | 1 + ruoyi-ui/src/utils/generator/js.js | 235 +++++ ruoyi-ui/src/utils/generator/render.js | 126 +++ ruoyi-ui/src/utils/index.js | 390 ++++++++ ruoyi-ui/src/utils/jsencrypt.js | 30 + ruoyi-ui/src/utils/permission.js | 51 + ruoyi-ui/src/utils/request.js | 152 +++ ruoyi-ui/src/utils/ruoyi.js | 233 +++++ ruoyi-ui/src/utils/scroll-to.js | 58 ++ ruoyi-ui/src/utils/user.js | 79 ++ ruoyi-ui/src/utils/validate.js | 83 ++ .../views/components/icons/element-icons.js | 3 + 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 | 56 ++ ruoyi-ui/src/views/error/401.vue | 88 ++ ruoyi-ui/src/views/error/404.vue | 233 +++++ ruoyi-ui/src/views/file/project/index.vue | 387 +++++++ ruoyi-ui/src/views/index.vue | 39 + ruoyi-ui/src/views/index_v1.vue | 98 ++ ruoyi-ui/src/views/login.vue | 226 +++++ ruoyi-ui/src/views/monitor/cache/index.vue | 144 +++ ruoyi-ui/src/views/monitor/cache/list.vue | 241 +++++ ruoyi-ui/src/views/monitor/druid/index.vue | 15 + ruoyi-ui/src/views/monitor/job/index.vue | 513 ++++++++++ ruoyi-ui/src/views/monitor/job/log.vue | 295 ++++++ .../src/views/monitor/logininfor/index.vue | 246 +++++ ruoyi-ui/src/views/monitor/online/index.vue | 149 +++ ruoyi-ui/src/views/monitor/operlog/index.vue | 345 +++++++ ruoyi-ui/src/views/monitor/operlog/syslog.vue | 404 ++++++++ ruoyi-ui/src/views/monitor/server/index.vue | 207 ++++ ruoyi-ui/src/views/redirect.vue | 12 + ruoyi-ui/src/views/register.vue | 209 ++++ ruoyi-ui/src/views/system/config/index.vue | 343 +++++++ ruoyi-ui/src/views/system/dept/index.vue | 353 +++++++ ruoyi-ui/src/views/system/dict/data.vue | 402 ++++++++ ruoyi-ui/src/views/system/dict/index.vue | 347 +++++++ ruoyi-ui/src/views/system/menu/index.vue | 452 +++++++++ ruoyi-ui/src/views/system/notice/index.vue | 312 ++++++ ruoyi-ui/src/views/system/post/index.vue | 309 ++++++ ruoyi-ui/src/views/system/role/authUser.vue | 199 ++++ ruoyi-ui/src/views/system/role/index.vue | 605 +++++++++++ ruoyi-ui/src/views/system/role/selectUser.vue | 138 +++ ruoyi-ui/src/views/system/user/authRole.vue | 117 +++ ruoyi-ui/src/views/system/user/index.vue | 748 ++++++++++++++ .../src/views/system/user/profile/index.vue | 91 ++ .../views/system/user/profile/resetPwd.vue | 73 ++ .../views/system/user/profile/userAvatar.vue | 187 ++++ .../views/system/user/profile/userInfo.vue | 75 ++ ruoyi-ui/src/views/tool/SQLTesting.vue | 160 +++ .../src/views/tool/build/CodeTypeDialog.vue | 106 ++ .../src/views/tool/build/DraggableItem.vue | 100 ++ ruoyi-ui/src/views/tool/build/IconsDialog.vue | 123 +++ ruoyi-ui/src/views/tool/build/RightPanel.vue | 946 ++++++++++++++++++ .../src/views/tool/build/TreeNodeDialog.vue | 149 +++ ruoyi-ui/src/views/tool/build/index.vue | 768 ++++++++++++++ ruoyi-ui/src/views/tool/gen/basicInfoForm.vue | 60 ++ ruoyi-ui/src/views/tool/gen/editTable.vue | 234 +++++ ruoyi-ui/src/views/tool/gen/genInfoForm.vue | 299 ++++++ ruoyi-ui/src/views/tool/gen/importTable.vue | 120 +++ ruoyi-ui/src/views/tool/gen/index.vue | 337 +++++++ ruoyi-ui/src/views/tool/swagger/index.vue | 15 + ruoyi-ui/start.js | 55 + ruoyi-ui/utils/counter.js | 31 + ruoyi-ui/utils/credentials.js | 3 + ruoyi-ui/utils/logFactory.js | 260 +++++ ruoyi-ui/utils/logUtil.js | 40 + ruoyi-ui/vue.config.js | 138 +++ 344 files changed, 30320 insertions(+), 2 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/file/FileSystemController.java create mode 100644 ruoyi-file/src/main/java/com/ruoyi/file/enums/FileType.java create mode 100644 ruoyi-file/src/main/java/com/ruoyi/file/object/FileModel.java create mode 100644 ruoyi-file/src/main/java/com/ruoyi/file/object/FileSystemFilter.java create mode 100644 ruoyi-file/src/main/java/com/ruoyi/file/service/FileSystemService.java 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/build-dist.bat create mode 100644 ruoyi-ui/bin/install.bat create mode 100644 ruoyi-ui/bin/run-web.bat create mode 100644 ruoyi-ui/build/index.js create mode 100644 ruoyi-ui/config/development.json create mode 100644 ruoyi-ui/config/local-dev.json create mode 100644 ruoyi-ui/config/production.json create mode 100644 ruoyi-ui/config/stage.json create mode 100644 ruoyi-ui/config/test.json create mode 100644 ruoyi-ui/package.json create mode 100644 ruoyi-ui/public/favicon.ico create mode 100644 ruoyi-ui/public/html/ie.html create mode 100644 ruoyi-ui/public/index.html create mode 100644 ruoyi-ui/public/robots.txt create mode 100644 ruoyi-ui/routes/apiProxy.js create mode 100644 ruoyi-ui/routes/compression.js create mode 100644 ruoyi-ui/routes/index.js create mode 100644 ruoyi-ui/routes/staticResourceProvider.js create mode 100644 ruoyi-ui/services/env.js create mode 100644 ruoyi-ui/src/App.vue create mode 100644 ruoyi-ui/src/api/file/filesystem.js create mode 100644 ruoyi-ui/src/api/file/project.js 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/cache.js create mode 100644 ruoyi-ui/src/api/monitor/job.js create mode 100644 ruoyi-ui/src/api/monitor/jobLog.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/button.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/cascader.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/chart.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/checkbox.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/color.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-range.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/github.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/input.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/number.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/question.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/radio.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/rate.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/redis-list.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/redis.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/row.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/search.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/select.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/slider.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/switch.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/textarea.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/theme.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/time-range.svg create mode 100644 ruoyi-ui/src/assets/icons/svg/time.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/upload.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/images/dark.svg create mode 100644 ruoyi-ui/src/assets/images/index_icon.png create mode 100644 ruoyi-ui/src/assets/images/light.svg create mode 100644 ruoyi-ui/src/assets/images/login-background.jpg create mode 100644 ruoyi-ui/src/assets/images/pay.png create mode 100644 ruoyi-ui/src/assets/images/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/Crontab/day.vue create mode 100644 ruoyi-ui/src/components/Crontab/hour.vue create mode 100644 ruoyi-ui/src/components/Crontab/index.vue create mode 100644 ruoyi-ui/src/components/Crontab/min.vue create mode 100644 ruoyi-ui/src/components/Crontab/month.vue create mode 100644 ruoyi-ui/src/components/Crontab/result.vue create mode 100644 ruoyi-ui/src/components/Crontab/second.vue create mode 100644 ruoyi-ui/src/components/Crontab/week.vue create mode 100644 ruoyi-ui/src/components/Crontab/year.vue create mode 100644 ruoyi-ui/src/components/DictData/index.js create mode 100644 ruoyi-ui/src/components/DictTag/index.vue create mode 100644 ruoyi-ui/src/components/Editor/index.vue create mode 100644 ruoyi-ui/src/components/Editor/index_origin.vue create mode 100644 ruoyi-ui/src/components/FileUpload/index.vue create mode 100644 ruoyi-ui/src/components/FullscreenDialog.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/ImagePreview/index.vue create mode 100644 ruoyi-ui/src/components/ImageUpload/ImageStore.vue create mode 100644 ruoyi-ui/src/components/ImageUpload/index.vue create mode 100644 ruoyi-ui/src/components/ManagerFramework.vue 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/ParentView/index.vue create mode 100644 ruoyi-ui/src/components/RightPanel/index.vue create mode 100644 ruoyi-ui/src/components/RightToolbar/index.vue create mode 100644 ruoyi-ui/src/components/RuoYi/Doc/index.vue create mode 100644 ruoyi-ui/src/components/RuoYi/Git/index.vue create mode 100644 ruoyi-ui/src/components/Screenfull/index.vue create mode 100644 ruoyi-ui/src/components/ServerFileChooser.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/components/TopNav/index.vue create mode 100644 ruoyi-ui/src/components/common/DateEdit.vue create mode 100644 ruoyi-ui/src/components/common/DeptInput.vue create mode 100644 ruoyi-ui/src/components/common/DeptSelect.vue create mode 100644 ruoyi-ui/src/components/common/DeptTree.vue create mode 100644 ruoyi-ui/src/components/common/DeptTreeLayout.vue create mode 100644 ruoyi-ui/src/components/common/Descriptions.vue create mode 100644 ruoyi-ui/src/components/common/ELTableColumn_r.vue create mode 100644 ruoyi-ui/src/components/common/InputNumber.vue create mode 100644 ruoyi-ui/src/components/common/LineEdit.vue create mode 100644 ruoyi-ui/src/components/common/TreeSelect.vue create mode 100644 ruoyi-ui/src/components/iFrame/index.vue create mode 100644 ruoyi-ui/src/components/vue_treeselect.js create mode 100644 ruoyi-ui/src/directive/dialog/drag.js create mode 100644 ruoyi-ui/src/directive/dialog/dragHeight.js create mode 100644 ruoyi-ui/src/directive/dialog/dragWidth.js create mode 100644 ruoyi-ui/src/directive/index.js create mode 100644 ruoyi-ui/src/directive/module/clipboard.js 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/layout/components/AppMain.vue create mode 100644 ruoyi-ui/src/layout/components/IframeToggle/index.vue create mode 100644 ruoyi-ui/src/layout/components/InnerLink/index.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/plugins/auth.js create mode 100644 ruoyi-ui/src/plugins/cache.js create mode 100644 ruoyi-ui/src/plugins/download.js create mode 100644 ruoyi-ui/src/plugins/index.js create mode 100644 ruoyi-ui/src/plugins/modal.js create mode 100644 ruoyi-ui/src/plugins/tab.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/dict.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/date.js create mode 100644 ruoyi-ui/src/utils/dev.js create mode 100644 ruoyi-ui/src/utils/dict/Dict.js create mode 100644 ruoyi-ui/src/utils/dict/DictConverter.js create mode 100644 ruoyi-ui/src/utils/dict/DictData.js create mode 100644 ruoyi-ui/src/utils/dict/DictMeta.js create mode 100644 ruoyi-ui/src/utils/dict/DictOptions.js create mode 100644 ruoyi-ui/src/utils/dict/index.js create mode 100644 ruoyi-ui/src/utils/errorCode.js create mode 100644 ruoyi-ui/src/utils/file.js create mode 100644 ruoyi-ui/src/utils/generator/config.js create mode 100644 ruoyi-ui/src/utils/generator/css.js create mode 100644 ruoyi-ui/src/utils/generator/drawingDefault.js create mode 100644 ruoyi-ui/src/utils/generator/html.js create mode 100644 ruoyi-ui/src/utils/generator/icon.json create mode 100644 ruoyi-ui/src/utils/generator/js.js create mode 100644 ruoyi-ui/src/utils/generator/render.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/user.js create mode 100644 ruoyi-ui/src/utils/validate.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/file/project/index.vue create mode 100644 ruoyi-ui/src/views/index.vue create mode 100644 ruoyi-ui/src/views/index_v1.vue create mode 100644 ruoyi-ui/src/views/login.vue create mode 100644 ruoyi-ui/src/views/monitor/cache/index.vue create mode 100644 ruoyi-ui/src/views/monitor/cache/list.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/job/log.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/operlog/syslog.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/register.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/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/authUser.vue create mode 100644 ruoyi-ui/src/views/system/role/index.vue create mode 100644 ruoyi-ui/src/views/system/role/selectUser.vue create mode 100644 ruoyi-ui/src/views/system/user/authRole.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/SQLTesting.vue create mode 100644 ruoyi-ui/src/views/tool/build/CodeTypeDialog.vue create mode 100644 ruoyi-ui/src/views/tool/build/DraggableItem.vue create mode 100644 ruoyi-ui/src/views/tool/build/IconsDialog.vue create mode 100644 ruoyi-ui/src/views/tool/build/RightPanel.vue create mode 100644 ruoyi-ui/src/views/tool/build/TreeNodeDialog.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/start.js create mode 100644 ruoyi-ui/utils/counter.js create mode 100644 ruoyi-ui/utils/credentials.js create mode 100644 ruoyi-ui/utils/logFactory.js create mode 100644 ruoyi-ui/utils/logUtil.js create mode 100644 ruoyi-ui/vue.config.js diff --git a/README.md b/README.md index 6f711d2..fea6d1a 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ >> `/open/file/uploadForward/{项目唯一标识}/{存储目录}` > * 必须参数: requestUri 请求地址 > * 必须参数: method 请求方法 默认get -> * 必须参数: contentType 请求类型 get默认, post默认application/json +> * 必须参数: contentType 请求类型 get自动设为application/x-www-form-urlencoded, post默认application/json > * 必须参数: responseContentType 响应类型 默认application/json > * 其他参数: data 请求数据 String diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/file/FileSystemController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/file/FileSystemController.java new file mode 100644 index 0000000..d22dce2 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/file/FileSystemController.java @@ -0,0 +1,48 @@ +package com.ruoyi.web.controller.file; + +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.file.domain.Project; +import com.ruoyi.file.object.FileModel; +import com.ruoyi.file.object.FileSystemFilter; +import com.ruoyi.file.service.FileSystemService; +import com.ruoyi.file.service.IProjectService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 文件系统Controller + * + * @author zhao + * @date 2023-10-19 + */ +@Api(tags = "文件系统") +@RestController +@RequestMapping("/filesystem") +public class FileSystemController extends BaseController +{ + @Autowired + private FileSystemService fileSystemService; + + /** + * 查询项目列表 + */ + @ApiOperation("查询项目列表") + @PreAuthorize("@ss.hasPermi('file:project:list')") + @GetMapping("/ls") + public AjaxResult ls(FileSystemFilter filter) + { + startPage(); + List list = fileSystemService.ls(filter); + return AjaxResult.success(list); + } + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/file/ProjectController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/file/ProjectController.java index d1dd610..c29fa35 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/file/ProjectController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/file/ProjectController.java @@ -110,4 +110,16 @@ public class ProjectController extends BaseController { return toAjax(projectService.deleteProjectByIds(ids)); } + + /** + * 切换禁用状态 + */ + @ApiOperation("修改项目") + @PreAuthorize("@ss.hasPermi('file:project:edit')") + @Log(title = "项目", businessType = BusinessType.UPDATE) + @PostMapping("/switchDisable/{id}") + public AjaxResult switchDisable(@PathVariable Long id) + { + return toAjax(projectService.switchDisable(id, getUsername())); + } } diff --git a/ruoyi-file/src/main/java/com/ruoyi/file/enums/FileType.java b/ruoyi-file/src/main/java/com/ruoyi/file/enums/FileType.java new file mode 100644 index 0000000..9d7ca58 --- /dev/null +++ b/ruoyi-file/src/main/java/com/ruoyi/file/enums/FileType.java @@ -0,0 +1,33 @@ +package com.ruoyi.file.enums; + +import java.io.File; + +public final class FileType +{ + public static final int FILE = 1; + public static final int DIRECTORY = 1 << 1; + + public static boolean Test(int flag, int target) + { + return (flag & target) != 0; + } + + public static boolean Is(File file, int flag) + { + if(!Test(flag, FILE) && file.isFile()) + return false; + if(!Test(flag, DIRECTORY) && file.isDirectory()) + return false; + return true; + } + + public static int FileType(File file) + { + int flag = 0; + if(file.isFile()) + flag |= FILE; + if(file.isDirectory()) + flag |= DIRECTORY; + return flag; + } +} diff --git a/ruoyi-file/src/main/java/com/ruoyi/file/object/FileModel.java b/ruoyi-file/src/main/java/com/ruoyi/file/object/FileModel.java new file mode 100644 index 0000000..3f8c1d3 --- /dev/null +++ b/ruoyi-file/src/main/java/com/ruoyi/file/object/FileModel.java @@ -0,0 +1,45 @@ +package com.ruoyi.file.object; + +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.file.PathUtils; +import com.ruoyi.file.enums.FileType; +import lombok.Data; + +import java.io.File; +import java.util.List; + +@Data +public final class FileModel +{ + private String fileName; + private String filePath; + private Integer type; + private List files; + + public FileModel() + { + } + + public FileModel(File file) + { + fileName = file.getName(); + if(StringUtils.isEmpty(fileName)) + fileName = PathUtils.normalizeSlash(file.getPath()); + else + { + if(file.isDirectory()) + fileName += "/"; + } + try + { + filePath = file.getCanonicalPath(); + } + catch(Exception e) + { + e.printStackTrace(); + filePath = file.getAbsolutePath(); + } + filePath = PathUtils.normalizeSlash(filePath); + type = FileType.FileType(file); + } +} diff --git a/ruoyi-file/src/main/java/com/ruoyi/file/object/FileSystemFilter.java b/ruoyi-file/src/main/java/com/ruoyi/file/object/FileSystemFilter.java new file mode 100644 index 0000000..fa9e35c --- /dev/null +++ b/ruoyi-file/src/main/java/com/ruoyi/file/object/FileSystemFilter.java @@ -0,0 +1,38 @@ +package com.ruoyi.file.object; + +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.file.enums.FileType; +import lombok.Data; + +import java.io.File; +import java.io.FileFilter; + +@Data +public class FileSystemFilter implements FileFilter +{ + private String fileName; + private String filePath; + private Integer fileType; + private Boolean showHidden; + + @Override + public boolean accept(File file) + { + if(null != showHidden) + { + if(!showHidden && file.isHidden()) + return false; + } + if(StringUtils.isNotEmpty(fileName)) + { + if(!file.getName().contains(fileName)) + return false; + } + if(null != fileType && fileType != 0) + { + if(!FileType.Is(file, fileType)) + return false; + } + return true; + } +} diff --git a/ruoyi-file/src/main/java/com/ruoyi/file/service/FileService.java b/ruoyi-file/src/main/java/com/ruoyi/file/service/FileService.java index 7dec2d4..a19cd1d 100644 --- a/ruoyi-file/src/main/java/com/ruoyi/file/service/FileService.java +++ b/ruoyi-file/src/main/java/com/ruoyi/file/service/FileService.java @@ -129,17 +129,20 @@ public class FileService http.setConnectionTimeout(60000); http.setFollowRedirects(true); http.header("Authorization", request.getHeader("Authorization")); - http.header("Content-Type", req.getContentType()); http.header("File-Url", session.result.getFileUrl()); http.header("Thum-Url", session.result.getThumbnailFileUrl()); http.header("File-Type", session.task.getDirectory()); + http.header("File-Name", session.task.OriginFileName()); HttpResponse resp; switch(req.getMethod().toLowerCase()) { case "post": + http.header("Content-Type", req.getContentType()); http.body(req.getData()); break; case "get": + http.header("Content-Type", "application/x-www-form-urlencoded"); + http.body(req.getData()); default: break; } diff --git a/ruoyi-file/src/main/java/com/ruoyi/file/service/FileSystemService.java b/ruoyi-file/src/main/java/com/ruoyi/file/service/FileSystemService.java new file mode 100644 index 0000000..c36bdbc --- /dev/null +++ b/ruoyi-file/src/main/java/com/ruoyi/file/service/FileSystemService.java @@ -0,0 +1,41 @@ +package com.ruoyi.file.service; + +import com.ruoyi.common.exception.ASSERT; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.file.object.FileSystemFilter; +import com.ruoyi.file.object.FileModel; +import org.springframework.stereotype.Service; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +@Service +public class FileSystemService +{ + public List ls(FileSystemFilter filter) + { + File[] files; + if(StringUtils.isEmpty(filter.getFilePath())) + { + files = File.listRoots(); + } + else + { + File file = new File(filter.getFilePath()); + ASSERT.EXP(file.exists(), "路径不存在: " + filter.getFilePath()); + ASSERT.EXP(file.isDirectory(), "路径非目录: " + filter.getFilePath()); + files = file.listFiles(filter); + } + + List list = new ArrayList<>(); + if(null != files) + { + for(File f : files) + { + list.add(new FileModel(f)); + } + } + return list; + } +} diff --git a/ruoyi-file/src/main/java/com/ruoyi/file/service/IProjectService.java b/ruoyi-file/src/main/java/com/ruoyi/file/service/IProjectService.java index f965d06..7cc62f7 100644 --- a/ruoyi-file/src/main/java/com/ruoyi/file/service/IProjectService.java +++ b/ruoyi-file/src/main/java/com/ruoyi/file/service/IProjectService.java @@ -98,4 +98,6 @@ public interface IProjectService * @return 项目是否存在 */ public boolean selectProjectExists(Project project); + + public int switchDisable(Long id, String userName); } diff --git a/ruoyi-file/src/main/java/com/ruoyi/file/service/impl/ProjectServiceImpl.java b/ruoyi-file/src/main/java/com/ruoyi/file/service/impl/ProjectServiceImpl.java index f970e96..cb31f68 100644 --- a/ruoyi-file/src/main/java/com/ruoyi/file/service/impl/ProjectServiceImpl.java +++ b/ruoyi-file/src/main/java/com/ruoyi/file/service/impl/ProjectServiceImpl.java @@ -3,6 +3,7 @@ package com.ruoyi.file.service.impl; import java.util.List; import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.exception.ASSERT; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.file.utils.ProjectUtils; @@ -179,4 +180,17 @@ public class ProjectServiceImpl implements IProjectService public boolean selectProjectExists(Project project) { return projectMapper.selectProjectExists(project) > 0; } + + @Override + public int switchDisable(Long id, String userName) + { + Project project = projectMapper.selectProjectById(id); + ASSERT.NONNULL(project, "项目不存在"); + project.setUpdateBy(userName); + project.setDisabled("0".equals(project.getDisabled()) ? "1" : "0"); + project.setUpdateTime(DateUtils.getNowDate()); + int r = projectMapper.updateProject(project); + ProjectUtils.Set(project); + return r; + } } diff --git a/ruoyi-ui/.editorconfig b/ruoyi-ui/.editorconfig new file mode 100644 index 0000000..7034f9b --- /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 0000000..db8f52b --- /dev/null +++ b/ruoyi-ui/.env.development @@ -0,0 +1,14 @@ +# 页面标题 +VUE_APP_TITLE = 文件传输 + +# 开发环境配置 +ENV = 'development' + +# 文件传输/开发环境 +VUE_APP_BASE_API = '/api' + +# 路由懒加载 +VUE_CLI_BABEL_TRANSPILE_MODULES = true + +port = 85 +API_HOST = 'http://localhost:8085' diff --git a/ruoyi-ui/.env.production b/ruoyi-ui/.env.production new file mode 100644 index 0000000..44bd394 --- /dev/null +++ b/ruoyi-ui/.env.production @@ -0,0 +1,8 @@ +# 页面标题 +VUE_APP_TITLE = 文件传输 + +# 生产环境配置 +ENV = 'production' + +# 文件传输/生产环境 +VUE_APP_BASE_API = '/api' diff --git a/ruoyi-ui/.env.staging b/ruoyi-ui/.env.staging new file mode 100644 index 0000000..6616a20 --- /dev/null +++ b/ruoyi-ui/.env.staging @@ -0,0 +1,10 @@ +# 页面标题 +VUE_APP_TITLE = 文件传输 + +NODE_ENV = production + +# 测试环境配置 +ENV = 'staging' + +# 文件传输/测试环境 +VUE_APP_BASE_API = '/api' diff --git a/ruoyi-ui/.eslintignore b/ruoyi-ui/.eslintignore new file mode 100644 index 0000000..89be6f6 --- /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 0000000..82bbdee --- /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 0000000..5b2b135 --- /dev/null +++ b/ruoyi-ui/.gitignore @@ -0,0 +1,25 @@ +.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 + +dist.* diff --git a/ruoyi-ui/README.md b/ruoyi-ui/README.md new file mode 100644 index 0000000..131156a --- /dev/null +++ b/ruoyi-ui/README.md @@ -0,0 +1,92 @@ +# rongxin.gov.rgvn.dashboard.tiandeng + + + +## Getting started + +To make it easy for you to get started with GitLab, here's a list of recommended next steps. + +Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)! + +## Add your files + +- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files +- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command: + +``` +cd existing_repo +git remote add origin https://gitlab.cacfintech.com/cacfintech/rongxin.gov.rgvn.dashboard.tiandeng.git +git branch -M main +git push -uf origin main +``` + +## Integrate with your tools + +- [ ] [Set up project integrations](https://gitlab.cacfintech.com/cacfintech/rongxin.gov.rgvn.dashboard.tiandeng/-/settings/integrations) + +## Collaborate with your team + +- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/) +- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html) +- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically) +- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/) +- [ ] [Automatically merge when pipeline succeeds](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html) + +## Test and Deploy + +Use the built-in continuous integration in GitLab. + +- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html) +- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing(SAST)](https://docs.gitlab.com/ee/user/application_security/sast/) +- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html) +- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/) +- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html) + +*** + +# Editing this README + +When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thank you to [makeareadme.com](https://www.makeareadme.com/) for this template. + +## Suggestions for a good README +Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information. + +## Name +Choose a self-explaining name for your project. + +## Description +Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors. + +## Badges +On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge. + +## Visuals +Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method. + +## Installation +Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection. + +## Usage +Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README. + +## Support +Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc. + +## Roadmap +If you have ideas for releases in the future, it is a good idea to list them in the README. + +## Contributing +State if you are open to contributions and what your requirements are for accepting them. + +For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self. + +You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser. + +## Authors and acknowledgment +Show your appreciation to those who have contributed to the project. + +## License +For open source projects, say how it is licensed. + +## Project status +If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers. diff --git a/ruoyi-ui/babel.config.js b/ruoyi-ui/babel.config.js new file mode 100644 index 0000000..c8267b2 --- /dev/null +++ b/ruoyi-ui/babel.config.js @@ -0,0 +1,13 @@ +module.exports = { + presets: [ + // https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app + '@vue/cli-plugin-babel/preset' + ], + 'env': { + 'development': { + // babel-plugin-dynamic-import-node plugin only does one thing by converting all import() to require(). + // This plugin can significantly increase the speed of hot updates, when you have a large number of pages. + 'plugins': ['dynamic-import-node'] + } + } +} \ No newline at end of file diff --git a/ruoyi-ui/bin/build-dist.bat b/ruoyi-ui/bin/build-dist.bat new file mode 100644 index 0000000..dda590d --- /dev/null +++ b/ruoyi-ui/bin/build-dist.bat @@ -0,0 +1,12 @@ +@echo off +echo. +echo [Ϣ] Weḅdistļ +echo. + +%~d0 +cd %~dp0 + +cd .. +npm run build:prod + +pause \ No newline at end of file diff --git a/ruoyi-ui/bin/install.bat b/ruoyi-ui/bin/install.bat new file mode 100644 index 0000000..0e5bc0f --- /dev/null +++ b/ruoyi-ui/bin/install.bat @@ -0,0 +1,12 @@ +@echo off +echo. +echo [Ϣ] װWeḅnode_modulesļ +echo. + +%~d0 +cd %~dp0 + +cd .. +npm install --registry=https://registry.npmmirror.com + +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 0000000..d30deae --- /dev/null +++ b/ruoyi-ui/bin/run-web.bat @@ -0,0 +1,12 @@ +@echo off +echo. +echo [Ϣ] ʹ Vue CLI 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 0000000..0c57de2 --- /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/config/development.json b/ruoyi-ui/config/development.json new file mode 100644 index 0000000..934a8ae --- /dev/null +++ b/ruoyi-ui/config/development.json @@ -0,0 +1,10 @@ +{ + "server": { + "host": "localhost", + "port": 37300 + }, + "rongxin_gov_rgvn_api_service": { + "host": "http://rongxin-gov-rgvn-api-ref.service.dev", + "port": 80 + } +} diff --git a/ruoyi-ui/config/local-dev.json b/ruoyi-ui/config/local-dev.json new file mode 100644 index 0000000..f4f227d --- /dev/null +++ b/ruoyi-ui/config/local-dev.json @@ -0,0 +1,10 @@ +{ + "server": { + "host": "localhost", + "port": 37000 + }, + "rongxin_gov_rgvn_api_service": { + "host": "", + "port": 80 + } +} diff --git a/ruoyi-ui/config/production.json b/ruoyi-ui/config/production.json new file mode 100644 index 0000000..31abf58 --- /dev/null +++ b/ruoyi-ui/config/production.json @@ -0,0 +1,10 @@ +{ + "server": { + "host": "localhost", + "port": 37300 + }, + "rongxin_gov_rgvn_api_service": { + "host": "http://rongxin-gov-rgvn-api-ref.service.prod", + "port": 80 + } +} diff --git a/ruoyi-ui/config/stage.json b/ruoyi-ui/config/stage.json new file mode 100644 index 0000000..ea72c0f --- /dev/null +++ b/ruoyi-ui/config/stage.json @@ -0,0 +1,10 @@ +{ + "server": { + "host": "localhost", + "port": 37300 + }, + "rongxin_gov_rgvn_api_service": { + "host": "http://rongxin-gov-rgvn-api-ref.service.stage", + "port": 80 + } +} diff --git a/ruoyi-ui/config/test.json b/ruoyi-ui/config/test.json new file mode 100644 index 0000000..159cc0d --- /dev/null +++ b/ruoyi-ui/config/test.json @@ -0,0 +1,10 @@ +{ + "server": { + "host": "localhost", + "port": 37300 + }, + "rongxin_gov_rgvn_api_service": { + "host": "http://rongxin-gov-rgvn-api-ref.service.test", + "port": 80 + } +} diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json new file mode 100644 index 0000000..5f5d2ad --- /dev/null +++ b/ruoyi-ui/package.json @@ -0,0 +1,104 @@ +{ + "name": "ruoyi", + "version": "3.8.6", + "description": "两制一化", + "author": "融信", + "license": "MIT", + "scripts": { + "serve": "vue-cli-service serve", + "install": "npm update && npm rebuild", + "build": "vue-cli-service build", + "start": "npm run start:local", + "start:local": "DEBUG=* NODE_ENV=local-dev node --abort-on-uncaught-exception start.js --log-level=debug --mode=local-dev", + "build:dev": "npm run build", + "start:dev": "DEBUG=* NODE_ENV=development node --abort-on-uncaught-exception start.js --log-level=debug --mode=development", + "build:test": "npm run build", + "start:test": "DEBUG=* NODE_ENV=test node --abort-on-uncaught-exception start.js --log-level=debug --mode=test", + "build:stage": "npm run build", + "start:stage": "DEBUG=rongxin* NODE_ENV=stage node --abort-on-uncaught-exception start.js --log-level=debug --mode=stage", + "build:prod": "npm run build", + "start:prod": "DEBUG=rongxin* NODE_ENV=production node --abort-on-uncaught-exception start.js --log-level=debug --mode=production", + "preview": "node build/index.js --preview", + "lint": "eslint --ext .js,.vue src" + }, + "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", + "axios": "0.24.0", + "clipboard": "2.0.8", + "config": "1.30.0", + "core-js": "3.25.3", + "echarts": "5.4.0", + "element-ui": "2.15.13", + "file-saver": "2.0.5", + "fuse.js": "6.4.3", + "highlight.js": "9.18.5", + "js-beautify": "1.13.0", + "js-cookie": "3.0.1", + "jsencrypt": "3.0.0-rc.1", + "nongfu.merchant.bootstrap": "git+ssh://git@gitlab.cacfintech.com:racoon/nongfu.merchant.bootstrap.git#stable", + "nongfu.merchant.policyrouter": "git+ssh://git@gitlab.cacfintech.com:racoon/nongfu.merchant.policyrouter.git#stable", + "nprogress": "0.2.0", + "quill": "1.3.7", + "request": "^2.88.2", + "screenfull": "5.0.2", + "sortablejs": "1.10.2", + "vue": "2.6.12", + "vue-count-to": "1.0.13", + "vue-cropper": "0.5.5", + "vue-meta": "2.4.0", + "vue-router": "3.4.9", + "vuedraggable": "2.24.3", + "vuex": "3.6.0" + }, + "devDependencies": { + "@vue/cli-plugin-babel": "4.4.6", + "@vue/cli-plugin-eslint": "4.4.6", + "@vue/cli-service": "4.4.6", + "babel-eslint": "10.1.0", + "babel-plugin-dynamic-import-node": "2.3.3", + "chalk": "4.1.0", + "compression-webpack-plugin": "5.0.2", + "connect": "3.6.6", + "eslint": "7.15.0", + "eslint-plugin-vue": "7.2.0", + "lint-staged": "10.5.3", + "runjs": "4.4.2", + "sass": "1.32.13", + "sass-loader": "10.1.1", + "script-ext-html-webpack-plugin": "2.1.5", + "svg-sprite-loader": "5.1.1", + "vue-template-compiler": "2.6.12" + }, + "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..32bbe848b0149d5997fb8aca4f4e934ba716944b GIT binary patch literal 4012 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 literal 0 HcmV?d00001 diff --git a/ruoyi-ui/public/html/ie.html b/ruoyi-ui/public/html/ie.html new file mode 100644 index 0000000..052ffcd --- /dev/null +++ b/ruoyi-ui/public/html/ie.html @@ -0,0 +1,46 @@ + + + + + + 请升级您的浏览器 + + + + + + +

请升级您的浏览器,以便我们更好的为您提供服务!

+

您正在使用 Internet Explorer 的早期版本(IE11以下版本或使用该内核的浏览器)。这意味着在升级浏览器前,您将无法访问此网站。

+
+

请注意:微软公司对Windows XP 及 Internet Explorer 早期版本的支持已经结束

+

自 2016 年 1 月 12 日起,Microsoft 不再为 IE 11 以下版本提供相应支持和更新。没有关键的浏览器安全更新,您的电脑可能易受有害病毒、间谍软件和其他恶意软件的攻击,它们可以窃取或损害您的业务数据和信息。请参阅 微软对 Internet Explorer 早期版本的支持将于 2016 年 1 月 12 日结束的说明

+
+

您可以选择更先进的浏览器

+

推荐使用以下浏览器的最新版本。如果您的电脑已有以下浏览器的最新版本则直接使用该浏览器访问即可。

+ +
+ + \ No newline at end of file diff --git a/ruoyi-ui/public/index.html b/ruoyi-ui/public/index.html new file mode 100644 index 0000000..925455c --- /dev/null +++ b/ruoyi-ui/public/index.html @@ -0,0 +1,208 @@ + + + + + + + + + <%= webpackConfig.name %> + + + + +
+
+
+
+
+
正在加载系统资源,请耐心等待
+
+
+ + diff --git a/ruoyi-ui/public/robots.txt b/ruoyi-ui/public/robots.txt new file mode 100644 index 0000000..77470cb --- /dev/null +++ b/ruoyi-ui/public/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: / \ No newline at end of file diff --git a/ruoyi-ui/routes/apiProxy.js b/ruoyi-ui/routes/apiProxy.js new file mode 100644 index 0000000..37bdfed --- /dev/null +++ b/ruoyi-ui/routes/apiProxy.js @@ -0,0 +1,65 @@ +'use strict' + +/** + * proxy api http request to rongxin.gov.rgvn.api service + */ + +const proxy = require('http-proxy-middleware') +const config = require('config') +const logFactory = require('../utils/logFactory') +const logUtil = require('../utils/logUtil') +const debug = logFactory(logUtil())('rongxin.gov.rgvn.dashboard.tiandeng:routes:apiProxy') + +class ApiProxy { + + constructor(policyRouter) { + this._policyRouter = policyRouter + } + + onProxyReq (proxyReq, req, res, options) { + const method = 'proxyReq' + debug(method, '[Proxy-Enter]', req.path) + if (req.path.startsWith('/api')) { + proxyReq.path = proxyReq.path.substring(4) + debug(method, 'proxyReq.path: ', proxyReq.path, req.path) + } + } + + onProxyRes (proxyRes, req, res) { + let method = "onProxyRes" + debug('[Proxy-Exit]', req.path) + debug('[onProxyRes] ', 'req.path = ', req.path, 'req.method = ', req.method) + } + + onError (err, req, res) { + let method = 'onError' + debug.error(method, err) + } + + init () { + const self = this + const govRgvnApiServiceUrl = `${config.get('rongxin_gov_rgvn_api_service').host}:${config.get('rongxin_gov_rgvn_api_service').port}`; + + const proxyInst = proxy({ + target: govRgvnApiServiceUrl, + router: { + }, + changeOrigin: true, + logLevel: 'debug', + logProvider: () => debug, + onProxyRes: self.onProxyRes.bind(self), + onProxyReq: self.onProxyReq.bind(self), + onError: self.onError.bind(self) + }) + + self._policyRouter.use('/api', proxyInst, { + name: 'apiProxy.proxyInst' + }); + + debug.info(`api proxy, api service uri: ${govRgvnApiServiceUrl}`) + + return self + } +} + +module.exports = ApiProxy diff --git a/ruoyi-ui/routes/compression.js b/ruoyi-ui/routes/compression.js new file mode 100644 index 0000000..8cdb1d2 --- /dev/null +++ b/ruoyi-ui/routes/compression.js @@ -0,0 +1,36 @@ +/** + * Http compression router + * @author tala + * 2018-05-23 + */ + +'use strict' + +const compression = require('compression') +class HttpCompression { + constructor(policyRouter) { + this._policyRouter = policyRouter + } + + init() { + let self = this + + // compression + self._policyRouter.use('/', compression({ + filter: function(req, res) { + if (req.headers['x-no-compression']) { + // don't compress responses with this request header + return false; + } + // fallback to standard filter function + return compression.filter(req, res); + } + }), { + name: 'httpCompression', + }) + + return self + } +} + +module.exports = HttpCompression diff --git a/ruoyi-ui/routes/index.js b/ruoyi-ui/routes/index.js new file mode 100644 index 0000000..035d4f8 --- /dev/null +++ b/ruoyi-ui/routes/index.js @@ -0,0 +1,36 @@ +/** + * routes + * @author eriksen, tala + */ + +'use strict' + +const PolicyRouter = require('nongfu.merchant.policyrouter').PolicyRouter; +const express = require('express') + +let router = express.Router() +let policyRouter = new PolicyRouter(router) +let HealthChecker = require('nongfu.merchant.policyrouter').HealthChecker; + +//========================= +// HttpCompression Router +//========================= +let HttpCompression = require('./compression'); +let httpCompression = new HttpCompression(policyRouter); +httpCompression.init(); + +//========================= +// API Proxy Router +//========================= +let ApiProxy = require('./apiProxy'); +let apiProxy = new ApiProxy(policyRouter); +apiProxy.init(); + +//========================= +// Static Resource Router +//========================= +let StaticResourceProvider = require('./staticResourceProvider'); +let staticResourceProvider = new StaticResourceProvider(policyRouter); +staticResourceProvider.init(); + +module.exports = router; diff --git a/ruoyi-ui/routes/staticResourceProvider.js b/ruoyi-ui/routes/staticResourceProvider.js new file mode 100644 index 0000000..7dccb19 --- /dev/null +++ b/ruoyi-ui/routes/staticResourceProvider.js @@ -0,0 +1,34 @@ +/** + * static resource provider router + * @author tala + */ + +'use strict' + +const express = require('express'); +const path = require('path'); + +class StaticResourceProvider { + constructor(policyRouter) { + this._policyRouter = policyRouter + } + + static get ONE_YEAR() { + return 365 * 24 * 60 * 60 * 1000; + } + + init() { + let self = this + + + self._policyRouter.use('/', express.static(path.join(__dirname, '../dist'), { + maxAge: StaticResourceProvider.ONE_YEAR + }), { + name: 'static.dist' + }); + + return self + } +} + +module.exports = StaticResourceProvider diff --git a/ruoyi-ui/services/env.js b/ruoyi-ui/services/env.js new file mode 100644 index 0000000..4f5a0a2 --- /dev/null +++ b/ruoyi-ui/services/env.js @@ -0,0 +1,62 @@ +/** +* env service +* +* @author lizh +* +*/ + +class Environment { + constructor() { + } + + static get DEVELOPMENT_MODE() { + return 'development' + } + static get LOCAL_MODE() { + return 'local-dev' + } + static get STAGE_MODE() { + return 'stage' + } + + static get PRODUCTION_MODE() { + return 'production' + } + + static get TEST_MODE() { + return 'test' + } + + static get DEMO_MODE() { + return 'demo' + } + + static get BENCHMARK_MODE() { + return 'benchmark' + } + + setServerMode(mode) { + if (!mode) { + this.mode = Environment.DEVELOPMENT_MODE + return + } + + mode = mode.toLowerCase(); + if (mode !== Environment.LOCAL_MODE && + mode !== Environment.DEVELOPMENT_MODE && + mode !== Environment.PRODUCTION_MODE && + mode !== Environment.TEST_MODE && + mode !== Environment.DEMO_MODE && + mode !== Environment.STAGE_MODE && + mode !== Environment.BENCHMARK_MODE) { + throw Error(`Invalid environemnt mode - "${mode}", the supported mode should be "development", "production" or "stage", "demo", "benchmark"`) + } + this.mode = mode + } + + getServerMode() { + return this.mode + } +}; + +module.exports = new Environment(); diff --git a/ruoyi-ui/src/App.vue b/ruoyi-ui/src/App.vue new file mode 100644 index 0000000..29de49f --- /dev/null +++ b/ruoyi-ui/src/App.vue @@ -0,0 +1,28 @@ + + + + diff --git a/ruoyi-ui/src/api/file/filesystem.js b/ruoyi-ui/src/api/file/filesystem.js new file mode 100644 index 0000000..df824c7 --- /dev/null +++ b/ruoyi-ui/src/api/file/filesystem.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +export function ls(query) { + return request({ + url: '/filesystem/ls', + method: 'get', + params: query + }) +} diff --git a/ruoyi-ui/src/api/file/project.js b/ruoyi-ui/src/api/file/project.js new file mode 100644 index 0000000..3cc220a --- /dev/null +++ b/ruoyi-ui/src/api/file/project.js @@ -0,0 +1,52 @@ +import request from '@/utils/request' + +// 查询项目列表 +export function listProject(query) { + return request({ + url: '/file/project/list', + method: 'get', + params: query + }) +} + +// 查询项目详细 +export function getProject(id) { + return request({ + url: '/file/project/get/' + id, + method: 'get' + }) +} + +// 新增项目 +export function addProject(data) { + return request({ + url: '/file/project/add', + method: 'post', + data: data + }) +} + +// 修改项目 +export function updateProject(data) { + return request({ + url: '/file/project/edit', + method: 'post', + data: data + }) +} + +// 删除项目 +export function delProject(id) { + return request({ + url: '/file/project/remove/' + id, + method: 'post' + }) +} + +// 切换项目禁用 +export function switchDisable(id) { + return request({ + url: '/file/project/switchDisable/' + id, + method: 'post', + }) +} diff --git a/ruoyi-ui/src/api/login.js b/ruoyi-ui/src/api/login.js new file mode 100644 index 0000000..649f59c --- /dev/null +++ b/ruoyi-ui/src/api/login.js @@ -0,0 +1,59 @@ +import request from '@/utils/request' + +// 登录方法 +export function login(username, password, code, uuid) { + const data = { + username, + password, + code, + uuid + } + return request({ + url: '/login', + headers: { + isToken: false + }, + method: 'post', + data: data + }) +} + +// 注册方法 +export function register(data) { + return request({ + url: '/register', + headers: { + isToken: false + }, + method: 'post', + data: 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', + headers: { + isToken: false + }, + method: 'get', + timeout: 20000 + }) +} \ 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 0000000..faef101 --- /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/cache.js b/ruoyi-ui/src/api/monitor/cache.js new file mode 100644 index 0000000..72c5f6a --- /dev/null +++ b/ruoyi-ui/src/api/monitor/cache.js @@ -0,0 +1,57 @@ +import request from '@/utils/request' + +// 查询缓存详细 +export function getCache() { + return request({ + url: '/monitor/cache', + method: 'get' + }) +} + +// 查询缓存名称列表 +export function listCacheName() { + return request({ + url: '/monitor/cache/getNames', + method: 'get' + }) +} + +// 查询缓存键名列表 +export function listCacheKey(cacheName) { + return request({ + url: '/monitor/cache/getKeys/' + cacheName, + method: 'get' + }) +} + +// 查询缓存内容 +export function getCacheValue(cacheName, cacheKey) { + return request({ + url: '/monitor/cache/getValue/' + cacheName + '/' + cacheKey, + method: 'get' + }) +} + +// 清理指定名称缓存 +export function clearCacheName(cacheName) { + return request({ + url: '/monitor/cache/clearCacheName/' + cacheName, + method: 'delete' + }) +} + +// 清理指定键名缓存 +export function clearCacheKey(cacheKey) { + return request({ + url: '/monitor/cache/clearCacheKey/' + cacheKey, + method: 'delete' + }) +} + +// 清理全部缓存 +export function clearCacheAll() { + return request({ + url: '/monitor/cache/clearCacheAll', + method: 'delete' + }) +} diff --git a/ruoyi-ui/src/api/monitor/job.js b/ruoyi-ui/src/api/monitor/job.js new file mode 100644 index 0000000..3815569 --- /dev/null +++ b/ruoyi-ui/src/api/monitor/job.js @@ -0,0 +1,71 @@ +import request from '@/utils/request' + +// 查询定时任务调度列表 +export function listJob(query) { + return request({ + url: '/monitor/job/list', + method: 'get', + params: query + }) +} + +// 查询定时任务调度详细 +export function getJob(jobId) { + return request({ + url: '/monitor/job/' + jobId, + method: 'get' + }) +} + +// 新增定时任务调度 +export function addJob(data) { + return request({ + url: '/monitor/job', + method: 'post', + data: data + }) +} + +// 修改定时任务调度 +export function updateJob(data) { + return request({ + url: '/monitor/job', + method: 'put', + data: data + }) +} + +// 删除定时任务调度 +export function delJob(jobId) { + return request({ + url: '/monitor/job/' + jobId, + method: 'delete' + }) +} + +// 任务状态修改 +export function changeJobStatus(jobId, status) { + const data = { + jobId, + status + } + return request({ + url: '/monitor/job/changeStatus', + method: 'put', + data: data + }) +} + + +// 定时任务立即执行一次 +export function runJob(jobId, jobGroup) { + const data = { + jobId, + jobGroup + } + return request({ + url: '/monitor/job/run', + method: 'put', + data: data + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/api/monitor/jobLog.js b/ruoyi-ui/src/api/monitor/jobLog.js new file mode 100644 index 0000000..6e0be61 --- /dev/null +++ b/ruoyi-ui/src/api/monitor/jobLog.js @@ -0,0 +1,26 @@ +import request from '@/utils/request' + +// 查询调度日志列表 +export function listJobLog(query) { + return request({ + url: '/monitor/jobLog/list', + method: 'get', + params: query + }) +} + +// 删除调度日志 +export function delJobLog(jobLogId) { + return request({ + url: '/monitor/jobLog/' + jobLogId, + method: 'delete' + }) +} + +// 清空调度日志 +export function cleanJobLog() { + return request({ + url: '/monitor/jobLog/clean', + method: 'delete' + }) +} diff --git a/ruoyi-ui/src/api/monitor/logininfor.js b/ruoyi-ui/src/api/monitor/logininfor.js new file mode 100644 index 0000000..4d112b7 --- /dev/null +++ b/ruoyi-ui/src/api/monitor/logininfor.js @@ -0,0 +1,34 @@ +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 unlockLogininfor(userName) { + return request({ + url: '/monitor/logininfor/unlock/' + userName, + method: 'get' + }) +} + +// 清空登录日志 +export function cleanLogininfor() { + return request({ + url: '/monitor/logininfor/clean', + method: 'delete' + }) +} diff --git a/ruoyi-ui/src/api/monitor/online.js b/ruoyi-ui/src/api/monitor/online.js new file mode 100644 index 0000000..2a483dd --- /dev/null +++ b/ruoyi-ui/src/api/monitor/online.js @@ -0,0 +1,26 @@ +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' + }) +} + +// 强刷新用户 +export function forceFlush(tokenId) { + return request({ + url: '/monitor/online/flush/' + tokenId, + method: 'post' + }) +} diff --git a/ruoyi-ui/src/api/monitor/operlog.js b/ruoyi-ui/src/api/monitor/operlog.js new file mode 100644 index 0000000..a04bca8 --- /dev/null +++ b/ruoyi-ui/src/api/monitor/operlog.js @@ -0,0 +1,26 @@ +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' + }) +} diff --git a/ruoyi-ui/src/api/monitor/server.js b/ruoyi-ui/src/api/monitor/server.js new file mode 100644 index 0000000..e1f9ca2 --- /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 0000000..a404d82 --- /dev/null +++ b/ruoyi-ui/src/api/system/config.js @@ -0,0 +1,60 @@ +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 refreshCache() { + return request({ + url: '/system/config/refreshCache', + method: 'delete' + }) +} diff --git a/ruoyi-ui/src/api/system/dept.js b/ruoyi-ui/src/api/system/dept.js new file mode 100644 index 0000000..fc943cd --- /dev/null +++ b/ruoyi-ui/src/api/system/dept.js @@ -0,0 +1,52 @@ +import request from '@/utils/request' + +// 查询部门列表 +export function listDept(query) { + return request({ + url: '/system/dept/list', + method: 'get', + params: query + }) +} + +// 查询部门列表(排除节点) +export function listDeptExcludeChild(deptId) { + return request({ + url: '/system/dept/list/exclude/' + deptId, + method: 'get' + }) +} + +// 查询部门详细 +export function getDept(deptId) { + return request({ + url: '/system/dept/' + deptId, + 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 0000000..6c9eb79 --- /dev/null +++ b/ruoyi-ui/src/api/system/dict/data.js @@ -0,0 +1,52 @@ +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/type/' + 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' + }) +} 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 0000000..a7a6e01 --- /dev/null +++ b/ruoyi-ui/src/api/system/dict/type.js @@ -0,0 +1,60 @@ +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 refreshCache() { + return request({ + url: '/system/dict/type/refreshCache', + method: 'delete' + }) +} + +// 获取字典选择框列表 +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 0000000..f6415c6 --- /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 0000000..c274ea5 --- /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 0000000..1a8e9ca --- /dev/null +++ b/ruoyi-ui/src/api/system/post.js @@ -0,0 +1,44 @@ +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' + }) +} diff --git a/ruoyi-ui/src/api/system/role.js b/ruoyi-ui/src/api/system/role.js new file mode 100644 index 0000000..f13e6f4 --- /dev/null +++ b/ruoyi-ui/src/api/system/role.js @@ -0,0 +1,119 @@ +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 allocatedUserList(query) { + return request({ + url: '/system/role/authUser/allocatedList', + method: 'get', + params: query + }) +} + +// 查询角色未授权用户列表 +export function unallocatedUserList(query) { + return request({ + url: '/system/role/authUser/unallocatedList', + method: 'get', + params: query + }) +} + +// 取消用户授权角色 +export function authUserCancel(data) { + return request({ + url: '/system/role/authUser/cancel', + method: 'put', + data: data + }) +} + +// 批量取消用户授权角色 +export function authUserCancelAll(data) { + return request({ + url: '/system/role/authUser/cancelAll', + method: 'put', + params: data + }) +} + +// 授权用户选择 +export function authUserSelectAll(data) { + return request({ + url: '/system/role/authUser/selectAll', + method: 'put', + params: data + }) +} + +// 根据角色ID查询部门树结构 +export function deptTreeSelect(roleId) { + return request({ + url: '/system/role/deptTree/' + roleId, + method: 'get' + }) +} diff --git a/ruoyi-ui/src/api/system/user.js b/ruoyi-ui/src/api/system/user.js new file mode 100644 index 0000000..7327bff --- /dev/null +++ b/ruoyi-ui/src/api/system/user.js @@ -0,0 +1,156 @@ +import request from '@/utils/request' +import { parseStrEmpty } 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/' + parseStrEmpty(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 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 getAuthRole(userId) { + return request({ + url: '/system/user/authRole/' + userId, + method: 'get' + }) +} + +// 保存授权角色 +export function updateAuthRole(data) { + return request({ + url: '/system/user/authRole', + method: 'put', + params: data + }) +} + +// 查询部门下拉树结构 +export function deptTreeSelect(query) { + return request({ + url: '/system/user/deptTree', + method: 'get', + params: query, + }) +} + +// 撤销认证 +export function revokeAuth(userId) { + let fd = new FormData; + fd.set('userId', userId); + return request({ + url: '/system/user/revokeAuth', + method: 'post', + data: fd + }) +} + +// 查询用户列表 +export function listUserDetail(query) { + return request({ + url: '/system/user/detailList', + method: 'get', + params: query + }) +} diff --git a/ruoyi-ui/src/api/tool/gen.js b/ruoyi-ui/src/api/tool/gen.js new file mode 100644 index 0000000..4506927 --- /dev/null +++ b/ruoyi-ui/src/api/tool/gen.js @@ -0,0 +1,76 @@ +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' + }) +} + +// 生成代码(自定义路径) +export function genCode(tableName) { + return request({ + url: '/tool/gen/genCode/' + tableName, + method: 'get' + }) +} + +// 同步数据库 +export function synchDb(tableName) { + return request({ + url: '/tool/gen/synchDb/' + tableName, + method: 'get' + }) +} 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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⋘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 GY5fOuZZib{ literal 0 HcmV?d00001 diff --git a/ruoyi-ui/src/assets/404_images/404.png b/ruoyi-ui/src/assets/404_images/404.png new file mode 100644 index 0000000000000000000000000000000000000000..3d8e2305cc973ad2121403aee4bf08728f76c461 GIT binary patch literal 98071 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 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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 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 0000000..2c6b309 --- /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 0000000..6df5019 --- /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 0000000..05a150d --- /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 0000000..97c4688 --- /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/button.svg b/ruoyi-ui/src/assets/icons/svg/button.svg new file mode 100644 index 0000000..904fddc --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/button.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/cascader.svg b/ruoyi-ui/src/assets/icons/svg/cascader.svg new file mode 100644 index 0000000..e256024 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/cascader.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 0000000..27728fb --- /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/checkbox.svg b/ruoyi-ui/src/assets/icons/svg/checkbox.svg new file mode 100644 index 0000000..013fd3a --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/checkbox.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 0000000..90923ff --- /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 0000000..5f9c5ab --- /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/color.svg b/ruoyi-ui/src/assets/icons/svg/color.svg new file mode 100644 index 0000000..44a81aa --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/color.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 0000000..29c3458 --- /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 0000000..5317d37 --- /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-range.svg b/ruoyi-ui/src/assets/icons/svg/date-range.svg new file mode 100644 index 0000000..fda571e --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/date-range.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 0000000..52dc73e --- /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 0000000..4849377 --- /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 0000000..7043122 --- /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 0000000..c896951 --- /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 0000000..4185d3c --- /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 0000000..a2b4b4e --- /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 0000000..d26101f --- /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 0000000..7bfb01d --- /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 0000000..74d25e2 --- /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 0000000..46f42b5 --- /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 0000000..74d97b8 --- /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 0000000..485c128 --- /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 0000000..88dcc98 --- /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 0000000..16ed2d8 --- /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 0000000..dcbaa18 --- /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 0000000..0e86b6f --- /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/github.svg b/ruoyi-ui/src/assets/icons/svg/github.svg new file mode 100644 index 0000000..db0a0d4 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/github.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 0000000..b271001 --- /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 0000000..82be8ee --- /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/input.svg b/ruoyi-ui/src/assets/icons/svg/input.svg new file mode 100644 index 0000000..ab91381 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/input.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 0000000..e9b56ee --- /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 0000000..2a93a25 --- /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 0000000..0082b57 --- /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 0000000..48197ba --- /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 0000000..20259ed --- /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 0000000..74fee54 --- /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 0000000..d879d33 --- /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 0000000..267f844 --- /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 0000000..14ca817 --- /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 0000000..c1580de --- /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 0000000..bc308cb --- /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 0000000..06713a8 --- /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/number.svg b/ruoyi-ui/src/assets/icons/svg/number.svg new file mode 100644 index 0000000..ad5ce9a --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/number.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 0000000..330a202 --- /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 0000000..6c64def --- /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 0000000..957aa0c --- /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 0000000..2bd54ae --- /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 0000000..aab852e --- /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 0000000..ab8e8c4 --- /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 0000000..2922c61 --- /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 0000000..ee13d4e --- /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/question.svg b/ruoyi-ui/src/assets/icons/svg/question.svg new file mode 100644 index 0000000..cf75bd4 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/question.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/radio.svg b/ruoyi-ui/src/assets/icons/svg/radio.svg new file mode 100644 index 0000000..0cde345 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/radio.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/rate.svg b/ruoyi-ui/src/assets/icons/svg/rate.svg new file mode 100644 index 0000000..aa3b14d --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/rate.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/redis-list.svg b/ruoyi-ui/src/assets/icons/svg/redis-list.svg new file mode 100644 index 0000000..98a15b2 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/redis-list.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/redis.svg b/ruoyi-ui/src/assets/icons/svg/redis.svg new file mode 100644 index 0000000..2f1d62d --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/redis.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/row.svg b/ruoyi-ui/src/assets/icons/svg/row.svg new file mode 100644 index 0000000..0780992 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/row.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 0000000..84233dd --- /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/select.svg b/ruoyi-ui/src/assets/icons/svg/select.svg new file mode 100644 index 0000000..d628382 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/select.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 0000000..eb287e3 --- /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 0000000..87513e7 --- /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 0000000..ddb25b8 --- /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 0000000..a3b7312 --- /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/slider.svg b/ruoyi-ui/src/assets/icons/svg/slider.svg new file mode 100644 index 0000000..fbe4f39 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/slider.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 0000000..6cf86e6 --- /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 0000000..05d4e7b --- /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/switch.svg b/ruoyi-ui/src/assets/icons/svg/switch.svg new file mode 100644 index 0000000..0ba61e3 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/switch.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 0000000..5992593 --- /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 0000000..b4b48e4 --- /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 0000000..0e3dc9d --- /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/textarea.svg b/ruoyi-ui/src/assets/icons/svg/textarea.svg new file mode 100644 index 0000000..2709f29 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/textarea.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 0000000..5982a2f --- /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/time-range.svg b/ruoyi-ui/src/assets/icons/svg/time-range.svg new file mode 100644 index 0000000..13c1202 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/time-range.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/time.svg b/ruoyi-ui/src/assets/icons/svg/time.svg new file mode 100644 index 0000000..b376e32 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/time.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 0000000..48e0e35 --- /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 0000000..8aafdb8 --- /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 0000000..dd4b7dd --- /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/upload.svg b/ruoyi-ui/src/assets/icons/svg/upload.svg new file mode 100644 index 0000000..bae49c0 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/upload.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 0000000..0ba0716 --- /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 0000000..cfb1021 --- /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 0000000..c586e55 --- /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 0000000..f806fc4 --- /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 0000000..d11906a --- /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/images/dark.svg b/ruoyi-ui/src/assets/images/dark.svg new file mode 100644 index 0000000..f646bd7 --- /dev/null +++ b/ruoyi-ui/src/assets/images/dark.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/images/index_icon.png b/ruoyi-ui/src/assets/images/index_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3cfeae6e90178bce1c223c3a82af2619cc932b15 GIT binary patch literal 65764 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-ui/src/assets/images/login-background.jpg b/ruoyi-ui/src/assets/images/login-background.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a279fc37f6c8434a1c6c24a8a2a63638220b486e GIT binary patch literal 596204 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 LhPsNPT7D_$`_@Peqm9GUXVd0d26f?9e$r>J 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%0Ax%?au%46P+|{O7U} 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

UP0D#IGv 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�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

^- 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%0A%8mp=nl*)v`x0I!#AwklHF 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 |6)?95yOsDMtDxAM-KL0AY-xpYT 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 z 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 vPok;F)*{# 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 DPqhcR literal 0 HcmV?d00001 diff --git a/ruoyi-ui/src/assets/images/profile.jpg b/ruoyi-ui/src/assets/images/profile.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b3a940b21cc9dcea01e62d94e243eebcf76d96bc GIT binary patch literal 81131 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 z≺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 literal 0 HcmV?d00001 diff --git a/ruoyi-ui/src/assets/logo/logo.png b/ruoyi-ui/src/assets/logo/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..32bbe848b0149d5997fb8aca4f4e934ba716944b GIT binary patch literal 4012 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 literal 0 HcmV?d00001 diff --git a/ruoyi-ui/src/assets/styles/btn.scss b/ruoyi-ui/src/assets/styles/btn.scss new file mode 100644 index 0000000..e6ba1a8 --- /dev/null +++ b/ruoyi-ui/src/assets/styles/btn.scss @@ -0,0 +1,99 @@ +@import './variables.scss'; + +@mixin colorBtn($color) { + background: $color; + + &:hover { + color: $color; + + &:before, + &:after { + background: $color; + } + } +} + +.blue-btn { + @include colorBtn($blue) +} + +.light-blue-btn { + @include colorBtn($light-blue) +} + +.red-btn { + @include colorBtn($red) +} + +.pink-btn { + @include colorBtn($pink) +} + +.green-btn { + @include colorBtn($green) +} + +.tiffany-btn { + @include colorBtn($tiffany) +} + +.yellow-btn { + @include colorBtn($yellow) +} + +.pan-btn { + font-size: 14px; + color: #fff; + padding: 14px 36px; + border-radius: 8px; + border: none; + outline: none; + transition: 600ms ease all; + position: relative; + display: inline-block; + + &:hover { + background: #fff; + + &:before, + &:after { + width: 100%; + transition: 600ms ease all; + } + } + + &:before, + &:after { + content: ''; + position: absolute; + top: 0; + right: 0; + height: 2px; + width: 0; + transition: 400ms ease all; + } + + &::after { + right: inherit; + top: inherit; + left: 0; + bottom: 0; + } +} + +.custom-button { + display: inline-block; + line-height: 1; + white-space: nowrap; + cursor: pointer; + background: #fff; + color: #fff; + -webkit-appearance: none; + text-align: center; + box-sizing: border-box; + outline: 0; + margin: 0; + padding: 10px 15px; + font-size: 14px; + border-radius: 4px; +} diff --git a/ruoyi-ui/src/assets/styles/element-ui.scss b/ruoyi-ui/src/assets/styles/element-ui.scss new file mode 100644 index 0000000..363092a --- /dev/null +++ b/ruoyi-ui/src/assets/styles/element-ui.scss @@ -0,0 +1,92 @@ +// cover some element-ui styles + +.el-breadcrumb__inner, +.el-breadcrumb__inner a { + font-weight: 400 !important; +} + +.el-upload { + input[type="file"] { + display: none !important; + } +} + +.el-upload__input { + display: none; +} + +.cell { + .el-tag { + margin-right: 0px; + } +} + +.small-padding { + .cell { + padding-left: 5px; + padding-right: 5px; + } +} + +.fixed-width { + .el-button--mini { + padding: 7px 10px; + width: 60px; + } +} + +.status-col { + .cell { + padding: 0 10px; + text-align: center; + + .el-tag { + margin-right: 0px; + } + } +} + +// to fixed https://github.com/ElemeFE/element/issues/2461 +.el-dialog { + transform: none; + left: 0; + position: relative; + margin: 0 auto; +} + +// refine element ui upload +.upload-container { + .el-upload { + width: 100%; + + .el-upload-dragger { + width: 100%; + height: 200px; + } + } +} + +// dropdown +.el-dropdown-menu { + a { + display: block + } +} + +// fix date-picker ui bug in filter-item +.el-range-editor.el-input__inner { + display: inline-flex !important; +} + +// to fix el-date-picker css style +.el-range-separator { + box-sizing: content-box; +} + +.el-menu--collapse + > div + > .el-submenu + > .el-submenu__title + .el-submenu__icon-arrow { + display: none; +} \ No newline at end of file diff --git a/ruoyi-ui/src/assets/styles/element-variables.scss b/ruoyi-ui/src/assets/styles/element-variables.scss new file mode 100644 index 0000000..1615ff2 --- /dev/null +++ b/ruoyi-ui/src/assets/styles/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #1890ff; +$--color-success: #13ce66; +$--color-warning: #ffba00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; + +$--border-color-light: #dfe4ed; +$--border-color-lighter: #e6ebf5; + +$--table-border: 1px solid #dfe6ec; + +/* icon font path, required */ +$--font-path: '~element-ui/lib/theme-chalk/fonts'; + +@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/ruoyi-ui/src/assets/styles/index.scss b/ruoyi-ui/src/assets/styles/index.scss new file mode 100644 index 0000000..2f3b9ef --- /dev/null +++ b/ruoyi-ui/src/assets/styles/index.scss @@ -0,0 +1,182 @@ +@import './variables.scss'; +@import './mixin.scss'; +@import './transition.scss'; +@import './element-ui.scss'; +@import './sidebar.scss'; +@import './btn.scss'; + +body { + height: 100%; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + text-rendering: optimizeLegibility; + font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif; +} + +label { + font-weight: 700; +} + +html { + height: 100%; + box-sizing: border-box; +} + +#app { + height: 100%; +} + +*, +*:before, +*:after { + box-sizing: inherit; +} + +.no-padding { + padding: 0px !important; +} + +.padding-content { + padding: 4px 0; +} + +a:focus, +a:active { + outline: none; +} + +a, +a:focus, +a:hover { + cursor: pointer; + color: inherit; + text-decoration: none; +} + +div:focus { + outline: none; +} + +.fr { + float: right; +} + +.fl { + float: left; +} + +.pr-5 { + padding-right: 5px; +} + +.pl-5 { + padding-left: 5px; +} + +.block { + display: block; +} + +.pointer { + cursor: pointer; +} + +.inlineBlock { + display: block; +} + +.clearfix { + &:after { + visibility: hidden; + display: block; + font-size: 0; + content: " "; + clear: both; + height: 0; + } +} + +aside { + background: #eef1f6; + padding: 8px 24px; + margin-bottom: 20px; + border-radius: 2px; + display: block; + line-height: 32px; + font-size: 16px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; + color: #2c3e50; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + + a { + color: #337ab7; + cursor: pointer; + + &:hover { + color: rgb(32, 160, 255); + } + } +} + +//main-container全局样式 +.app-container { + padding: 20px; +} + +.components-container { + margin: 30px 50px; + position: relative; +} + +.pagination-container { + margin-top: 30px; +} + +.text-center { + text-align: center +} + +.sub-navbar { + height: 50px; + line-height: 50px; + position: relative; + width: 100%; + text-align: right; + padding-right: 20px; + transition: 600ms ease position; + background: linear-gradient(90deg, rgba(32, 182, 249, 1) 0%, rgba(32, 182, 249, 1) 0%, rgba(33, 120, 241, 1) 100%, rgba(33, 120, 241, 1) 100%); + + .subtitle { + font-size: 20px; + color: #fff; + } + + &.draft { + background: #d0d0d0; + } + + &.deleted { + background: #d0d0d0; + } +} + +.link-type, +.link-type:focus { + color: #337ab7; + cursor: pointer; + + &:hover { + color: rgb(32, 160, 255); + } +} + +.filter-container { + padding-bottom: 10px; + + .filter-item { + display: inline-block; + vertical-align: middle; + margin-bottom: 10px; + } +} diff --git a/ruoyi-ui/src/assets/styles/mixin.scss b/ruoyi-ui/src/assets/styles/mixin.scss new file mode 100644 index 0000000..06fa061 --- /dev/null +++ b/ruoyi-ui/src/assets/styles/mixin.scss @@ -0,0 +1,66 @@ +@mixin clearfix { + &:after { + content: ""; + display: table; + clear: both; + } +} + +@mixin scrollBar { + &::-webkit-scrollbar-track-piece { + background: #d3dce6; + } + + &::-webkit-scrollbar { + width: 6px; + } + + &::-webkit-scrollbar-thumb { + background: #99a9bf; + border-radius: 20px; + } +} + +@mixin relative { + position: relative; + width: 100%; + height: 100%; +} + +@mixin pct($pct) { + width: #{$pct}; + position: relative; + margin: 0 auto; +} + +@mixin triangle($width, $height, $color, $direction) { + $width: $width/2; + $color-border-style: $height solid $color; + $transparent-border-style: $width solid transparent; + height: 0; + width: 0; + + @if $direction==up { + border-bottom: $color-border-style; + border-left: $transparent-border-style; + border-right: $transparent-border-style; + } + + @else if $direction==right { + border-left: $color-border-style; + border-top: $transparent-border-style; + border-bottom: $transparent-border-style; + } + + @else if $direction==down { + border-top: $color-border-style; + border-left: $transparent-border-style; + border-right: $transparent-border-style; + } + + @else if $direction==left { + border-right: $color-border-style; + border-top: $transparent-border-style; + border-bottom: $transparent-border-style; + } +} diff --git a/ruoyi-ui/src/assets/styles/ruoyi.scss b/ruoyi-ui/src/assets/styles/ruoyi.scss new file mode 100644 index 0000000..db8c29b --- /dev/null +++ b/ruoyi-ui/src/assets/styles/ruoyi.scss @@ -0,0 +1,277 @@ + /** + * 通用css样式布局处理 + * Copyright (c) 2019 ruoyi + */ + + /** 基础通用 **/ +.pt5 { + padding-top: 5px; +} +.pr5 { + padding-right: 5px; +} +.pb5 { + padding-bottom: 5px; +} +.mt5 { + margin-top: 5px; +} +.mr5 { + margin-right: 5px; +} +.mb5 { + margin-bottom: 5px; +} +.mb8 { + margin-bottom: 8px; +} +.ml5 { + margin-left: 5px; +} +.mt10 { + margin-top: 10px; +} +.mr10 { + margin-right: 10px; +} +.mb10 { + margin-bottom: 10px; +} +.ml10 { + margin-left: 10px; +} +.mt20 { + margin-top: 20px; +} +.mr20 { + margin-right: 20px; +} +.mb20 { + margin-bottom: 20px; +} +.ml20 { + margin-left: 20px; +} + +.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} + +.el-message-box__status + .el-message-box__message{ + word-break: break-word; +} + +.el-dialog:not(.is-fullscreen) { + margin-top: 6vh !important; +} + +.el-dialog__wrapper.scrollbar .el-dialog .el-dialog__body { + overflow: auto; + overflow-x: hidden; + max-height: 70vh; + padding: 10px 20px 0; +} + +.el-table { + .el-table__header-wrapper, .el-table__fixed-header-wrapper { + th { + word-break: break-word; + background-color: #f8f8f9; + color: #515a6e; + height: 40px; + font-size: 13px; + } + } + .el-table__body-wrapper { + .el-button [class*="el-icon-"] + span { + margin-left: 1px; + } + } +} + +/** 表单布局 **/ +.form-header { + font-size:15px; + color:#6379bb; + border-bottom:1px solid #ddd; + margin:8px 10px 25px 10px; + padding-bottom:5px +} + +/** 表格布局 **/ +.pagination-container { + position: relative; + height: 25px; + margin-bottom: 10px; + margin-top: 15px; + padding: 10px 20px !important; +} + +/* tree border */ +.tree-border { + margin-top: 5px; + border: 1px solid #e5e6e7; + background: #FFFFFF none; + border-radius:4px; +} + +.pagination-container .el-pagination { + right: 0; + position: absolute; +} + +@media ( max-width : 768px) { + .pagination-container .el-pagination > .el-pagination__jump { + display: none !important; + } + .pagination-container .el-pagination > .el-pagination__sizes { + display: none !important; + } +} + +.el-table .fixed-width .el-button--mini { + padding-left: 0; + padding-right: 0; + width: inherit; +} + +/** 表格更多操作下拉样式 */ +.el-table .el-dropdown-link,.el-table .el-dropdown-selfdefine { + cursor: pointer; + margin-left: 5px; +} + +.el-table .el-dropdown, .el-icon-arrow-down { + font-size: 12px; +} + +.el-tree-node__content > .el-checkbox { + margin-right: 8px; +} + +.list-group-striped > .list-group-item { + border-left: 0; + border-right: 0; + border-radius: 0; + padding-left: 0; + padding-right: 0; +} + +.list-group { + padding-left: 0px; + list-style: none; +} + +.list-group-item { + border-bottom: 1px solid #e7eaec; + border-top: 1px solid #e7eaec; + margin-bottom: -1px; + padding: 11px 0px; + font-size: 13px; +} + +.pull-right { + float: right !important; +} + +.el-card__header { + padding: 14px 15px 7px; + min-height: 40px; +} + +.el-card__body { + padding: 15px 20px 20px 20px; +} + +.card-box { + padding-right: 15px; + padding-left: 15px; + margin-bottom: 10px; +} + +/* button color */ +.el-button--cyan.is-active, +.el-button--cyan:active { + background: #20B2AA; + border-color: #20B2AA; + color: #FFFFFF; +} + +.el-button--cyan:focus, +.el-button--cyan:hover { + background: #48D1CC; + border-color: #48D1CC; + color: #FFFFFF; +} + +.el-button--cyan { + background-color: #20B2AA; + border-color: #20B2AA; + color: #FFFFFF; +} + +/* text color */ +.text-navy { + color: #1ab394; +} + +.text-primary { + color: inherit; +} + +.text-success { + color: #1c84c6; +} + +.text-info { + color: #23c6c8; +} + +.text-warning { + color: #f8ac59; +} + +.text-danger { + color: #ed5565; +} + +.text-muted { + color: #888888; +} + +/* image */ +.img-circle { + border-radius: 50%; +} + +.img-lg { + width: 120px; + height: 120px; +} + +.avatar-upload-preview { + position: relative; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 200px; + height: 200px; + border-radius: 50%; + box-shadow: 0 0 4px #ccc; + overflow: hidden; +} + +/* 拖拽列样式 */ +.sortable-ghost{ + opacity: .8; + color: #fff!important; + background: #42b983!important; +} + +.top-right-btn { + position: relative; + float: right; +} diff --git a/ruoyi-ui/src/assets/styles/sidebar.scss b/ruoyi-ui/src/assets/styles/sidebar.scss new file mode 100644 index 0000000..abe5b63 --- /dev/null +++ b/ruoyi-ui/src/assets/styles/sidebar.scss @@ -0,0 +1,227 @@ +#app { + + .main-container { + height: 100%; + transition: margin-left .28s; + margin-left: $base-sidebar-width; + position: relative; + } + + .sidebarHide { + margin-left: 0!important; + } + + .sidebar-container { + -webkit-transition: width .28s; + transition: width 0.28s; + width: $base-sidebar-width !important; + background-color: $base-menu-background; + height: 100%; + position: fixed; + font-size: 0px; + top: 0; + bottom: 0; + left: 0; + z-index: 1001; + overflow: hidden; + -webkit-box-shadow: 2px 0 6px rgba(0,21,41,.35); + box-shadow: 2px 0 6px rgba(0,21,41,.35); + + // reset element-ui css + .horizontal-collapse-transition { + transition: 0s width ease-in-out, 0s padding-left ease-in-out, 0s padding-right ease-in-out; + } + + .scrollbar-wrapper { + overflow-x: hidden !important; + } + + .el-scrollbar__bar.is-vertical { + right: 0px; + } + + .el-scrollbar { + height: 100%; + } + + &.has-logo { + .el-scrollbar { + height: calc(100% - 50px); + } + } + + .is-horizontal { + display: none; + } + + a { + display: inline-block; + width: 100%; + overflow: hidden; + } + + .svg-icon { + margin-right: 16px; + } + + .el-menu { + border: none; + height: 100%; + width: 100% !important; + } + + .el-menu-item, .el-submenu__title { + overflow: hidden !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; + } + + // menu hover + .submenu-title-noDropdown, + .el-submenu__title { + &:hover { + background-color: rgba(0, 0, 0, 0.06) !important; + } + } + + & .theme-dark .is-active > .el-submenu__title { + color: $base-menu-color-active !important; + } + + & .nest-menu .el-submenu>.el-submenu__title, + & .el-submenu .el-menu-item { + min-width: $base-sidebar-width !important; + + &:hover { + background-color: rgba(0, 0, 0, 0.06) !important; + } + } + + & .theme-dark .nest-menu .el-submenu>.el-submenu__title, + & .theme-dark .el-submenu .el-menu-item { + background-color: $base-sub-menu-background !important; + + &:hover { + background-color: $base-sub-menu-hover !important; + } + } + } + + .hideSidebar { + .sidebar-container { + width: 54px !important; + } + + .main-container { + margin-left: 54px; + } + + .submenu-title-noDropdown { + padding: 0 !important; + position: relative; + + .el-tooltip { + padding: 0 !important; + + .svg-icon { + margin-left: 20px; + } + } + } + + .el-submenu { + overflow: hidden; + + &>.el-submenu__title { + padding: 0 !important; + + .svg-icon { + margin-left: 20px; + } + + } + } + + .el-menu--collapse { + .el-submenu { + &>.el-submenu__title { + &>span { + height: 0; + width: 0; + overflow: hidden; + visibility: hidden; + display: inline-block; + } + } + } + } + } + + .el-menu--collapse .el-menu .el-submenu { + min-width: $base-sidebar-width !important; + } + + // mobile responsive + .mobile { + .main-container { + margin-left: 0px; + } + + .sidebar-container { + transition: transform .28s; + width: $base-sidebar-width !important; + } + + &.hideSidebar { + .sidebar-container { + pointer-events: none; + transition-duration: 0.3s; + transform: translate3d(-$base-sidebar-width, 0, 0); + } + } + } + + .withoutAnimation { + + .main-container, + .sidebar-container { + transition: none; + } + } +} + +// when menu collapsed +.el-menu--vertical { + &>.el-menu { + .svg-icon { + margin-right: 16px; + } + } + + .nest-menu .el-submenu>.el-submenu__title, + .el-menu-item { + &:hover { + // you can use $subMenuHover + background-color: rgba(0, 0, 0, 0.06) !important; + } + } + + // the scroll bar appears when the subMenu is too long + >.el-menu--popup { + max-height: 100vh; + overflow-y: auto; + + &::-webkit-scrollbar-track-piece { + background: #d3dce6; + } + + &::-webkit-scrollbar { + width: 6px; + } + + &::-webkit-scrollbar-thumb { + background: #99a9bf; + border-radius: 20px; + } + } +} diff --git a/ruoyi-ui/src/assets/styles/transition.scss b/ruoyi-ui/src/assets/styles/transition.scss new file mode 100644 index 0000000..073f8c6 --- /dev/null +++ b/ruoyi-ui/src/assets/styles/transition.scss @@ -0,0 +1,49 @@ +// global transition css + +/* fade */ +.fade-enter-active, +.fade-leave-active { + transition: opacity 0.28s; +} + +.fade-enter, +.fade-leave-active { + opacity: 0; +} + +/* fade-transform */ +.fade-transform--move, +.fade-transform-leave-active, +.fade-transform-enter-active { + transition: all .5s; +} + +.fade-transform-enter { + opacity: 0; + transform: translateX(-30px); +} + +.fade-transform-leave-to { + opacity: 0; + transform: translateX(30px); +} + +/* breadcrumb transition */ +.breadcrumb-enter-active, +.breadcrumb-leave-active { + transition: all .5s; +} + +.breadcrumb-enter, +.breadcrumb-leave-active { + opacity: 0; + transform: translateX(20px); +} + +.breadcrumb-move { + transition: all .5s; +} + +.breadcrumb-leave-active { + position: absolute; +} diff --git a/ruoyi-ui/src/assets/styles/variables.scss b/ruoyi-ui/src/assets/styles/variables.scss new file mode 100644 index 0000000..34484d4 --- /dev/null +++ b/ruoyi-ui/src/assets/styles/variables.scss @@ -0,0 +1,54 @@ +// base color +$blue:#324157; +$light-blue:#3A71A8; +$red:#C03639; +$pink: #E65D6E; +$green: #30B08F; +$tiffany: #4AB7BD; +$yellow:#FEC171; +$panGreen: #30B08F; + +// 默认菜单主题风格 +$base-menu-color:#bfcbd9; +$base-menu-color-active:#f4f4f5; +$base-menu-background:#304156; +$base-logo-title-color: #ffffff; + +$base-menu-light-color:rgba(0,0,0,.70); +$base-menu-light-background:#ffffff; +$base-logo-light-title-color: #001529; + +$base-sub-menu-background:#1f2d3d; +$base-sub-menu-hover:#001528; + +// 自定义暗色菜单风格 +/** +$base-menu-color:hsla(0,0%,100%,.65); +$base-menu-color-active:#fff; +$base-menu-background:#001529; +$base-logo-title-color: #ffffff; + +$base-menu-light-color:rgba(0,0,0,.70); +$base-menu-light-background:#ffffff; +$base-logo-light-title-color: #001529; + +$base-sub-menu-background:#000c17; +$base-sub-menu-hover:#001528; +*/ + +$base-sidebar-width: 200px; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + menuColor: $base-menu-color; + menuLightColor: $base-menu-light-color; + menuColorActive: $base-menu-color-active; + menuBackground: $base-menu-background; + menuLightBackground: $base-menu-light-background; + subMenuBackground: $base-sub-menu-background; + subMenuHover: $base-sub-menu-hover; + sideBarWidth: $base-sidebar-width; + logoTitleColor: $base-logo-title-color; + logoLightTitleColor: $base-logo-light-title-color +} diff --git a/ruoyi-ui/src/components/Breadcrumb/index.vue b/ruoyi-ui/src/components/Breadcrumb/index.vue new file mode 100644 index 0000000..1696f54 --- /dev/null +++ b/ruoyi-ui/src/components/Breadcrumb/index.vue @@ -0,0 +1,74 @@ + + + + + diff --git a/ruoyi-ui/src/components/Crontab/day.vue b/ruoyi-ui/src/components/Crontab/day.vue new file mode 100644 index 0000000..fe3eaf0 --- /dev/null +++ b/ruoyi-ui/src/components/Crontab/day.vue @@ -0,0 +1,161 @@ + + + diff --git a/ruoyi-ui/src/components/Crontab/hour.vue b/ruoyi-ui/src/components/Crontab/hour.vue new file mode 100644 index 0000000..4b1f1fc --- /dev/null +++ b/ruoyi-ui/src/components/Crontab/hour.vue @@ -0,0 +1,114 @@ + + + diff --git a/ruoyi-ui/src/components/Crontab/index.vue b/ruoyi-ui/src/components/Crontab/index.vue new file mode 100644 index 0000000..3963df2 --- /dev/null +++ b/ruoyi-ui/src/components/Crontab/index.vue @@ -0,0 +1,430 @@ + + + + diff --git a/ruoyi-ui/src/components/Crontab/min.vue b/ruoyi-ui/src/components/Crontab/min.vue new file mode 100644 index 0000000..43cab90 --- /dev/null +++ b/ruoyi-ui/src/components/Crontab/min.vue @@ -0,0 +1,116 @@ + + + \ No newline at end of file diff --git a/ruoyi-ui/src/components/Crontab/month.vue b/ruoyi-ui/src/components/Crontab/month.vue new file mode 100644 index 0000000..fd0ac38 --- /dev/null +++ b/ruoyi-ui/src/components/Crontab/month.vue @@ -0,0 +1,114 @@ + + + diff --git a/ruoyi-ui/src/components/Crontab/result.vue b/ruoyi-ui/src/components/Crontab/result.vue new file mode 100644 index 0000000..aea6e0e --- /dev/null +++ b/ruoyi-ui/src/components/Crontab/result.vue @@ -0,0 +1,559 @@ + + + diff --git a/ruoyi-ui/src/components/Crontab/second.vue b/ruoyi-ui/src/components/Crontab/second.vue new file mode 100644 index 0000000..e7b7761 --- /dev/null +++ b/ruoyi-ui/src/components/Crontab/second.vue @@ -0,0 +1,117 @@ + + + diff --git a/ruoyi-ui/src/components/Crontab/week.vue b/ruoyi-ui/src/components/Crontab/week.vue new file mode 100644 index 0000000..1cec700 --- /dev/null +++ b/ruoyi-ui/src/components/Crontab/week.vue @@ -0,0 +1,202 @@ + + + diff --git a/ruoyi-ui/src/components/Crontab/year.vue b/ruoyi-ui/src/components/Crontab/year.vue new file mode 100644 index 0000000..5487a6c --- /dev/null +++ b/ruoyi-ui/src/components/Crontab/year.vue @@ -0,0 +1,131 @@ + + + diff --git a/ruoyi-ui/src/components/DictData/index.js b/ruoyi-ui/src/components/DictData/index.js new file mode 100644 index 0000000..7b85d4a --- /dev/null +++ b/ruoyi-ui/src/components/DictData/index.js @@ -0,0 +1,49 @@ +import Vue from 'vue' +import store from '@/store' +import DataDict from '@/utils/dict' +import { getDicts as getDicts } from '@/api/system/dict/data' + +function searchDictByKey(dict, key) { + if (key == null && key == "") { + return null + } + try { + for (let i = 0; i < dict.length; i++) { + if (dict[i].key == key) { + return dict[i].value + } + } + } catch (e) { + return null + } +} + +function install() { + Vue.use(DataDict, { + metas: { + '*': { + labelField: 'dictLabel', + valueField: 'dictValue', + request(dictMeta) { + const storeDict = searchDictByKey(store.getters.dict, dictMeta.type) + if (storeDict) { + return new Promise(resolve => { resolve(storeDict) }) + } else { + return new Promise((resolve, reject) => { + getDicts(dictMeta.type).then(res => { + store.dispatch('dict/setDict', { key: dictMeta.type, value: res.data }) + resolve(res.data) + }).catch(error => { + reject(error) + }) + }) + } + }, + }, + }, + }) +} + +export default { + install, +} \ No newline at end of file diff --git a/ruoyi-ui/src/components/DictTag/index.vue b/ruoyi-ui/src/components/DictTag/index.vue new file mode 100644 index 0000000..9f3ea20 --- /dev/null +++ b/ruoyi-ui/src/components/DictTag/index.vue @@ -0,0 +1,106 @@ + + + + diff --git a/ruoyi-ui/src/components/Editor/index.vue b/ruoyi-ui/src/components/Editor/index.vue new file mode 100644 index 0000000..ad14044 --- /dev/null +++ b/ruoyi-ui/src/components/Editor/index.vue @@ -0,0 +1,283 @@ + + + + + diff --git a/ruoyi-ui/src/components/Editor/index_origin.vue b/ruoyi-ui/src/components/Editor/index_origin.vue new file mode 100644 index 0000000..6bb5a18 --- /dev/null +++ b/ruoyi-ui/src/components/Editor/index_origin.vue @@ -0,0 +1,272 @@ + + + + + diff --git a/ruoyi-ui/src/components/FileUpload/index.vue b/ruoyi-ui/src/components/FileUpload/index.vue new file mode 100644 index 0000000..6c583cf --- /dev/null +++ b/ruoyi-ui/src/components/FileUpload/index.vue @@ -0,0 +1,215 @@ + + + + + diff --git a/ruoyi-ui/src/components/FullscreenDialog.vue b/ruoyi-ui/src/components/FullscreenDialog.vue new file mode 100644 index 0000000..e048f72 --- /dev/null +++ b/ruoyi-ui/src/components/FullscreenDialog.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/ruoyi-ui/src/components/Hamburger/index.vue b/ruoyi-ui/src/components/Hamburger/index.vue new file mode 100644 index 0000000..368b002 --- /dev/null +++ b/ruoyi-ui/src/components/Hamburger/index.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/ruoyi-ui/src/components/HeaderSearch/index.vue b/ruoyi-ui/src/components/HeaderSearch/index.vue new file mode 100644 index 0000000..c4d76bb --- /dev/null +++ b/ruoyi-ui/src/components/HeaderSearch/index.vue @@ -0,0 +1,189 @@ + + + + + diff --git a/ruoyi-ui/src/components/IconSelect/index.vue b/ruoyi-ui/src/components/IconSelect/index.vue new file mode 100644 index 0000000..8dadc02 --- /dev/null +++ b/ruoyi-ui/src/components/IconSelect/index.vue @@ -0,0 +1,104 @@ + + + + + + diff --git a/ruoyi-ui/src/components/IconSelect/requireIcons.js b/ruoyi-ui/src/components/IconSelect/requireIcons.js new file mode 100644 index 0000000..99e5c54 --- /dev/null +++ b/ruoyi-ui/src/components/IconSelect/requireIcons.js @@ -0,0 +1,11 @@ + +const req = require.context('../../assets/icons/svg', false, /\.svg$/) +const requireAll = requireContext => requireContext.keys() + +const re = /\.\/(.*)\.svg/ + +const icons = requireAll(req).map(i => { + return i.match(re)[1] +}) + +export default icons diff --git a/ruoyi-ui/src/components/ImagePreview/index.vue b/ruoyi-ui/src/components/ImagePreview/index.vue new file mode 100644 index 0000000..3c770c7 --- /dev/null +++ b/ruoyi-ui/src/components/ImagePreview/index.vue @@ -0,0 +1,90 @@ + + + + + diff --git a/ruoyi-ui/src/components/ImageUpload/ImageStore.vue b/ruoyi-ui/src/components/ImageUpload/ImageStore.vue new file mode 100644 index 0000000..9219222 --- /dev/null +++ b/ruoyi-ui/src/components/ImageUpload/ImageStore.vue @@ -0,0 +1,276 @@ + + + + + diff --git a/ruoyi-ui/src/components/ImageUpload/index.vue b/ruoyi-ui/src/components/ImageUpload/index.vue new file mode 100644 index 0000000..b57a15e --- /dev/null +++ b/ruoyi-ui/src/components/ImageUpload/index.vue @@ -0,0 +1,226 @@ + + + + + diff --git a/ruoyi-ui/src/components/ManagerFramework.vue b/ruoyi-ui/src/components/ManagerFramework.vue new file mode 100644 index 0000000..c7bd306 --- /dev/null +++ b/ruoyi-ui/src/components/ManagerFramework.vue @@ -0,0 +1,79 @@ + + + diff --git a/ruoyi-ui/src/components/Pagination/index.vue b/ruoyi-ui/src/components/Pagination/index.vue new file mode 100644 index 0000000..56f5a6b --- /dev/null +++ b/ruoyi-ui/src/components/Pagination/index.vue @@ -0,0 +1,114 @@ + + + + + diff --git a/ruoyi-ui/src/components/PanThumb/index.vue b/ruoyi-ui/src/components/PanThumb/index.vue new file mode 100644 index 0000000..1bcf417 --- /dev/null +++ b/ruoyi-ui/src/components/PanThumb/index.vue @@ -0,0 +1,142 @@ + + + + + diff --git a/ruoyi-ui/src/components/ParentView/index.vue b/ruoyi-ui/src/components/ParentView/index.vue new file mode 100644 index 0000000..7bf6148 --- /dev/null +++ b/ruoyi-ui/src/components/ParentView/index.vue @@ -0,0 +1,3 @@ + diff --git a/ruoyi-ui/src/components/RightPanel/index.vue b/ruoyi-ui/src/components/RightPanel/index.vue new file mode 100644 index 0000000..5abeecb --- /dev/null +++ b/ruoyi-ui/src/components/RightPanel/index.vue @@ -0,0 +1,106 @@ + + + + + diff --git a/ruoyi-ui/src/components/RightToolbar/index.vue b/ruoyi-ui/src/components/RightToolbar/index.vue new file mode 100644 index 0000000..8d011d1 --- /dev/null +++ b/ruoyi-ui/src/components/RightToolbar/index.vue @@ -0,0 +1,154 @@ + + + diff --git a/ruoyi-ui/src/components/RuoYi/Doc/index.vue b/ruoyi-ui/src/components/RuoYi/Doc/index.vue new file mode 100644 index 0000000..75fa864 --- /dev/null +++ b/ruoyi-ui/src/components/RuoYi/Doc/index.vue @@ -0,0 +1,21 @@ + + + \ No newline at end of file diff --git a/ruoyi-ui/src/components/RuoYi/Git/index.vue b/ruoyi-ui/src/components/RuoYi/Git/index.vue new file mode 100644 index 0000000..bdafbae --- /dev/null +++ b/ruoyi-ui/src/components/RuoYi/Git/index.vue @@ -0,0 +1,21 @@ + + + \ No newline at end of file diff --git a/ruoyi-ui/src/components/Screenfull/index.vue b/ruoyi-ui/src/components/Screenfull/index.vue new file mode 100644 index 0000000..d4e539c --- /dev/null +++ b/ruoyi-ui/src/components/Screenfull/index.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/ruoyi-ui/src/components/ServerFileChooser.vue b/ruoyi-ui/src/components/ServerFileChooser.vue new file mode 100644 index 0000000..2aa93e6 --- /dev/null +++ b/ruoyi-ui/src/components/ServerFileChooser.vue @@ -0,0 +1,69 @@ + + + + + diff --git a/ruoyi-ui/src/components/SizeSelect/index.vue b/ruoyi-ui/src/components/SizeSelect/index.vue new file mode 100644 index 0000000..069b5de --- /dev/null +++ b/ruoyi-ui/src/components/SizeSelect/index.vue @@ -0,0 +1,56 @@ + + + diff --git a/ruoyi-ui/src/components/SvgIcon/index.vue b/ruoyi-ui/src/components/SvgIcon/index.vue new file mode 100644 index 0000000..e4bf5ad --- /dev/null +++ b/ruoyi-ui/src/components/SvgIcon/index.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/ruoyi-ui/src/components/ThemePicker/index.vue b/ruoyi-ui/src/components/ThemePicker/index.vue new file mode 100644 index 0000000..1714e1f --- /dev/null +++ b/ruoyi-ui/src/components/ThemePicker/index.vue @@ -0,0 +1,173 @@ + + + + + diff --git a/ruoyi-ui/src/components/TopNav/index.vue b/ruoyi-ui/src/components/TopNav/index.vue new file mode 100644 index 0000000..9fb8dd8 --- /dev/null +++ b/ruoyi-ui/src/components/TopNav/index.vue @@ -0,0 +1,191 @@ + + + + + diff --git a/ruoyi-ui/src/components/common/DateEdit.vue b/ruoyi-ui/src/components/common/DateEdit.vue new file mode 100644 index 0000000..2f90350 --- /dev/null +++ b/ruoyi-ui/src/components/common/DateEdit.vue @@ -0,0 +1,126 @@ + + + + + diff --git a/ruoyi-ui/src/components/common/DeptInput.vue b/ruoyi-ui/src/components/common/DeptInput.vue new file mode 100644 index 0000000..fb8ddb0 --- /dev/null +++ b/ruoyi-ui/src/components/common/DeptInput.vue @@ -0,0 +1,90 @@ + + + + + diff --git a/ruoyi-ui/src/components/common/DeptSelect.vue b/ruoyi-ui/src/components/common/DeptSelect.vue new file mode 100644 index 0000000..4f476d4 --- /dev/null +++ b/ruoyi-ui/src/components/common/DeptSelect.vue @@ -0,0 +1,103 @@ + + + + + diff --git a/ruoyi-ui/src/components/common/DeptTree.vue b/ruoyi-ui/src/components/common/DeptTree.vue new file mode 100644 index 0000000..9fd4738 --- /dev/null +++ b/ruoyi-ui/src/components/common/DeptTree.vue @@ -0,0 +1,251 @@ + + + + + diff --git a/ruoyi-ui/src/components/common/DeptTreeLayout.vue b/ruoyi-ui/src/components/common/DeptTreeLayout.vue new file mode 100644 index 0000000..485f01e --- /dev/null +++ b/ruoyi-ui/src/components/common/DeptTreeLayout.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/ruoyi-ui/src/components/common/Descriptions.vue b/ruoyi-ui/src/components/common/Descriptions.vue new file mode 100644 index 0000000..74e3894 --- /dev/null +++ b/ruoyi-ui/src/components/common/Descriptions.vue @@ -0,0 +1,60 @@ + + + + + diff --git a/ruoyi-ui/src/components/common/ELTableColumn_r.vue b/ruoyi-ui/src/components/common/ELTableColumn_r.vue new file mode 100644 index 0000000..14d7aa6 --- /dev/null +++ b/ruoyi-ui/src/components/common/ELTableColumn_r.vue @@ -0,0 +1,178 @@ + + + + + diff --git a/ruoyi-ui/src/components/common/InputNumber.vue b/ruoyi-ui/src/components/common/InputNumber.vue new file mode 100644 index 0000000..5068a84 --- /dev/null +++ b/ruoyi-ui/src/components/common/InputNumber.vue @@ -0,0 +1,325 @@ + + diff --git a/ruoyi-ui/src/components/common/LineEdit.vue b/ruoyi-ui/src/components/common/LineEdit.vue new file mode 100644 index 0000000..a643982 --- /dev/null +++ b/ruoyi-ui/src/components/common/LineEdit.vue @@ -0,0 +1,125 @@ + + + + + diff --git a/ruoyi-ui/src/components/common/TreeSelect.vue b/ruoyi-ui/src/components/common/TreeSelect.vue new file mode 100644 index 0000000..d3f887d --- /dev/null +++ b/ruoyi-ui/src/components/common/TreeSelect.vue @@ -0,0 +1,283 @@ + + + + + diff --git a/ruoyi-ui/src/components/iFrame/index.vue b/ruoyi-ui/src/components/iFrame/index.vue new file mode 100644 index 0000000..426857f --- /dev/null +++ b/ruoyi-ui/src/components/iFrame/index.vue @@ -0,0 +1,36 @@ + + + diff --git a/ruoyi-ui/src/layout/components/Navbar.vue b/ruoyi-ui/src/layout/components/Navbar.vue new file mode 100644 index 0000000..9195e03 --- /dev/null +++ b/ruoyi-ui/src/layout/components/Navbar.vue @@ -0,0 +1,200 @@ + + + + + diff --git a/ruoyi-ui/src/layout/components/Settings/index.vue b/ruoyi-ui/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..8b49842 --- /dev/null +++ b/ruoyi-ui/src/layout/components/Settings/index.vue @@ -0,0 +1,260 @@ + + + + + diff --git a/ruoyi-ui/src/layout/components/Sidebar/FixiOSBug.js b/ruoyi-ui/src/layout/components/Sidebar/FixiOSBug.js new file mode 100644 index 0000000..6823726 --- /dev/null +++ b/ruoyi-ui/src/layout/components/Sidebar/FixiOSBug.js @@ -0,0 +1,25 @@ +export default { + computed: { + device() { + return this.$store.state.app.device + } + }, + mounted() { + // In order to fix the click on menu on the ios device will trigger the mouseleave bug + this.fixBugIniOS() + }, + methods: { + fixBugIniOS() { + const $subMenu = this.$refs.subMenu + if ($subMenu) { + const handleMouseleave = $subMenu.handleMouseleave + $subMenu.handleMouseleave = (e) => { + if (this.device === 'mobile') { + return + } + handleMouseleave(e) + } + } + } + } +} diff --git a/ruoyi-ui/src/layout/components/Sidebar/Item.vue b/ruoyi-ui/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..be3285d --- /dev/null +++ b/ruoyi-ui/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,33 @@ + diff --git a/ruoyi-ui/src/layout/components/Sidebar/Link.vue b/ruoyi-ui/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..8b0bc93 --- /dev/null +++ b/ruoyi-ui/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,43 @@ + + + diff --git a/ruoyi-ui/src/layout/components/Sidebar/Logo.vue b/ruoyi-ui/src/layout/components/Sidebar/Logo.vue new file mode 100644 index 0000000..2774cc8 --- /dev/null +++ b/ruoyi-ui/src/layout/components/Sidebar/Logo.vue @@ -0,0 +1,93 @@ + + + + + diff --git a/ruoyi-ui/src/layout/components/Sidebar/SidebarItem.vue b/ruoyi-ui/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..4853fbb --- /dev/null +++ b/ruoyi-ui/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,100 @@ + + + diff --git a/ruoyi-ui/src/layout/components/Sidebar/index.vue b/ruoyi-ui/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..51d0839 --- /dev/null +++ b/ruoyi-ui/src/layout/components/Sidebar/index.vue @@ -0,0 +1,57 @@ + + + diff --git a/ruoyi-ui/src/layout/components/TagsView/ScrollPane.vue b/ruoyi-ui/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..bb753a1 --- /dev/null +++ b/ruoyi-ui/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,94 @@ + + + + + diff --git a/ruoyi-ui/src/layout/components/TagsView/index.vue b/ruoyi-ui/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..96585a5 --- /dev/null +++ b/ruoyi-ui/src/layout/components/TagsView/index.vue @@ -0,0 +1,332 @@ + + + + + + + diff --git a/ruoyi-ui/src/layout/components/index.js b/ruoyi-ui/src/layout/components/index.js new file mode 100644 index 0000000..104bd3a --- /dev/null +++ b/ruoyi-ui/src/layout/components/index.js @@ -0,0 +1,5 @@ +export { default as AppMain } from './AppMain' +export { default as Navbar } from './Navbar' +export { default as Settings } from './Settings' +export { default as Sidebar } from './Sidebar/index.vue' +export { default as TagsView } from './TagsView/index.vue' diff --git a/ruoyi-ui/src/layout/index.vue b/ruoyi-ui/src/layout/index.vue new file mode 100644 index 0000000..dba4393 --- /dev/null +++ b/ruoyi-ui/src/layout/index.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/ruoyi-ui/src/layout/mixin/ResizeHandler.js b/ruoyi-ui/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..e8d0df8 --- /dev/null +++ b/ruoyi-ui/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,45 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('app/closeSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.$_resizeHandler) + }, + beforeDestroy() { + window.removeEventListener('resize', this.$_resizeHandler) + }, + mounted() { + const isMobile = this.$_isMobile() + if (isMobile) { + store.dispatch('app/toggleDevice', 'mobile') + store.dispatch('app/closeSideBar', { withoutAnimation: true }) + } + }, + methods: { + // use $_ for mixins properties + // https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential + $_isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + $_resizeHandler() { + if (!document.hidden) { + const isMobile = this.$_isMobile() + store.dispatch('app/toggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('app/closeSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/ruoyi-ui/src/main.js b/ruoyi-ui/src/main.js new file mode 100644 index 0000000..13c6cf2 --- /dev/null +++ b/ruoyi-ui/src/main.js @@ -0,0 +1,86 @@ +import Vue from 'vue' + +import Cookies from 'js-cookie' + +import Element from 'element-ui' +import './assets/styles/element-variables.scss' + +import '@/assets/styles/index.scss' // global css +import '@/assets/styles/ruoyi.scss' // ruoyi css +import App from './App' +import store from './store' +import router from './router' +import directive from './directive' // directive +import plugins from './plugins' // plugins +import { download } from '@/utils/request' + +import './assets/icons' // icon +import './permission' // permission control +import { getDicts } from "@/api/system/dict/data"; +import { getConfigKey } from "@/api/system/config"; +import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree } from "@/utils/ruoyi"; +// 分页组件 +import Pagination from "@/components/Pagination"; +// 自定义表格工具组件 +import RightToolbar from "@/components/RightToolbar" +// 富文本组件 +import Editor from "@/components/Editor" +// 文件上传组件 +import FileUpload from "@/components/FileUpload" +// 图片上传组件 +import ImageUpload from "@/components/ImageUpload" +// 图片预览组件 +import ImagePreview from "@/components/ImagePreview" +// 字典标签组件 +import DictTag from '@/components/DictTag' +// 头部标签组件 +import VueMeta from 'vue-meta' +// 字典数据组件 +import DictData from '@/components/DictData' + +// 全局方法挂载 +Vue.prototype.getDicts = getDicts +Vue.prototype.getConfigKey = getConfigKey +Vue.prototype.parseTime = parseTime +Vue.prototype.resetForm = resetForm +Vue.prototype.addDateRange = addDateRange +Vue.prototype.selectDictLabel = selectDictLabel +Vue.prototype.selectDictLabels = selectDictLabels +Vue.prototype.download = download +Vue.prototype.handleTree = handleTree + +// 全局组件挂载 +Vue.component('DictTag', DictTag) +Vue.component('Pagination', Pagination) +Vue.component('RightToolbar', RightToolbar) +Vue.component('Editor', Editor) +Vue.component('FileUpload', FileUpload) +Vue.component('ImageUpload', ImageUpload) +Vue.component('ImagePreview', ImagePreview) + +Vue.use(directive) +Vue.use(plugins) +Vue.use(VueMeta) +DictData.install() + +/** + * If you don't want to use mock-server + * you want to use MockJs for mock api + * you can execute: mockXHR() + * + * Currently MockJs will be used in the production environment, + * please remove it before going online! ! ! + */ + +Vue.use(Element, { + size: Cookies.get('size') || 'medium' // set element-ui default size +}) + +Vue.config.productionTip = false + +new Vue({ + el: '#app', + router, + store, + render: h => h(App) +}) diff --git a/ruoyi-ui/src/permission.js b/ruoyi-ui/src/permission.js new file mode 100644 index 0000000..609d215 --- /dev/null +++ b/ruoyi-ui/src/permission.js @@ -0,0 +1,56 @@ +import router from './router' +import store from './store' +import { Message } from 'element-ui' +import NProgress from 'nprogress' +import 'nprogress/nprogress.css' +import { getToken } from '@/utils/auth' +import { isRelogin } from '@/utils/request' + +NProgress.configure({ showSpinner: false }) + +const whiteList = ['/login', '/register'] + +router.beforeEach((to, from, next) => { + NProgress.start() + if (getToken()) { + to.meta.title && store.dispatch('settings/setTitle', to.meta.title) + /* has token*/ + if (to.path === '/login') { + next({ path: '/' }) + NProgress.done() + } else { + if (store.getters.roles.length === 0) { + isRelogin.show = true + // 判断当前用户是否已拉取完user_info信息 + store.dispatch('GetInfo').then(() => { + isRelogin.show = false + store.dispatch('GenerateRoutes').then(accessRoutes => { + // 根据roles权限生成可访问的路由表 + router.addRoutes(accessRoutes) // 动态添加可访问路由表 + next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 + }) + }).catch(err => { + store.dispatch('LogOut').then(() => { + Message.error(err) + next({ path: '/' }) + }) + }) + } else { + next() + } + } + } else { + // 没有token + if (whiteList.indexOf(to.path) !== -1) { + // 在免登录白名单,直接进入 + next() + } else { + next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页 + NProgress.done() + } + } +}) + +router.afterEach(() => { + NProgress.done() +}) diff --git a/ruoyi-ui/src/plugins/auth.js b/ruoyi-ui/src/plugins/auth.js new file mode 100644 index 0000000..6c6bc24 --- /dev/null +++ b/ruoyi-ui/src/plugins/auth.js @@ -0,0 +1,60 @@ +import store from '@/store' + +function authPermission(permission) { + const all_permission = "*:*:*"; + const permissions = store.getters && store.getters.permissions + if (permission && permission.length > 0) { + return permissions.some(v => { + return all_permission === v || v === permission + }) + } else { + return false + } +} + +function authRole(role) { + const super_admin = "admin"; + const roles = store.getters && store.getters.roles + if (role && role.length > 0) { + return roles.some(v => { + return super_admin === v || v === role + }) + } else { + return false + } +} + +export default { + // 验证用户是否具备某权限 + hasPermi(permission) { + return authPermission(permission); + }, + // 验证用户是否含有指定权限,只需包含其中一个 + hasPermiOr(permissions) { + return permissions.some(item => { + return authPermission(item) + }) + }, + // 验证用户是否含有指定权限,必须全部拥有 + hasPermiAnd(permissions) { + return permissions.every(item => { + return authPermission(item) + }) + }, + // 验证用户是否具备某角色 + hasRole(role) { + return authRole(role); + }, + // 验证用户是否含有指定角色,只需包含其中一个 + hasRoleOr(roles) { + return roles.some(item => { + return authRole(item) + }) + }, + // 验证用户是否含有指定角色,必须全部拥有 + hasRoleAnd(roles) { + return roles.every(item => { + return authRole(item) + }) + } +} diff --git a/ruoyi-ui/src/plugins/cache.js b/ruoyi-ui/src/plugins/cache.js new file mode 100644 index 0000000..6b5c00b --- /dev/null +++ b/ruoyi-ui/src/plugins/cache.js @@ -0,0 +1,77 @@ +const sessionCache = { + set (key, value) { + if (!sessionStorage) { + return + } + if (key != null && value != null) { + sessionStorage.setItem(key, value) + } + }, + get (key) { + if (!sessionStorage) { + return null + } + if (key == null) { + return null + } + return sessionStorage.getItem(key) + }, + setJSON (key, jsonValue) { + if (jsonValue != null) { + this.set(key, JSON.stringify(jsonValue)) + } + }, + getJSON (key) { + const value = this.get(key) + if (value != null) { + return JSON.parse(value) + } + }, + remove (key) { + sessionStorage.removeItem(key); + } +} +const localCache = { + set (key, value) { + if (!localStorage) { + return + } + if (key != null && value != null) { + localStorage.setItem(key, value) + } + }, + get (key) { + if (!localStorage) { + return null + } + if (key == null) { + return null + } + return localStorage.getItem(key) + }, + setJSON (key, jsonValue) { + if (jsonValue != null) { + this.set(key, JSON.stringify(jsonValue)) + } + }, + getJSON (key) { + const value = this.get(key) + if (value != null) { + return JSON.parse(value) + } + }, + remove (key) { + localStorage.removeItem(key); + } +} + +export default { + /** + * 会话级缓存 + */ + session: sessionCache, + /** + * 本地缓存 + */ + local: localCache +} diff --git a/ruoyi-ui/src/plugins/download.js b/ruoyi-ui/src/plugins/download.js new file mode 100644 index 0000000..ffb8c14 --- /dev/null +++ b/ruoyi-ui/src/plugins/download.js @@ -0,0 +1,72 @@ +import axios from 'axios' +import { Message } from 'element-ui' +import { saveAs } from 'file-saver' +import { getToken } from '@/utils/auth' +import errorCode from '@/utils/errorCode' +import { blobValidate } from "@/utils/ruoyi"; + +const baseURL = process.env.VUE_APP_BASE_API + +export default { + name(name, isDelete = true) { + var url = baseURL + "/common/download?fileName=" + encodeURIComponent(name) + "&delete=" + isDelete + axios({ + method: 'get', + url: url, + responseType: 'blob', + headers: { 'Authorization': 'Bearer ' + getToken() } + }).then((res) => { + const isBlob = blobValidate(res.data); + if (isBlob) { + const blob = new Blob([res.data]) + this.saveAs(blob, decodeURIComponent(res.headers['download-filename'])) + } else { + this.printErrMsg(res.data); + } + }) + }, + resource(resource) { + var url = baseURL + "/common/download/resource?resource=" + encodeURIComponent(resource); + axios({ + method: 'get', + url: url, + responseType: 'blob', + headers: { 'Authorization': 'Bearer ' + getToken() } + }).then((res) => { + const isBlob = blobValidate(res.data); + if (isBlob) { + const blob = new Blob([res.data]) + this.saveAs(blob, decodeURIComponent(res.headers['download-filename'])) + } else { + this.printErrMsg(res.data); + } + }) + }, + zip(url, name) { + var url = baseURL + url + axios({ + method: 'get', + url: url, + responseType: 'blob', + headers: { 'Authorization': 'Bearer ' + getToken() } + }).then((res) => { + const isBlob = blobValidate(res.data); + if (isBlob) { + const blob = new Blob([res.data], { type: 'application/zip' }) + this.saveAs(blob, name) + } else { + this.printErrMsg(res.data); + } + }) + }, + saveAs(text, name, opts) { + saveAs(text, name, opts); + }, + async printErrMsg(data) { + const resText = await data.text(); + const rspObj = JSON.parse(resText); + const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default'] + Message.error(errMsg); + } +} + diff --git a/ruoyi-ui/src/plugins/index.js b/ruoyi-ui/src/plugins/index.js new file mode 100644 index 0000000..d000f2d --- /dev/null +++ b/ruoyi-ui/src/plugins/index.js @@ -0,0 +1,20 @@ +import tab from './tab' +import auth from './auth' +import cache from './cache' +import modal from './modal' +import download from './download' + +export default { + install(Vue) { + // 页签操作 + Vue.prototype.$tab = tab + // 认证对象 + Vue.prototype.$auth = auth + // 缓存对象 + Vue.prototype.$cache = cache + // 模态框对象 + Vue.prototype.$modal = modal + // 下载文件 + Vue.prototype.$download = download + } +} diff --git a/ruoyi-ui/src/plugins/modal.js b/ruoyi-ui/src/plugins/modal.js new file mode 100644 index 0000000..b37ca14 --- /dev/null +++ b/ruoyi-ui/src/plugins/modal.js @@ -0,0 +1,83 @@ +import { Message, MessageBox, Notification, Loading } from 'element-ui' + +let loadingInstance; + +export default { + // 消息提示 + msg(content) { + Message.info(content) + }, + // 错误消息 + msgError(content) { + Message.error(content) + }, + // 成功消息 + msgSuccess(content) { + Message.success(content) + }, + // 警告消息 + msgWarning(content) { + Message.warning(content) + }, + // 弹出提示 + alert(content) { + MessageBox.alert(content, "系统提示") + }, + // 错误提示 + alertError(content) { + MessageBox.alert(content, "系统提示", { type: 'error' }) + }, + // 成功提示 + alertSuccess(content) { + MessageBox.alert(content, "系统提示", { type: 'success' }) + }, + // 警告提示 + alertWarning(content) { + MessageBox.alert(content, "系统提示", { type: 'warning' }) + }, + // 通知提示 + notify(content) { + Notification.info(content) + }, + // 错误通知 + notifyError(content) { + Notification.error(content); + }, + // 成功通知 + notifySuccess(content) { + Notification.success(content) + }, + // 警告通知 + notifyWarning(content) { + Notification.warning(content) + }, + // 确认窗体 + confirm(content) { + return MessageBox.confirm(content, "系统提示", { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: "warning", + }) + }, + // 提交内容 + prompt(content) { + return MessageBox.prompt(content, "系统提示", { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: "warning", + }) + }, + // 打开遮罩层 + loading(content) { + loadingInstance = Loading.service({ + lock: true, + text: content, + spinner: "el-icon-loading", + background: "rgba(0, 0, 0, 0.7)", + }) + }, + // 关闭遮罩层 + closeLoading() { + loadingInstance.close(); + } +} diff --git a/ruoyi-ui/src/plugins/tab.js b/ruoyi-ui/src/plugins/tab.js new file mode 100644 index 0000000..b029c0e --- /dev/null +++ b/ruoyi-ui/src/plugins/tab.js @@ -0,0 +1,71 @@ +import store from '@/store' +import router from '@/router'; + +export default { + // 刷新当前tab页签 + refreshPage(obj) { + const { path, query, matched } = router.currentRoute; + if (obj === undefined) { + matched.forEach((m) => { + if (m.components && m.components.default && m.components.default.name) { + if (!['Layout', 'ParentView'].includes(m.components.default.name)) { + obj = { name: m.components.default.name, path: path, query: query }; + } + } + }); + } + return store.dispatch('tagsView/delCachedView', obj).then(() => { + const { path, query } = obj + router.replace({ + path: '/redirect' + path, + query: query + }) + }) + }, + // 关闭当前tab页签,打开新页签 + closeOpenPage(obj) { + store.dispatch("tagsView/delView", router.currentRoute); + if (obj !== undefined) { + return router.push(obj); + } + }, + // 关闭指定tab页签 + closePage(obj) { + if (obj === undefined) { + return store.dispatch('tagsView/delView', router.currentRoute).then(({ visitedViews }) => { + const latestView = visitedViews.slice(-1)[0] + if (latestView) { + return router.push(latestView.fullPath) + } + return router.push('/'); + }); + } + return store.dispatch('tagsView/delView', obj); + }, + // 关闭所有tab页签 + closeAllPage() { + return store.dispatch('tagsView/delAllViews'); + }, + // 关闭左侧tab页签 + closeLeftPage(obj) { + return store.dispatch('tagsView/delLeftTags', obj || router.currentRoute); + }, + // 关闭右侧tab页签 + closeRightPage(obj) { + return store.dispatch('tagsView/delRightTags', obj || router.currentRoute); + }, + // 关闭其他tab页签 + closeOtherPage(obj) { + return store.dispatch('tagsView/delOthersViews', obj || router.currentRoute); + }, + // 添加tab页签 + openPage(title, url, params) { + var obj = { path: url, meta: { title: title } } + store.dispatch('tagsView/addView', obj); + return router.push({ path: url, query: params }); + }, + // 修改tab页签 + updatePage(obj) { + return store.dispatch('tagsView/updateVisitedView', obj); + } +} diff --git a/ruoyi-ui/src/router/index.js b/ruoyi-ui/src/router/index.js new file mode 100644 index 0000000..233693c --- /dev/null +++ b/ruoyi-ui/src/router/index.js @@ -0,0 +1,204 @@ +import Vue from 'vue' +import Router from 'vue-router' + +Vue.use(Router) + +/* Layout */ +import Layout from '@/layout' + +/** + * Note: 路由配置项 + * + * hidden: true // 当设置 true 的时候该路由不会再侧边栏出现 如401,login等页面,或者如一些编辑页面/edit/1 + * alwaysShow: true // 当你一个路由下面的 children 声明的路由大于1个时,自动会变成嵌套的模式--如组件页面 + * // 只有一个时,会将那个子路由当做根路由显示在侧边栏--如引导页面 + * // 若你想不管路由下面的 children 声明的个数都显示你的根路由 + * // 你可以设置 alwaysShow: true,这样它就会忽略之前定义的规则,一直显示根路由 + * redirect: noRedirect // 当设置 noRedirect 的时候该路由在面包屑导航中不可被点击 + * name:'router-name' // 设定路由的名字,一定要填写不然使用时会出现各种问题 + * query: '{"id": 1, "name": "ry"}' // 访问路由的默认传递参数 + * roles: ['admin', 'common'] // 访问路由的角色权限 + * permissions: ['a:a:a', 'b:b:b'] // 访问路由的菜单权限 + * meta : { + noCache: true // 如果设置为true,则不会被 缓存(默认 false) + title: 'title' // 设置该路由在侧边栏和面包屑中展示的名字 + icon: 'svg-name' // 设置该路由的图标,对应路径src/assets/icons/svg + breadcrumb: false // 如果设置为false,则不会在breadcrumb面包屑中显示 + activeMenu: '/system/user' // 当路由设置了该属性,则会高亮相对应的侧边栏。 + } + */ + +// 公共路由 +export const constantRoutes = [ + { + path: '/redirect', + component: Layout, + hidden: true, + children: [ + { + path: '/redirect/:path(.*)', + component: () => import('@/views/redirect') + } + ] + }, + { + path: '/login', + component: () => import('@/views/login'), + hidden: true + }, + { + path: '/register', + component: () => import('@/views/register'), + hidden: true + }, + { + path: '/404', + component: () => import('@/views/error/404'), + hidden: true + }, + { + path: '/401', + component: () => import('@/views/error/401'), + hidden: true + }, + { + path: '', + component: Layout, + redirect: 'index', + children: [ + { + path: 'index', + component: () => import('@/views/index'), + name: 'Index', + meta: { title: '首页', icon: 'dashboard', affix: true } + } + ] + }, + { + path: '/user', + component: Layout, + hidden: true, + redirect: 'noredirect', + children: [ + { + path: 'profile', + component: () => import('@/views/system/user/profile/index'), + name: 'Profile', + meta: { title: '个人中心', icon: 'user' } + } + ] + } +] + +// 动态路由,基于用户权限动态去加载 +export const dynamicRoutes = [ + { + path: '/system/user-auth', + component: Layout, + hidden: true, + permissions: ['system:user:edit'], + children: [ + { + path: 'role/:userId(\\d+)', + component: () => import('@/views/system/user/authRole'), + name: 'AuthRole', + meta: { title: '分配角色', activeMenu: '/system/user' } + } + ] + }, + { + path: '/system/role-auth', + component: Layout, + hidden: true, + permissions: ['system:role:edit'], + children: [ + { + path: 'user/:roleId(\\d+)', + component: () => import('@/views/system/role/authUser'), + name: 'AuthUser', + meta: { title: '分配用户', activeMenu: '/system/role' } + } + ] + }, + { + path: '/system/dict-data', + component: Layout, + hidden: true, + permissions: ['system:dict:list'], + children: [ + { + path: 'index/:dictId(\\d+)', + component: () => import('@/views/system/dict/data'), + name: 'Data', + meta: { title: '字典数据', activeMenu: '/system/dict' } + } + ] + }, + { + path: '/monitor/job-log', + component: Layout, + hidden: true, + permissions: ['monitor:job:list'], + children: [ + { + path: 'index/:jobId(\\d+)', + component: () => import('@/views/monitor/job/log'), + name: 'JobLog', + meta: { title: '调度日志', activeMenu: '/monitor/job' } + } + ] + }, + { + path: '/tool/gen-edit', + component: Layout, + hidden: true, + permissions: ['tool:gen:edit'], + children: [ + { + path: 'index/:tableId(\\d+)', + component: () => import('@/views/tool/gen/editTable'), + name: 'GenEdit', + meta: { title: '修改生成配置', activeMenu: '/tool/gen' } + } + ] + }, + { + path: '/qwertyasd123456', + component: Layout, + hidden: true, + permissions: ['xxx:yyy:zzz'], + redirect: 'noredirect', + children: [ + { + path: 'log', + component: () => import('@/views/monitor/operlog/syslog'), + name: 'Syslog', + meta: { title: '运行日志', icon: 'user' } + }, + /*{ + path: 'test', + component: () => import('@/views/tool/SQLTesting'), + name: 'SQLTesting', + meta: { title: '测试', icon: 'user' } + }*/ + ] + }, +] + +// 防止连续点击多次路由报错 +let routerPush = Router.prototype.push; +let routerReplace = Router.prototype.replace; +// push +Router.prototype.push = function push(location) { + return routerPush.call(this, location).catch(err => err) +} +// replace +Router.prototype.replace = function push(location) { + return routerReplace.call(this, location).catch(err => err) +} + +export default new Router({ + //mode: 'history', //去掉url中的# + scrollBehavior: () => ({ y: 0 }), + routes: constantRoutes +}) diff --git a/ruoyi-ui/src/settings.js b/ruoyi-ui/src/settings.js new file mode 100644 index 0000000..6a0b09f --- /dev/null +++ b/ruoyi-ui/src/settings.js @@ -0,0 +1,44 @@ +module.exports = { + /** + * 侧边栏主题 深色主题theme-dark,浅色主题theme-light + */ + sideTheme: 'theme-dark', + + /** + * 是否系统布局配置 + */ + showSettings: false, + + /** + * 是否显示顶部导航 + */ + topNav: false, + + /** + * 是否显示 tagsView + */ + tagsView: true, + + /** + * 是否固定头部 + */ + fixedHeader: false, + + /** + * 是否显示logo + */ + sidebarLogo: true, + + /** + * 是否显示动态标题 + */ + dynamicTitle: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production' +} diff --git a/ruoyi-ui/src/store/getters.js b/ruoyi-ui/src/store/getters.js new file mode 100644 index 0000000..68fdbd0 --- /dev/null +++ b/ruoyi-ui/src/store/getters.js @@ -0,0 +1,22 @@ +const getters = { + sidebar: state => state.app.sidebar, + size: state => state.app.size, + device: state => state.app.device, + dict: state => state.dict.dict, + visitedViews: state => state.tagsView.visitedViews, + cachedViews: state => state.tagsView.cachedViews, + token: state => state.user.token, + avatar: state => state.user.avatar, + name: state => state.user.name, + introduction: state => state.user.introduction, + roles: state => state.user.roles, + permissions: state => state.user.permissions, + permission_routes: state => state.permission.routes, + topbarRouters:state => state.permission.topbarRouters, + defaultRoutes:state => state.permission.defaultRoutes, + sidebarRouters:state => state.permission.sidebarRouters, + + deptId: state => state.user.deptId, + orgCode: state => state.user.orgCode, +} +export default getters diff --git a/ruoyi-ui/src/store/index.js b/ruoyi-ui/src/store/index.js new file mode 100644 index 0000000..97aaef8 --- /dev/null +++ b/ruoyi-ui/src/store/index.js @@ -0,0 +1,25 @@ +import Vue from 'vue' +import Vuex from 'vuex' +import app from './modules/app' +import dict from './modules/dict' +import user from './modules/user' +import tagsView from './modules/tagsView' +import permission from './modules/permission' +import settings from './modules/settings' +import getters from './getters' + +Vue.use(Vuex) + +const store = new Vuex.Store({ + modules: { + app, + dict, + user, + tagsView, + permission, + settings + }, + getters +}) + +export default store diff --git a/ruoyi-ui/src/store/modules/app.js b/ruoyi-ui/src/store/modules/app.js new file mode 100644 index 0000000..3e22d1c --- /dev/null +++ b/ruoyi-ui/src/store/modules/app.js @@ -0,0 +1,66 @@ +import Cookies from 'js-cookie' + +const state = { + sidebar: { + opened: Cookies.get('sidebarStatus') ? !!+Cookies.get('sidebarStatus') : true, + withoutAnimation: false, + hide: false + }, + device: 'desktop', + size: Cookies.get('size') || 'medium' +} + +const mutations = { + TOGGLE_SIDEBAR: state => { + if (state.sidebar.hide) { + return false; + } + state.sidebar.opened = !state.sidebar.opened + state.sidebar.withoutAnimation = false + if (state.sidebar.opened) { + Cookies.set('sidebarStatus', 1) + } else { + Cookies.set('sidebarStatus', 0) + } + }, + CLOSE_SIDEBAR: (state, withoutAnimation) => { + Cookies.set('sidebarStatus', 0) + state.sidebar.opened = false + state.sidebar.withoutAnimation = withoutAnimation + }, + TOGGLE_DEVICE: (state, device) => { + state.device = device + }, + SET_SIZE: (state, size) => { + state.size = size + Cookies.set('size', size) + }, + SET_SIDEBAR_HIDE: (state, status) => { + state.sidebar.hide = status + } +} + +const actions = { + toggleSideBar({ commit }) { + commit('TOGGLE_SIDEBAR') + }, + closeSideBar({ commit }, { withoutAnimation }) { + commit('CLOSE_SIDEBAR', withoutAnimation) + }, + toggleDevice({ commit }, device) { + commit('TOGGLE_DEVICE', device) + }, + setSize({ commit }, size) { + commit('SET_SIZE', size) + }, + toggleSideBarHide({ commit }, status) { + commit('SET_SIDEBAR_HIDE', status) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} diff --git a/ruoyi-ui/src/store/modules/dict.js b/ruoyi-ui/src/store/modules/dict.js new file mode 100644 index 0000000..f95bead --- /dev/null +++ b/ruoyi-ui/src/store/modules/dict.js @@ -0,0 +1,50 @@ +const state = { + dict: new Array() +} +const mutations = { + SET_DICT: (state, { key, value }) => { + if (key !== null && key !== "") { + state.dict.push({ + key: key, + value: value + }) + } + }, + REMOVE_DICT: (state, key) => { + try { + for (let i = 0; i < state.dict.length; i++) { + if (state.dict[i].key == key) { + state.dict.splice(i, i) + return true + } + } + } catch (e) { + } + }, + CLEAN_DICT: (state) => { + state.dict = new Array() + } +} + +const actions = { + // 设置字典 + setDict({ commit }, data) { + commit('SET_DICT', data) + }, + // 删除字典 + removeDict({ commit }, key) { + commit('REMOVE_DICT', key) + }, + // 清空字典 + cleanDict({ commit }) { + commit('CLEAN_DICT') + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/ruoyi-ui/src/store/modules/permission.js b/ruoyi-ui/src/store/modules/permission.js new file mode 100644 index 0000000..2287665 --- /dev/null +++ b/ruoyi-ui/src/store/modules/permission.js @@ -0,0 +1,133 @@ +import auth from '@/plugins/auth' +import router, { constantRoutes, dynamicRoutes } from '@/router' +import { getRouters } from '@/api/menu' +import Layout from '@/layout/index' +import ParentView from '@/components/ParentView' +import InnerLink from '@/layout/components/InnerLink' + +const permission = { + state: { + routes: [], + addRoutes: [], + defaultRoutes: [], + topbarRouters: [], + sidebarRouters: [] + }, + mutations: { + SET_ROUTES: (state, routes) => { + state.addRoutes = routes + state.routes = constantRoutes.concat(routes) + }, + SET_DEFAULT_ROUTES: (state, routes) => { + state.defaultRoutes = constantRoutes.concat(routes) + }, + SET_TOPBAR_ROUTES: (state, routes) => { + state.topbarRouters = routes + }, + SET_SIDEBAR_ROUTERS: (state, routes) => { + state.sidebarRouters = routes + }, + }, + actions: { + // 生成路由 + GenerateRoutes({ commit }) { + return new Promise(resolve => { + // 向后端请求路由数据 + getRouters().then(res => { + const sdata = JSON.parse(JSON.stringify(res.data)) + const rdata = JSON.parse(JSON.stringify(res.data)) + const sidebarRoutes = filterAsyncRouter(sdata) + const rewriteRoutes = filterAsyncRouter(rdata, false, true) + const asyncRoutes = filterDynamicRoutes(dynamicRoutes); + rewriteRoutes.push({ path: '*', redirect: '/404', hidden: true }) + router.addRoutes(asyncRoutes); + commit('SET_ROUTES', rewriteRoutes) + commit('SET_SIDEBAR_ROUTERS', constantRoutes.concat(sidebarRoutes)) + commit('SET_DEFAULT_ROUTES', sidebarRoutes) + commit('SET_TOPBAR_ROUTES', sidebarRoutes) + resolve(rewriteRoutes) + }) + }) + } + } +} + +// 遍历后台传来的路由字符串,转换为组件对象 +function filterAsyncRouter(asyncRouterMap, lastRouter = false, type = false) { + return asyncRouterMap.filter(route => { + if (type && route.children) { + route.children = filterChildren(route.children) + } + if (route.component) { + // Layout ParentView 组件特殊处理 + if (route.component === 'Layout') { + route.component = Layout + } else if (route.component === 'ParentView') { + route.component = ParentView + } else if (route.component === 'InnerLink') { + route.component = InnerLink + } else { + route.component = loadView(route.component) + } + } + if (route.children != null && route.children && route.children.length) { + route.children = filterAsyncRouter(route.children, route, type) + } else { + delete route['children'] + delete route['redirect'] + } + return true + }) +} + +function filterChildren(childrenMap, lastRouter = false) { + var children = [] + childrenMap.forEach((el, index) => { + if (el.children && el.children.length) { + if (el.component === 'ParentView' && !lastRouter) { + el.children.forEach(c => { + c.path = el.path + '/' + c.path + if (c.children && c.children.length) { + children = children.concat(filterChildren(c.children, c)) + return + } + children.push(c) + }) + return + } + } + if (lastRouter) { + el.path = lastRouter.path + '/' + el.path + } + children = children.concat(el) + }) + return children +} + +// 动态路由遍历,验证是否具备权限 +export function filterDynamicRoutes(routes) { + const res = [] + routes.forEach(route => { + if (route.permissions) { + if (auth.hasPermiOr(route.permissions)) { + res.push(route) + } + } else if (route.roles) { + if (auth.hasRoleOr(route.roles)) { + res.push(route) + } + } + }) + return res +} + +export const loadView = (view) => { + if (process.env.NODE_ENV === 'development') { + return (resolve) => require([`@/views/${view}`], resolve) + } else { + // 使用 import 实现生产环境的路由懒加载 + return () => import(`@/views/${view}`) + } +} + +export default permission diff --git a/ruoyi-ui/src/store/modules/settings.js b/ruoyi-ui/src/store/modules/settings.js new file mode 100644 index 0000000..2455a1e --- /dev/null +++ b/ruoyi-ui/src/store/modules/settings.js @@ -0,0 +1,42 @@ +import defaultSettings from '@/settings' + +const { sideTheme, showSettings, topNav, tagsView, fixedHeader, sidebarLogo, dynamicTitle } = defaultSettings + +const storageSetting = JSON.parse(localStorage.getItem('layout-setting')) || '' +const state = { + title: '', + theme: storageSetting.theme || '#409EFF', + sideTheme: storageSetting.sideTheme || sideTheme, + showSettings: showSettings, + topNav: storageSetting.topNav === undefined ? topNav : storageSetting.topNav, + tagsView: storageSetting.tagsView === undefined ? tagsView : storageSetting.tagsView, + fixedHeader: storageSetting.fixedHeader === undefined ? fixedHeader : storageSetting.fixedHeader, + sidebarLogo: storageSetting.sidebarLogo === undefined ? sidebarLogo : storageSetting.sidebarLogo, + dynamicTitle: storageSetting.dynamicTitle === undefined ? dynamicTitle : storageSetting.dynamicTitle +} +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + // 修改布局设置 + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + }, + // 设置网页标题 + setTitle({ commit }, title) { + state.title = title + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/ruoyi-ui/src/store/modules/tagsView.js b/ruoyi-ui/src/store/modules/tagsView.js new file mode 100644 index 0000000..5fc011c --- /dev/null +++ b/ruoyi-ui/src/store/modules/tagsView.js @@ -0,0 +1,228 @@ +const state = { + visitedViews: [], + cachedViews: [], + iframeViews: [] +} + +const mutations = { + ADD_IFRAME_VIEW: (state, view) => { + if (state.iframeViews.some(v => v.path === view.path)) return + state.iframeViews.push( + Object.assign({}, view, { + title: view.meta.title || 'no-name' + }) + ) + }, + ADD_VISITED_VIEW: (state, view) => { + if (state.visitedViews.some(v => v.path === view.path)) return + state.visitedViews.push( + Object.assign({}, view, { + title: view.meta.title || 'no-name' + }) + ) + }, + ADD_CACHED_VIEW: (state, view) => { + if (state.cachedViews.includes(view.name)) return + if (view.meta && !view.meta.noCache) { + state.cachedViews.push(view.name) + } + }, + DEL_VISITED_VIEW: (state, view) => { + for (const [i, v] of state.visitedViews.entries()) { + if (v.path === view.path) { + state.visitedViews.splice(i, 1) + break + } + } + state.iframeViews = state.iframeViews.filter(item => item.path !== view.path) + }, + DEL_IFRAME_VIEW: (state, view) => { + state.iframeViews = state.iframeViews.filter(item => item.path !== view.path) + }, + DEL_CACHED_VIEW: (state, view) => { + const index = state.cachedViews.indexOf(view.name) + index > -1 && state.cachedViews.splice(index, 1) + }, + + DEL_OTHERS_VISITED_VIEWS: (state, view) => { + state.visitedViews = state.visitedViews.filter(v => { + return v.meta.affix || v.path === view.path + }) + state.iframeViews = state.iframeViews.filter(item => item.path === view.path) + }, + DEL_OTHERS_CACHED_VIEWS: (state, view) => { + const index = state.cachedViews.indexOf(view.name) + if (index > -1) { + state.cachedViews = state.cachedViews.slice(index, index + 1) + } else { + state.cachedViews = [] + } + }, + DEL_ALL_VISITED_VIEWS: state => { + // keep affix tags + const affixTags = state.visitedViews.filter(tag => tag.meta.affix) + state.visitedViews = affixTags + state.iframeViews = [] + }, + DEL_ALL_CACHED_VIEWS: state => { + state.cachedViews = [] + }, + UPDATE_VISITED_VIEW: (state, view) => { + for (let v of state.visitedViews) { + if (v.path === view.path) { + v = Object.assign(v, view) + break + } + } + }, + DEL_RIGHT_VIEWS: (state, view) => { + const index = state.visitedViews.findIndex(v => v.path === view.path) + if (index === -1) { + return + } + state.visitedViews = state.visitedViews.filter((item, idx) => { + if (idx <= index || (item.meta && item.meta.affix)) { + return true + } + const i = state.cachedViews.indexOf(item.name) + if (i > -1) { + state.cachedViews.splice(i, 1) + } + if(item.meta.link) { + const fi = state.iframeViews.findIndex(v => v.path === item.path) + state.iframeViews.splice(fi, 1) + } + return false + }) + }, + DEL_LEFT_VIEWS: (state, view) => { + const index = state.visitedViews.findIndex(v => v.path === view.path) + if (index === -1) { + return + } + state.visitedViews = state.visitedViews.filter((item, idx) => { + if (idx >= index || (item.meta && item.meta.affix)) { + return true + } + const i = state.cachedViews.indexOf(item.name) + if (i > -1) { + state.cachedViews.splice(i, 1) + } + if(item.meta.link) { + const fi = state.iframeViews.findIndex(v => v.path === item.path) + state.iframeViews.splice(fi, 1) + } + return false + }) + } +} + +const actions = { + addView({ dispatch }, view) { + dispatch('addVisitedView', view) + dispatch('addCachedView', view) + }, + addIframeView({ commit }, view) { + commit('ADD_IFRAME_VIEW', view) + }, + addVisitedView({ commit }, view) { + commit('ADD_VISITED_VIEW', view) + }, + addCachedView({ commit }, view) { + commit('ADD_CACHED_VIEW', view) + }, + delView({ dispatch, state }, view) { + return new Promise(resolve => { + dispatch('delVisitedView', view) + dispatch('delCachedView', view) + resolve({ + visitedViews: [...state.visitedViews], + cachedViews: [...state.cachedViews] + }) + }) + }, + delVisitedView({ commit, state }, view) { + return new Promise(resolve => { + commit('DEL_VISITED_VIEW', view) + resolve([...state.visitedViews]) + }) + }, + delIframeView({ commit, state }, view) { + return new Promise(resolve => { + commit('DEL_IFRAME_VIEW', view) + resolve([...state.iframeViews]) + }) + }, + delCachedView({ commit, state }, view) { + return new Promise(resolve => { + commit('DEL_CACHED_VIEW', view) + resolve([...state.cachedViews]) + }) + }, + delOthersViews({ dispatch, state }, view) { + return new Promise(resolve => { + dispatch('delOthersVisitedViews', view) + dispatch('delOthersCachedViews', view) + resolve({ + visitedViews: [...state.visitedViews], + cachedViews: [...state.cachedViews] + }) + }) + }, + delOthersVisitedViews({ commit, state }, view) { + return new Promise(resolve => { + commit('DEL_OTHERS_VISITED_VIEWS', view) + resolve([...state.visitedViews]) + }) + }, + delOthersCachedViews({ commit, state }, view) { + return new Promise(resolve => { + commit('DEL_OTHERS_CACHED_VIEWS', view) + resolve([...state.cachedViews]) + }) + }, + delAllViews({ dispatch, state }, view) { + return new Promise(resolve => { + dispatch('delAllVisitedViews', view) + dispatch('delAllCachedViews', view) + resolve({ + visitedViews: [...state.visitedViews], + cachedViews: [...state.cachedViews] + }) + }) + }, + delAllVisitedViews({ commit, state }) { + return new Promise(resolve => { + commit('DEL_ALL_VISITED_VIEWS') + resolve([...state.visitedViews]) + }) + }, + delAllCachedViews({ commit, state }) { + return new Promise(resolve => { + commit('DEL_ALL_CACHED_VIEWS') + resolve([...state.cachedViews]) + }) + }, + updateVisitedView({ commit }, view) { + commit('UPDATE_VISITED_VIEW', view) + }, + delRightTags({ commit }, view) { + return new Promise(resolve => { + commit('DEL_RIGHT_VIEWS', view) + resolve([...state.visitedViews]) + }) + }, + delLeftTags({ commit }, view) { + return new Promise(resolve => { + commit('DEL_LEFT_VIEWS', view) + resolve([...state.visitedViews]) + }) + }, +} + +export default { + namespaced: true, + state, + mutations, + actions +} diff --git a/ruoyi-ui/src/store/modules/user.js b/ruoyi-ui/src/store/modules/user.js new file mode 100644 index 0000000..9c9a075 --- /dev/null +++ b/ruoyi-ui/src/store/modules/user.js @@ -0,0 +1,108 @@ +import { login, logout, getInfo } from '@/api/login' +import { getToken, setToken, removeToken } from '@/utils/auth' + +const user = { + state: { + token: getToken(), + name: '', + avatar: '', + roles: [], + permissions: [], + deptId: '', + orgCode: '', + }, + + mutations: { + SET_TOKEN: (state, token) => { + state.token = token + }, + SET_NAME: (state, name) => { + state.name = name + }, + SET_AVATAR: (state, avatar) => { + state.avatar = avatar + }, + SET_ROLES: (state, roles) => { + state.roles = roles + }, + SET_PERMISSIONS: (state, permissions) => { + state.permissions = permissions + }, + SET_DEPTID: (state, deptId) => { + state.deptId = deptId + }, + SET_ORGCODE: (state, orgCode) => { + state.orgCode = orgCode + }, + }, + + actions: { + // 登录 + Login({ commit }, userInfo) { + const username = userInfo.username.trim() + const password = userInfo.password + const code = userInfo.code + const uuid = userInfo.uuid + return new Promise((resolve, reject) => { + login(username, password, code, uuid).then(res => { + setToken(res.token) + commit('SET_TOKEN', res.token) + resolve() + }).catch(error => { + reject(error) + }) + }) + }, + + // 获取用户信息 + GetInfo({ commit, state }) { + return new Promise((resolve, reject) => { + getInfo().then(res => { + const user = res.user + const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar; + if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组 + commit('SET_ROLES', res.roles) + commit('SET_PERMISSIONS', res.permissions) + } else { + commit('SET_ROLES', ['ROLE_DEFAULT']) + } + commit('SET_NAME', user.userName) + commit('SET_AVATAR', avatar) + commit('SET_DEPTID', user.deptId) + commit('SET_ORGCODE', user.orgCode) + resolve(res) + }).catch(error => { + reject(error) + }) + }) + }, + + // 退出系统 + LogOut({ commit, state }) { + return new Promise((resolve, reject) => { + logout(state.token).then(() => { + commit('SET_TOKEN', '') + commit('SET_ROLES', []) + commit('SET_PERMISSIONS', []) + commit('SET_DEPTID', '') + commit('SET_ORGCODE', '') + removeToken() + resolve() + }).catch(error => { + reject(error) + }) + }) + }, + + // 前端 登出 + FedLogOut({ commit }) { + return new Promise(resolve => { + commit('SET_TOKEN', '') + removeToken() + resolve() + }) + } + } +} + +export default user diff --git a/ruoyi-ui/src/utils/auth.js b/ruoyi-ui/src/utils/auth.js new file mode 100644 index 0000000..08a43d6 --- /dev/null +++ b/ruoyi-ui/src/utils/auth.js @@ -0,0 +1,15 @@ +import Cookies from 'js-cookie' + +const TokenKey = 'Admin-Token' + +export function getToken() { + return Cookies.get(TokenKey) +} + +export function setToken(token) { + return Cookies.set(TokenKey, token) +} + +export function removeToken() { + return Cookies.remove(TokenKey) +} diff --git a/ruoyi-ui/src/utils/date.js b/ruoyi-ui/src/utils/date.js new file mode 100644 index 0000000..15a45e3 --- /dev/null +++ b/ruoyi-ui/src/utils/date.js @@ -0,0 +1,523 @@ + +/** + * 支持的时间日期格式占位符: + * 支持通用占位符和MySQL占位符(可以混合) + * 格式化时以下都支持, 解析时不支持星期几 + * 不支持时区, 保留z Z zz ZZ zzz ZZZ zzzz ZZZZ %z %Z + * + * 4位年: yyyy %Y + * 2位年: yy %y + * 2位月: MM %m + * 数字月: M %c + * 英文月: MMMM %M + * 简写英文月: MMM %b + * 2位日: dd %d + * 数字日: d + * 2位时(24): HH %H + * 数字时(24): H %k + * 2位时(12): hh %I %h + * 数字时(12): h %l + * 2位分: mm ii %i + * 数字分: m i + * 2位秒: ss %s %S + * 数字秒: s + * 3位毫秒: sss + * 小写上下午(AM/PM): a p + * 大写上下午(AM/PM): A P %p + * 星期几(周一为1, 周日为7): u + * 星期几(周日为0): %w + * 英文星期几: dddd %W + * 简写英文星期几: ddd %a + * %: %% // MySQL特殊占位符% + */ +// Eng/lish +const DATE_TIME_FORMAT_TYPE_IGNORE = 'ign'; +const DATE_TIME_FORMAT_TYPE_EXPRESSION = 'exp'; +const DATE_TIME_FORMAT_TYPE_RAW = 'raw'; +const DAYS_SIMPLE = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']; +const DAYS = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']; +const MONTHS_SIMPLE = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; +const MONTHS = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; +function parseDateTimeFormatter(format) +{ + let expect = function(target, str, range) { + let i = 0; + if(!range) + range = 1; + if(!Array.isArray(range)) + { + let arr = []; + for(let m = 1; m <= range; m++) + arr.push(m); + range = arr; + } + let res = 0; + let max = Math.max(...range); + let min = Math.min(...range); + while(i < str.length) + { + let ch = str[i++]; + if(target.indexOf(ch) === -1) + break; + if(range.indexOf(i) === -1) + { + if(i >= max) + break; + } + if(range.indexOf(i) !== -1) + res = i; + } + if(res > 0) + { + return res; + } + return false; + }; + + let i = 0; + let arr = []; + while(i < format.length) + { + let ch = format[i]; + let n = false; + switch(ch) + { + case 'y': + n = expect('y', format.substr(i), [2, 4]); + break; + case 'M': + n = expect('M', format.substr(i), 4); + break; + case 'd': + n = expect('d', format.substr(i), 4); + break; + case 'H': + case 'h': + n = expect(ch, format.substr(i), 2); + break; + case 'm': + case 'i': + n = expect(ch, format.substr(i), 2); + break; + case 's': + n = expect('s', format.substr(i), 3); + break; + case 'a': + case 'p': + case 'A': + case 'P': + case 'u': + n = expect(ch, format.substr(i)); + break; + case 'z': + case 'Z': + n = expect(ch, format.substr(i), 4); + break; + case '%': + n = expect('YmdHisSyecklIh%zZ', format.substr(i + 1)); + if(n === 1) + n++; + break; + default: + arr.push({str: ch, type: DATE_TIME_FORMAT_TYPE_RAW}); + i++; + continue; + } + if(n) + { + let s = format.substr(i, n); + let ignore = ['z', 'zz', 'zzz', 'zzzz', 'Z', 'ZZ', 'ZZZ', 'ZZZZ', '%z', '%Z'].indexOf(s) !== -1; + arr.push({str: s, type: ignore ? DATE_TIME_FORMAT_TYPE_IGNORE : DATE_TIME_FORMAT_TYPE_EXPRESSION}); + i += n; + } + else + { + arr.push({str: format.substr(i), type: DATE_TIME_FORMAT_TYPE_RAW}); + break; + } + } + return arr; +} + +/** + * 格式化日期时间 + * @param date 日期时间 Date对象/时间戳 默认当前日期时间 + * @param format 格式化字符串 字符串 默认 yyyy-MM-dd HH:mm:ss + * @returns {string} 日期时间格式化后的字符串 + */ +export function date_format(date, format) { + if(arguments.length === 1) + { + format = date; + date = null; + } + if (!date) + date = new Date; + else if(!date instanceof Date) + date = new Date(date); + format = format || 'yyyy-MM-dd HH:mm:ss'; + let numpad = function(num, limit) { + limit = limit || 10; + if(num >= limit) + return num; + let res = num; + while(num < limit && limit >= 10) + { + res = '0' + res; + limit /= 10; + } + return res; + } + const _y = date.getFullYear(); + const _m = date.getMonth() + 1; + const _d = date.getDate(); + const _h = date.getHours(); + const _i = date.getMinutes(); + const _s = date.getSeconds(); + const _a = date.getDay(); + const _z = date.getMilliseconds(); + // General style + let Options = { + yyyy: _y, + MM: numpad(_m), + dd: numpad(_d), + HH: numpad(_h), + mm: numpad(_i), + ss: numpad(_s), + sss: numpad(_z, 100), + yy: _y % 100, + M: _m, + d: _d, + H: _h, + m: _i, + s: _s, + hh: numpad((_h % 12) || 12), + h: (_h % 12) || 12, + // Qt style + ddd: DAYS_SIMPLE[_a - 1], + dddd: DAYS[_a - 1], + MMM: MONTHS_SIMPLE[_m - 1], + MMMM: MONTHS[_m - 1], + // Java style + a: _h > 12 ? 'pm' : 'am', + A: _h > 12 ? 'PM' : 'AM', + u: _a, + }; + Options['p'] = Options.a; + Options['P'] = Options.A; + // PHP style + Options['ii'] = Options.mm; + Options['i'] = Options.m; + // MySQL style + Options['%Y'] = Options.yyyy; + Options['%m'] = Options.MM; + Options['%d'] = Options.dd; + Options['%H'] = Options.HH; + Options['%i'] = Options.mm; + Options['%s'] = Options.ss; + Options['%S'] = Options.ss; + Options['%y'] = Options.yy; + Options['%e'] = Options.d; + Options['%c'] = Options.M; + Options['%k'] = Options.H; + Options['%l'] = Options.h; + Options['%I'] = Options.hh; + Options['%h'] = Options.hh; + Options['%p'] = Options.A; + Options['%w'] = Options.u - 1; + Options['%a'] = Options.ddd; + Options['%W'] = Options.dddd; + Options['%M'] = Options.MMMM; + Options['%b'] = Options.MMM; + Options['%%'] = '%'; + + let arr = parseDateTimeFormatter(format); + //console.log(arr); + arr = arr.filter((x) => x.type !== DATE_TIME_FORMAT_TYPE_IGNORE).map((x) => { + return x.type === DATE_TIME_FORMAT_TYPE_EXPRESSION ? (Options[x.str] || x.str) : x.str; + }) + //console.log(format, '|', arr.join('')); + return arr.join(''); +} + +/** + * 解析日期时间 + * @param date 日期时间字符串 字符串 + * @param format 格式化字符串 字符串 默认 yyyy-MM-dd HH:mm:ss + * @param initNow 缺省部分是否使用当前日期时间部分代替 bool 默认不使用当前 + * @returns {Date} 解析日期时间出来的Date对象 + */ +export function strtotime(date, format, initNow) +{ + if (!date) + return null; + let expect = function(target, str) { + if(Array.isArray(target)) + { + let res = 0; + if(typeof(target[0]) === 'number') + { + for(let t of target) + { + if(str.length >= t) + { + if(t > res && new RegExp(`^\\d{${t}}`).test(str)) + res = t; + } + } + } + else + { + for(let t of target) + { + if(str.length < t.length) + continue; + if(str.startsWith(t)) + { + res = t.length; + break; + } + } + } + return res; + } + else + { + if(typeof(target) === 'number') + { + if(str.length < target) + return 0; + if(!new RegExp(`^\\d{${target}}`).test(str)) + return null; + return target; + } + else if(typeof(target) === 'object') + { + let res = 0; + let min = target.min || 0; + let max = target.max; + for(let m = min; m <= max; m++) + { + let t = '' + m; + if(str.length >= t.length) + { + if(str.startsWith(t)) + res = t.length; + } + } + return res; + } + else + { + if(str.length < target.length) + return 0; + if(!str.startsWith(target)) + return 0; + return target.length; + } + } + }; + format = format || 'yyyy-MM-dd HH:mm:ss'; + let arr = parseDateTimeFormatter(format); + let i = 0; + let _y = undefined; + let _m = undefined; + let _d = undefined; + let _h = undefined; + let _i = undefined; + let _s = undefined; + let _z = undefined; + let _h_12 = undefined; + let _ap = undefined; + let get_token = function(str, target) { + let r = expect(target, date.substr(i)); + if(r <= 0) + return null; + let nstr = date.substr(i, r); + i += r; + return nstr; + }; + //console.log(arr); + for(let part of arr) + { + if(part.type === DATE_TIME_FORMAT_TYPE_RAW || part.type === DATE_TIME_FORMAT_TYPE_IGNORE) + { + let r = expect(part.str, date.substr(i)); + if(!r) + return null; + i += r; + } + else + { + let p = null; + switch(part.str) + { + case 'yyyy': + case '%Y': + p = get_token(part.str, 4); + if(p) + _y = parseInt(p); + break; + case 'yy': + case '%y': + p = get_token(part.str, 2); + if(p) + _y = Math.floor((date.getFullYear()) / 100) * 100 + parseInt(p); + break; + case 'MM': + case '%m': + p = get_token(part.str, 2); + if(p) + _m = parseInt(p); + break; + case 'M': + case '%c': + p = get_token(part.str, {min: 1, max: 12}); + if(p) + _m = parseInt(p); + break; + case 'MMMM': + case '%M': + p = get_token(part.str, MONTHS); + if(p) + _m = MONTHS.indexOf(p) + 1; + break; + case 'MMM': + case '%b': + p = get_token(part.str, MONTHS_SIMPLE); + if(p) + _m = MONTHS_SIMPLE.indexOf(p) + 1; + break; + case 'dd': + case '%d': + p = get_token(part.str, 2); + if(p) + _d = parseInt(p); + break; + case 'd': + case '%e': + p = get_token(part.str, {min: 1, max: 31}); + if(p) + _d = parseInt(p); + break; + case 'HH': + case '%H': + p = get_token(part.str, 2); + if(p) + _h = parseInt(p); + break; + case 'H': + case '%k': + p = get_token(part.str, {max: 23}); + if(p) + _h = parseInt(p); + break; + case 'hh': + case '%I': + case '%h': + p = get_token(part.str, 2); + if(p) + _h_12 = parseInt(p); + break; + case 'h': + case '%l': + p = get_token(part.str, {max: 12}); + if(p) + _h_12 = parseInt(p); + break; + case 'mm': + case 'ii': + case '%i': + p = get_token(part.str, 2); + if(p) + _i = parseInt(p); + break; + case 'm': + case 'i': + p = get_token(part.str, {max: 59}); + if(p) + _i = parseInt(p); + break; + case 'ss': + case '%s': + case '%S': + p = get_token(part.str, 2); + if(p) + _s = parseInt(p); + break; + case 's': + p = get_token(part.str, {max: 59}); + if(p) + _s = parseInt(p); + break; + case 'sss': + p = get_token(part.str, {max: 999}); + if(p) + _z = parseInt(p); + break; + case 'A': + case 'p': { + const AP = ['AM', 'PM']; + p = get_token(part.str, AP); + if(p) + _ap = p.toLowerCase(); + } + break; + case 'a': + case 'P': + case '%p':{ + const AP = ['am', 'pm']; + p = get_token(part.str, AP); + if(p) + _ap = p; + } + break; + case 'u': + case '%w': + case '%W': + case 'dddd': + case 'ddd': + throw new Error('不支持星期几解析: ' + part.str); // not ignore and throw + //break; + case '%%': + //TODO: ignore 最好不解析出来 + break; + default: + throw new Error('不支持的格式解析: ' + part.str); + break; + } + if(!p) + return null; + } + } + if(_h_12 !== undefined && _ap !== undefined) + { + _h = (_ap === 'pm' ? _h_12 + 12 : _h_12) % 24; + } + let res = new Date; + //console.log('1111111111',_y, _m, _d, _h, _i, _s, _z); + if(_y === undefined) _y = initNow ? res.getFullYear() : 0; + if(_m === undefined) _m = initNow ? res.getMonth() + 1 : 1; + if(_d === undefined) _d = initNow ? res.getDate() : 1; + if(_h === undefined) _h = initNow ? res.getHours() : 0; + if(_i === undefined) _i = initNow ? res.getMinutes() : 0; + if(_s === undefined) _s = initNow ? res.getSeconds() : 0; + if(_z === undefined) _z = initNow ? res.getMilliseconds() : 0; + //console.log('2222222222',_y, _m, _d, _h, _i, _s, _z); + res.setFullYear(_y, _m - 1, _d); + res.setHours(_h, _i, _s, _z); + return res; +} + +/** + * 转换日期时间格式 + * @param dateStr 源日期时间字符串 字符串 + * @param sourceFormat 源格式化字符串 字符串 默认 yyyy-MM-dd HH:mm:ss + * @param targetFormat 目标格式化字符串 字符串 默认 yyyy-MM-dd HH:mm:ss + * @param initNow 缺省部分是否使用当前日期时间部分代替 bool 默认不使用当前 + * @returns {string} 重新格式化的日期时间出字符串 + */ +export function date(dateStr, sourceFormat, targetFormat, initNow) +{ + return date_format(strtotime(dateStr, sourceFormat, initNow), targetFormat); +} diff --git a/ruoyi-ui/src/utils/dev.js b/ruoyi-ui/src/utils/dev.js new file mode 100644 index 0000000..fc8f095 --- /dev/null +++ b/ruoyi-ui/src/utils/dev.js @@ -0,0 +1,15 @@ + +export function IS_DEVEL() +{ + return process.env.NODE_ENV.toLowerCase() === 'development'; +} + +export function IS_TESTING() +{ + return process.env.NODE_ENV.toLowerCase() === 'staging'; +} + +export function IS_STABLE() +{ + return process.env.NODE_ENV.toLowerCase() === 'production'; +} diff --git a/ruoyi-ui/src/utils/dict/Dict.js b/ruoyi-ui/src/utils/dict/Dict.js new file mode 100644 index 0000000..104bd6e --- /dev/null +++ b/ruoyi-ui/src/utils/dict/Dict.js @@ -0,0 +1,82 @@ +import Vue from 'vue' +import { mergeRecursive } from "@/utils/ruoyi"; +import DictMeta from './DictMeta' +import DictData from './DictData' + +const DEFAULT_DICT_OPTIONS = { + types: [], +} + +/** + * @classdesc 字典 + * @property {Object} label 标签对象,内部属性名为字典类型名称 + * @property {Object} dict 字段数组,内部属性名为字典类型名称 + * @property {Array.} _dictMetas 字典元数据数组 + */ +export default class Dict { + constructor() { + this.owner = null + this.label = {} + this.type = {} + } + + init(options) { + if (options instanceof Array) { + options = { types: options } + } + const opts = mergeRecursive(DEFAULT_DICT_OPTIONS, options) + if (opts.types === undefined) { + throw new Error('need dict types') + } + const ps = [] + this._dictMetas = opts.types.map(t => DictMeta.parse(t)) + this._dictMetas.forEach(dictMeta => { + const type = dictMeta.type + Vue.set(this.label, type, {}) + Vue.set(this.type, type, []) + if (dictMeta.lazy) { + return + } + ps.push(loadDict(this, dictMeta)) + }) + return Promise.all(ps) + } + + /** + * 重新加载字典 + * @param {String} type 字典类型 + */ + reloadDict(type) { + const dictMeta = this._dictMetas.find(e => e.type === type) + if (dictMeta === undefined) { + return Promise.reject(`the dict meta of ${type} was not found`) + } + return loadDict(this, dictMeta) + } +} + +/** + * 加载字典 + * @param {Dict} dict 字典 + * @param {DictMeta} dictMeta 字典元数据 + * @returns {Promise} + */ +function loadDict(dict, dictMeta) { + return dictMeta.request(dictMeta) + .then(response => { + const type = dictMeta.type + let dicts = dictMeta.responseConverter(response, dictMeta) + if (!(dicts instanceof Array)) { + console.error('the return of responseConverter must be Array.') + dicts = [] + } else if (dicts.filter(d => d instanceof DictData).length !== dicts.length) { + console.error('the type of elements in dicts must be DictData') + dicts = [] + } + dict.type[type].splice(0, Number.MAX_SAFE_INTEGER, ...dicts) + dicts.forEach(d => { + Vue.set(dict.label[type], d.value, d.label) + }) + return dicts + }) +} diff --git a/ruoyi-ui/src/utils/dict/DictConverter.js b/ruoyi-ui/src/utils/dict/DictConverter.js new file mode 100644 index 0000000..0cf5df8 --- /dev/null +++ b/ruoyi-ui/src/utils/dict/DictConverter.js @@ -0,0 +1,17 @@ +import DictOptions from './DictOptions' +import DictData from './DictData' + +export default function(dict, dictMeta) { + const label = determineDictField(dict, dictMeta.labelField, ...DictOptions.DEFAULT_LABEL_FIELDS) + const value = determineDictField(dict, dictMeta.valueField, ...DictOptions.DEFAULT_VALUE_FIELDS) + return new DictData(dict[label], dict[value], dict) +} + +/** + * 确定字典字段 + * @param {DictData} dict + * @param {...String} fields + */ +function determineDictField(dict, ...fields) { + return fields.find(f => Object.prototype.hasOwnProperty.call(dict, f)) +} diff --git a/ruoyi-ui/src/utils/dict/DictData.js b/ruoyi-ui/src/utils/dict/DictData.js new file mode 100644 index 0000000..afc763e --- /dev/null +++ b/ruoyi-ui/src/utils/dict/DictData.js @@ -0,0 +1,13 @@ +/** + * @classdesc 字典数据 + * @property {String} label 标签 + * @property {*} value 标签 + * @property {Object} raw 原始数据 + */ +export default class DictData { + constructor(label, value, raw) { + this.label = label + this.value = value + this.raw = raw + } +} diff --git a/ruoyi-ui/src/utils/dict/DictMeta.js b/ruoyi-ui/src/utils/dict/DictMeta.js new file mode 100644 index 0000000..9779daa --- /dev/null +++ b/ruoyi-ui/src/utils/dict/DictMeta.js @@ -0,0 +1,38 @@ +import { mergeRecursive } from "@/utils/ruoyi"; +import DictOptions from './DictOptions' + +/** + * @classdesc 字典元数据 + * @property {String} type 类型 + * @property {Function} request 请求 + * @property {String} label 标签字段 + * @property {String} value 值字段 + */ +export default class DictMeta { + constructor(options) { + this.type = options.type + this.request = options.request + this.responseConverter = options.responseConverter + this.labelField = options.labelField + this.valueField = options.valueField + this.lazy = options.lazy === true + } +} + + +/** + * 解析字典元数据 + * @param {Object} options + * @returns {DictMeta} + */ +DictMeta.parse= function(options) { + let opts = null + if (typeof options === 'string') { + opts = DictOptions.metas[options] || {} + opts.type = options + } else if (typeof options === 'object') { + opts = options + } + opts = mergeRecursive(DictOptions.metas['*'], opts) + return new DictMeta(opts) +} diff --git a/ruoyi-ui/src/utils/dict/DictOptions.js b/ruoyi-ui/src/utils/dict/DictOptions.js new file mode 100644 index 0000000..338a94e --- /dev/null +++ b/ruoyi-ui/src/utils/dict/DictOptions.js @@ -0,0 +1,51 @@ +import { mergeRecursive } from "@/utils/ruoyi"; +import dictConverter from './DictConverter' + +export const options = { + metas: { + '*': { + /** + * 字典请求,方法签名为function(dictMeta: DictMeta): Promise + */ + request: (dictMeta) => { + console.log(`load dict ${dictMeta.type}`) + return Promise.resolve([]) + }, + /** + * 字典响应数据转换器,方法签名为function(response: Object, dictMeta: DictMeta): DictData + */ + responseConverter, + labelField: 'label', + valueField: 'value', + }, + }, + /** + * 默认标签字段 + */ + DEFAULT_LABEL_FIELDS: ['label', 'name', 'title'], + /** + * 默认值字段 + */ + DEFAULT_VALUE_FIELDS: ['value', 'id', 'uid', 'key'], +} + +/** + * 映射字典 + * @param {Object} response 字典数据 + * @param {DictMeta} dictMeta 字典元数据 + * @returns {DictData} + */ +function responseConverter(response, dictMeta) { + const dicts = response.content instanceof Array ? response.content : response + if (dicts === undefined) { + console.warn(`no dict data of "${dictMeta.type}" found in the response`) + return [] + } + return dicts.map(d => dictConverter(d, dictMeta)) +} + +export function mergeOptions(src) { + mergeRecursive(options, src) +} + +export default options diff --git a/ruoyi-ui/src/utils/dict/index.js b/ruoyi-ui/src/utils/dict/index.js new file mode 100644 index 0000000..215eb9e --- /dev/null +++ b/ruoyi-ui/src/utils/dict/index.js @@ -0,0 +1,33 @@ +import Dict from './Dict' +import { mergeOptions } from './DictOptions' + +export default function(Vue, options) { + mergeOptions(options) + Vue.mixin({ + data() { + if (this.$options === undefined || this.$options.dicts === undefined || this.$options.dicts === null) { + return {} + } + const dict = new Dict() + dict.owner = this + return { + dict + } + }, + created() { + if (!(this.dict instanceof Dict)) { + return + } + options.onCreated && options.onCreated(this.dict) + this.dict.init(this.$options.dicts).then(() => { + options.onReady && options.onReady(this.dict) + this.$nextTick(() => { + this.$emit('dictReady', this.dict) + if (this.$options.methods && this.$options.methods.onDictReady instanceof Function) { + this.$options.methods.onDictReady.call(this, this.dict) + } + }) + }) + }, + }) +} diff --git a/ruoyi-ui/src/utils/errorCode.js b/ruoyi-ui/src/utils/errorCode.js new file mode 100644 index 0000000..d2111ee --- /dev/null +++ b/ruoyi-ui/src/utils/errorCode.js @@ -0,0 +1,6 @@ +export default { + '401': '认证失败,无法访问系统资源', + '403': '当前操作没有权限', + '404': '访问资源不存在', + 'default': '系统未知错误,请反馈给管理员' +} diff --git a/ruoyi-ui/src/utils/file.js b/ruoyi-ui/src/utils/file.js new file mode 100644 index 0000000..754e583 --- /dev/null +++ b/ruoyi-ui/src/utils/file.js @@ -0,0 +1,71 @@ + + +/* 文件大小格式化 */ +export function formatFileSize(size) { + const Unit = ["Bytes", "Kb", "Mb", "Gb", "Tb"]; + //const Unit = ["byte", "K", "M", "G", "T"]; + let s, i; + for(s = size, i = 0; s >= 1024 && i < Unit.length - 1; s /= 1024, i++); + return s.toFixed(2).replace(/\.00$/, '') + Unit[i]; +} + +export function save(name, src) { + let a = 0; + let url = null; + try + { + url = window.URL.createObjectURL(new Blob([src])) + a = document.createElement('a'); + document.body.append(a); + a.style.display = 'none' + a.href = url; + a.setAttribute('download', name) + a.click(); + return true; + } + catch(e) + { + console.error(e); + return false; + } + finally + { + if(a) + a.remove(); + if(url) + window.URL.revokeObjectURL(url); + } +} + +export function image_size(file) { + return new Promise((resolve, reject) => { + try + { + let url = URL.createObjectURL(file); + let img = new Image(); + img.src = url; + if(img.complete) + { + //console.log('complete', img.width, img.height); + resolve({ + width: img.width, + height: img.height, + }); + } + else + { + img.onload = () => { + //console.log('async', img.width, img.height); + resolve({ + width: img.width, + height: img.height, + }); + }; + } + } + catch(e) + { + reject(e); + } + }); +} diff --git a/ruoyi-ui/src/utils/generator/config.js b/ruoyi-ui/src/utils/generator/config.js new file mode 100644 index 0000000..7abf227 --- /dev/null +++ b/ruoyi-ui/src/utils/generator/config.js @@ -0,0 +1,438 @@ +export const formConf = { + formRef: 'elForm', + formModel: 'formData', + size: 'medium', + labelPosition: 'right', + labelWidth: 100, + formRules: 'rules', + gutter: 15, + disabled: false, + span: 24, + formBtns: true +} + +export const inputComponents = [ + { + label: '单行文本', + tag: 'el-input', + tagIcon: 'input', + placeholder: '请输入', + defaultValue: undefined, + span: 24, + labelWidth: null, + style: { width: '100%' }, + clearable: true, + prepend: '', + append: '', + 'prefix-icon': '', + 'suffix-icon': '', + maxlength: null, + 'show-word-limit': false, + readonly: false, + disabled: false, + required: true, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/input' + }, + { + label: '多行文本', + tag: 'el-input', + tagIcon: 'textarea', + type: 'textarea', + placeholder: '请输入', + defaultValue: undefined, + span: 24, + labelWidth: null, + autosize: { + minRows: 4, + maxRows: 4 + }, + style: { width: '100%' }, + maxlength: null, + 'show-word-limit': false, + readonly: false, + disabled: false, + required: true, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/input' + }, + { + label: '密码', + tag: 'el-input', + tagIcon: 'password', + placeholder: '请输入', + defaultValue: undefined, + span: 24, + 'show-password': true, + labelWidth: null, + style: { width: '100%' }, + clearable: true, + prepend: '', + append: '', + 'prefix-icon': '', + 'suffix-icon': '', + maxlength: null, + 'show-word-limit': false, + readonly: false, + disabled: false, + required: true, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/input' + }, + { + label: '计数器', + tag: 'el-input-number', + tagIcon: 'number', + placeholder: '', + defaultValue: undefined, + span: 24, + labelWidth: null, + min: undefined, + max: undefined, + step: undefined, + 'step-strictly': false, + precision: undefined, + 'controls-position': '', + disabled: false, + required: true, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/input-number' + } +] + +export const selectComponents = [ + { + label: '下拉选择', + tag: 'el-select', + tagIcon: 'select', + placeholder: '请选择', + defaultValue: undefined, + span: 24, + labelWidth: null, + style: { width: '100%' }, + clearable: true, + disabled: false, + required: true, + filterable: false, + multiple: false, + options: [{ + label: '选项一', + value: 1 + }, { + label: '选项二', + value: 2 + }], + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/select' + }, + { + label: '级联选择', + tag: 'el-cascader', + tagIcon: 'cascader', + placeholder: '请选择', + defaultValue: [], + span: 24, + labelWidth: null, + style: { width: '100%' }, + props: { + props: { + multiple: false + } + }, + 'show-all-levels': true, + disabled: false, + clearable: true, + filterable: false, + required: true, + options: [{ + id: 1, + value: 1, + label: '选项1', + children: [{ + id: 2, + value: 2, + label: '选项1-1' + }] + }], + dataType: 'dynamic', + labelKey: 'label', + valueKey: 'value', + childrenKey: 'children', + separator: '/', + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/cascader' + }, + { + label: '单选框组', + tag: 'el-radio-group', + tagIcon: 'radio', + defaultValue: undefined, + span: 24, + labelWidth: null, + style: {}, + optionType: 'default', + border: false, + size: 'medium', + disabled: false, + required: true, + options: [{ + label: '选项一', + value: 1 + }, { + label: '选项二', + value: 2 + }], + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/radio' + }, + { + label: '多选框组', + tag: 'el-checkbox-group', + tagIcon: 'checkbox', + defaultValue: [], + span: 24, + labelWidth: null, + style: {}, + optionType: 'default', + border: false, + size: 'medium', + disabled: false, + required: true, + options: [{ + label: '选项一', + value: 1 + }, { + label: '选项二', + value: 2 + }], + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/checkbox' + }, + { + label: '开关', + tag: 'el-switch', + tagIcon: 'switch', + defaultValue: false, + span: 24, + labelWidth: null, + style: {}, + disabled: false, + required: true, + 'active-text': '', + 'inactive-text': '', + 'active-color': null, + 'inactive-color': null, + 'active-value': true, + 'inactive-value': false, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/switch' + }, + { + label: '滑块', + tag: 'el-slider', + tagIcon: 'slider', + defaultValue: null, + span: 24, + labelWidth: null, + disabled: false, + required: true, + min: 0, + max: 100, + step: 1, + 'show-stops': false, + range: false, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/slider' + }, + { + label: '时间选择', + tag: 'el-time-picker', + tagIcon: 'time', + placeholder: '请选择', + defaultValue: null, + span: 24, + labelWidth: null, + style: { width: '100%' }, + disabled: false, + clearable: true, + required: true, + 'picker-options': { + selectableRange: '00:00:00-23:59:59' + }, + format: 'HH:mm:ss', + 'value-format': 'HH:mm:ss', + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/time-picker' + }, + { + label: '时间范围', + tag: 'el-time-picker', + tagIcon: 'time-range', + defaultValue: null, + span: 24, + labelWidth: null, + style: { width: '100%' }, + disabled: false, + clearable: true, + required: true, + 'is-range': true, + 'range-separator': '至', + 'start-placeholder': '开始时间', + 'end-placeholder': '结束时间', + format: 'HH:mm:ss', + 'value-format': 'HH:mm:ss', + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/time-picker' + }, + { + label: '日期选择', + tag: 'el-date-picker', + tagIcon: 'date', + placeholder: '请选择', + defaultValue: null, + type: 'date', + span: 24, + labelWidth: null, + style: { width: '100%' }, + disabled: false, + clearable: true, + required: true, + format: 'yyyy-MM-dd', + 'value-format': 'yyyy-MM-dd', + readonly: false, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/date-picker' + }, + { + label: '日期范围', + tag: 'el-date-picker', + tagIcon: 'date-range', + defaultValue: null, + span: 24, + labelWidth: null, + style: { width: '100%' }, + type: 'daterange', + 'range-separator': '至', + 'start-placeholder': '开始日期', + 'end-placeholder': '结束日期', + disabled: false, + clearable: true, + required: true, + format: 'yyyy-MM-dd', + 'value-format': 'yyyy-MM-dd', + readonly: false, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/date-picker' + }, + { + label: '评分', + tag: 'el-rate', + tagIcon: 'rate', + defaultValue: 0, + span: 24, + labelWidth: null, + style: {}, + max: 5, + 'allow-half': false, + 'show-text': false, + 'show-score': false, + disabled: false, + required: true, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/rate' + }, + { + label: '颜色选择', + tag: 'el-color-picker', + tagIcon: 'color', + defaultValue: null, + labelWidth: null, + 'show-alpha': false, + 'color-format': '', + disabled: false, + required: true, + size: 'medium', + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/color-picker' + }, + { + label: '上传', + tag: 'el-upload', + tagIcon: 'upload', + action: 'https://jsonplaceholder.typicode.com/posts/', + defaultValue: null, + labelWidth: null, + disabled: false, + required: true, + accept: '', + name: 'file', + 'auto-upload': true, + showTip: false, + buttonText: '点击上传', + fileSize: 2, + sizeUnit: 'MB', + 'list-type': 'text', + multiple: false, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/upload' + } +] + +export const layoutComponents = [ + { + layout: 'rowFormItem', + tagIcon: 'row', + type: 'default', + justify: 'start', + align: 'top', + label: '行容器', + layoutTree: true, + children: [], + document: 'https://element.eleme.cn/#/zh-CN/component/layout' + }, + { + layout: 'colFormItem', + label: '按钮', + changeTag: true, + labelWidth: null, + tag: 'el-button', + tagIcon: 'button', + span: 24, + default: '主要按钮', + type: 'primary', + icon: 'el-icon-search', + size: 'medium', + disabled: false, + document: 'https://element.eleme.cn/#/zh-CN/component/button' + } +] + +// 组件rule的触发方式,无触发方式的组件不生成rule +export const trigger = { + 'el-input': 'blur', + 'el-input-number': 'blur', + 'el-select': 'change', + 'el-radio-group': 'change', + 'el-checkbox-group': 'change', + 'el-cascader': 'change', + 'el-time-picker': 'change', + 'el-date-picker': 'change', + 'el-rate': 'change' +} diff --git a/ruoyi-ui/src/utils/generator/css.js b/ruoyi-ui/src/utils/generator/css.js new file mode 100644 index 0000000..c1c62e6 --- /dev/null +++ b/ruoyi-ui/src/utils/generator/css.js @@ -0,0 +1,18 @@ +const styles = { + 'el-rate': '.el-rate{display: inline-block; vertical-align: text-top;}', + 'el-upload': '.el-upload__tip{line-height: 1.2;}' +} + +function addCss(cssList, el) { + const css = styles[el.tag] + css && cssList.indexOf(css) === -1 && cssList.push(css) + if (el.children) { + el.children.forEach(el2 => addCss(cssList, el2)) + } +} + +export function makeUpCss(conf) { + const cssList = [] + conf.fields.forEach(el => addCss(cssList, el)) + return cssList.join('\n') +} diff --git a/ruoyi-ui/src/utils/generator/drawingDefault.js b/ruoyi-ui/src/utils/generator/drawingDefault.js new file mode 100644 index 0000000..09f133c --- /dev/null +++ b/ruoyi-ui/src/utils/generator/drawingDefault.js @@ -0,0 +1,29 @@ +export default [ + { + layout: 'colFormItem', + tagIcon: 'input', + label: '手机号', + vModel: 'mobile', + formId: 6, + tag: 'el-input', + placeholder: '请输入手机号', + defaultValue: '', + span: 24, + style: { width: '100%' }, + clearable: true, + prepend: '', + append: '', + 'prefix-icon': 'el-icon-mobile', + 'suffix-icon': '', + maxlength: 11, + 'show-word-limit': true, + readonly: false, + disabled: false, + required: true, + changeTag: true, + regList: [{ + pattern: '/^1(3|4|5|7|8|9)\\d{9}$/', + message: '手机号格式错误' + }] + } +] diff --git a/ruoyi-ui/src/utils/generator/html.js b/ruoyi-ui/src/utils/generator/html.js new file mode 100644 index 0000000..9bcc536 --- /dev/null +++ b/ruoyi-ui/src/utils/generator/html.js @@ -0,0 +1,359 @@ +/* eslint-disable max-len */ +import { trigger } from './config' + +let confGlobal +let someSpanIsNot24 + +export function dialogWrapper(str) { + return ` + ${str} +

+ ` +} + +export function vueTemplate(str) { + return `` +} + +export function vueScript(str) { + return `` +} + +export function cssStyle(cssStr) { + return `` +} + +function buildFormTemplate(conf, child, type) { + let labelPosition = '' + if (conf.labelPosition !== 'right') { + labelPosition = `label-position="${conf.labelPosition}"` + } + const disabled = conf.disabled ? `:disabled="${conf.disabled}"` : '' + let str = ` + ${child} + ${buildFromBtns(conf, type)} + ` + if (someSpanIsNot24) { + str = ` + ${str} + ` + } + return str +} + +function buildFromBtns(conf, type) { + let str = '' + if (conf.formBtns && type === 'file') { + str = ` + 提交 + 重置 + ` + if (someSpanIsNot24) { + str = ` + ${str} + ` + } + } + return str +} + +// span不为24的用el-col包裹 +function colWrapper(element, str) { + if (someSpanIsNot24 || element.span !== 24) { + return ` + ${str} + ` + } + return str +} + +const layouts = { + colFormItem(element) { + let labelWidth = '' + if (element.labelWidth && element.labelWidth !== confGlobal.labelWidth) { + labelWidth = `label-width="${element.labelWidth}px"` + } + const required = !trigger[element.tag] && element.required ? 'required' : '' + const tagDom = tags[element.tag] ? tags[element.tag](element) : null + let str = ` + ${tagDom} + ` + str = colWrapper(element, str) + return str + }, + rowFormItem(element) { + const type = element.type === 'default' ? '' : `type="${element.type}"` + const justify = element.type === 'default' ? '' : `justify="${element.justify}"` + const align = element.type === 'default' ? '' : `align="${element.align}"` + const gutter = element.gutter ? `gutter="${element.gutter}"` : '' + const children = element.children.map(el => layouts[el.layout](el)) + let str = ` + ${children.join('\n')} + ` + str = colWrapper(element, str) + return str + } +} + +const tags = { + 'el-button': el => { + const { + tag, disabled + } = attrBuilder(el) + const type = el.type ? `type="${el.type}"` : '' + const icon = el.icon ? `icon="${el.icon}"` : '' + const size = el.size ? `size="${el.size}"` : '' + let child = buildElButtonChild(el) + + if (child) child = `\n${child}\n` // 换行 + return `<${el.tag} ${type} ${icon} ${size} ${disabled}>${child}` + }, + 'el-input': el => { + const { + disabled, vModel, clearable, placeholder, width + } = attrBuilder(el) + const maxlength = el.maxlength ? `:maxlength="${el.maxlength}"` : '' + const showWordLimit = el['show-word-limit'] ? 'show-word-limit' : '' + const readonly = el.readonly ? 'readonly' : '' + const prefixIcon = el['prefix-icon'] ? `prefix-icon='${el['prefix-icon']}'` : '' + const suffixIcon = el['suffix-icon'] ? `suffix-icon='${el['suffix-icon']}'` : '' + const showPassword = el['show-password'] ? 'show-password' : '' + const type = el.type ? `type="${el.type}"` : '' + const autosize = el.autosize && el.autosize.minRows + ? `:autosize="{minRows: ${el.autosize.minRows}, maxRows: ${el.autosize.maxRows}}"` + : '' + let child = buildElInputChild(el) + + if (child) child = `\n${child}\n` // 换行 + return `<${el.tag} ${vModel} ${type} ${placeholder} ${maxlength} ${showWordLimit} ${readonly} ${disabled} ${clearable} ${prefixIcon} ${suffixIcon} ${showPassword} ${autosize} ${width}>${child}` + }, + 'el-input-number': el => { + const { disabled, vModel, placeholder } = attrBuilder(el) + const controlsPosition = el['controls-position'] ? `controls-position=${el['controls-position']}` : '' + const min = el.min ? `:min='${el.min}'` : '' + const max = el.max ? `:max='${el.max}'` : '' + const step = el.step ? `:step='${el.step}'` : '' + const stepStrictly = el['step-strictly'] ? 'step-strictly' : '' + const precision = el.precision ? `:precision='${el.precision}'` : '' + + return `<${el.tag} ${vModel} ${placeholder} ${step} ${stepStrictly} ${precision} ${controlsPosition} ${min} ${max} ${disabled}>` + }, + 'el-select': el => { + const { + disabled, vModel, clearable, placeholder, width + } = attrBuilder(el) + const filterable = el.filterable ? 'filterable' : '' + const multiple = el.multiple ? 'multiple' : '' + let child = buildElSelectChild(el) + + if (child) child = `\n${child}\n` // 换行 + return `<${el.tag} ${vModel} ${placeholder} ${disabled} ${multiple} ${filterable} ${clearable} ${width}>${child}` + }, + 'el-radio-group': el => { + const { disabled, vModel } = attrBuilder(el) + const size = `size="${el.size}"` + let child = buildElRadioGroupChild(el) + + if (child) child = `\n${child}\n` // 换行 + return `<${el.tag} ${vModel} ${size} ${disabled}>${child}` + }, + 'el-checkbox-group': el => { + const { disabled, vModel } = attrBuilder(el) + const size = `size="${el.size}"` + const min = el.min ? `:min="${el.min}"` : '' + const max = el.max ? `:max="${el.max}"` : '' + let child = buildElCheckboxGroupChild(el) + + if (child) child = `\n${child}\n` // 换行 + return `<${el.tag} ${vModel} ${min} ${max} ${size} ${disabled}>${child}` + }, + 'el-switch': el => { + const { disabled, vModel } = attrBuilder(el) + const activeText = el['active-text'] ? `active-text="${el['active-text']}"` : '' + const inactiveText = el['inactive-text'] ? `inactive-text="${el['inactive-text']}"` : '' + const activeColor = el['active-color'] ? `active-color="${el['active-color']}"` : '' + const inactiveColor = el['inactive-color'] ? `inactive-color="${el['inactive-color']}"` : '' + const activeValue = el['active-value'] !== true ? `:active-value='${JSON.stringify(el['active-value'])}'` : '' + const inactiveValue = el['inactive-value'] !== false ? `:inactive-value='${JSON.stringify(el['inactive-value'])}'` : '' + + return `<${el.tag} ${vModel} ${activeText} ${inactiveText} ${activeColor} ${inactiveColor} ${activeValue} ${inactiveValue} ${disabled}>` + }, + 'el-cascader': el => { + const { + disabled, vModel, clearable, placeholder, width + } = attrBuilder(el) + const options = el.options ? `:options="${el.vModel}Options"` : '' + const props = el.props ? `:props="${el.vModel}Props"` : '' + const showAllLevels = el['show-all-levels'] ? '' : ':show-all-levels="false"' + const filterable = el.filterable ? 'filterable' : '' + const separator = el.separator === '/' ? '' : `separator="${el.separator}"` + + return `<${el.tag} ${vModel} ${options} ${props} ${width} ${showAllLevels} ${placeholder} ${separator} ${filterable} ${clearable} ${disabled}>` + }, + 'el-slider': el => { + const { disabled, vModel } = attrBuilder(el) + const min = el.min ? `:min='${el.min}'` : '' + const max = el.max ? `:max='${el.max}'` : '' + const step = el.step ? `:step='${el.step}'` : '' + const range = el.range ? 'range' : '' + const showStops = el['show-stops'] ? `:show-stops="${el['show-stops']}"` : '' + + return `<${el.tag} ${min} ${max} ${step} ${vModel} ${range} ${showStops} ${disabled}>` + }, + 'el-time-picker': el => { + const { + disabled, vModel, clearable, placeholder, width + } = attrBuilder(el) + const startPlaceholder = el['start-placeholder'] ? `start-placeholder="${el['start-placeholder']}"` : '' + const endPlaceholder = el['end-placeholder'] ? `end-placeholder="${el['end-placeholder']}"` : '' + const rangeSeparator = el['range-separator'] ? `range-separator="${el['range-separator']}"` : '' + const isRange = el['is-range'] ? 'is-range' : '' + const format = el.format ? `format="${el.format}"` : '' + const valueFormat = el['value-format'] ? `value-format="${el['value-format']}"` : '' + const pickerOptions = el['picker-options'] ? `:picker-options='${JSON.stringify(el['picker-options'])}'` : '' + + return `<${el.tag} ${vModel} ${isRange} ${format} ${valueFormat} ${pickerOptions} ${width} ${placeholder} ${startPlaceholder} ${endPlaceholder} ${rangeSeparator} ${clearable} ${disabled}>` + }, + 'el-date-picker': el => { + const { + disabled, vModel, clearable, placeholder, width + } = attrBuilder(el) + const startPlaceholder = el['start-placeholder'] ? `start-placeholder="${el['start-placeholder']}"` : '' + const endPlaceholder = el['end-placeholder'] ? `end-placeholder="${el['end-placeholder']}"` : '' + const rangeSeparator = el['range-separator'] ? `range-separator="${el['range-separator']}"` : '' + const format = el.format ? `format="${el.format}"` : '' + const valueFormat = el['value-format'] ? `value-format="${el['value-format']}"` : '' + const type = el.type === 'date' ? '' : `type="${el.type}"` + const readonly = el.readonly ? 'readonly' : '' + + return `<${el.tag} ${type} ${vModel} ${format} ${valueFormat} ${width} ${placeholder} ${startPlaceholder} ${endPlaceholder} ${rangeSeparator} ${clearable} ${readonly} ${disabled}>` + }, + 'el-rate': el => { + const { disabled, vModel } = attrBuilder(el) + const max = el.max ? `:max='${el.max}'` : '' + const allowHalf = el['allow-half'] ? 'allow-half' : '' + const showText = el['show-text'] ? 'show-text' : '' + const showScore = el['show-score'] ? 'show-score' : '' + + return `<${el.tag} ${vModel} ${allowHalf} ${showText} ${showScore} ${disabled}>` + }, + 'el-color-picker': el => { + const { disabled, vModel } = attrBuilder(el) + const size = `size="${el.size}"` + const showAlpha = el['show-alpha'] ? 'show-alpha' : '' + const colorFormat = el['color-format'] ? `color-format="${el['color-format']}"` : '' + + return `<${el.tag} ${vModel} ${size} ${showAlpha} ${colorFormat} ${disabled}>` + }, + 'el-upload': el => { + const disabled = el.disabled ? ':disabled=\'true\'' : '' + const action = el.action ? `:action="${el.vModel}Action"` : '' + const multiple = el.multiple ? 'multiple' : '' + const listType = el['list-type'] !== 'text' ? `list-type="${el['list-type']}"` : '' + const accept = el.accept ? `accept="${el.accept}"` : '' + const name = el.name !== 'file' ? `name="${el.name}"` : '' + const autoUpload = el['auto-upload'] === false ? ':auto-upload="false"' : '' + const beforeUpload = `:before-upload="${el.vModel}BeforeUpload"` + const fileList = `:file-list="${el.vModel}fileList"` + const ref = `ref="${el.vModel}"` + let child = buildElUploadChild(el) + + if (child) child = `\n${child}\n` // 换行 + return `<${el.tag} ${ref} ${fileList} ${action} ${autoUpload} ${multiple} ${beforeUpload} ${listType} ${accept} ${name} ${disabled}>${child}` + } +} + +function attrBuilder(el) { + return { + vModel: `v-model="${confGlobal.formModel}.${el.vModel}"`, + clearable: el.clearable ? 'clearable' : '', + placeholder: el.placeholder ? `placeholder="${el.placeholder}"` : '', + width: el.style && el.style.width ? ':style="{width: \'100%\'}"' : '', + disabled: el.disabled ? ':disabled=\'true\'' : '' + } +} + +// el-buttin 子级 +function buildElButtonChild(conf) { + const children = [] + if (conf.default) { + children.push(conf.default) + } + return children.join('\n') +} + +// el-input innerHTML +function buildElInputChild(conf) { + const children = [] + if (conf.prepend) { + children.push(``) + } + if (conf.append) { + children.push(``) + } + return children.join('\n') +} + +function buildElSelectChild(conf) { + const children = [] + if (conf.options && conf.options.length) { + children.push(``) + } + return children.join('\n') +} + +function buildElRadioGroupChild(conf) { + const children = [] + if (conf.options && conf.options.length) { + const tag = conf.optionType === 'button' ? 'el-radio-button' : 'el-radio' + const border = conf.border ? 'border' : '' + children.push(`<${tag} v-for="(item, index) in ${conf.vModel}Options" :key="index" :label="item.value" :disabled="item.disabled" ${border}>{{item.label}}`) + } + return children.join('\n') +} + +function buildElCheckboxGroupChild(conf) { + const children = [] + if (conf.options && conf.options.length) { + const tag = conf.optionType === 'button' ? 'el-checkbox-button' : 'el-checkbox' + const border = conf.border ? 'border' : '' + children.push(`<${tag} v-for="(item, index) in ${conf.vModel}Options" :key="index" :label="item.value" :disabled="item.disabled" ${border}>{{item.label}}`) + } + return children.join('\n') +} + +function buildElUploadChild(conf) { + const list = [] + if (conf['list-type'] === 'picture-card') list.push('') + else list.push(`${conf.buttonText}`) + if (conf.showTip) list.push(`
只能上传不超过 ${conf.fileSize}${conf.sizeUnit} 的${conf.accept}文件
`) + return list.join('\n') +} + +export function makeUpHtml(conf, type) { + const htmlList = [] + confGlobal = conf + someSpanIsNot24 = conf.fields.some(item => item.span !== 24) + conf.fields.forEach(el => { + htmlList.push(layouts[el.layout](el)) + }) + const htmlStr = htmlList.join('\n') + + let temp = buildFormTemplate(conf, htmlStr, type) + if (type === 'dialog') { + temp = dialogWrapper(temp) + } + confGlobal = null + return temp +} diff --git a/ruoyi-ui/src/utils/generator/icon.json b/ruoyi-ui/src/utils/generator/icon.json new file mode 100644 index 0000000..2d9999a --- /dev/null +++ b/ruoyi-ui/src/utils/generator/icon.json @@ -0,0 +1 @@ +["platform-eleme","eleme","delete-solid","delete","s-tools","setting","user-solid","user","phone","phone-outline","more","more-outline","star-on","star-off","s-goods","goods","warning","warning-outline","question","info","remove","circle-plus","success","error","zoom-in","zoom-out","remove-outline","circle-plus-outline","circle-check","circle-close","s-help","help","minus","plus","check","close","picture","picture-outline","picture-outline-round","upload","upload2","download","camera-solid","camera","video-camera-solid","video-camera","message-solid","bell","s-cooperation","s-order","s-platform","s-fold","s-unfold","s-operation","s-promotion","s-home","s-release","s-ticket","s-management","s-open","s-shop","s-marketing","s-flag","s-comment","s-finance","s-claim","s-custom","s-opportunity","s-data","s-check","s-grid","menu","share","d-caret","caret-left","caret-right","caret-bottom","caret-top","bottom-left","bottom-right","back","right","bottom","top","top-left","top-right","arrow-left","arrow-right","arrow-down","arrow-up","d-arrow-left","d-arrow-right","video-pause","video-play","refresh","refresh-right","refresh-left","finished","sort","sort-up","sort-down","rank","loading","view","c-scale-to-original","date","edit","edit-outline","folder","folder-opened","folder-add","folder-remove","folder-delete","folder-checked","tickets","document-remove","document-delete","document-copy","document-checked","document","document-add","printer","paperclip","takeaway-box","search","monitor","attract","mobile","scissors","umbrella","headset","brush","mouse","coordinate","magic-stick","reading","data-line","data-board","pie-chart","data-analysis","collection-tag","film","suitcase","suitcase-1","receiving","collection","files","notebook-1","notebook-2","toilet-paper","office-building","school","table-lamp","house","no-smoking","smoking","shopping-cart-full","shopping-cart-1","shopping-cart-2","shopping-bag-1","shopping-bag-2","sold-out","sell","present","box","bank-card","money","coin","wallet","discount","price-tag","news","guide","male","female","thumb","cpu","link","connection","open","turn-off","set-up","chat-round","chat-line-round","chat-square","chat-dot-round","chat-dot-square","chat-line-square","message","postcard","position","turn-off-microphone","microphone","close-notification","bangzhu","time","odometer","crop","aim","switch-button","full-screen","copy-document","mic","stopwatch","medal-1","medal","trophy","trophy-1","first-aid-kit","discover","place","location","location-outline","location-information","add-location","delete-location","map-location","alarm-clock","timer","watch-1","watch","lock","unlock","key","service","mobile-phone","bicycle","truck","ship","basketball","football","soccer","baseball","wind-power","light-rain","lightning","heavy-rain","sunrise","sunrise-1","sunset","sunny","cloudy","partly-cloudy","cloudy-and-sunny","moon","moon-night","dish","dish-1","food","chicken","fork-spoon","knife-fork","burger","tableware","sugar","dessert","ice-cream","hot-water","water-cup","coffee-cup","cold-drink","goblet","goblet-full","goblet-square","goblet-square-full","refrigerator","grape","watermelon","cherry","apple","pear","orange","coffee","ice-tea","ice-drink","milk-tea","potato-strips","lollipop","ice-cream-square","ice-cream-round"] \ No newline at end of file diff --git a/ruoyi-ui/src/utils/generator/js.js b/ruoyi-ui/src/utils/generator/js.js new file mode 100644 index 0000000..ee8668d --- /dev/null +++ b/ruoyi-ui/src/utils/generator/js.js @@ -0,0 +1,235 @@ +import { exportDefault, titleCase } from '@/utils/index' +import { trigger } from './config' + +const units = { + KB: '1024', + MB: '1024 / 1024', + GB: '1024 / 1024 / 1024' +} +let confGlobal +const inheritAttrs = { + file: '', + dialog: 'inheritAttrs: false,' +} + + +export function makeUpJs(conf, type) { + confGlobal = conf = JSON.parse(JSON.stringify(conf)) + const dataList = [] + const ruleList = [] + const optionsList = [] + const propsList = [] + const methodList = mixinMethod(type) + const uploadVarList = [] + + conf.fields.forEach(el => { + buildAttributes(el, dataList, ruleList, optionsList, methodList, propsList, uploadVarList) + }) + + const script = buildexport( + conf, + type, + dataList.join('\n'), + ruleList.join('\n'), + optionsList.join('\n'), + uploadVarList.join('\n'), + propsList.join('\n'), + methodList.join('\n') + ) + confGlobal = null + return script +} + +function buildAttributes(el, dataList, ruleList, optionsList, methodList, propsList, uploadVarList) { + buildData(el, dataList) + buildRules(el, ruleList) + + if (el.options && el.options.length) { + buildOptions(el, optionsList) + if (el.dataType === 'dynamic') { + const model = `${el.vModel}Options` + const options = titleCase(model) + buildOptionMethod(`get${options}`, model, methodList) + } + } + + if (el.props && el.props.props) { + buildProps(el, propsList) + } + + if (el.action && el.tag === 'el-upload') { + uploadVarList.push( + `${el.vModel}Action: '${el.action}', + ${el.vModel}fileList: [],` + ) + methodList.push(buildBeforeUpload(el)) + if (!el['auto-upload']) { + methodList.push(buildSubmitUpload(el)) + } + } + + if (el.children) { + el.children.forEach(el2 => { + buildAttributes(el2, dataList, ruleList, optionsList, methodList, propsList, uploadVarList) + }) + } +} + +function mixinMethod(type) { + const list = []; const + minxins = { + file: confGlobal.formBtns ? { + submitForm: `submitForm() { + this.$refs['${confGlobal.formRef}'].validate(valid => { + if(!valid) return + // TODO 提交表单 + }) + },`, + resetForm: `resetForm() { + this.$refs['${confGlobal.formRef}'].resetFields() + },` + } : null, + dialog: { + onOpen: 'onOpen() {},', + onClose: `onClose() { + this.$refs['${confGlobal.formRef}'].resetFields() + },`, + close: `close() { + this.$emit('update:visible', false) + },`, + handleConfirm: `handleConfirm() { + this.$refs['${confGlobal.formRef}'].validate(valid => { + if(!valid) return + this.close() + }) + },` + } + } + + const methods = minxins[type] + if (methods) { + Object.keys(methods).forEach(key => { + list.push(methods[key]) + }) + } + + return list +} + +function buildData(conf, dataList) { + if (conf.vModel === undefined) return + let defaultValue + if (typeof (conf.defaultValue) === 'string' && !conf.multiple) { + defaultValue = `'${conf.defaultValue}'` + } else { + defaultValue = `${JSON.stringify(conf.defaultValue)}` + } + dataList.push(`${conf.vModel}: ${defaultValue},`) +} + +function buildRules(conf, ruleList) { + if (conf.vModel === undefined) return + const rules = [] + if (trigger[conf.tag]) { + if (conf.required) { + const type = Array.isArray(conf.defaultValue) ? 'type: \'array\',' : '' + let message = Array.isArray(conf.defaultValue) ? `请至少选择一个${conf.vModel}` : conf.placeholder + if (message === undefined) message = `${conf.label}不能为空` + rules.push(`{ required: true, ${type} message: '${message}', trigger: '${trigger[conf.tag]}' }`) + } + if (conf.regList && Array.isArray(conf.regList)) { + conf.regList.forEach(item => { + if (item.pattern) { + rules.push(`{ pattern: ${eval(item.pattern)}, message: '${item.message}', trigger: '${trigger[conf.tag]}' }`) + } + }) + } + ruleList.push(`${conf.vModel}: [${rules.join(',')}],`) + } +} + +function buildOptions(conf, optionsList) { + if (conf.vModel === undefined) return + if (conf.dataType === 'dynamic') { conf.options = [] } + const str = `${conf.vModel}Options: ${JSON.stringify(conf.options)},` + optionsList.push(str) +} + +function buildProps(conf, propsList) { + if (conf.dataType === 'dynamic') { + conf.valueKey !== 'value' && (conf.props.props.value = conf.valueKey) + conf.labelKey !== 'label' && (conf.props.props.label = conf.labelKey) + conf.childrenKey !== 'children' && (conf.props.props.children = conf.childrenKey) + } + const str = `${conf.vModel}Props: ${JSON.stringify(conf.props.props)},` + propsList.push(str) +} + +function buildBeforeUpload(conf) { + const unitNum = units[conf.sizeUnit]; let rightSizeCode = ''; let acceptCode = ''; const + returnList = [] + if (conf.fileSize) { + rightSizeCode = `let isRightSize = file.size / ${unitNum} < ${conf.fileSize} + if(!isRightSize){ + this.$message.error('文件大小超过 ${conf.fileSize}${conf.sizeUnit}') + }` + returnList.push('isRightSize') + } + if (conf.accept) { + acceptCode = `let isAccept = new RegExp('${conf.accept}').test(file.type) + if(!isAccept){ + this.$message.error('应该选择${conf.accept}类型的文件') + }` + returnList.push('isAccept') + } + const str = `${conf.vModel}BeforeUpload(file) { + ${rightSizeCode} + ${acceptCode} + return ${returnList.join('&&')} + },` + return returnList.length ? str : '' +} + +function buildSubmitUpload(conf) { + const str = `submitUpload() { + this.$refs['${conf.vModel}'].submit() + },` + return str +} + +function buildOptionMethod(methodName, model, methodList) { + const str = `${methodName}() { + // TODO 发起请求获取数据 + this.${model} + },` + methodList.push(str) +} + +function buildexport(conf, type, data, rules, selectOptions, uploadVar, props, methods) { + const str = `${exportDefault}{ + ${inheritAttrs[type]} + components: {}, + props: [], + data () { + return { + ${conf.formModel}: { + ${data} + }, + ${conf.formRules}: { + ${rules} + }, + ${uploadVar} + ${selectOptions} + ${props} + } + }, + computed: {}, + watch: {}, + created () {}, + mounted () {}, + methods: { + ${methods} + } +}` + return str +} diff --git a/ruoyi-ui/src/utils/generator/render.js b/ruoyi-ui/src/utils/generator/render.js new file mode 100644 index 0000000..e8640f0 --- /dev/null +++ b/ruoyi-ui/src/utils/generator/render.js @@ -0,0 +1,126 @@ +import { makeMap } from '@/utils/index' + +// 参考https://github.com/vuejs/vue/blob/v2.6.10/src/platforms/web/server/util.js +const isAttr = makeMap( + 'accept,accept-charset,accesskey,action,align,alt,async,autocomplete,' + + 'autofocus,autoplay,autosave,bgcolor,border,buffered,challenge,charset,' + + 'checked,cite,class,code,codebase,color,cols,colspan,content,http-equiv,' + + 'name,contenteditable,contextmenu,controls,coords,data,datetime,default,' + + 'defer,dir,dirname,disabled,download,draggable,dropzone,enctype,method,for,' + + 'form,formaction,headers,height,hidden,high,href,hreflang,http-equiv,' + + 'icon,id,ismap,itemprop,keytype,kind,label,lang,language,list,loop,low,' + + 'manifest,max,maxlength,media,method,GET,POST,min,multiple,email,file,' + + 'muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,' + + 'preload,radiogroup,readonly,rel,required,reversed,rows,rowspan,sandbox,' + + 'scope,scoped,seamless,selected,shape,size,type,text,password,sizes,span,' + + 'spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,' + + 'target,title,type,usemap,value,width,wrap' +) + +function vModel(self, dataObject, defaultValue) { + dataObject.props.value = defaultValue + + dataObject.on.input = val => { + self.$emit('input', val) + } +} + +const componentChild = { + 'el-button': { + default(h, conf, key) { + return conf[key] + }, + }, + 'el-input': { + prepend(h, conf, key) { + return + }, + append(h, conf, key) { + return + } + }, + 'el-select': { + options(h, conf, key) { + const list = [] + conf.options.forEach(item => { + list.push() + }) + return list + } + }, + 'el-radio-group': { + options(h, conf, key) { + const list = [] + conf.options.forEach(item => { + if (conf.optionType === 'button') list.push({item.label}) + else list.push({item.label}) + }) + return list + } + }, + 'el-checkbox-group': { + options(h, conf, key) { + const list = [] + conf.options.forEach(item => { + if (conf.optionType === 'button') { + list.push({item.label}) + } else { + list.push({item.label}) + } + }) + return list + } + }, + 'el-upload': { + 'list-type': (h, conf, key) => { + const list = [] + if (conf['list-type'] === 'picture-card') { + list.push() + } else { + list.push({conf.buttonText}) + } + if (conf.showTip) { + list.push(
只能上传不超过 {conf.fileSize}{conf.sizeUnit} 的{conf.accept}文件
) + } + return list + } + } +} + +export default { + render(h) { + const dataObject = { + attrs: {}, + props: {}, + on: {}, + style: {} + } + const confClone = JSON.parse(JSON.stringify(this.conf)) + const children = [] + + const childObjs = componentChild[confClone.tag] + if (childObjs) { + Object.keys(childObjs).forEach(key => { + const childFunc = childObjs[key] + if (confClone[key]) { + children.push(childFunc(h, confClone, key)) + } + }) + } + + Object.keys(confClone).forEach(key => { + const val = confClone[key] + if (key === 'vModel') { + vModel(this, dataObject, confClone.defaultValue) + } else if (dataObject[key]) { + dataObject[key] = val + } else if (!isAttr(key)) { + dataObject.props[key] = val + } else { + dataObject.attrs[key] = val + } + }) + return h(this.conf.tag, dataObject, children) + }, + props: ['conf'] +} diff --git a/ruoyi-ui/src/utils/index.js b/ruoyi-ui/src/utils/index.js new file mode 100644 index 0000000..df5db12 --- /dev/null +++ b/ruoyi-ui/src/utils/index.js @@ -0,0 +1,390 @@ +import { parseTime } from './ruoyi' + +/** + * 表格时间格式化 + */ +export function formatDate(cellValue) { + if (cellValue == null || cellValue == "") return ""; + var date = new Date(cellValue) + var year = date.getFullYear() + var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1 + var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate() + var hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours() + var minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes() + var seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds() + return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds +} + +/** + * @param {number} time + * @param {string} option + * @returns {string} + */ +export function formatTime(time, option) { + if (('' + time).length === 10) { + time = parseInt(time) * 1000 + } else { + time = +time + } + const d = new Date(time) + const now = Date.now() + + const diff = (now - d) / 1000 + + if (diff < 30) { + return '刚刚' + } else if (diff < 3600) { + // less 1 hour + return Math.ceil(diff / 60) + '分钟前' + } else if (diff < 3600 * 24) { + return Math.ceil(diff / 3600) + '小时前' + } else if (diff < 3600 * 24 * 2) { + return '1天前' + } + if (option) { + return parseTime(time, option) + } else { + return ( + d.getMonth() + + 1 + + '月' + + d.getDate() + + '日' + + d.getHours() + + '时' + + d.getMinutes() + + '分' + ) + } +} + +/** + * @param {string} url + * @returns {Object} + */ +export function getQueryObject(url) { + url = url == null ? window.location.href : url + const search = url.substring(url.lastIndexOf('?') + 1) + const obj = {} + const reg = /([^?&=]+)=([^?&=]*)/g + search.replace(reg, (rs, $1, $2) => { + const name = decodeURIComponent($1) + let val = decodeURIComponent($2) + val = String(val) + obj[name] = val + return rs + }) + return obj +} + +/** + * @param {string} input value + * @returns {number} output value + */ +export function byteLength(str) { + // returns the byte length of an utf8 string + let s = str.length + for (var i = str.length - 1; i >= 0; i--) { + const code = str.charCodeAt(i) + if (code > 0x7f && code <= 0x7ff) s++ + else if (code > 0x7ff && code <= 0xffff) s += 2 + if (code >= 0xDC00 && code <= 0xDFFF) i-- + } + return s +} + +/** + * @param {Array} actual + * @returns {Array} + */ +export function cleanArray(actual) { + const newArray = [] + for (let i = 0; i < actual.length; i++) { + if (actual[i]) { + newArray.push(actual[i]) + } + } + return newArray +} + +/** + * @param {Object} json + * @returns {Array} + */ +export function param(json) { + if (!json) return '' + return cleanArray( + Object.keys(json).map(key => { + if (json[key] === undefined) return '' + return encodeURIComponent(key) + '=' + encodeURIComponent(json[key]) + }) + ).join('&') +} + +/** + * @param {string} url + * @returns {Object} + */ +export function param2Obj(url) { + const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ') + if (!search) { + return {} + } + const obj = {} + const searchArr = search.split('&') + searchArr.forEach(v => { + const index = v.indexOf('=') + if (index !== -1) { + const name = v.substring(0, index) + const val = v.substring(index + 1, v.length) + obj[name] = val + } + }) + return obj +} + +/** + * @param {string} val + * @returns {string} + */ +export function html2Text(val) { + const div = document.createElement('div') + div.innerHTML = val + return div.textContent || div.innerText +} + +/** + * Merges two objects, giving the last one precedence + * @param {Object} target + * @param {(Object|Array)} source + * @returns {Object} + */ +export function objectMerge(target, source) { + if (typeof target !== 'object') { + target = {} + } + if (Array.isArray(source)) { + return source.slice() + } + Object.keys(source).forEach(property => { + const sourceProperty = source[property] + if (typeof sourceProperty === 'object') { + target[property] = objectMerge(target[property], sourceProperty) + } else { + target[property] = sourceProperty + } + }) + return target +} + +/** + * @param {HTMLElement} element + * @param {string} className + */ +export function toggleClass(element, className) { + if (!element || !className) { + return + } + let classString = element.className + const nameIndex = classString.indexOf(className) + if (nameIndex === -1) { + classString += '' + className + } else { + classString = + classString.substr(0, nameIndex) + + classString.substr(nameIndex + className.length) + } + element.className = classString +} + +/** + * @param {string} type + * @returns {Date} + */ +export function getTime(type) { + if (type === 'start') { + return new Date().getTime() - 3600 * 1000 * 24 * 90 + } else { + return new Date(new Date().toDateString()) + } +} + +/** + * @param {Function} func + * @param {number} wait + * @param {boolean} immediate + * @return {*} + */ +export function debounce(func, wait, immediate) { + let timeout, args, context, timestamp, result + + const later = function() { + // 据上一次触发时间间隔 + const last = +new Date() - timestamp + + // 上次被包装函数被调用时间间隔 last 小于设定时间间隔 wait + if (last < wait && last > 0) { + timeout = setTimeout(later, wait - last) + } else { + timeout = null + // 如果设定为immediate===true,因为开始边界已经调用过了此处无需调用 + if (!immediate) { + result = func.apply(context, args) + if (!timeout) context = args = null + } + } + } + + return function(...args) { + context = this + timestamp = +new Date() + const callNow = immediate && !timeout + // 如果延时不存在,重新设定延时 + if (!timeout) timeout = setTimeout(later, wait) + if (callNow) { + result = func.apply(context, args) + context = args = null + } + + return result + } +} + +/** + * This is just a simple version of deep copy + * Has a lot of edge cases bug + * If you want to use a perfect deep copy, use lodash's _.cloneDeep + * @param {Object} source + * @returns {Object} + */ +export function deepClone(source) { + if (!source && typeof source !== 'object') { + throw new Error('error arguments', 'deepClone') + } + const targetObj = source.constructor === Array ? [] : {} + Object.keys(source).forEach(keys => { + if (source[keys] && typeof source[keys] === 'object') { + targetObj[keys] = deepClone(source[keys]) + } else { + targetObj[keys] = source[keys] + } + }) + return targetObj +} + +/** + * @param {Array} arr + * @returns {Array} + */ +export function uniqueArr(arr) { + return Array.from(new Set(arr)) +} + +/** + * @returns {string} + */ +export function createUniqueString() { + const timestamp = +new Date() + '' + const randomNum = parseInt((1 + Math.random()) * 65536) + '' + return (+(randomNum + timestamp)).toString(32) +} + +/** + * Check if an element has a class + * @param {HTMLElement} elm + * @param {string} cls + * @returns {boolean} + */ +export function hasClass(ele, cls) { + return !!ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)')) +} + +/** + * Add class to element + * @param {HTMLElement} elm + * @param {string} cls + */ +export function addClass(ele, cls) { + if (!hasClass(ele, cls)) ele.className += ' ' + cls +} + +/** + * Remove class from element + * @param {HTMLElement} elm + * @param {string} cls + */ +export function removeClass(ele, cls) { + if (hasClass(ele, cls)) { + const reg = new RegExp('(\\s|^)' + cls + '(\\s|$)') + ele.className = ele.className.replace(reg, ' ') + } +} + +export function makeMap(str, expectsLowerCase) { + const map = Object.create(null) + const list = str.split(',') + for (let i = 0; i < list.length; i++) { + map[list[i]] = true + } + return expectsLowerCase + ? val => map[val.toLowerCase()] + : val => map[val] +} + +export const exportDefault = 'export default ' + +export const beautifierConf = { + html: { + indent_size: '2', + indent_char: ' ', + max_preserve_newlines: '-1', + preserve_newlines: false, + keep_array_indentation: false, + break_chained_methods: false, + indent_scripts: 'separate', + brace_style: 'end-expand', + space_before_conditional: true, + unescape_strings: false, + jslint_happy: false, + end_with_newline: true, + wrap_line_length: '110', + indent_inner_html: true, + comma_first: false, + e4x: true, + indent_empty_lines: true + }, + js: { + indent_size: '2', + indent_char: ' ', + max_preserve_newlines: '-1', + preserve_newlines: false, + keep_array_indentation: false, + break_chained_methods: false, + indent_scripts: 'normal', + brace_style: 'end-expand', + space_before_conditional: true, + unescape_strings: false, + jslint_happy: true, + end_with_newline: true, + wrap_line_length: '110', + indent_inner_html: true, + comma_first: false, + e4x: true, + indent_empty_lines: true + } +} + +// 首字母大小 +export function titleCase(str) { + return str.replace(/( |^)[a-z]/g, L => L.toUpperCase()) +} + +// 下划转驼峰 +export function camelCase(str) { + return str.replace(/_[a-z]/g, str1 => str1.substr(-1).toUpperCase()) +} + +export function isNumberStr(str) { + return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str) +} + diff --git a/ruoyi-ui/src/utils/jsencrypt.js b/ruoyi-ui/src/utils/jsencrypt.js new file mode 100644 index 0000000..78d9523 --- /dev/null +++ b/ruoyi-ui/src/utils/jsencrypt.js @@ -0,0 +1,30 @@ +import JSEncrypt from 'jsencrypt/bin/jsencrypt.min' + +// 密钥对生成 http://web.chacuo.net/netrsakeypair + +const publicKey = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdH\n' + + 'nzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ==' + +const privateKey = 'MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAqhHyZfSsYourNxaY\n' + + '7Nt+PrgrxkiA50efORdI5U5lsW79MmFnusUA355oaSXcLhu5xxB38SMSyP2KvuKN\n' + + 'PuH3owIDAQABAkAfoiLyL+Z4lf4Myxk6xUDgLaWGximj20CUf+5BKKnlrK+Ed8gA\n' + + 'kM0HqoTt2UZwA5E2MzS4EI2gjfQhz5X28uqxAiEA3wNFxfrCZlSZHb0gn2zDpWow\n' + + 'cSxQAgiCstxGUoOqlW8CIQDDOerGKH5OmCJ4Z21v+F25WaHYPxCFMvwxpcw99Ecv\n' + + 'DQIgIdhDTIqD2jfYjPTY8Jj3EDGPbH2HHuffvflECt3Ek60CIQCFRlCkHpi7hthh\n' + + 'YhovyloRYsM+IS9h/0BzlEAuO0ktMQIgSPT3aFAgJYwKpqRYKlLDVcflZFCKY7u3\n' + + 'UP8iWi1Qw0Y=' + +// 加密 +export function encrypt(txt) { + const encryptor = new JSEncrypt() + encryptor.setPublicKey(publicKey) // 设置公钥 + return encryptor.encrypt(txt) // 对数据进行加密 +} + +// 解密 +export function decrypt(txt) { + const encryptor = new JSEncrypt() + encryptor.setPrivateKey(privateKey) // 设置私钥 + return encryptor.decrypt(txt) // 对数据进行解密 +} + diff --git a/ruoyi-ui/src/utils/permission.js b/ruoyi-ui/src/utils/permission.js new file mode 100644 index 0000000..1730e33 --- /dev/null +++ b/ruoyi-ui/src/utils/permission.js @@ -0,0 +1,51 @@ +import store from '@/store' + +/** + * 字符权限校验 + * @param {Array} value 校验值 + * @returns {Boolean} + */ +export function checkPermi(value) { + if (value && value instanceof Array && value.length > 0) { + const permissions = store.getters && store.getters.permissions + const permissionDatas = value + const all_permission = "*:*:*"; + + const hasPermission = permissions.some(permission => { + return all_permission === permission || permissionDatas.includes(permission) + }) + + if (!hasPermission) { + return false + } + return true + } else { + console.error(`need roles! Like checkPermi="['system:user:add','system:user:edit']"`) + return false + } +} + +/** + * 角色权限校验 + * @param {Array} value 校验值 + * @returns {Boolean} + */ +export function checkRole(value) { + if (value && value instanceof Array && value.length > 0) { + const roles = store.getters && store.getters.roles + const permissionRoles = value + const super_admin = "admin"; + + const hasRole = roles.some(role => { + return super_admin === role || permissionRoles.includes(role) + }) + + if (!hasRole) { + return false + } + return true + } else { + console.error(`need roles! Like checkRole="['admin','editor']"`) + return false + } +} \ No newline at end of file diff --git a/ruoyi-ui/src/utils/request.js b/ruoyi-ui/src/utils/request.js new file mode 100644 index 0000000..8cfaa4b --- /dev/null +++ b/ruoyi-ui/src/utils/request.js @@ -0,0 +1,152 @@ +import axios from 'axios' +import { Notification, MessageBox, Message, Loading } from 'element-ui' +import store from '@/store' +import { getToken } from '@/utils/auth' +import errorCode from '@/utils/errorCode' +import { tansParams, blobValidate } from "@/utils/ruoyi"; +import cache from '@/plugins/cache' +import { saveAs } from 'file-saver' + +let downloadLoadingInstance; +// 是否显示重新登录 +export let isRelogin = { show: false }; + +axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8' +// 创建axios实例 +const service = axios.create({ + // axios中请求配置有baseURL选项,表示请求URL公共部分 + baseURL: process.env.VUE_APP_BASE_API, + // 超时 + timeout: 120000 +}) + +// request拦截器 +service.interceptors.request.use(config => { + // 是否需要设置 token + const isToken = (config.headers || {}).isToken === false + // 是否需要防止数据重复提交 + const isRepeatSubmit = (config.headers || {}).repeatSubmit === false + if (getToken() && !isToken) { + config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + } + // get请求映射params参数 + if (config.method === 'get' && config.params) { + let url = config.url + '?' + tansParams(config.params); + url = url.slice(0, -1); + config.params = {}; + config.url = url; + } + if (!isRepeatSubmit && (config.method === 'post' || config.method === 'put')) { + const requestObj = { + url: config.url, + data: typeof config.data === 'object' ? JSON.stringify(config.data) : config.data, + time: new Date().getTime() + } + const requestSize = Object.keys(JSON.stringify(requestObj)).length; // 请求数据大小 + const limitSize = 5 * 1024 * 1024; // 限制存放数据5M + if (requestSize >= limitSize) { + console.warn(`[${config.url}]: ` + '请求数据大小超出允许的5M限制,无法进行防重复提交验证。') + return config; + } + const sessionObj = cache.session.getJSON('sessionObj') + if (sessionObj === undefined || sessionObj === null || sessionObj === '') { + cache.session.setJSON('sessionObj', requestObj) + } else { + const s_url = sessionObj.url; // 请求地址 + const s_data = sessionObj.data; // 请求数据 + const s_time = sessionObj.time; // 请求时间 + const interval = 1000; // 间隔时间(ms),小于此时间视为重复提交 + if (s_data === requestObj.data && requestObj.time - s_time < interval && s_url === requestObj.url) { + const message = '数据正在处理,请勿重复提交'; + console.warn(`[${s_url}]: ` + message) + return Promise.reject(new Error(message)) + } else { + cache.session.setJSON('sessionObj', requestObj) + } + } + } + return config +}, error => { + console.log(error) + Promise.reject(error) +}) + +// 响应拦截器 +service.interceptors.response.use(res => { + // 未设置状态码则默认成功状态 + const code = res.data.code || 200; + // 获取错误信息 + const msg = errorCode[code] || res.data.msg || errorCode['default'] + // 二进制数据则直接返回 + if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') { + return res.data + } + if (code === 401) { + if (!isRelogin.show) { + isRelogin.show = true; + MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => { + isRelogin.show = false; + store.dispatch('LogOut').then(() => { + location.href = '/'; + }) + }).catch(() => { + isRelogin.show = false; + }); + } + return Promise.reject('无效的会话,或者会话已过期,请重新登录。') + } else if (code === 500) { + Message({ message: msg, type: 'error' }) + return Promise.reject(new Error(msg)) + } else if (code === 601) { + Message({ message: msg, type: 'warning' }) + return Promise.reject('error') + } else if (code !== 200) { + Notification.error({ title: msg }) + return Promise.reject('error') + } else { + return res.data + } + }, + error => { + console.log('err' + error) + let { message } = error; + if (message == "Network Error") { + message = "后端接口连接异常"; + } else if (message.includes("timeout")) { + message = "系统接口请求超时"; + } else if (message.includes("Request failed with status code")) { + message = "系统接口" + message.substr(message.length - 3) + "异常"; + } + Message({ message: message, type: 'error', duration: 5 * 1000 }) + return Promise.reject(error) + } +) + +// 通用下载方法 +export function download(url, params, filename, config) { + downloadLoadingInstance = Loading.service({ text: "正在下载数据,请稍候", spinner: "el-icon-loading", background: "rgba(0, 0, 0, 0.7)", }) + return service.post(url, params, { + transformRequest: [(params) => { return tansParams(params) }], + headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, + responseType: 'blob', + ...config + }).then(async (data) => { + const isBlob = blobValidate(data); + if (isBlob) { + const blob = new Blob([data]) + saveAs(blob, filename) + } else { + const resText = await data.text(); + const rspObj = JSON.parse(resText); + const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default'] + Message.error(errMsg); + } + downloadLoadingInstance.close(); + }).catch((r) => { + console.error(r) + Message.error('下载文件出现错误,请联系管理员!') + downloadLoadingInstance.close(); + }) +} + +export default service diff --git a/ruoyi-ui/src/utils/ruoyi.js b/ruoyi-ui/src/utils/ruoyi.js new file mode 100644 index 0000000..44bf9c4 --- /dev/null +++ b/ruoyi-ui/src/utils/ruoyi.js @@ -0,0 +1,233 @@ + + +/** + * 通用js方法封装处理 + * Copyright (c) 2019 ruoyi + */ + +// 日期格式化 +export function parseTime(time, pattern) { + if (arguments.length === 0 || !time) { + return null + } + const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}' + let date + if (typeof time === 'object') { + date = time + } else { + if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) { + time = parseInt(time) + } else if (typeof time === 'string') { + time = time.replace(new RegExp(/-/gm), '/').replace('T', ' ').replace(new RegExp(/\.[\d]{3}/gm), ''); + } + if ((typeof time === 'number') && (time.toString().length === 10)) { + time = time * 1000 + } + date = new Date(time) + } + const formatObj = { + y: date.getFullYear(), + m: date.getMonth() + 1, + d: date.getDate(), + h: date.getHours(), + i: date.getMinutes(), + s: date.getSeconds(), + a: date.getDay() + } + const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => { + let value = formatObj[key] + // Note: getDay() returns 0 on Sunday + if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value] } + if (result.length > 0 && value < 10) { + value = '0' + value + } + return value || 0 + }) + return time_str +} + +// 表单重置 +export function resetForm(refName) { + if (this.$refs[refName]) { + this.$refs[refName].resetFields(); + } +} + +// 添加日期范围 +export function addDateRange(params, dateRange, propName) { + let search = params; + search.params = typeof (search.params) === 'object' && search.params !== null && !Array.isArray(search.params) ? search.params : {}; + dateRange = Array.isArray(dateRange) ? dateRange : []; + if (typeof (propName) === 'undefined') { + search.params['beginTime'] = dateRange[0]; + search.params['endTime'] = dateRange[1]; + } else { + search.params['begin' + propName] = dateRange[0]; + search.params['end' + propName] = dateRange[1]; + } + return search; +} + +// 回显数据字典 +export function selectDictLabel(datas, value) { + if (value === undefined) { + return ""; + } + var actions = []; + Object.keys(datas).some((key) => { + if (datas[key].value == ('' + value)) { + actions.push(datas[key].label); + return true; + } + }) + if (actions.length === 0) { + actions.push(value); + } + return actions.join(''); +} + +// 回显数据字典(字符串、数组) +export function selectDictLabels(datas, value, separator) { + if (value === undefined || value.length ===0) { + return ""; + } + if (Array.isArray(value)) { + value = value.join(","); + } + var actions = []; + var currentSeparator = undefined === separator ? "," : separator; + var temp = value.split(currentSeparator); + Object.keys(value.split(currentSeparator)).some((val) => { + var match = false; + Object.keys(datas).some((key) => { + if (datas[key].value == ('' + temp[val])) { + actions.push(datas[key].label + currentSeparator); + match = true; + } + }) + if (!match) { + actions.push(temp[val] + currentSeparator); + } + }) + return actions.join('').substring(0, actions.join('').length - 1); +} + +// 字符串格式化(%s ) +export function sprintf(str) { + var args = arguments, flag = true, i = 1; + str = str.replace(/%s/g, function () { + var arg = args[i++]; + if (typeof arg === 'undefined') { + flag = false; + return ''; + } + return arg; + }); + return flag ? str : ''; +} + +// 转换字符串,undefined,null等转化为"" +export function parseStrEmpty(str) { + if (!str || str == "undefined" || str == "null") { + return ""; + } + return str; +} + +// 数据合并 +export function mergeRecursive(source, target) { + for (var p in target) { + try { + if (target[p].constructor == Object) { + source[p] = mergeRecursive(source[p], target[p]); + } else { + source[p] = target[p]; + } + } catch (e) { + source[p] = target[p]; + } + } + return source; +}; + +/** + * 构造树型结构数据 + * @param {*} data 数据源 + * @param {*} id id字段 默认 'id' + * @param {*} parentId 父节点字段 默认 'parentId' + * @param {*} children 孩子节点字段 默认 'children' + */ +export function handleTree(data, id, parentId, children) { + let config = { + id: id || 'id', + parentId: parentId || 'parentId', + childrenList: children || 'children' + }; + + var childrenListMap = {}; + var nodeIds = {}; + var tree = []; + + for (let d of data) { + let parentId = d[config.parentId]; + if (childrenListMap[parentId] == null) { + childrenListMap[parentId] = []; + } + nodeIds[d[config.id]] = d; + childrenListMap[parentId].push(d); + } + + for (let d of data) { + let parentId = d[config.parentId]; + if (nodeIds[parentId] == null) { + tree.push(d); + } + } + + for (let t of tree) { + adaptToChildrenList(t); + } + + function adaptToChildrenList(o) { + if (childrenListMap[o[config.id]] !== null) { + o[config.childrenList] = childrenListMap[o[config.id]]; + } + if (o[config.childrenList]) { + for (let c of o[config.childrenList]) { + adaptToChildrenList(c); + } + } + } + return tree; +} + +/** +* 参数处理 +* @param {*} params 参数 +*/ +export function tansParams(params) { + let result = '' + for (const propName of Object.keys(params)) { + const value = params[propName]; + var part = encodeURIComponent(propName) + "="; + if (value !== null && value !== "" && typeof (value) !== "undefined") { + if (typeof value === 'object') { + for (const key of Object.keys(value)) { + if (value[key] !== null && value[key] !== "" && typeof (value[key]) !== 'undefined') { + let params = propName + '[' + key + ']'; + var subPart = encodeURIComponent(params) + "="; + result += subPart + encodeURIComponent(value[key]) + "&"; + } + } + } else { + result += part + encodeURIComponent(value) + "&"; + } + } + } + return result +} + +// 验证是否为blob格式 +export function blobValidate(data) { + return data.type !== 'application/json' +} diff --git a/ruoyi-ui/src/utils/scroll-to.js b/ruoyi-ui/src/utils/scroll-to.js new file mode 100644 index 0000000..c5d8e04 --- /dev/null +++ b/ruoyi-ui/src/utils/scroll-to.js @@ -0,0 +1,58 @@ +Math.easeInOutQuad = function(t, b, c, d) { + t /= d / 2 + if (t < 1) { + return c / 2 * t * t + b + } + t-- + return -c / 2 * (t * (t - 2) - 1) + b +} + +// requestAnimationFrame for Smart Animating http://goo.gl/sx5sts +var requestAnimFrame = (function() { + return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(callback) { window.setTimeout(callback, 1000 / 60) } +})() + +/** + * Because it's so fucking difficult to detect the scrolling element, just move them all + * @param {number} amount + */ +function move(amount) { + document.documentElement.scrollTop = amount + document.body.parentNode.scrollTop = amount + document.body.scrollTop = amount +} + +function position() { + return document.documentElement.scrollTop || document.body.parentNode.scrollTop || document.body.scrollTop +} + +/** + * @param {number} to + * @param {number} duration + * @param {Function} callback + */ +export function scrollTo(to, duration, callback) { + const start = position() + const change = to - start + const increment = 20 + let currentTime = 0 + duration = (typeof (duration) === 'undefined') ? 500 : duration + var animateScroll = function() { + // increment the time + currentTime += increment + // find the value with the quadratic in-out easing function + var val = Math.easeInOutQuad(currentTime, start, change, duration) + // move the document.body + move(val) + // do the animation unless its over + if (currentTime < duration) { + requestAnimFrame(animateScroll) + } else { + if (callback && typeof (callback) === 'function') { + // the animation is done so lets callback + callback() + } + } + } + animateScroll() +} diff --git a/ruoyi-ui/src/utils/user.js b/ruoyi-ui/src/utils/user.js new file mode 100644 index 0000000..0717c6c --- /dev/null +++ b/ruoyi-ui/src/utils/user.js @@ -0,0 +1,79 @@ + +import store from '@/store' + +export function getUserOrgCode() { + return store.state.user.orgCode; +} + +export function getUserDeptId() { + return store.state.user.deptId; +} + +export function getUserName() { + return store.state.user.name; +} + +export function getUserRoles() { + return store.state.user.roles; +} + +export const ROLE = { + ADMIN: 'admin', // 总部管理员 + COMMON: 'common', // 县级管理员 + TOWN: 'town', // 镇级管理员 + VILLAGE: 'village', // 村级管理员 + VILLAGE_SOCRE: 'village_socre', // 村委 + FARMER: 'farmer', // 村民 + + in_roles(/*myRoles: string|array, roleA, roleC, roleC...*/) + { + if(arguments.length <= 1) + return false; + // if(!Array.isArray(myRoles)) + // myRoles = myRoles.split(','); + // return myRoles.indexOf(requireRole) !== -1; + let myRoles = arguments[0]; + if(!Array.isArray(myRoles)) + myRoles = myRoles.split(','); + for(let i = 1; i < arguments.length; i++) + { + let data = arguments[i]; + if(!data) + continue; + if(!Array.isArray(data)) + data = data.split(','); + for(let r of data) + { + if(myRoles.includes(r)) + return true; + } + } + return false; + }, +}; + +export function user_in_roles(/*roleA, roleC, roleC...*/) +{ + if(arguments.length < 1) + return false; + //console.log(getUserRoles()); + return ROLE.in_roles(getUserRoles(), ...arguments); +} + +// 用户是否是系统管理员 +export function user_is_admin() +{ + return ROLE.in_roles(getUserRoles(), ROLE.ADMIN); +} + +// 用户是否是镇级管理员以上角色 +export function user_is_above_town() +{ + return user_in_roles(ROLE.TOWN, ROLE.COMMON, ROLE.ADMIN); +} + +// 用户是否是村级管理员以上角色 +export function user_is_above_village() +{ + return user_in_roles(ROLE.VILLAGE, ROLE.TOWN, ROLE.COMMON, ROLE.ADMIN); +} diff --git a/ruoyi-ui/src/utils/validate.js b/ruoyi-ui/src/utils/validate.js new file mode 100644 index 0000000..adfa254 --- /dev/null +++ b/ruoyi-ui/src/utils/validate.js @@ -0,0 +1,83 @@ +/** + * @param {string} path + * @returns {Boolean} + */ +export function isExternal(path) { + return /^(https?:|mailto:|tel:)/.test(path) +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function validUsername(str) { + const valid_map = ['admin', 'editor'] + return valid_map.indexOf(str.trim()) >= 0 +} + +/** + * @param {string} url + * @returns {Boolean} + */ +export function validURL(url) { + const reg = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/ + return reg.test(url) +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function validLowerCase(str) { + const reg = /^[a-z]+$/ + return reg.test(str) +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function validUpperCase(str) { + const reg = /^[A-Z]+$/ + return reg.test(str) +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function validAlphabets(str) { + const reg = /^[A-Za-z]+$/ + return reg.test(str) +} + +/** + * @param {string} email + * @returns {Boolean} + */ +export function validEmail(email) { + const reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ + return reg.test(email) +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function isString(str) { + if (typeof str === 'string' || str instanceof String) { + return true + } + return false +} + +/** + * @param {Array} arg + * @returns {Boolean} + */ +export function isArray(arg) { + if (typeof Array.isArray === 'undefined') { + return Object.prototype.toString.call(arg) === '[object Array]' + } + return Array.isArray(arg) +} diff --git a/ruoyi-ui/src/views/components/icons/element-icons.js b/ruoyi-ui/src/views/components/icons/element-icons.js new file mode 100644 index 0000000..9ea4d63 --- /dev/null +++ b/ruoyi-ui/src/views/components/icons/element-icons.js @@ -0,0 +1,3 @@ +const elementIcons = ['platform-eleme', 'eleme', 'delete-solid', 'delete', 's-tools', 'setting', 'user-solid', 'user', 'phone', 'phone-outline', 'more', 'more-outline', 'star-on', 'star-off', 's-goods', 'goods', 'warning', 'warning-outline', 'question', 'info', 'remove', 'circle-plus', 'success', 'error', 'zoom-in', 'zoom-out', 'remove-outline', 'circle-plus-outline', 'circle-check', 'circle-close', 's-help', 'help', 'minus', 'plus', 'check', 'close', 'picture', 'picture-outline', 'picture-outline-round', 'upload', 'upload2', 'download', 'camera-solid', 'camera', 'video-camera-solid', 'video-camera', 'message-solid', 'bell', 's-cooperation', 's-order', 's-platform', 's-fold', 's-unfold', 's-operation', 's-promotion', 's-home', 's-release', 's-ticket', 's-management', 's-open', 's-shop', 's-marketing', 's-flag', 's-comment', 's-finance', 's-claim', 's-custom', 's-opportunity', 's-data', 's-check', 's-grid', 'menu', 'share', 'd-caret', 'caret-left', 'caret-right', 'caret-bottom', 'caret-top', 'bottom-left', 'bottom-right', 'back', 'right', 'bottom', 'top', 'top-left', 'top-right', 'arrow-left', 'arrow-right', 'arrow-down', 'arrow-up', 'd-arrow-left', 'd-arrow-right', 'video-pause', 'video-play', 'refresh', 'refresh-right', 'refresh-left', 'finished', 'sort', 'sort-up', 'sort-down', 'rank', 'loading', 'view', 'c-scale-to-original', 'date', 'edit', 'edit-outline', 'folder', 'folder-opened', 'folder-add', 'folder-remove', 'folder-delete', 'folder-checked', 'tickets', 'document-remove', 'document-delete', 'document-copy', 'document-checked', 'document', 'document-add', 'printer', 'paperclip', 'takeaway-box', 'search', 'monitor', 'attract', 'mobile', 'scissors', 'umbrella', 'headset', 'brush', 'mouse', 'coordinate', 'magic-stick', 'reading', 'data-line', 'data-board', 'pie-chart', 'data-analysis', 'collection-tag', 'film', 'suitcase', 'suitcase-1', 'receiving', 'collection', 'files', 'notebook-1', 'notebook-2', 'toilet-paper', 'office-building', 'school', 'table-lamp', 'house', 'no-smoking', 'smoking', 'shopping-cart-full', 'shopping-cart-1', 'shopping-cart-2', 'shopping-bag-1', 'shopping-bag-2', 'sold-out', 'sell', 'present', 'box', 'bank-card', 'money', 'coin', 'wallet', 'discount', 'price-tag', 'news', 'guide', 'male', 'female', 'thumb', 'cpu', 'link', 'connection', 'open', 'turn-off', 'set-up', 'chat-round', 'chat-line-round', 'chat-square', 'chat-dot-round', 'chat-dot-square', 'chat-line-square', 'message', 'postcard', 'position', 'turn-off-microphone', 'microphone', 'close-notification', 'bangzhu', 'time', 'odometer', 'crop', 'aim', 'switch-button', 'full-screen', 'copy-document', 'mic', 'stopwatch', 'medal-1', 'medal', 'trophy', 'trophy-1', 'first-aid-kit', 'discover', 'place', 'location', 'location-outline', 'location-information', 'add-location', 'delete-location', 'map-location', 'alarm-clock', 'timer', 'watch-1', 'watch', 'lock', 'unlock', 'key', 'service', 'mobile-phone', 'bicycle', 'truck', 'ship', 'basketball', 'football', 'soccer', 'baseball', 'wind-power', 'light-rain', 'lightning', 'heavy-rain', 'sunrise', 'sunrise-1', 'sunset', 'sunny', 'cloudy', 'partly-cloudy', 'cloudy-and-sunny', 'moon', 'moon-night', 'dish', 'dish-1', 'food', 'chicken', 'fork-spoon', 'knife-fork', 'burger', 'tableware', 'sugar', 'dessert', 'ice-cream', 'hot-water', 'water-cup', 'coffee-cup', 'cold-drink', 'goblet', 'goblet-full', 'goblet-square', 'goblet-square-full', 'refrigerator', 'grape', 'watermelon', 'cherry', 'apple', 'pear', 'orange', 'coffee', 'ice-tea', 'ice-drink', 'milk-tea', 'potato-strips', 'lollipop', 'ice-cream-square', 'ice-cream-round'] + +export default elementIcons diff --git a/ruoyi-ui/src/views/components/icons/index.vue b/ruoyi-ui/src/views/components/icons/index.vue new file mode 100644 index 0000000..d3c9a71 --- /dev/null +++ b/ruoyi-ui/src/views/components/icons/index.vue @@ -0,0 +1,87 @@ + + + + + diff --git a/ruoyi-ui/src/views/components/icons/svg-icons.js b/ruoyi-ui/src/views/components/icons/svg-icons.js new file mode 100644 index 0000000..724cd8e --- /dev/null +++ b/ruoyi-ui/src/views/components/icons/svg-icons.js @@ -0,0 +1,10 @@ +const req = require.context('../../../assets/icons/svg', false, /\.svg$/) +const requireAll = requireContext => requireContext.keys() + +const re = /\.\/(.*)\.svg/ + +const svgIcons = requireAll(req).map(i => { + return i.match(re)[1] +}) + +export default svgIcons diff --git a/ruoyi-ui/src/views/dashboard/BarChart.vue b/ruoyi-ui/src/views/dashboard/BarChart.vue new file mode 100644 index 0000000..cd33d2d --- /dev/null +++ b/ruoyi-ui/src/views/dashboard/BarChart.vue @@ -0,0 +1,102 @@ + + + diff --git a/ruoyi-ui/src/views/dashboard/LineChart.vue b/ruoyi-ui/src/views/dashboard/LineChart.vue new file mode 100644 index 0000000..ddd1063 --- /dev/null +++ b/ruoyi-ui/src/views/dashboard/LineChart.vue @@ -0,0 +1,135 @@ + + + diff --git a/ruoyi-ui/src/views/dashboard/PanelGroup.vue b/ruoyi-ui/src/views/dashboard/PanelGroup.vue new file mode 100644 index 0000000..1a1081f --- /dev/null +++ b/ruoyi-ui/src/views/dashboard/PanelGroup.vue @@ -0,0 +1,181 @@ + + + + + diff --git a/ruoyi-ui/src/views/dashboard/PieChart.vue b/ruoyi-ui/src/views/dashboard/PieChart.vue new file mode 100644 index 0000000..c360057 --- /dev/null +++ b/ruoyi-ui/src/views/dashboard/PieChart.vue @@ -0,0 +1,79 @@ + + + diff --git a/ruoyi-ui/src/views/dashboard/RaddarChart.vue b/ruoyi-ui/src/views/dashboard/RaddarChart.vue new file mode 100644 index 0000000..b1790ca --- /dev/null +++ b/ruoyi-ui/src/views/dashboard/RaddarChart.vue @@ -0,0 +1,116 @@ + + + diff --git a/ruoyi-ui/src/views/dashboard/mixins/resize.js b/ruoyi-ui/src/views/dashboard/mixins/resize.js new file mode 100644 index 0000000..b1e76e9 --- /dev/null +++ b/ruoyi-ui/src/views/dashboard/mixins/resize.js @@ -0,0 +1,56 @@ +import { debounce } from '@/utils' + +export default { + data() { + return { + $_sidebarElm: null, + $_resizeHandler: null + } + }, + mounted() { + this.initListener() + }, + activated() { + if (!this.$_resizeHandler) { + // avoid duplication init + this.initListener() + } + + // when keep-alive chart activated, auto resize + this.resize() + }, + beforeDestroy() { + this.destroyListener() + }, + deactivated() { + this.destroyListener() + }, + methods: { + // use $_ for mixins properties + // https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential + $_sidebarResizeHandler(e) { + if (e.propertyName === 'width') { + this.$_resizeHandler() + } + }, + initListener() { + this.$_resizeHandler = debounce(() => { + this.resize() + }, 100) + window.addEventListener('resize', this.$_resizeHandler) + + this.$_sidebarElm = document.getElementsByClassName('sidebar-container')[0] + this.$_sidebarElm && this.$_sidebarElm.addEventListener('transitionend', this.$_sidebarResizeHandler) + }, + destroyListener() { + window.removeEventListener('resize', this.$_resizeHandler) + this.$_resizeHandler = null + + this.$_sidebarElm && this.$_sidebarElm.removeEventListener('transitionend', this.$_sidebarResizeHandler) + }, + resize() { + const { chart } = this + chart && chart.resize() + } + } +} diff --git a/ruoyi-ui/src/views/error/401.vue b/ruoyi-ui/src/views/error/401.vue new file mode 100644 index 0000000..448b6ec --- /dev/null +++ b/ruoyi-ui/src/views/error/401.vue @@ -0,0 +1,88 @@ + + + + + diff --git a/ruoyi-ui/src/views/error/404.vue b/ruoyi-ui/src/views/error/404.vue new file mode 100644 index 0000000..96f075c --- /dev/null +++ b/ruoyi-ui/src/views/error/404.vue @@ -0,0 +1,233 @@ + + + + + diff --git a/ruoyi-ui/src/views/file/project/index.vue b/ruoyi-ui/src/views/file/project/index.vue new file mode 100644 index 0000000..6f09ec6 --- /dev/null +++ b/ruoyi-ui/src/views/file/project/index.vue @@ -0,0 +1,387 @@ + + + diff --git a/ruoyi-ui/src/views/index.vue b/ruoyi-ui/src/views/index.vue new file mode 100644 index 0000000..465412a --- /dev/null +++ b/ruoyi-ui/src/views/index.vue @@ -0,0 +1,39 @@ + + + + + + diff --git a/ruoyi-ui/src/views/index_v1.vue b/ruoyi-ui/src/views/index_v1.vue new file mode 100644 index 0000000..d2d2ec6 --- /dev/null +++ b/ruoyi-ui/src/views/index_v1.vue @@ -0,0 +1,98 @@ + + + + + diff --git a/ruoyi-ui/src/views/login.vue b/ruoyi-ui/src/views/login.vue new file mode 100644 index 0000000..77ee0e0 --- /dev/null +++ b/ruoyi-ui/src/views/login.vue @@ -0,0 +1,226 @@ + + + + + diff --git a/ruoyi-ui/src/views/monitor/cache/index.vue b/ruoyi-ui/src/views/monitor/cache/index.vue new file mode 100644 index 0000000..e81da2e --- /dev/null +++ b/ruoyi-ui/src/views/monitor/cache/index.vue @@ -0,0 +1,144 @@ + + + diff --git a/ruoyi-ui/src/views/monitor/cache/list.vue b/ruoyi-ui/src/views/monitor/cache/list.vue new file mode 100644 index 0000000..29a7c74 --- /dev/null +++ b/ruoyi-ui/src/views/monitor/cache/list.vue @@ -0,0 +1,241 @@ + + + diff --git a/ruoyi-ui/src/views/monitor/druid/index.vue b/ruoyi-ui/src/views/monitor/druid/index.vue new file mode 100644 index 0000000..c6ad585 --- /dev/null +++ b/ruoyi-ui/src/views/monitor/druid/index.vue @@ -0,0 +1,15 @@ + + diff --git a/ruoyi-ui/src/views/monitor/job/index.vue b/ruoyi-ui/src/views/monitor/job/index.vue new file mode 100644 index 0000000..892c727 --- /dev/null +++ b/ruoyi-ui/src/views/monitor/job/index.vue @@ -0,0 +1,513 @@ + + + diff --git a/ruoyi-ui/src/views/monitor/job/log.vue b/ruoyi-ui/src/views/monitor/job/log.vue new file mode 100644 index 0000000..60bee1d --- /dev/null +++ b/ruoyi-ui/src/views/monitor/job/log.vue @@ -0,0 +1,295 @@ + + + diff --git a/ruoyi-ui/src/views/monitor/logininfor/index.vue b/ruoyi-ui/src/views/monitor/logininfor/index.vue new file mode 100644 index 0000000..ae0ac49 --- /dev/null +++ b/ruoyi-ui/src/views/monitor/logininfor/index.vue @@ -0,0 +1,246 @@ + + + + diff --git a/ruoyi-ui/src/views/monitor/online/index.vue b/ruoyi-ui/src/views/monitor/online/index.vue new file mode 100644 index 0000000..903caa2 --- /dev/null +++ b/ruoyi-ui/src/views/monitor/online/index.vue @@ -0,0 +1,149 @@ + + + + diff --git a/ruoyi-ui/src/views/monitor/operlog/index.vue b/ruoyi-ui/src/views/monitor/operlog/index.vue new file mode 100644 index 0000000..9a750d8 --- /dev/null +++ b/ruoyi-ui/src/views/monitor/operlog/index.vue @@ -0,0 +1,345 @@ + + + + diff --git a/ruoyi-ui/src/views/monitor/operlog/syslog.vue b/ruoyi-ui/src/views/monitor/operlog/syslog.vue new file mode 100644 index 0000000..0c1ae8b --- /dev/null +++ b/ruoyi-ui/src/views/monitor/operlog/syslog.vue @@ -0,0 +1,404 @@ + + + + + diff --git a/ruoyi-ui/src/views/monitor/server/index.vue b/ruoyi-ui/src/views/monitor/server/index.vue new file mode 100644 index 0000000..15ffc9a --- /dev/null +++ b/ruoyi-ui/src/views/monitor/server/index.vue @@ -0,0 +1,207 @@ + + + diff --git a/ruoyi-ui/src/views/redirect.vue b/ruoyi-ui/src/views/redirect.vue new file mode 100644 index 0000000..db4c1d6 --- /dev/null +++ b/ruoyi-ui/src/views/redirect.vue @@ -0,0 +1,12 @@ + diff --git a/ruoyi-ui/src/views/register.vue b/ruoyi-ui/src/views/register.vue new file mode 100644 index 0000000..396d582 --- /dev/null +++ b/ruoyi-ui/src/views/register.vue @@ -0,0 +1,209 @@ + + + + + diff --git a/ruoyi-ui/src/views/system/config/index.vue b/ruoyi-ui/src/views/system/config/index.vue new file mode 100644 index 0000000..3ab81fc --- /dev/null +++ b/ruoyi-ui/src/views/system/config/index.vue @@ -0,0 +1,343 @@ + + + diff --git a/ruoyi-ui/src/views/system/dept/index.vue b/ruoyi-ui/src/views/system/dept/index.vue new file mode 100644 index 0000000..3754c0b --- /dev/null +++ b/ruoyi-ui/src/views/system/dept/index.vue @@ -0,0 +1,353 @@ + + + diff --git a/ruoyi-ui/src/views/system/dict/data.vue b/ruoyi-ui/src/views/system/dict/data.vue new file mode 100644 index 0000000..324bb64 --- /dev/null +++ b/ruoyi-ui/src/views/system/dict/data.vue @@ -0,0 +1,402 @@ + + + \ No newline at end of file diff --git a/ruoyi-ui/src/views/system/dict/index.vue b/ruoyi-ui/src/views/system/dict/index.vue new file mode 100644 index 0000000..6ca5457 --- /dev/null +++ b/ruoyi-ui/src/views/system/dict/index.vue @@ -0,0 +1,347 @@ + + + \ No newline at end of file diff --git a/ruoyi-ui/src/views/system/menu/index.vue b/ruoyi-ui/src/views/system/menu/index.vue new file mode 100644 index 0000000..2a83f9e --- /dev/null +++ b/ruoyi-ui/src/views/system/menu/index.vue @@ -0,0 +1,452 @@ + + + diff --git a/ruoyi-ui/src/views/system/notice/index.vue b/ruoyi-ui/src/views/system/notice/index.vue new file mode 100644 index 0000000..7982b54 --- /dev/null +++ b/ruoyi-ui/src/views/system/notice/index.vue @@ -0,0 +1,312 @@ + + + diff --git a/ruoyi-ui/src/views/system/post/index.vue b/ruoyi-ui/src/views/system/post/index.vue new file mode 100644 index 0000000..444bf63 --- /dev/null +++ b/ruoyi-ui/src/views/system/post/index.vue @@ -0,0 +1,309 @@ + + + diff --git a/ruoyi-ui/src/views/system/role/authUser.vue b/ruoyi-ui/src/views/system/role/authUser.vue new file mode 100644 index 0000000..fceaf63 --- /dev/null +++ b/ruoyi-ui/src/views/system/role/authUser.vue @@ -0,0 +1,199 @@ + + + diff --git a/ruoyi-ui/src/views/system/role/index.vue b/ruoyi-ui/src/views/system/role/index.vue new file mode 100644 index 0000000..fb3b5ef --- /dev/null +++ b/ruoyi-ui/src/views/system/role/index.vue @@ -0,0 +1,605 @@ + + + \ No newline at end of file diff --git a/ruoyi-ui/src/views/system/role/selectUser.vue b/ruoyi-ui/src/views/system/role/selectUser.vue new file mode 100644 index 0000000..aa276c3 --- /dev/null +++ b/ruoyi-ui/src/views/system/role/selectUser.vue @@ -0,0 +1,138 @@ + + + diff --git a/ruoyi-ui/src/views/system/user/authRole.vue b/ruoyi-ui/src/views/system/user/authRole.vue new file mode 100644 index 0000000..ab5e72f --- /dev/null +++ b/ruoyi-ui/src/views/system/user/authRole.vue @@ -0,0 +1,117 @@ + + + \ No newline at end of file diff --git a/ruoyi-ui/src/views/system/user/index.vue b/ruoyi-ui/src/views/system/user/index.vue new file mode 100644 index 0000000..e494a60 --- /dev/null +++ b/ruoyi-ui/src/views/system/user/index.vue @@ -0,0 +1,748 @@ + + + diff --git a/ruoyi-ui/src/views/system/user/profile/index.vue b/ruoyi-ui/src/views/system/user/profile/index.vue new file mode 100644 index 0000000..e4e5b20 --- /dev/null +++ b/ruoyi-ui/src/views/system/user/profile/index.vue @@ -0,0 +1,91 @@ + + + diff --git a/ruoyi-ui/src/views/system/user/profile/resetPwd.vue b/ruoyi-ui/src/views/system/user/profile/resetPwd.vue new file mode 100644 index 0000000..5cf44df --- /dev/null +++ b/ruoyi-ui/src/views/system/user/profile/resetPwd.vue @@ -0,0 +1,73 @@ + + + diff --git a/ruoyi-ui/src/views/system/user/profile/userAvatar.vue b/ruoyi-ui/src/views/system/user/profile/userAvatar.vue new file mode 100644 index 0000000..70d8487 --- /dev/null +++ b/ruoyi-ui/src/views/system/user/profile/userAvatar.vue @@ -0,0 +1,187 @@ + + + + diff --git a/ruoyi-ui/src/views/system/user/profile/userInfo.vue b/ruoyi-ui/src/views/system/user/profile/userInfo.vue new file mode 100644 index 0000000..c09a20b --- /dev/null +++ b/ruoyi-ui/src/views/system/user/profile/userInfo.vue @@ -0,0 +1,75 @@ + + + diff --git a/ruoyi-ui/src/views/tool/SQLTesting.vue b/ruoyi-ui/src/views/tool/SQLTesting.vue new file mode 100644 index 0000000..32895f9 --- /dev/null +++ b/ruoyi-ui/src/views/tool/SQLTesting.vue @@ -0,0 +1,160 @@ + + + diff --git a/ruoyi-ui/src/views/tool/build/CodeTypeDialog.vue b/ruoyi-ui/src/views/tool/build/CodeTypeDialog.vue new file mode 100644 index 0000000..b5c2e2e --- /dev/null +++ b/ruoyi-ui/src/views/tool/build/CodeTypeDialog.vue @@ -0,0 +1,106 @@ + + diff --git a/ruoyi-ui/src/views/tool/build/DraggableItem.vue b/ruoyi-ui/src/views/tool/build/DraggableItem.vue new file mode 100644 index 0000000..e881778 --- /dev/null +++ b/ruoyi-ui/src/views/tool/build/DraggableItem.vue @@ -0,0 +1,100 @@ + diff --git a/ruoyi-ui/src/views/tool/build/IconsDialog.vue b/ruoyi-ui/src/views/tool/build/IconsDialog.vue new file mode 100644 index 0000000..958be50 --- /dev/null +++ b/ruoyi-ui/src/views/tool/build/IconsDialog.vue @@ -0,0 +1,123 @@ + + + diff --git a/ruoyi-ui/src/views/tool/build/RightPanel.vue b/ruoyi-ui/src/views/tool/build/RightPanel.vue new file mode 100644 index 0000000..c2760eb --- /dev/null +++ b/ruoyi-ui/src/views/tool/build/RightPanel.vue @@ -0,0 +1,946 @@ + + + + + diff --git a/ruoyi-ui/src/views/tool/build/TreeNodeDialog.vue b/ruoyi-ui/src/views/tool/build/TreeNodeDialog.vue new file mode 100644 index 0000000..fa7f0b2 --- /dev/null +++ b/ruoyi-ui/src/views/tool/build/TreeNodeDialog.vue @@ -0,0 +1,149 @@ + + diff --git a/ruoyi-ui/src/views/tool/build/index.vue b/ruoyi-ui/src/views/tool/build/index.vue new file mode 100644 index 0000000..2bd298b --- /dev/null +++ b/ruoyi-ui/src/views/tool/build/index.vue @@ -0,0 +1,768 @@ + + + + + diff --git a/ruoyi-ui/src/views/tool/gen/basicInfoForm.vue b/ruoyi-ui/src/views/tool/gen/basicInfoForm.vue new file mode 100644 index 0000000..7029529 --- /dev/null +++ b/ruoyi-ui/src/views/tool/gen/basicInfoForm.vue @@ -0,0 +1,60 @@ + + + diff --git a/ruoyi-ui/src/views/tool/gen/editTable.vue b/ruoyi-ui/src/views/tool/gen/editTable.vue new file mode 100644 index 0000000..86efb8d --- /dev/null +++ b/ruoyi-ui/src/views/tool/gen/editTable.vue @@ -0,0 +1,234 @@ + + + diff --git a/ruoyi-ui/src/views/tool/gen/genInfoForm.vue b/ruoyi-ui/src/views/tool/gen/genInfoForm.vue new file mode 100644 index 0000000..3f8d67f --- /dev/null +++ b/ruoyi-ui/src/views/tool/gen/genInfoForm.vue @@ -0,0 +1,299 @@ + + + diff --git a/ruoyi-ui/src/views/tool/gen/importTable.vue b/ruoyi-ui/src/views/tool/gen/importTable.vue new file mode 100644 index 0000000..3ea9532 --- /dev/null +++ b/ruoyi-ui/src/views/tool/gen/importTable.vue @@ -0,0 +1,120 @@ + + + diff --git a/ruoyi-ui/src/views/tool/gen/index.vue b/ruoyi-ui/src/views/tool/gen/index.vue new file mode 100644 index 0000000..3f1f930 --- /dev/null +++ b/ruoyi-ui/src/views/tool/gen/index.vue @@ -0,0 +1,337 @@ + + + diff --git a/ruoyi-ui/src/views/tool/swagger/index.vue b/ruoyi-ui/src/views/tool/swagger/index.vue new file mode 100644 index 0000000..b8becc6 --- /dev/null +++ b/ruoyi-ui/src/views/tool/swagger/index.vue @@ -0,0 +1,15 @@ + + diff --git a/ruoyi-ui/start.js b/ruoyi-ui/start.js new file mode 100644 index 0000000..eb69f87 --- /dev/null +++ b/ruoyi-ui/start.js @@ -0,0 +1,55 @@ +/** + * rongxin.gov.rgvn.dashboard.tiandeng + */ + +'use strict' + +const logFactory = require('./utils/logFactory') +const logUtil = require('./utils/logUtil') +const debug = logFactory(logUtil())('rongxin.gov.rgvn.dashboard.tiandeng') +const express = require('express') +const http = require('http') +const config = require('config') +const env = require('./services/env') +const program = require('commander') + +//==================== +// program parser +// ==================== +program + .version('1.0.0') + .usage('[options] ') + .option('-h, --hostname [hostname]', 'Hostname or IP address for the service to bind, if not presented, use the one specfied in conf file') + .option('-p, --port [port]', 'The service listening port, if not presented, use the one specified in conf file') + .option('-l, --log-level [log-level]', 'The service log-level') + .option('-m, --mode [mode]', 'The service process mode, production, stage or test') + .parse(process.argv) + +let transportConf = { + host: program.hostname, + port: program.port +} + +const bootstrap = require('nongfu.merchant.bootstrap') +const app = express() +env.setServerMode(app.get('env')) + +const router = require('./routes') + +app.use('/', router) + +bootstrap.init((error, result) => { + if (error) + process.exit(1) + + let hostInEnv = process.env.NODE_HOSTNAME + let portInEnv = process.env.NODE_PORT + + let host = hostInEnv || transportConf.host || config.get('server').host + let port = portInEnv || transportConf.port || config.get('server').port + + let server = http.createServer(app) + + server.listen(port, host) + debug.info(`Server start up on listening [host:${host}, port:${port}]`) +}) diff --git a/ruoyi-ui/utils/counter.js b/ruoyi-ui/utils/counter.js new file mode 100644 index 0000000..bd4f037 --- /dev/null +++ b/ruoyi-ui/utils/counter.js @@ -0,0 +1,31 @@ +/** +* counter utility +* @author eriksen +* 2018-02-01 +*/ + +'use strict' + +const EventEmitter = require('events').EventEmitter + +class Counter extends EventEmitter { + constructor(start, target) { + super() + this._value = start || 0 + this._target = target || null + } + + get value() { + return this._value + } + + set value(value) { + let self = this + if (self._target && value > self._target) + self.emit('target', self) + else + self._value = value + } +} + +module.exports = Counter \ No newline at end of file diff --git a/ruoyi-ui/utils/credentials.js b/ruoyi-ui/utils/credentials.js new file mode 100644 index 0000000..6fed026 --- /dev/null +++ b/ruoyi-ui/utils/credentials.js @@ -0,0 +1,3 @@ +// the token used to sign the cookie values +exports.cookieSecret = 'ds3y5O4M95MZOaV39Y7Ftr98sno8nx1'; +exports.sessionSecret = exports.cookieSecret; diff --git a/ruoyi-ui/utils/logFactory.js b/ruoyi-ui/utils/logFactory.js new file mode 100644 index 0000000..f49e276 --- /dev/null +++ b/ruoyi-ui/utils/logFactory.js @@ -0,0 +1,260 @@ +/* + * @Author: wcy + */ + +'use strict'; + +const oriDebug = require('debug'); +const util = require('util'); + +const PRIORITY_V = '[V]'; //verbose---0 +const PRIORITY_D = '[D]'; //debug---1 +const PRIORITY_I = '[I]'; //info---2 +const PRIORITY_W = '[W]'; //warning---3 +const PRIORITY_E = '[E]'; //error---4 +const PRIORITY_F = '[F]'; //fatal---5 +const PRIORITY_S = '[S]'; //silent---6 + +const LOGLEVEL = ['verbose', 'debug', 'info', 'warning', 'error', 'fatal', 'silent']; + +const LogDebug = 'nongfu.common.LogFactory'; //namespace + +//origun debug——'formatArgs' function +const _formatArgs = oriDebug.formatArgs; + +/** + * Create a debugger with the given `opts,namespace`. + * + * @param {object} opts + * @param {String} namespace + * @return {Function} + * @api public + */ +function createDebugWrapper(opts) { + + let logLevel = validateLogLevel(opts.logLevel); + try { + if (!opts || typeof opts !== 'object') { + opts = {}; + throw new Error('Function logFactory() must need a opts as arguments which is not null or opts type must be object.'); + } + } catch (err) { + oriDebug(LogDebug)(PRIORITY_W, new Date().toISOString(), err); + } + + function createDebug(namespace) { + + if (!namespace) { + namespace = 'nongfu'; + } + + //origin debug function + let debugWrapper = oriDebug(namespace); + + //level = 1 + function debug() { + + try { + if (logLevel > 1) { + return; + } + opts.PRIORITY = '[D]'; + common(opts, arguments, debugWrapper); + } catch (err) { + oriDebug(LogDebug)(PRIORITY_W, new Date().toISOString(), err); + } + + } + + debug.isDebugEnabled = function () { + return true; + } + + //level = 0 + debug.verbose = function () { + + try { + if (logLevel > 0) { + return; + } + opts.PRIORITY = PRIORITY_V; + common(opts, arguments, debugWrapper); + } catch (err) { + oriDebug(LogDebug)(PRIORITY_W, new Date().toISOString(), err); + } + + } + + //level = 1 + debug.debug = function () { + + try { + if (logLevel > 1) { + return; + } + opts.PRIORITY = PRIORITY_D; + common(opts, arguments, debugWrapper); + } catch (err) { + oriDebug(LogDebug)(PRIORITY_W, new Date().toISOString(), err); + } + + } + + //level = 2 + debug.info = function () { + + try { + if (logLevel > 2) { + return; + } + opts.PRIORITY = PRIORITY_I; + common(opts, arguments, debugWrapper); + } catch (err) { + oriDebug(LogDebug)(PRIORITY_W, new Date().toISOString(), err); + } + + } + + //level = 3 + debug.warning = function () { + + try { + if (logLevel > 3) { + return; + } + opts.PRIORITY = PRIORITY_W; + common(opts, arguments, debugWrapper); + } catch (err) { + oriDebug(LogDebug)(PRIORITY_W, new Date().toISOString(), err); + } + + } + + //level = 4 + debug.error = function () { + + try { + if (logLevel > 4) { + return; + } + opts.PRIORITY = PRIORITY_E; + common(opts, arguments, debugWrapper); + } catch (err) { + oriDebug(LogDebug)(PRIORITY_W, new Date().toISOString(), err); + } + + } + + //level = 5 + debug.fatal = function () { + + try { + if (logLevel > 5) { + return; + } + opts.PRIORITY = PRIORITY_F; + common(opts, arguments, debugWrapper); + } catch (err) { + oriDebug(LogDebug)(PRIORITY_W, new Date().toISOString(), err); + } + + } + + //level = 6 + debug.silent = function () { + + try { + if (logLevel > 6) { + return; + } + opts.PRIORITY = PRIORITY_S; + common(opts, arguments, debugWrapper); + } catch (err) { + oriDebug(LogDebug)(PRIORITY_W, new Date().toISOString(), err); + } + + } + + return debug; + } + + return createDebug; + +} + +/** + * common function, this function deals with all message user input. + * @param {[type]} opts [opts includes priority,service_name,runner_id,pid] + * @param {[type]} args [args is user input arguments, it uses to output user's message] + * @param {[type]} debugWrapper [it type is function, use it to output all message] + * @return {[type]} [null] + * @attention {timestamp} [every output timestamp must be the up-to-date time] + * @api private + */ +function common(opts, args, debugWrapper) { + //replace origin debug's 'formatArgs' function + oriDebug.formatArgs = formatArgs; + let priority = opts.PRIORITY; + let runner_id = opts.runner_id + let pid = opts.pid; + let timestamp = '[' + new Date().toISOString() + ']'; + let service_qname = opts.service_qname; + let arrs = new Array(args.length); + for (let i = 0; i < args.length; i++) { + if (typeof args[i] === 'object') { + arrs[i] = util.inspect(args[i], { + depth: 2 + }); + } else { + arrs[i] = args[i]; + } + } + arrs[0] = coerce(arrs[0]); + debugWrapper(priority, service_qname, runner_id, pid, timestamp, arrs.toString()); + //restore origin debug's 'formatArgs' function + oriDebug.formatArgs = _formatArgs; +} + +/** + * rewrite debug origin formatArgs + * @param {[type]} args [user input message] + * @return {[type]} [null] + * @api private + */ +function formatArgs(args) { + try { + let name = '[' + this.namespace + ']'; + + args.splice(5, 0, name); + args.push('+' + this.diff + 'ms'); + } catch (err) { + oriDebug(LogDebug)(PRIORITY_W, new Date().toISOString(), err); + } +} + +/** + * Coerce `val`. + * + * @param {Mixed} val + * @return {Mixed} + * @api private + */ +function coerce(val) { + if (val instanceof Error) return val.stack || val.message; + return val; +} + +/** + * [validateLogLevel description] + * @return {[type]} [description] + */ +function validateLogLevel(logLevel) { + if (!LOGLEVEL.some(function (value, index, arr) { + return (value === logLevel); + })) { + return 1; + } + return LOGLEVEL.indexOf(logLevel); +} + +exports = module.exports = createDebugWrapper; \ No newline at end of file diff --git a/ruoyi-ui/utils/logUtil.js b/ruoyi-ui/utils/logUtil.js new file mode 100644 index 0000000..112840a --- /dev/null +++ b/ruoyi-ui/utils/logUtil.js @@ -0,0 +1,40 @@ +/* +* @Author: wcy +*/ + +'use strict'; + +const path = require('path'); + +function _initLogOptions(options) { + + let pathStr = path.resolve(__dirname, '..'); + + let pathArr = pathStr.split('/'); + + options.service_qname = '[' + pathArr[pathArr.length - 1] + ']'; + + if (!options.hasOwnProperty('timestamp')) { + options.timestamp = '[' + new Date().toISOString() + ']'; + } + + options.pid = '[' + process.pid + ']'; + + process.argv.forEach( + function (arg) { + let logKey = "--mode="; + if (arg.indexOf(logKey) > -1) { + let runner_id = arg.substring(logKey.length, arg.length).trim(); + options.runner_id = '[' + runner_id + ']'; + } + } + ); +} + +let getLogOpts = function () { + let options = {}; + _initLogOptions(options); + return options; +} + +exports = module.exports = getLogOpts; \ No newline at end of file diff --git a/ruoyi-ui/vue.config.js b/ruoyi-ui/vue.config.js new file mode 100644 index 0000000..2ca90ac --- /dev/null +++ b/ruoyi-ui/vue.config.js @@ -0,0 +1,138 @@ +'use strict' +const path = require('path') + +function resolve(dir) { + return path.join(__dirname, dir) +} + +const CompressionPlugin = require('compression-webpack-plugin') + +const name = process.env.VUE_APP_TITLE || '两制一化' // 网页标题 + +const port = process.env.port || process.env.npm_config_port || 80 // 端口 + +// vue.config.js 配置说明 +//官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions +// 这里只列一部分,具体配置参考文档 +module.exports = { + // 部署生产环境和开发环境下的URL。 + // 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上 + // 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。 + publicPath: process.env.NODE_ENV === "production" ? "/" : "/", + // 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist) + outputDir: 'dist', + // 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下) + assetsDir: 'static', + // 是否开启eslint保存检测,有效值:ture | false | 'error' + lintOnSave: process.env.NODE_ENV === 'development', + // 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。 + productionSourceMap: false, + // webpack-dev-server 相关配置 + devServer: { + host: '0.0.0.0', + port: port, + open: true, + proxy: { + // detail: https://cli.vuejs.org/config/#devserver-proxy + [process.env.VUE_APP_BASE_API]: { + target: process.env.API_HOST || `http://localhost:8080`, + //target: process.env.API_HOST || `http://192.168.0.103:8080`, //zzl + changeOrigin: true, + pathRewrite: { + ['^' + process.env.VUE_APP_BASE_API]: '' + } + } + }, + disableHostCheck: true + }, + css: { + loaderOptions: { + sass: { + sassOptions: { outputStyle: "expanded" } + } + } + }, + configureWebpack: { + name: name, + resolve: { + alias: { + '@': resolve('src') + } + }, + plugins: [ + // http://doc.ruoyi.vip/ruoyi-vue/other/faq.html#使用gzip解压缩静态文件 + new CompressionPlugin({ + cache: false, // 不启用文件缓存 + test: /\.(js|css|html)?$/i, // 压缩文件格式 + filename: '[path].gz[query]', // 压缩后的文件名 + algorithm: 'gzip', // 使用gzip压缩 + minRatio: 0.8 // 压缩率小于1才会压缩 + }) + ], + devServer: { + historyApiFallback: false + } + }, + chainWebpack(config) { + config.plugins.delete('preload') // TODO: need test + config.plugins.delete('prefetch') // TODO: need test + + // set svg-sprite-loader + config.module + .rule('svg') + .exclude.add(resolve('src/assets/icons')) + .end() + config.module + .rule('icons') + .test(/\.svg$/) + .include.add(resolve('src/assets/icons')) + .end() + .use('svg-sprite-loader') + .loader('svg-sprite-loader') + .options({ + symbolId: 'icon-[name]' + }) + .end() + + config.when(process.env.NODE_ENV !== 'development', config => { + config + .plugin('ScriptExtHtmlWebpackPlugin') + .after('html') + .use('script-ext-html-webpack-plugin', [{ + // `runtime` must same as runtimeChunk name. default is `runtime` + inline: /runtime\..*\.js$/ + }]) + .end() + + config.optimization.splitChunks({ + chunks: 'all', + cacheGroups: { + libs: { + name: 'chunk-libs', + test: /[\\/]node_modules[\\/]/, + priority: 10, + chunks: 'initial' // only package third parties that are initially dependent + }, + elementUI: { + name: 'chunk-elementUI', // split elementUI into a single package + test: /[\\/]node_modules[\\/]_?element-ui(.*)/, // in order to adapt to cnpm + priority: 20 // the weight needs to be larger than libs and app or it will be packaged into libs or app + }, + commons: { + name: 'chunk-commons', + test: resolve('src/components'), // can customize your rules + minChunks: 3, // minimum common number + priority: 5, + reuseExistingChunk: true + } + } + }) + + config.optimization.runtimeChunk('single'), + { + from: path.resolve(__dirname, './public/robots.txt'), //防爬虫文件 + to: './' //到根目录下 + } + }) + } +}