@k3000/s1 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +2 -0
- package/RuoYi-Vue3/.env.development +8 -0
- package/RuoYi-Vue3/.env.production +11 -0
- package/RuoYi-Vue3/.env.staging +11 -0
- package/RuoYi-Vue3/.github/FUNDING.yml +1 -0
- package/RuoYi-Vue3/LICENSE +20 -0
- package/RuoYi-Vue3/README.md +109 -0
- package/RuoYi-Vue3/bin/build.bat +12 -0
- package/RuoYi-Vue3/bin/package.bat +12 -0
- package/RuoYi-Vue3/bin/run-web.bat +12 -0
- package/RuoYi-Vue3/html/ie.html +46 -0
- package/RuoYi-Vue3/index.html +215 -0
- package/RuoYi-Vue3/package.json +44 -0
- package/RuoYi-Vue3/public/favicon.ico +0 -0
- package/RuoYi-Vue3/src/App.vue +15 -0
- package/RuoYi-Vue3/src/api/login.js +60 -0
- package/RuoYi-Vue3/src/api/menu.js +9 -0
- package/RuoYi-Vue3/src/api/monitor/cache.js +57 -0
- package/RuoYi-Vue3/src/api/monitor/job.js +71 -0
- package/RuoYi-Vue3/src/api/monitor/jobLog.js +26 -0
- package/RuoYi-Vue3/src/api/monitor/logininfor.js +34 -0
- package/RuoYi-Vue3/src/api/monitor/online.js +18 -0
- package/RuoYi-Vue3/src/api/monitor/operlog.js +26 -0
- package/RuoYi-Vue3/src/api/monitor/server.js +9 -0
- package/RuoYi-Vue3/src/api/system/config.js +60 -0
- package/RuoYi-Vue3/src/api/system/dept.js +52 -0
- package/RuoYi-Vue3/src/api/system/dict/data.js +52 -0
- package/RuoYi-Vue3/src/api/system/dict/type.js +60 -0
- package/RuoYi-Vue3/src/api/system/menu.js +60 -0
- package/RuoYi-Vue3/src/api/system/notice.js +44 -0
- package/RuoYi-Vue3/src/api/system/post.js +44 -0
- package/RuoYi-Vue3/src/api/system/role.js +119 -0
- package/RuoYi-Vue3/src/api/system/user.js +136 -0
- package/RuoYi-Vue3/src/api/tool/gen.js +85 -0
- package/RuoYi-Vue3/src/assets/401_images/401.gif +0 -0
- package/RuoYi-Vue3/src/assets/404_images/404.png +0 -0
- package/RuoYi-Vue3/src/assets/404_images/404_cloud.png +0 -0
- package/RuoYi-Vue3/src/assets/icons/svg/404.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/bug.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/build.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/button.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/cascader.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/chart.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/checkbox.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/clipboard.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/code.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/color.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/component.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/dashboard.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/date-range.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/date.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/dict.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/documentation.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/download.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/drag.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/druid.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/edit.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/education.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/email.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/example.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/excel.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/exit-fullscreen.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/eye-open.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/eye.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/form.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/fullscreen.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/github.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/guide.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/icon.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/input.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/international.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/job.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/language.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/link.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/list.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/lock.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/log.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/logininfor.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/message.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/money.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/monitor.svg +2 -0
- package/RuoYi-Vue3/src/assets/icons/svg/nested.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/number.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/online.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/password.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/pdf.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/people.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/peoples.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/phone.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/post.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/qq.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/question.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/radio.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/rate.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/redis-list.svg +2 -0
- package/RuoYi-Vue3/src/assets/icons/svg/redis.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/row.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/search.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/select.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/server.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/shopping.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/size.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/skill.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/slider.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/star.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/swagger.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/switch.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/system.svg +2 -0
- package/RuoYi-Vue3/src/assets/icons/svg/tab.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/table.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/textarea.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/theme.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/time-range.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/time.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/tool.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/tree-table.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/tree.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/upload.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/user.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/validCode.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/wechat.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/zip.svg +1 -0
- package/RuoYi-Vue3/src/assets/images/dark.svg +39 -0
- package/RuoYi-Vue3/src/assets/images/light.svg +39 -0
- package/RuoYi-Vue3/src/assets/images/login-background.jpg +0 -0
- package/RuoYi-Vue3/src/assets/images/pay.png +0 -0
- package/RuoYi-Vue3/src/assets/images/profile.jpg +0 -0
- package/RuoYi-Vue3/src/assets/logo/logo.png +0 -0
- package/RuoYi-Vue3/src/assets/styles/btn.scss +99 -0
- package/RuoYi-Vue3/src/assets/styles/element-ui.scss +96 -0
- package/RuoYi-Vue3/src/assets/styles/index.scss +184 -0
- package/RuoYi-Vue3/src/assets/styles/mixin.scss +66 -0
- package/RuoYi-Vue3/src/assets/styles/ruoyi.scss +281 -0
- package/RuoYi-Vue3/src/assets/styles/sidebar.scss +238 -0
- package/RuoYi-Vue3/src/assets/styles/transition.scss +49 -0
- package/RuoYi-Vue3/src/assets/styles/variables.module.scss +65 -0
- package/RuoYi-Vue3/src/components/Breadcrumb/index.vue +66 -0
- package/RuoYi-Vue3/src/components/Crontab/day.vue +174 -0
- package/RuoYi-Vue3/src/components/Crontab/hour.vue +133 -0
- package/RuoYi-Vue3/src/components/Crontab/index.vue +310 -0
- package/RuoYi-Vue3/src/components/Crontab/min.vue +126 -0
- package/RuoYi-Vue3/src/components/Crontab/month.vue +141 -0
- package/RuoYi-Vue3/src/components/Crontab/result.vue +540 -0
- package/RuoYi-Vue3/src/components/Crontab/second.vue +128 -0
- package/RuoYi-Vue3/src/components/Crontab/week.vue +197 -0
- package/RuoYi-Vue3/src/components/Crontab/year.vue +149 -0
- package/RuoYi-Vue3/src/components/DictTag/index.vue +82 -0
- package/RuoYi-Vue3/src/components/Editor/index.vue +251 -0
- package/RuoYi-Vue3/src/components/FileUpload/index.vue +207 -0
- package/RuoYi-Vue3/src/components/Hamburger/index.vue +41 -0
- package/RuoYi-Vue3/src/components/HeaderSearch/index.vue +187 -0
- package/RuoYi-Vue3/src/components/IconSelect/index.vue +111 -0
- package/RuoYi-Vue3/src/components/IconSelect/requireIcons.js +8 -0
- package/RuoYi-Vue3/src/components/ImagePreview/index.vue +92 -0
- package/RuoYi-Vue3/src/components/ImageUpload/index.vue +213 -0
- package/RuoYi-Vue3/src/components/Pagination/index.vue +105 -0
- package/RuoYi-Vue3/src/components/ParentView/index.vue +3 -0
- package/RuoYi-Vue3/src/components/RightToolbar/index.vue +134 -0
- package/RuoYi-Vue3/src/components/RuoYi/Doc/index.vue +13 -0
- package/RuoYi-Vue3/src/components/RuoYi/Git/index.vue +13 -0
- package/RuoYi-Vue3/src/components/Screenfull/index.vue +22 -0
- package/RuoYi-Vue3/src/components/SizeSelect/index.vue +45 -0
- package/RuoYi-Vue3/src/components/SvgIcon/index.vue +53 -0
- package/RuoYi-Vue3/src/components/SvgIcon/svgicon.js +10 -0
- package/RuoYi-Vue3/src/components/TopNav/index.vue +214 -0
- package/RuoYi-Vue3/src/components/TreeSelect/index.vue +156 -0
- package/RuoYi-Vue3/src/components/iFrame/index.vue +31 -0
- package/RuoYi-Vue3/src/directive/common/copyText.js +66 -0
- package/RuoYi-Vue3/src/directive/index.js +9 -0
- package/RuoYi-Vue3/src/directive/permission/hasPermi.js +28 -0
- package/RuoYi-Vue3/src/directive/permission/hasRole.js +28 -0
- package/RuoYi-Vue3/src/layout/components/AppMain.vue +68 -0
- package/RuoYi-Vue3/src/layout/components/IframeToggle/index.vue +25 -0
- package/RuoYi-Vue3/src/layout/components/InnerLink/index.vue +24 -0
- package/RuoYi-Vue3/src/layout/components/Navbar.vue +191 -0
- package/RuoYi-Vue3/src/layout/components/Settings/index.vue +209 -0
- package/RuoYi-Vue3/src/layout/components/Sidebar/Link.vue +40 -0
- package/RuoYi-Vue3/src/layout/components/Sidebar/Logo.vue +81 -0
- package/RuoYi-Vue3/src/layout/components/Sidebar/SidebarItem.vue +102 -0
- package/RuoYi-Vue3/src/layout/components/Sidebar/index.vue +54 -0
- package/RuoYi-Vue3/src/layout/components/TagsView/ScrollPane.vue +107 -0
- package/RuoYi-Vue3/src/layout/components/TagsView/index.vue +358 -0
- package/RuoYi-Vue3/src/layout/components/index.js +4 -0
- package/RuoYi-Vue3/src/layout/index.vue +114 -0
- package/RuoYi-Vue3/src/main.js +84 -0
- package/RuoYi-Vue3/src/permission.js +65 -0
- package/RuoYi-Vue3/src/plugins/auth.js +60 -0
- package/RuoYi-Vue3/src/plugins/cache.js +77 -0
- package/RuoYi-Vue3/src/plugins/download.js +79 -0
- package/RuoYi-Vue3/src/plugins/index.js +18 -0
- package/RuoYi-Vue3/src/plugins/modal.js +82 -0
- package/RuoYi-Vue3/src/plugins/tab.js +69 -0
- package/RuoYi-Vue3/src/router/index.js +175 -0
- package/RuoYi-Vue3/src/settings.js +47 -0
- package/RuoYi-Vue3/src/store/index.js +3 -0
- package/RuoYi-Vue3/src/store/modules/app.js +46 -0
- package/RuoYi-Vue3/src/store/modules/dict.js +57 -0
- package/RuoYi-Vue3/src/store/modules/permission.js +142 -0
- package/RuoYi-Vue3/src/store/modules/settings.js +38 -0
- package/RuoYi-Vue3/src/store/modules/tagsView.js +182 -0
- package/RuoYi-Vue3/src/store/modules/user.js +72 -0
- package/RuoYi-Vue3/src/utils/auth.js +15 -0
- package/RuoYi-Vue3/src/utils/dict.js +24 -0
- package/RuoYi-Vue3/src/utils/dynamicTitle.js +15 -0
- package/RuoYi-Vue3/src/utils/errorCode.js +6 -0
- package/RuoYi-Vue3/src/utils/index.js +390 -0
- package/RuoYi-Vue3/src/utils/jsencrypt.js +30 -0
- package/RuoYi-Vue3/src/utils/permission.js +51 -0
- package/RuoYi-Vue3/src/utils/request.js +152 -0
- package/RuoYi-Vue3/src/utils/ruoyi.js +246 -0
- package/RuoYi-Vue3/src/utils/scroll-to.js +58 -0
- package/RuoYi-Vue3/src/utils/theme.js +49 -0
- package/RuoYi-Vue3/src/utils/validate.js +93 -0
- package/RuoYi-Vue3/src/views/error/401.vue +82 -0
- package/RuoYi-Vue3/src/views/error/404.vue +227 -0
- package/RuoYi-Vue3/src/views/index.vue +1092 -0
- package/RuoYi-Vue3/src/views/login.vue +227 -0
- package/RuoYi-Vue3/src/views/monitor/cache/index.vue +132 -0
- package/RuoYi-Vue3/src/views/monitor/cache/list.vue +246 -0
- package/RuoYi-Vue3/src/views/monitor/druid/index.vue +13 -0
- package/RuoYi-Vue3/src/views/monitor/job/index.vue +501 -0
- package/RuoYi-Vue3/src/views/monitor/job/log.vue +283 -0
- package/RuoYi-Vue3/src/views/monitor/logininfor/index.vue +233 -0
- package/RuoYi-Vue3/src/views/monitor/online/index.vue +109 -0
- package/RuoYi-Vue3/src/views/monitor/operlog/index.vue +310 -0
- package/RuoYi-Vue3/src/views/monitor/server/index.vue +187 -0
- package/RuoYi-Vue3/src/views/redirect/index.vue +14 -0
- package/RuoYi-Vue3/src/views/register.vue +219 -0
- package/RuoYi-Vue3/src/views/system/config/index.vue +316 -0
- package/RuoYi-Vue3/src/views/system/dept/index.vue +283 -0
- package/RuoYi-Vue3/src/views/system/dict/data.vue +362 -0
- package/RuoYi-Vue3/src/views/system/dict/index.vue +323 -0
- package/RuoYi-Vue3/src/views/system/menu/index.vue +452 -0
- package/RuoYi-Vue3/src/views/system/notice/index.vue +292 -0
- package/RuoYi-Vue3/src/views/system/post/index.vue +287 -0
- package/RuoYi-Vue3/src/views/system/role/authUser.vue +179 -0
- package/RuoYi-Vue3/src/views/system/role/index.vue +584 -0
- package/RuoYi-Vue3/src/views/system/role/selectUser.vue +144 -0
- package/RuoYi-Vue3/src/views/system/user/authRole.vue +116 -0
- package/RuoYi-Vue3/src/views/system/user/index.vue +635 -0
- package/RuoYi-Vue3/src/views/system/user/profile/index.vue +87 -0
- package/RuoYi-Vue3/src/views/system/user/profile/resetPwd.vue +59 -0
- package/RuoYi-Vue3/src/views/system/user/profile/userAvatar.vue +180 -0
- package/RuoYi-Vue3/src/views/system/user/profile/userInfo.vue +67 -0
- package/RuoYi-Vue3/src/views/tool/build/index.vue +3 -0
- package/RuoYi-Vue3/src/views/tool/gen/basicInfoForm.vue +48 -0
- package/RuoYi-Vue3/src/views/tool/gen/createTable.vue +46 -0
- package/RuoYi-Vue3/src/views/tool/gen/editTable.vue +200 -0
- package/RuoYi-Vue3/src/views/tool/gen/genInfoForm.vue +306 -0
- package/RuoYi-Vue3/src/views/tool/gen/importTable.vue +126 -0
- package/RuoYi-Vue3/src/views/tool/gen/index.vue +310 -0
- package/RuoYi-Vue3/src/views/tool/swagger/index.vue +9 -0
- package/RuoYi-Vue3/vite/plugins/auto-import.js +12 -0
- package/RuoYi-Vue3/vite/plugins/compression.js +28 -0
- package/RuoYi-Vue3/vite/plugins/index.js +15 -0
- package/RuoYi-Vue3/vite/plugins/setup-extend.js +5 -0
- package/RuoYi-Vue3/vite/plugins/svg-icon.js +10 -0
- package/RuoYi-Vue3/vite.config.js +58 -0
- package/admin/README.MD +0 -0
- package/admin/base.mjs +447 -0
- package/admin/index.mjs +19 -0
- package/admin/monitor/job.mjs +24 -0
- package/admin/monitor/jobLog.mjs +8 -0
- package/admin/monitor/logininfor.mjs +23 -0
- package/admin/monitor/operlog.mjs +9 -0
- package/admin/monitor/server.mjs +54 -0
- package/admin/service.mjs +10 -0
- package/admin/system/component.mjs +16 -0
- package/admin/system/config.mjs +8 -0
- package/admin/system/dept.mjs +24 -0
- package/admin/system/dict.mjs +34 -0
- package/admin/system/login.mjs +119 -0
- package/admin/system/menu.mjs +33 -0
- package/admin/system/notice.mjs +8 -0
- package/admin/system/path.mjs +53 -0
- package/admin/system/post.mjs +8 -0
- package/admin/system/role.mjs +105 -0
- package/admin/system/user.mjs +93 -0
- package/admin/tool/gen.mjs +95 -0
- package/admin/tool/helper.mjs +1335 -0
- package/admin/tool/pm2.mjs +71 -0
- package/admin/tool/store.mjs +84 -0
- package/admin/tool/upload.mjs +112 -0
- package/app/README.MD +0 -0
- package/app/index.mjs +9 -0
- package/bin.mjs +211 -0
- package/build.mjs +25 -0
- package/common/README.MD +0 -0
- package/common/config.mjs +40 -0
- package/common/pm2.mjs +145 -0
- package/common/service.mjs +79 -0
- package/common/service0.mjs +468 -0
- package/common/tools.mjs +314 -0
- package/common/type.ts +498 -0
- package/file/README.MD +0 -0
- package/files/.env.production +11 -0
- package/files/gen.js +76 -0
- package/files/genImportTable.vue +120 -0
- package/files/genIndex.vue +309 -0
- package/files/genInfoForm.vue +302 -0
- package/files/login.vue +237 -0
- package/files/menu.js +68 -0
- package/files/menuIndex.vue +447 -0
- package/files/pm2.js +88 -0
- package/files/pm2Data.vue +335 -0
- package/files/pm2Index.vue +343 -0
- package/files/routerIndex.js +204 -0
- package/files/serverIndex.vue +215 -0
- package/files/store.js +96 -0
- package/files/storeData.vue +294 -0
- package/files/storeIndex.vue +245 -0
- package/files/upload.js +47 -0
- package/files/uploadIndex.vue +240 -0
- package/files/vite.config.js +58 -0
- package/index.mjs +28 -0
- package/jwt/README.MD +12 -0
- package/jwt/index.mjs +17 -0
- package/package.json +22 -0
- package/proxy/README.MD +0 -0
- package/proxy/index.mjs +16 -0
- package/static/README.MD +0 -0
- package/static/admin/assets/401-CYieuz9-.js +1 -0
- package/static/admin/assets/401-CYieuz9-.js.gz +0 -0
- package/static/admin/assets/401-DmT2Eyz6.css +1 -0
- package/static/admin/assets/401-HGF6Q5qM.gif +0 -0
- package/static/admin/assets/404-DFv5Zpvm.js +1 -0
- package/static/admin/assets/404-DFv5Zpvm.js.gz +0 -0
- package/static/admin/assets/404-Dy3nURRX.js +1 -0
- package/static/admin/assets/404-Dy3nURRX.js.gz +0 -0
- package/static/admin/assets/404-N4aRkdWY.png +0 -0
- package/static/admin/assets/404-uZCOR2Ze.css +1 -0
- package/static/admin/assets/404-uZCOR2Ze.css.gz +0 -0
- package/static/admin/assets/404_cloud-CPexjtDj.png +0 -0
- package/static/admin/assets/authRole-ma37t91O.js +1 -0
- package/static/admin/assets/authRole-ma37t91O.js.gz +0 -0
- package/static/admin/assets/authUser-C2Y6gkW3.js +1 -0
- package/static/admin/assets/authUser-C2Y6gkW3.js.gz +0 -0
- package/static/admin/assets/basicInfoForm-Cqv-g0Vq.js +1 -0
- package/static/admin/assets/basicInfoForm-Cqv-g0Vq.js.gz +0 -0
- package/static/admin/assets/bug-10dePVta.js +1 -0
- package/static/admin/assets/bug-10dePVta.js.gz +0 -0
- package/static/admin/assets/build-2jMyI6eP.js +1 -0
- package/static/admin/assets/build-2jMyI6eP.js.gz +0 -0
- package/static/admin/assets/button-BlSCM_GH.js +1 -0
- package/static/admin/assets/button-BlSCM_GH.js.gz +0 -0
- package/static/admin/assets/cache-CRGI5LFU.js +1 -0
- package/static/admin/assets/cascader-CXIOcY1C.js +1 -0
- package/static/admin/assets/cascader-CXIOcY1C.js.gz +0 -0
- package/static/admin/assets/chart-BsLMrzXU.js +1 -0
- package/static/admin/assets/checkbox-Bpiun3bf.js +1 -0
- package/static/admin/assets/checkbox-Bpiun3bf.js.gz +0 -0
- package/static/admin/assets/clipboard-DaV3cn7f.js +1 -0
- package/static/admin/assets/clipboard-DaV3cn7f.js.gz +0 -0
- package/static/admin/assets/code-DgJ8cT4a.js +1 -0
- package/static/admin/assets/color-y1Sshoou.js +1 -0
- package/static/admin/assets/color-y1Sshoou.js.gz +0 -0
- package/static/admin/assets/component-Djp9s69L.js +1 -0
- package/static/admin/assets/component-Djp9s69L.js.gz +0 -0
- package/static/admin/assets/createTable-CpixhIJI.js +1 -0
- package/static/admin/assets/createTable-CpixhIJI.js.gz +0 -0
- package/static/admin/assets/dashboard-Dy7qt_a2.js +1 -0
- package/static/admin/assets/dashboard-Dy7qt_a2.js.gz +0 -0
- package/static/admin/assets/data-B6ExfNCI.js +1 -0
- package/static/admin/assets/data-B6ExfNCI.js.gz +0 -0
- package/static/admin/assets/data-BNwnwlkO.js +34 -0
- package/static/admin/assets/data-BNwnwlkO.js.gz +0 -0
- package/static/admin/assets/data-C3FuPwta.css +1 -0
- package/static/admin/assets/data-DmSA0HcO.js +1 -0
- package/static/admin/assets/data-DmSA0HcO.js.gz +0 -0
- package/static/admin/assets/date-B1FSITvi.js +1 -0
- package/static/admin/assets/date-B1FSITvi.js.gz +0 -0
- package/static/admin/assets/date-range-B8MgYLb1.js +1 -0
- package/static/admin/assets/date-range-B8MgYLb1.js.gz +0 -0
- package/static/admin/assets/dict-Bi_GqSXR.js +1 -0
- package/static/admin/assets/dict-Bi_GqSXR.js.gz +0 -0
- package/static/admin/assets/documentation-uH9BvL5U.js +1 -0
- package/static/admin/assets/download-DeIzgQWH.js +1 -0
- package/static/admin/assets/download-DeIzgQWH.js.gz +0 -0
- package/static/admin/assets/drag-BG1_I1vT.js +1 -0
- package/static/admin/assets/druid-BybW_S_B.js +1 -0
- package/static/admin/assets/edit-D0DI9pAq.js +1 -0
- package/static/admin/assets/editTable-zr5bdAM7.js +1 -0
- package/static/admin/assets/editTable-zr5bdAM7.js.gz +0 -0
- package/static/admin/assets/education-47KsSYIl.js +1 -0
- package/static/admin/assets/email-Dig28Vt2.js +1 -0
- package/static/admin/assets/example-CnLLAFb9.js +1 -0
- package/static/admin/assets/excel-D3hj5F35.js +1 -0
- package/static/admin/assets/exit-fullscreen-dXhGKlQm.js +1 -0
- package/static/admin/assets/exit-fullscreen-dXhGKlQm.js.gz +0 -0
- package/static/admin/assets/eye-DqRz4sMZ.js +1 -0
- package/static/admin/assets/eye-DqRz4sMZ.js.gz +0 -0
- package/static/admin/assets/eye-open-BxlshWqB.js +1 -0
- package/static/admin/assets/eye-open-BxlshWqB.js.gz +0 -0
- package/static/admin/assets/form-BDTA_i-I.js +1 -0
- package/static/admin/assets/form-BDTA_i-I.js.gz +0 -0
- package/static/admin/assets/fullscreen-0JHt5yWX.js +1 -0
- package/static/admin/assets/gen-DLNrNhtb.js +1 -0
- package/static/admin/assets/genInfoForm-CMDsV5QX.js +1 -0
- package/static/admin/assets/genInfoForm-CMDsV5QX.js.gz +0 -0
- package/static/admin/assets/github-AJ0WQBa2.js +1 -0
- package/static/admin/assets/github-AJ0WQBa2.js.gz +0 -0
- package/static/admin/assets/guide-DZWUPi2j.js +1 -0
- package/static/admin/assets/icon-BtMv6Od8.js +1 -0
- package/static/admin/assets/icon-BtMv6Od8.js.gz +0 -0
- package/static/admin/assets/importTable-BsBsGfWB.js +1 -0
- package/static/admin/assets/importTable-BsBsGfWB.js.gz +0 -0
- package/static/admin/assets/index-1Gtzb1EG.css +1 -0
- package/static/admin/assets/index-1Gtzb1EG.css.gz +0 -0
- package/static/admin/assets/index-22TxXV_H.js +1 -0
- package/static/admin/assets/index-2PS_9Njt.js +1 -0
- package/static/admin/assets/index-2PS_9Njt.js.gz +0 -0
- package/static/admin/assets/index-2QWdVCKT.js +1 -0
- package/static/admin/assets/index-BH2yis6M.js +1 -0
- package/static/admin/assets/index-BYiWbDzj.js +137 -0
- package/static/admin/assets/index-BYiWbDzj.js.gz +0 -0
- package/static/admin/assets/index-BcoIBYYg.js +1 -0
- package/static/admin/assets/index-BcoIBYYg.js.gz +0 -0
- package/static/admin/assets/index-BdfyYxZX.css +1 -0
- package/static/admin/assets/index-BdfyYxZX.css.gz +0 -0
- package/static/admin/assets/index-BpFFXMK5.js +1 -0
- package/static/admin/assets/index-BpFFXMK5.js.gz +0 -0
- package/static/admin/assets/index-CKPU_AaL.js +1 -0
- package/static/admin/assets/index-CKPU_AaL.js.gz +0 -0
- package/static/admin/assets/index-CXsykB0X.js +1 -0
- package/static/admin/assets/index-CXsykB0X.js.gz +0 -0
- package/static/admin/assets/index-CfHRKVJR.js +1 -0
- package/static/admin/assets/index-CfHRKVJR.js.gz +0 -0
- package/static/admin/assets/index-ChrWcM7o.js +1 -0
- package/static/admin/assets/index-ChrWcM7o.js.gz +0 -0
- package/static/admin/assets/index-CyGqJLpz.css +1 -0
- package/static/admin/assets/index-Czuq8j-W.js +1 -0
- package/static/admin/assets/index-D5kEXJN3.js +1 -0
- package/static/admin/assets/index-D5kEXJN3.js.gz +0 -0
- package/static/admin/assets/index-D7sjRL--.js +1 -0
- package/static/admin/assets/index-D7sjRL--.js.gz +0 -0
- package/static/admin/assets/index-D9JRAPr4.js +1 -0
- package/static/admin/assets/index-D9JRAPr4.js.gz +0 -0
- package/static/admin/assets/index-DADWjT7Y.js +1 -0
- package/static/admin/assets/index-DADWjT7Y.js.gz +0 -0
- package/static/admin/assets/index-DUTtT4NU.js +1 -0
- package/static/admin/assets/index-DUTtT4NU.js.gz +0 -0
- package/static/admin/assets/index-DZR__uIb.js +1 -0
- package/static/admin/assets/index-DZR__uIb.js.gz +0 -0
- package/static/admin/assets/index-Da2r8G2b.js +1 -0
- package/static/admin/assets/index-Da2r8G2b.js.gz +0 -0
- package/static/admin/assets/index-DakybE_b.js +1 -0
- package/static/admin/assets/index-DakybE_b.js.gz +0 -0
- package/static/admin/assets/index-DdnU2rJ0.css +1 -0
- package/static/admin/assets/index-H21xXZr5.js +60 -0
- package/static/admin/assets/index-H21xXZr5.js.gz +0 -0
- package/static/admin/assets/index-PGDGQEbD.js +1 -0
- package/static/admin/assets/index-PGDGQEbD.js.gz +0 -0
- package/static/admin/assets/index-Rm6qYhrO.js +1 -0
- package/static/admin/assets/index-VG6ZkdYt.js +1 -0
- package/static/admin/assets/index-VG6ZkdYt.js.gz +0 -0
- package/static/admin/assets/index-YVnsjgTq.js +1 -0
- package/static/admin/assets/index-YVnsjgTq.js.gz +0 -0
- package/static/admin/assets/index-t3XJ47us.css +1 -0
- package/static/admin/assets/index-t3XJ47us.css.gz +0 -0
- package/static/admin/assets/index-xfai-fRy.js +1 -0
- package/static/admin/assets/index-xfai-fRy.js.gz +0 -0
- package/static/admin/assets/input-BJoPMnBW.js +1 -0
- package/static/admin/assets/international-CmzG1OHg.js +1 -0
- package/static/admin/assets/international-CmzG1OHg.js.gz +0 -0
- package/static/admin/assets/job-BcmuINx7.js +1 -0
- package/static/admin/assets/job-BcmuINx7.js.gz +0 -0
- package/static/admin/assets/job-COdMvNx2.js +1 -0
- package/static/admin/assets/language-CaW1LMEk.js +1 -0
- package/static/admin/assets/language-CaW1LMEk.js.gz +0 -0
- package/static/admin/assets/link-C93f4PgI.js +1 -0
- package/static/admin/assets/list-C7O8B4zW.js +1 -0
- package/static/admin/assets/list-C7O8B4zW.js.gz +0 -0
- package/static/admin/assets/list-DUaPnccL.js +1 -0
- package/static/admin/assets/list-DUaPnccL.js.gz +0 -0
- package/static/admin/assets/lock-Bexeb9hp.js +1 -0
- package/static/admin/assets/log-CF2F-nSs.js +1 -0
- package/static/admin/assets/log-CF2F-nSs.js.gz +0 -0
- package/static/admin/assets/log-g6qirYnf.js +1 -0
- package/static/admin/assets/log-g6qirYnf.js.gz +0 -0
- package/static/admin/assets/login-1ezV0PC1.css +1 -0
- package/static/admin/assets/login-1ezV0PC1.css.gz +0 -0
- package/static/admin/assets/login-BnkuYS6J.js +22 -0
- package/static/admin/assets/login-BnkuYS6J.js.gz +0 -0
- package/static/admin/assets/login-background-Yn3y1TP_.jpg +0 -0
- package/static/admin/assets/logininfor-Bm9ZYYR7.js +1 -0
- package/static/admin/assets/logininfor-Bm9ZYYR7.js.gz +0 -0
- package/static/admin/assets/logo-BjsPc2xl.png +0 -0
- package/static/admin/assets/menu-BIu3IsSF.js +1 -0
- package/static/admin/assets/message-UkR-VIBB.js +1 -0
- package/static/admin/assets/money-B1qqPuhn.js +1 -0
- package/static/admin/assets/monitor-gwnnVq4l.js +1 -0
- package/static/admin/assets/monitor-gwnnVq4l.js.gz +0 -0
- package/static/admin/assets/nested-B4d5u3hW.js +1 -0
- package/static/admin/assets/number-D4hB_nHC.js +1 -0
- package/static/admin/assets/number-D4hB_nHC.js.gz +0 -0
- package/static/admin/assets/online-C2ZP8pdY.js +1 -0
- package/static/admin/assets/online-C2ZP8pdY.js.gz +0 -0
- package/static/admin/assets/password-DfGvqQpB.js +1 -0
- package/static/admin/assets/password-DfGvqQpB.js.gz +0 -0
- package/static/admin/assets/pay-2ZbgPnxn.png +0 -0
- package/static/admin/assets/pdf-CD9mOGjJ.js +1 -0
- package/static/admin/assets/pdf-CD9mOGjJ.js.gz +0 -0
- package/static/admin/assets/people-CdGMHN63.js +1 -0
- package/static/admin/assets/people-CdGMHN63.js.gz +0 -0
- package/static/admin/assets/peoples-BRYsIqmI.js +1 -0
- package/static/admin/assets/phone-BpAUIz0g.js +1 -0
- package/static/admin/assets/phone-BpAUIz0g.js.gz +0 -0
- package/static/admin/assets/pm2-BkmkkE2A.js +1 -0
- package/static/admin/assets/post-DrLDyPY9.js +1 -0
- package/static/admin/assets/post-DrLDyPY9.js.gz +0 -0
- package/static/admin/assets/profile-DruvkrZU.jpg +0 -0
- package/static/admin/assets/qq-D8j4O83Y.js +1 -0
- package/static/admin/assets/qq-D8j4O83Y.js.gz +0 -0
- package/static/admin/assets/question-CvYWQbyW.js +1 -0
- package/static/admin/assets/question-CvYWQbyW.js.gz +0 -0
- package/static/admin/assets/radio-B0t9wPBQ.js +1 -0
- package/static/admin/assets/radio-B0t9wPBQ.js.gz +0 -0
- package/static/admin/assets/rate-CgnHQvKS.js +1 -0
- package/static/admin/assets/rate-CgnHQvKS.js.gz +0 -0
- package/static/admin/assets/redis-D4ECyT6a.js +1 -0
- package/static/admin/assets/redis-D4ECyT6a.js.gz +0 -0
- package/static/admin/assets/redis-list-BtKGPnqO.js +1 -0
- package/static/admin/assets/redis-list-BtKGPnqO.js.gz +0 -0
- package/static/admin/assets/register-B9RmZvjt.js +1 -0
- package/static/admin/assets/register-B9RmZvjt.js.gz +0 -0
- package/static/admin/assets/register-n3u7gqca.css +1 -0
- package/static/admin/assets/resetPwd-M0EIDnQk.js +1 -0
- package/static/admin/assets/resetPwd-M0EIDnQk.js.gz +0 -0
- package/static/admin/assets/role-XbHkNxnW.js +1 -0
- package/static/admin/assets/role-XbHkNxnW.js.gz +0 -0
- package/static/admin/assets/row-CRXKIHjm.js +1 -0
- package/static/admin/assets/row-CRXKIHjm.js.gz +0 -0
- package/static/admin/assets/search-CUfclCsR.js +1 -0
- package/static/admin/assets/select-DhuHHMxz.js +1 -0
- package/static/admin/assets/select-DhuHHMxz.js.gz +0 -0
- package/static/admin/assets/selectUser-DA_rE9J_.js +1 -0
- package/static/admin/assets/selectUser-DA_rE9J_.js.gz +0 -0
- package/static/admin/assets/server-unS7EyF7.js +1 -0
- package/static/admin/assets/shopping-CU1IRvxM.js +1 -0
- package/static/admin/assets/shopping-CU1IRvxM.js.gz +0 -0
- package/static/admin/assets/size-Cj9fB5Rp.js +1 -0
- package/static/admin/assets/skill-B8f_I4m_.js +1 -0
- package/static/admin/assets/skill-B8f_I4m_.js.gz +0 -0
- package/static/admin/assets/slider-BGfehM6X.js +1 -0
- package/static/admin/assets/star-kST8a72V.js +1 -0
- package/static/admin/assets/store-CX7IRN8X.js +1 -0
- package/static/admin/assets/swagger-BHGXZ2Jt.js +1 -0
- package/static/admin/assets/swagger-BHGXZ2Jt.js.gz +0 -0
- package/static/admin/assets/switch-CvaargRJ.js +1 -0
- package/static/admin/assets/system-DcNSH_Fq.js +1 -0
- package/static/admin/assets/system-DcNSH_Fq.js.gz +0 -0
- package/static/admin/assets/tab-nA3f0aBt.js +1 -0
- package/static/admin/assets/table-5PRh60AQ.js +1 -0
- package/static/admin/assets/test-CEJIIaDM.js +1 -0
- package/static/admin/assets/test-CEJIIaDM.js.gz +0 -0
- package/static/admin/assets/textarea-CJWXlgbJ.js +1 -0
- package/static/admin/assets/theme-CyGq941x.js +1 -0
- package/static/admin/assets/time-BVERp0sU.js +1 -0
- package/static/admin/assets/time-BVERp0sU.js.gz +0 -0
- package/static/admin/assets/time-range-D3dxgtLj.js +1 -0
- package/static/admin/assets/time-range-D3dxgtLj.js.gz +0 -0
- package/static/admin/assets/tool-D8kXk1l-.js +1 -0
- package/static/admin/assets/tool-D8kXk1l-.js.gz +0 -0
- package/static/admin/assets/tree-BCtS3oPD.js +1 -0
- package/static/admin/assets/tree-BCtS3oPD.js.gz +0 -0
- package/static/admin/assets/tree-table-CnOS99I9.js +1 -0
- package/static/admin/assets/tree-table-CnOS99I9.js.gz +0 -0
- package/static/admin/assets/type-BU7MsCG8.js +1 -0
- package/static/admin/assets/upload-BueI-Il1.js +1 -0
- package/static/admin/assets/upload-BueI-Il1.js.gz +0 -0
- package/static/admin/assets/user-DCGYGA9G.js +1 -0
- package/static/admin/assets/user-DCGYGA9G.js.gz +0 -0
- package/static/admin/assets/user-DqMuW5cU.js +1 -0
- package/static/admin/assets/userAvatar-BAmwMY1G.css +1 -0
- package/static/admin/assets/userAvatar-BAmwMY1G.css.gz +0 -0
- package/static/admin/assets/userAvatar-Bax34kaQ.js +7 -0
- package/static/admin/assets/userAvatar-Bax34kaQ.js.gz +0 -0
- package/static/admin/assets/userInfo-OvdBjEQX.js +1 -0
- package/static/admin/assets/userInfo-OvdBjEQX.js.gz +0 -0
- package/static/admin/assets/validCode-COB1iLxa.js +1 -0
- package/static/admin/assets/validCode-COB1iLxa.js.gz +0 -0
- package/static/admin/assets/wechat-lmQOcPZu.js +1 -0
- package/static/admin/assets/wechat-lmQOcPZu.js.gz +0 -0
- package/static/admin/assets/zip-DIOSZc69.js +1 -0
- package/static/admin/assets/zip-DIOSZc69.js.gz +0 -0
- package/static/admin/favicon.ico +0 -0
- package/static/admin/index.html +216 -0
- package/static/admin/index.html.gz +0 -0
- package/store1/README.MD +0 -0
- package/store1/generic.mjs +102 -0
- package/store1/index.mjs +30 -0
- package/store1/monitor.mjs +13 -0
- package/store1/role.mjs +137 -0
- package/store1/store/0/data +0 -0
- package/store1/store/0/index +0 -0
- package/store1/store/0/index.mjs +15 -0
- package/store1/store/1/buffer/464135 +1 -0
- package/store1/store/1/buffer/464587 +1 -0
- package/store1/store/1/data +0 -0
- package/store1/store/1/data-LAPTOP-S8G0S6EH +0 -0
- package/store1/store/1/index +0 -0
- package/store1/store/1/index-LAPTOP-S8G0S6EH +0 -0
- package/store1/store/1/index.mjs +4045 -0
- package/store1/store/1/type.ts +1492 -0
- package/store1/store/index.mjs +23 -0
- package/store1/store2/0/data +0 -0
- package/store1/store2/0/index +0 -0
- package/store1/store2/0/index.mjs +15 -0
- package/store1/store2/1/buffer/464135 +1 -0
- package/store1/store2/1/buffer/464587 +1 -0
- package/store1/store2/1/data +0 -0
- package/store1/store2/1/data-LAPTOP-S8G0S6EH +0 -0
- package/store1/store2/1/index +0 -0
- package/store1/store2/1/index-LAPTOP-S8G0S6EH +0 -0
- package/store1/store2/1/index.mjs +4045 -0
- package/store1/store2/1/type.ts +1492 -0
- package/store1/store2/index.mjs +23 -0
- package/store1/system.mjs +67 -0
- package/store1/tool.mjs +472 -0
- package/store1/user.mjs +228 -0
@@ -0,0 +1,152 @@
|
|
1
|
+
import axios from 'axios'
|
2
|
+
import { ElNotification , ElMessageBox, ElMessage, ElLoading } from 'element-plus'
|
3
|
+
import { getToken } from '@/utils/auth'
|
4
|
+
import errorCode from '@/utils/errorCode'
|
5
|
+
import { tansParams, blobValidate } from '@/utils/ruoyi'
|
6
|
+
import cache from '@/plugins/cache'
|
7
|
+
import { saveAs } from 'file-saver'
|
8
|
+
import useUserStore from '@/store/modules/user'
|
9
|
+
|
10
|
+
let downloadLoadingInstance;
|
11
|
+
// 是否显示重新登录
|
12
|
+
export let isRelogin = { show: false };
|
13
|
+
|
14
|
+
axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
|
15
|
+
// 创建axios实例
|
16
|
+
const service = axios.create({
|
17
|
+
// axios中请求配置有baseURL选项,表示请求URL公共部分
|
18
|
+
baseURL: import.meta.env.VITE_APP_BASE_API,
|
19
|
+
// 超时
|
20
|
+
timeout: 10000
|
21
|
+
})
|
22
|
+
|
23
|
+
// request拦截器
|
24
|
+
service.interceptors.request.use(config => {
|
25
|
+
// 是否需要设置 token
|
26
|
+
const isToken = (config.headers || {}).isToken === false
|
27
|
+
// 是否需要防止数据重复提交
|
28
|
+
const isRepeatSubmit = (config.headers || {}).repeatSubmit === false
|
29
|
+
if (getToken() && !isToken) {
|
30
|
+
config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
|
31
|
+
}
|
32
|
+
// get请求映射params参数
|
33
|
+
if (config.method === 'get' && config.params) {
|
34
|
+
let url = config.url + '?' + tansParams(config.params);
|
35
|
+
url = url.slice(0, -1);
|
36
|
+
config.params = {};
|
37
|
+
config.url = url;
|
38
|
+
}
|
39
|
+
if (!isRepeatSubmit && (config.method === 'post' || config.method === 'put')) {
|
40
|
+
const requestObj = {
|
41
|
+
url: config.url,
|
42
|
+
data: typeof config.data === 'object' ? JSON.stringify(config.data) : config.data,
|
43
|
+
time: new Date().getTime()
|
44
|
+
}
|
45
|
+
const requestSize = Object.keys(JSON.stringify(requestObj)).length; // 请求数据大小
|
46
|
+
const limitSize = 5 * 1024 * 1024; // 限制存放数据5M
|
47
|
+
if (requestSize >= limitSize) {
|
48
|
+
console.warn(`[${config.url}]: ` + '请求数据大小超出允许的5M限制,无法进行防重复提交验证。')
|
49
|
+
return config;
|
50
|
+
}
|
51
|
+
const sessionObj = cache.session.getJSON('sessionObj')
|
52
|
+
if (sessionObj === undefined || sessionObj === null || sessionObj === '') {
|
53
|
+
cache.session.setJSON('sessionObj', requestObj)
|
54
|
+
} else {
|
55
|
+
const s_url = sessionObj.url; // 请求地址
|
56
|
+
const s_data = sessionObj.data; // 请求数据
|
57
|
+
const s_time = sessionObj.time; // 请求时间
|
58
|
+
const interval = 1000; // 间隔时间(ms),小于此时间视为重复提交
|
59
|
+
if (s_data === requestObj.data && requestObj.time - s_time < interval && s_url === requestObj.url) {
|
60
|
+
const message = '数据正在处理,请勿重复提交';
|
61
|
+
console.warn(`[${s_url}]: ` + message)
|
62
|
+
return Promise.reject(new Error(message))
|
63
|
+
} else {
|
64
|
+
cache.session.setJSON('sessionObj', requestObj)
|
65
|
+
}
|
66
|
+
}
|
67
|
+
}
|
68
|
+
return config
|
69
|
+
}, error => {
|
70
|
+
console.log(error)
|
71
|
+
Promise.reject(error)
|
72
|
+
})
|
73
|
+
|
74
|
+
// 响应拦截器
|
75
|
+
service.interceptors.response.use(res => {
|
76
|
+
// 未设置状态码则默认成功状态
|
77
|
+
const code = res.data.code || 200;
|
78
|
+
// 获取错误信息
|
79
|
+
const msg = errorCode[code] || res.data.msg || errorCode['default']
|
80
|
+
// 二进制数据则直接返回
|
81
|
+
if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') {
|
82
|
+
return res.data
|
83
|
+
}
|
84
|
+
if (code === 401) {
|
85
|
+
if (!isRelogin.show) {
|
86
|
+
isRelogin.show = true;
|
87
|
+
ElMessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => {
|
88
|
+
isRelogin.show = false;
|
89
|
+
useUserStore().logOut().then(() => {
|
90
|
+
location.href = '/index';
|
91
|
+
})
|
92
|
+
}).catch(() => {
|
93
|
+
isRelogin.show = false;
|
94
|
+
});
|
95
|
+
}
|
96
|
+
return Promise.reject('无效的会话,或者会话已过期,请重新登录。')
|
97
|
+
} else if (code === 500) {
|
98
|
+
ElMessage({ message: msg, type: 'error' })
|
99
|
+
return Promise.reject(new Error(msg))
|
100
|
+
} else if (code === 601) {
|
101
|
+
ElMessage({ message: msg, type: 'warning' })
|
102
|
+
return Promise.reject(new Error(msg))
|
103
|
+
} else if (code !== 200) {
|
104
|
+
ElNotification.error({ title: msg })
|
105
|
+
return Promise.reject('error')
|
106
|
+
} else {
|
107
|
+
return Promise.resolve(res.data)
|
108
|
+
}
|
109
|
+
},
|
110
|
+
error => {
|
111
|
+
console.log('err' + error)
|
112
|
+
let { message } = error;
|
113
|
+
if (message == "Network Error") {
|
114
|
+
message = "后端接口连接异常";
|
115
|
+
} else if (message.includes("timeout")) {
|
116
|
+
message = "系统接口请求超时";
|
117
|
+
} else if (message.includes("Request failed with status code")) {
|
118
|
+
message = "系统接口" + message.substr(message.length - 3) + "异常";
|
119
|
+
}
|
120
|
+
ElMessage({ message: message, type: 'error', duration: 5 * 1000 })
|
121
|
+
return Promise.reject(error)
|
122
|
+
}
|
123
|
+
)
|
124
|
+
|
125
|
+
// 通用下载方法
|
126
|
+
export function download(url, params, filename, config) {
|
127
|
+
downloadLoadingInstance = ElLoading.service({ text: "正在下载数据,请稍候", background: "rgba(0, 0, 0, 0.7)", })
|
128
|
+
return service.post(url, params, {
|
129
|
+
transformRequest: [(params) => { return tansParams(params) }],
|
130
|
+
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
131
|
+
responseType: 'blob',
|
132
|
+
...config
|
133
|
+
}).then(async (data) => {
|
134
|
+
const isBlob = blobValidate(data);
|
135
|
+
if (isBlob) {
|
136
|
+
const blob = new Blob([data])
|
137
|
+
saveAs(blob, filename)
|
138
|
+
} else {
|
139
|
+
const resText = await data.text();
|
140
|
+
const rspObj = JSON.parse(resText);
|
141
|
+
const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default']
|
142
|
+
ElMessage.error(errMsg);
|
143
|
+
}
|
144
|
+
downloadLoadingInstance.close();
|
145
|
+
}).catch((r) => {
|
146
|
+
console.error(r)
|
147
|
+
ElMessage.error('下载文件出现错误,请联系管理员!')
|
148
|
+
downloadLoadingInstance.close();
|
149
|
+
})
|
150
|
+
}
|
151
|
+
|
152
|
+
export default service
|
@@ -0,0 +1,246 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
/**
|
4
|
+
* 通用js方法封装处理
|
5
|
+
* Copyright (c) 2019 ruoyi
|
6
|
+
*/
|
7
|
+
|
8
|
+
// 日期格式化
|
9
|
+
export function parseTime(time, pattern) {
|
10
|
+
if (arguments.length === 0 || !time) {
|
11
|
+
return null
|
12
|
+
}
|
13
|
+
const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}'
|
14
|
+
let date
|
15
|
+
if (typeof time === 'object') {
|
16
|
+
date = time
|
17
|
+
} else {
|
18
|
+
if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {
|
19
|
+
time = parseInt(time)
|
20
|
+
} else if (typeof time === 'string') {
|
21
|
+
time = time.replace(new RegExp(/-/gm), '/').replace('T', ' ').replace(new RegExp(/\.[\d]{3}/gm), '');
|
22
|
+
}
|
23
|
+
if ((typeof time === 'number') && (time.toString().length === 10)) {
|
24
|
+
time = time * 1000
|
25
|
+
}
|
26
|
+
date = new Date(time)
|
27
|
+
}
|
28
|
+
const formatObj = {
|
29
|
+
y: date.getFullYear(),
|
30
|
+
m: date.getMonth() + 1,
|
31
|
+
d: date.getDate(),
|
32
|
+
h: date.getHours(),
|
33
|
+
i: date.getMinutes(),
|
34
|
+
s: date.getSeconds(),
|
35
|
+
a: date.getDay()
|
36
|
+
}
|
37
|
+
const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
|
38
|
+
let value = formatObj[key]
|
39
|
+
// Note: getDay() returns 0 on Sunday
|
40
|
+
if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value] }
|
41
|
+
if (result.length > 0 && value < 10) {
|
42
|
+
value = '0' + value
|
43
|
+
}
|
44
|
+
return value || 0
|
45
|
+
})
|
46
|
+
return time_str
|
47
|
+
}
|
48
|
+
|
49
|
+
// 表单重置
|
50
|
+
export function resetForm(refName) {
|
51
|
+
if (this.$refs[refName]) {
|
52
|
+
this.$refs[refName].resetFields();
|
53
|
+
}
|
54
|
+
}
|
55
|
+
|
56
|
+
// 添加日期范围
|
57
|
+
export function addDateRange(params, dateRange, propName) {
|
58
|
+
let search = params;
|
59
|
+
search.params = typeof (search.params) === 'object' && search.params !== null && !Array.isArray(search.params) ? search.params : {};
|
60
|
+
dateRange = Array.isArray(dateRange) ? dateRange : [];
|
61
|
+
if (typeof (propName) === 'undefined') {
|
62
|
+
search.params['beginTime'] = dateRange[0];
|
63
|
+
search.params['endTime'] = dateRange[1];
|
64
|
+
} else {
|
65
|
+
search.params['begin' + propName] = dateRange[0];
|
66
|
+
search.params['end' + propName] = dateRange[1];
|
67
|
+
}
|
68
|
+
return search;
|
69
|
+
}
|
70
|
+
|
71
|
+
// 回显数据字典
|
72
|
+
export function selectDictLabel(datas, value) {
|
73
|
+
if (value === undefined) {
|
74
|
+
return "";
|
75
|
+
}
|
76
|
+
var actions = [];
|
77
|
+
Object.keys(datas).some((key) => {
|
78
|
+
if (datas[key].value == ('' + value)) {
|
79
|
+
actions.push(datas[key].label);
|
80
|
+
return true;
|
81
|
+
}
|
82
|
+
})
|
83
|
+
if (actions.length === 0) {
|
84
|
+
actions.push(value);
|
85
|
+
}
|
86
|
+
return actions.join('');
|
87
|
+
}
|
88
|
+
|
89
|
+
// 回显数据字典(字符串数组)
|
90
|
+
export function selectDictLabels(datas, value, separator) {
|
91
|
+
if (value === undefined || value.length ===0) {
|
92
|
+
return "";
|
93
|
+
}
|
94
|
+
if (Array.isArray(value)) {
|
95
|
+
value = value.join(",");
|
96
|
+
}
|
97
|
+
var actions = [];
|
98
|
+
var currentSeparator = undefined === separator ? "," : separator;
|
99
|
+
var temp = value.split(currentSeparator);
|
100
|
+
Object.keys(value.split(currentSeparator)).some((val) => {
|
101
|
+
var match = false;
|
102
|
+
Object.keys(datas).some((key) => {
|
103
|
+
if (datas[key].value == ('' + temp[val])) {
|
104
|
+
actions.push(datas[key].label + currentSeparator);
|
105
|
+
match = true;
|
106
|
+
}
|
107
|
+
})
|
108
|
+
if (!match) {
|
109
|
+
actions.push(temp[val] + currentSeparator);
|
110
|
+
}
|
111
|
+
})
|
112
|
+
return actions.join('').substring(0, actions.join('').length - 1);
|
113
|
+
}
|
114
|
+
|
115
|
+
// 字符串格式化(%s )
|
116
|
+
export function sprintf(str) {
|
117
|
+
var args = arguments, flag = true, i = 1;
|
118
|
+
str = str.replace(/%s/g, function () {
|
119
|
+
var arg = args[i++];
|
120
|
+
if (typeof arg === 'undefined') {
|
121
|
+
flag = false;
|
122
|
+
return '';
|
123
|
+
}
|
124
|
+
return arg;
|
125
|
+
});
|
126
|
+
return flag ? str : '';
|
127
|
+
}
|
128
|
+
|
129
|
+
// 转换字符串,undefined,null等转化为""
|
130
|
+
export function parseStrEmpty(str) {
|
131
|
+
if (!str || str == "undefined" || str == "null") {
|
132
|
+
return "";
|
133
|
+
}
|
134
|
+
return str;
|
135
|
+
}
|
136
|
+
|
137
|
+
// 数据合并
|
138
|
+
export function mergeRecursive(source, target) {
|
139
|
+
for (var p in target) {
|
140
|
+
try {
|
141
|
+
if (target[p].constructor == Object) {
|
142
|
+
source[p] = mergeRecursive(source[p], target[p]);
|
143
|
+
} else {
|
144
|
+
source[p] = target[p];
|
145
|
+
}
|
146
|
+
} catch (e) {
|
147
|
+
source[p] = target[p];
|
148
|
+
}
|
149
|
+
}
|
150
|
+
return source;
|
151
|
+
};
|
152
|
+
|
153
|
+
/**
|
154
|
+
* 构造树型结构数据
|
155
|
+
* @param {*} data 数据源
|
156
|
+
* @param {*} id id字段 默认 'id'
|
157
|
+
* @param {*} parentId 父节点字段 默认 'parentId'
|
158
|
+
* @param {*} children 孩子节点字段 默认 'children'
|
159
|
+
*/
|
160
|
+
export function handleTree(data, id, parentId, children) {
|
161
|
+
let config = {
|
162
|
+
id: id || 'id',
|
163
|
+
parentId: parentId || 'parentId',
|
164
|
+
childrenList: children || 'children'
|
165
|
+
};
|
166
|
+
|
167
|
+
var childrenListMap = {};
|
168
|
+
var nodeIds = {};
|
169
|
+
var tree = [];
|
170
|
+
|
171
|
+
for (let d of data) {
|
172
|
+
let parentId = d[config.parentId];
|
173
|
+
if (childrenListMap[parentId] == null) {
|
174
|
+
childrenListMap[parentId] = [];
|
175
|
+
}
|
176
|
+
nodeIds[d[config.id]] = d;
|
177
|
+
childrenListMap[parentId].push(d);
|
178
|
+
}
|
179
|
+
|
180
|
+
for (let d of data) {
|
181
|
+
let parentId = d[config.parentId];
|
182
|
+
if (nodeIds[parentId] == null) {
|
183
|
+
tree.push(d);
|
184
|
+
}
|
185
|
+
}
|
186
|
+
|
187
|
+
for (let t of tree) {
|
188
|
+
adaptToChildrenList(t);
|
189
|
+
}
|
190
|
+
|
191
|
+
function adaptToChildrenList(o) {
|
192
|
+
if (childrenListMap[o[config.id]] !== null) {
|
193
|
+
o[config.childrenList] = childrenListMap[o[config.id]];
|
194
|
+
}
|
195
|
+
if (o[config.childrenList]) {
|
196
|
+
for (let c of o[config.childrenList]) {
|
197
|
+
adaptToChildrenList(c);
|
198
|
+
}
|
199
|
+
}
|
200
|
+
}
|
201
|
+
return tree;
|
202
|
+
}
|
203
|
+
|
204
|
+
/**
|
205
|
+
* 参数处理
|
206
|
+
* @param {*} params 参数
|
207
|
+
*/
|
208
|
+
export function tansParams(params) {
|
209
|
+
let result = ''
|
210
|
+
for (const propName of Object.keys(params)) {
|
211
|
+
const value = params[propName];
|
212
|
+
var part = encodeURIComponent(propName) + "=";
|
213
|
+
if (value !== null && value !== "" && typeof (value) !== "undefined") {
|
214
|
+
if (typeof value === 'object') {
|
215
|
+
for (const key of Object.keys(value)) {
|
216
|
+
if (value[key] !== null && value[key] !== "" && typeof (value[key]) !== 'undefined') {
|
217
|
+
let params = propName + '[' + key + ']';
|
218
|
+
var subPart = encodeURIComponent(params) + "=";
|
219
|
+
result += subPart + encodeURIComponent(value[key]) + "&";
|
220
|
+
}
|
221
|
+
}
|
222
|
+
} else {
|
223
|
+
result += part + encodeURIComponent(value) + "&";
|
224
|
+
}
|
225
|
+
}
|
226
|
+
}
|
227
|
+
return result
|
228
|
+
}
|
229
|
+
|
230
|
+
|
231
|
+
// 返回项目路径
|
232
|
+
export function getNormalPath(p) {
|
233
|
+
if (p.length === 0 || !p || p == 'undefined') {
|
234
|
+
return p
|
235
|
+
};
|
236
|
+
let res = p.replace('//', '/')
|
237
|
+
if (res[res.length - 1] === '/') {
|
238
|
+
return res.slice(0, res.length - 1)
|
239
|
+
}
|
240
|
+
return res;
|
241
|
+
}
|
242
|
+
|
243
|
+
// 验证是否为blob格式
|
244
|
+
export function blobValidate(data) {
|
245
|
+
return data.type !== 'application/json'
|
246
|
+
}
|
@@ -0,0 +1,58 @@
|
|
1
|
+
Math.easeInOutQuad = function(t, b, c, d) {
|
2
|
+
t /= d / 2
|
3
|
+
if (t < 1) {
|
4
|
+
return c / 2 * t * t + b
|
5
|
+
}
|
6
|
+
t--
|
7
|
+
return -c / 2 * (t * (t - 2) - 1) + b
|
8
|
+
}
|
9
|
+
|
10
|
+
// requestAnimationFrame for Smart Animating http://goo.gl/sx5sts
|
11
|
+
var requestAnimFrame = (function() {
|
12
|
+
return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(callback) { window.setTimeout(callback, 1000 / 60) }
|
13
|
+
})()
|
14
|
+
|
15
|
+
/**
|
16
|
+
* Because it's so fucking difficult to detect the scrolling element, just move them all
|
17
|
+
* @param {number} amount
|
18
|
+
*/
|
19
|
+
function move(amount) {
|
20
|
+
document.documentElement.scrollTop = amount
|
21
|
+
document.body.parentNode.scrollTop = amount
|
22
|
+
document.body.scrollTop = amount
|
23
|
+
}
|
24
|
+
|
25
|
+
function position() {
|
26
|
+
return document.documentElement.scrollTop || document.body.parentNode.scrollTop || document.body.scrollTop
|
27
|
+
}
|
28
|
+
|
29
|
+
/**
|
30
|
+
* @param {number} to
|
31
|
+
* @param {number} duration
|
32
|
+
* @param {Function} callback
|
33
|
+
*/
|
34
|
+
export function scrollTo(to, duration, callback) {
|
35
|
+
const start = position()
|
36
|
+
const change = to - start
|
37
|
+
const increment = 20
|
38
|
+
let currentTime = 0
|
39
|
+
duration = (typeof (duration) === 'undefined') ? 500 : duration
|
40
|
+
var animateScroll = function() {
|
41
|
+
// increment the time
|
42
|
+
currentTime += increment
|
43
|
+
// find the value with the quadratic in-out easing function
|
44
|
+
var val = Math.easeInOutQuad(currentTime, start, change, duration)
|
45
|
+
// move the document.body
|
46
|
+
move(val)
|
47
|
+
// do the animation unless its over
|
48
|
+
if (currentTime < duration) {
|
49
|
+
requestAnimFrame(animateScroll)
|
50
|
+
} else {
|
51
|
+
if (callback && typeof (callback) === 'function') {
|
52
|
+
// the animation is done so lets callback
|
53
|
+
callback()
|
54
|
+
}
|
55
|
+
}
|
56
|
+
}
|
57
|
+
animateScroll()
|
58
|
+
}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
// 处理主题样式
|
2
|
+
export function handleThemeStyle(theme) {
|
3
|
+
document.documentElement.style.setProperty('--el-color-primary', theme)
|
4
|
+
for (let i = 1; i <= 9; i++) {
|
5
|
+
document.documentElement.style.setProperty(`--el-color-primary-light-${i}`, `${getLightColor(theme, i / 10)}`)
|
6
|
+
}
|
7
|
+
for (let i = 1; i <= 9; i++) {
|
8
|
+
document.documentElement.style.setProperty(`--el-color-primary-dark-${i}`, `${getDarkColor(theme, i / 10)}`)
|
9
|
+
}
|
10
|
+
}
|
11
|
+
|
12
|
+
// hex颜色转rgb颜色
|
13
|
+
export function hexToRgb(str) {
|
14
|
+
str = str.replace('#', '')
|
15
|
+
let hexs = str.match(/../g)
|
16
|
+
for (let i = 0; i < 3; i++) {
|
17
|
+
hexs[i] = parseInt(hexs[i], 16)
|
18
|
+
}
|
19
|
+
return hexs
|
20
|
+
}
|
21
|
+
|
22
|
+
// rgb颜色转Hex颜色
|
23
|
+
export function rgbToHex(r, g, b) {
|
24
|
+
let hexs = [r.toString(16), g.toString(16), b.toString(16)]
|
25
|
+
for (let i = 0; i < 3; i++) {
|
26
|
+
if (hexs[i].length == 1) {
|
27
|
+
hexs[i] = `0${hexs[i]}`
|
28
|
+
}
|
29
|
+
}
|
30
|
+
return `#${hexs.join('')}`
|
31
|
+
}
|
32
|
+
|
33
|
+
// 变浅颜色值
|
34
|
+
export function getLightColor(color, level) {
|
35
|
+
let rgb = hexToRgb(color)
|
36
|
+
for (let i = 0; i < 3; i++) {
|
37
|
+
rgb[i] = Math.floor((255 - rgb[i]) * level + rgb[i])
|
38
|
+
}
|
39
|
+
return rgbToHex(rgb[0], rgb[1], rgb[2])
|
40
|
+
}
|
41
|
+
|
42
|
+
// 变深颜色值
|
43
|
+
export function getDarkColor(color, level) {
|
44
|
+
let rgb = hexToRgb(color)
|
45
|
+
for (let i = 0; i < 3; i++) {
|
46
|
+
rgb[i] = Math.floor(rgb[i] * (1 - level))
|
47
|
+
}
|
48
|
+
return rgbToHex(rgb[0], rgb[1], rgb[2])
|
49
|
+
}
|
@@ -0,0 +1,93 @@
|
|
1
|
+
/**
|
2
|
+
* 判断url是否是http或https
|
3
|
+
* @param {string} path
|
4
|
+
* @returns {Boolean}
|
5
|
+
*/
|
6
|
+
export function isHttp(url) {
|
7
|
+
return url.indexOf('http://') !== -1 || url.indexOf('https://') !== -1
|
8
|
+
}
|
9
|
+
|
10
|
+
/**
|
11
|
+
* 判断path是否为外链
|
12
|
+
* @param {string} path
|
13
|
+
* @returns {Boolean}
|
14
|
+
*/
|
15
|
+
export function isExternal(path) {
|
16
|
+
return /^(https?:|mailto:|tel:)/.test(path)
|
17
|
+
}
|
18
|
+
|
19
|
+
/**
|
20
|
+
* @param {string} str
|
21
|
+
* @returns {Boolean}
|
22
|
+
*/
|
23
|
+
export function validUsername(str) {
|
24
|
+
const valid_map = ['admin', 'editor']
|
25
|
+
return valid_map.indexOf(str.trim()) >= 0
|
26
|
+
}
|
27
|
+
|
28
|
+
/**
|
29
|
+
* @param {string} url
|
30
|
+
* @returns {Boolean}
|
31
|
+
*/
|
32
|
+
export function validURL(url) {
|
33
|
+
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.,?'\\+&%$#=~_-]+))*$/
|
34
|
+
return reg.test(url)
|
35
|
+
}
|
36
|
+
|
37
|
+
/**
|
38
|
+
* @param {string} str
|
39
|
+
* @returns {Boolean}
|
40
|
+
*/
|
41
|
+
export function validLowerCase(str) {
|
42
|
+
const reg = /^[a-z]+$/
|
43
|
+
return reg.test(str)
|
44
|
+
}
|
45
|
+
|
46
|
+
/**
|
47
|
+
* @param {string} str
|
48
|
+
* @returns {Boolean}
|
49
|
+
*/
|
50
|
+
export function validUpperCase(str) {
|
51
|
+
const reg = /^[A-Z]+$/
|
52
|
+
return reg.test(str)
|
53
|
+
}
|
54
|
+
|
55
|
+
/**
|
56
|
+
* @param {string} str
|
57
|
+
* @returns {Boolean}
|
58
|
+
*/
|
59
|
+
export function validAlphabets(str) {
|
60
|
+
const reg = /^[A-Za-z]+$/
|
61
|
+
return reg.test(str)
|
62
|
+
}
|
63
|
+
|
64
|
+
/**
|
65
|
+
* @param {string} email
|
66
|
+
* @returns {Boolean}
|
67
|
+
*/
|
68
|
+
export function validEmail(email) {
|
69
|
+
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,}))$/
|
70
|
+
return reg.test(email)
|
71
|
+
}
|
72
|
+
|
73
|
+
/**
|
74
|
+
* @param {string} str
|
75
|
+
* @returns {Boolean}
|
76
|
+
*/
|
77
|
+
export function isString(str) {
|
78
|
+
if (typeof str === 'string' || str instanceof String) {
|
79
|
+
return true
|
80
|
+
}
|
81
|
+
return false
|
82
|
+
}
|
83
|
+
|
84
|
+
/**
|
85
|
+
* @param {Array} arg
|
86
|
+
* @returns {Boolean}
|
87
|
+
*/
|
88
|
+
export function isArray(arg) {
|
89
|
+
if (typeof Array.isArray === 'undefined') {
|
90
|
+
return Object.prototype.toString.call(arg) === '[object Array]'
|
91
|
+
}
|
92
|
+
return Array.isArray(arg)
|
93
|
+
}
|
@@ -0,0 +1,82 @@
|
|
1
|
+
<template>
|
2
|
+
<div class="errPage-container">
|
3
|
+
<el-button icon="arrow-left" class="pan-back-btn" @click="back">
|
4
|
+
返回
|
5
|
+
</el-button>
|
6
|
+
<el-row>
|
7
|
+
<el-col :span="12">
|
8
|
+
<h1 class="text-jumbo text-ginormous">
|
9
|
+
401错误!
|
10
|
+
</h1>
|
11
|
+
<h2>您没有访问权限!</h2>
|
12
|
+
<h6>对不起,您没有访问权限,请不要进行非法操作!您可以返回主页面</h6>
|
13
|
+
<ul class="list-unstyled">
|
14
|
+
<li class="link-type">
|
15
|
+
<router-link to="/">
|
16
|
+
回首页
|
17
|
+
</router-link>
|
18
|
+
</li>
|
19
|
+
</ul>
|
20
|
+
</el-col>
|
21
|
+
<el-col :span="12">
|
22
|
+
<img :src="errGif" width="313" height="428" alt="Girl has dropped her ice cream.">
|
23
|
+
</el-col>
|
24
|
+
</el-row>
|
25
|
+
</div>
|
26
|
+
</template>
|
27
|
+
|
28
|
+
<script setup>
|
29
|
+
import errImage from "@/assets/401_images/401.gif";
|
30
|
+
|
31
|
+
let { proxy } = getCurrentInstance();
|
32
|
+
|
33
|
+
const errGif = ref(errImage + "?" + +new Date());
|
34
|
+
|
35
|
+
function back() {
|
36
|
+
if (proxy.$route.query.noGoBack) {
|
37
|
+
proxy.$router.push({ path: "/" });
|
38
|
+
} else {
|
39
|
+
proxy.$router.go(-1);
|
40
|
+
}
|
41
|
+
}
|
42
|
+
</script>
|
43
|
+
|
44
|
+
<style lang="scss" scoped>
|
45
|
+
.errPage-container {
|
46
|
+
width: 800px;
|
47
|
+
max-width: 100%;
|
48
|
+
margin: 100px auto;
|
49
|
+
.pan-back-btn {
|
50
|
+
background: #008489;
|
51
|
+
color: #fff;
|
52
|
+
border: none !important;
|
53
|
+
}
|
54
|
+
.pan-gif {
|
55
|
+
margin: 0 auto;
|
56
|
+
display: block;
|
57
|
+
}
|
58
|
+
.pan-img {
|
59
|
+
display: block;
|
60
|
+
margin: 0 auto;
|
61
|
+
width: 100%;
|
62
|
+
}
|
63
|
+
.text-jumbo {
|
64
|
+
font-size: 60px;
|
65
|
+
font-weight: 700;
|
66
|
+
color: #484848;
|
67
|
+
}
|
68
|
+
.list-unstyled {
|
69
|
+
font-size: 14px;
|
70
|
+
li {
|
71
|
+
padding-bottom: 5px;
|
72
|
+
}
|
73
|
+
a {
|
74
|
+
color: #008489;
|
75
|
+
text-decoration: none;
|
76
|
+
&:hover {
|
77
|
+
text-decoration: underline;
|
78
|
+
}
|
79
|
+
}
|
80
|
+
}
|
81
|
+
}
|
82
|
+
</style>
|