@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,175 @@
|
|
1
|
+
import { createWebHistory, createRouter } from 'vue-router'
|
2
|
+
/* Layout */
|
3
|
+
import Layout from '@/layout'
|
4
|
+
|
5
|
+
/**
|
6
|
+
* Note: 路由配置项
|
7
|
+
*
|
8
|
+
* hidden: true // 当设置 true 的时候该路由不会再侧边栏出现 如401,login等页面,或者如一些编辑页面/edit/1
|
9
|
+
* alwaysShow: true // 当你一个路由下面的 children 声明的路由大于1个时,自动会变成嵌套的模式--如组件页面
|
10
|
+
* // 只有一个时,会将那个子路由当做根路由显示在侧边栏--如引导页面
|
11
|
+
* // 若你想不管路由下面的 children 声明的个数都显示你的根路由
|
12
|
+
* // 你可以设置 alwaysShow: true,这样它就会忽略之前定义的规则,一直显示根路由
|
13
|
+
* redirect: noRedirect // 当设置 noRedirect 的时候该路由在面包屑导航中不可被点击
|
14
|
+
* name:'router-name' // 设定路由的名字,一定要填写不然使用<keep-alive>时会出现各种问题
|
15
|
+
* query: '{"id": 1, "name": "ry"}' // 访问路由的默认传递参数
|
16
|
+
* roles: ['admin', 'common'] // 访问路由的角色权限
|
17
|
+
* permissions: ['a:a:a', 'b:b:b'] // 访问路由的菜单权限
|
18
|
+
* meta : {
|
19
|
+
noCache: true // 如果设置为true,则不会被 <keep-alive> 缓存(默认 false)
|
20
|
+
title: 'title' // 设置该路由在侧边栏和面包屑中展示的名字
|
21
|
+
icon: 'svg-name' // 设置该路由的图标,对应路径src/assets/icons/svg
|
22
|
+
breadcrumb: false // 如果设置为false,则不会在breadcrumb面包屑中显示
|
23
|
+
activeMenu: '/system/user' // 当路由设置了该属性,则会高亮相对应的侧边栏。
|
24
|
+
}
|
25
|
+
*/
|
26
|
+
|
27
|
+
// 公共路由
|
28
|
+
export const constantRoutes = [
|
29
|
+
{
|
30
|
+
path: '/redirect',
|
31
|
+
component: Layout,
|
32
|
+
hidden: true,
|
33
|
+
children: [
|
34
|
+
{
|
35
|
+
path: '/redirect/:path(.*)',
|
36
|
+
component: () => import('@/views/redirect/index.vue')
|
37
|
+
}
|
38
|
+
]
|
39
|
+
},
|
40
|
+
{
|
41
|
+
path: '/login',
|
42
|
+
component: () => import('@/views/login'),
|
43
|
+
hidden: true
|
44
|
+
},
|
45
|
+
{
|
46
|
+
path: '/register',
|
47
|
+
component: () => import('@/views/register'),
|
48
|
+
hidden: true
|
49
|
+
},
|
50
|
+
{
|
51
|
+
path: "/:pathMatch(.*)*",
|
52
|
+
component: () => import('@/views/error/404'),
|
53
|
+
hidden: true
|
54
|
+
},
|
55
|
+
{
|
56
|
+
path: '/401',
|
57
|
+
component: () => import('@/views/error/401'),
|
58
|
+
hidden: true
|
59
|
+
},
|
60
|
+
{
|
61
|
+
path: '',
|
62
|
+
component: Layout,
|
63
|
+
redirect: '/index',
|
64
|
+
children: [
|
65
|
+
{
|
66
|
+
path: '/index',
|
67
|
+
component: () => import('@/views/index'),
|
68
|
+
name: 'Index',
|
69
|
+
meta: { title: '首页', icon: 'dashboard', affix: true }
|
70
|
+
}
|
71
|
+
]
|
72
|
+
},
|
73
|
+
{
|
74
|
+
path: '/user',
|
75
|
+
component: Layout,
|
76
|
+
hidden: true,
|
77
|
+
redirect: 'noredirect',
|
78
|
+
children: [
|
79
|
+
{
|
80
|
+
path: 'profile',
|
81
|
+
component: () => import('@/views/system/user/profile/index'),
|
82
|
+
name: 'Profile',
|
83
|
+
meta: { title: '个人中心', icon: 'user' }
|
84
|
+
}
|
85
|
+
]
|
86
|
+
}
|
87
|
+
]
|
88
|
+
|
89
|
+
// 动态路由,基于用户权限动态去加载
|
90
|
+
export const dynamicRoutes = [
|
91
|
+
{
|
92
|
+
path: '/system/user-auth',
|
93
|
+
component: Layout,
|
94
|
+
hidden: true,
|
95
|
+
permissions: ['system:user:edit'],
|
96
|
+
children: [
|
97
|
+
{
|
98
|
+
path: 'role/:userId(\\d+)',
|
99
|
+
component: () => import('@/views/system/user/authRole'),
|
100
|
+
name: 'AuthRole',
|
101
|
+
meta: { title: '分配角色', activeMenu: '/system/user' }
|
102
|
+
}
|
103
|
+
]
|
104
|
+
},
|
105
|
+
{
|
106
|
+
path: '/system/role-auth',
|
107
|
+
component: Layout,
|
108
|
+
hidden: true,
|
109
|
+
permissions: ['system:role:edit'],
|
110
|
+
children: [
|
111
|
+
{
|
112
|
+
path: 'user/:roleId(\\d+)',
|
113
|
+
component: () => import('@/views/system/role/authUser'),
|
114
|
+
name: 'AuthUser',
|
115
|
+
meta: { title: '分配用户', activeMenu: '/system/role' }
|
116
|
+
}
|
117
|
+
]
|
118
|
+
},
|
119
|
+
{
|
120
|
+
path: '/system/dict-data',
|
121
|
+
component: Layout,
|
122
|
+
hidden: true,
|
123
|
+
permissions: ['system:dict:list'],
|
124
|
+
children: [
|
125
|
+
{
|
126
|
+
path: 'index/:dictId(\\d+)',
|
127
|
+
component: () => import('@/views/system/dict/data'),
|
128
|
+
name: 'Data',
|
129
|
+
meta: { title: '字典数据', activeMenu: '/system/dict' }
|
130
|
+
}
|
131
|
+
]
|
132
|
+
},
|
133
|
+
{
|
134
|
+
path: '/monitor/job-log',
|
135
|
+
component: Layout,
|
136
|
+
hidden: true,
|
137
|
+
permissions: ['monitor:job:list'],
|
138
|
+
children: [
|
139
|
+
{
|
140
|
+
path: 'index/:jobId(\\d+)',
|
141
|
+
component: () => import('@/views/monitor/job/log'),
|
142
|
+
name: 'JobLog',
|
143
|
+
meta: { title: '调度日志', activeMenu: '/monitor/job' }
|
144
|
+
}
|
145
|
+
]
|
146
|
+
},
|
147
|
+
{
|
148
|
+
path: '/tool/gen-edit',
|
149
|
+
component: Layout,
|
150
|
+
hidden: true,
|
151
|
+
permissions: ['tool:gen:edit'],
|
152
|
+
children: [
|
153
|
+
{
|
154
|
+
path: 'index/:tableId(\\d+)',
|
155
|
+
component: () => import('@/views/tool/gen/editTable'),
|
156
|
+
name: 'GenEdit',
|
157
|
+
meta: { title: '修改生成配置', activeMenu: '/tool/gen' }
|
158
|
+
}
|
159
|
+
]
|
160
|
+
}
|
161
|
+
]
|
162
|
+
|
163
|
+
const router = createRouter({
|
164
|
+
history: createWebHistory(),
|
165
|
+
routes: constantRoutes,
|
166
|
+
scrollBehavior(to, from, savedPosition) {
|
167
|
+
if (savedPosition) {
|
168
|
+
return savedPosition
|
169
|
+
} else {
|
170
|
+
return { top: 0 }
|
171
|
+
}
|
172
|
+
},
|
173
|
+
});
|
174
|
+
|
175
|
+
export default router;
|
@@ -0,0 +1,47 @@
|
|
1
|
+
export default {
|
2
|
+
/**
|
3
|
+
* 网页标题
|
4
|
+
*/
|
5
|
+
title: import.meta.env.VITE_APP_TITLE,
|
6
|
+
/**
|
7
|
+
* 侧边栏主题 深色主题theme-dark,浅色主题theme-light
|
8
|
+
*/
|
9
|
+
sideTheme: 'theme-dark',
|
10
|
+
/**
|
11
|
+
* 是否系统布局配置
|
12
|
+
*/
|
13
|
+
showSettings: true,
|
14
|
+
|
15
|
+
/**
|
16
|
+
* 是否显示顶部导航
|
17
|
+
*/
|
18
|
+
topNav: false,
|
19
|
+
|
20
|
+
/**
|
21
|
+
* 是否显示 tagsView
|
22
|
+
*/
|
23
|
+
tagsView: true,
|
24
|
+
|
25
|
+
/**
|
26
|
+
* 是否固定头部
|
27
|
+
*/
|
28
|
+
fixedHeader: false,
|
29
|
+
|
30
|
+
/**
|
31
|
+
* 是否显示logo
|
32
|
+
*/
|
33
|
+
sidebarLogo: true,
|
34
|
+
|
35
|
+
/**
|
36
|
+
* 是否显示动态标题
|
37
|
+
*/
|
38
|
+
dynamicTitle: false,
|
39
|
+
|
40
|
+
/**
|
41
|
+
* @type {string | array} 'production' | ['production', 'development']
|
42
|
+
* @description Need show err logs component.
|
43
|
+
* The default is only used in the production env
|
44
|
+
* If you want to also use it in dev, you can pass ['production', 'development']
|
45
|
+
*/
|
46
|
+
errorLog: 'production'
|
47
|
+
}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
import Cookies from 'js-cookie'
|
2
|
+
|
3
|
+
const useAppStore = defineStore(
|
4
|
+
'app',
|
5
|
+
{
|
6
|
+
state: () => ({
|
7
|
+
sidebar: {
|
8
|
+
opened: Cookies.get('sidebarStatus') ? !!+Cookies.get('sidebarStatus') : true,
|
9
|
+
withoutAnimation: false,
|
10
|
+
hide: false
|
11
|
+
},
|
12
|
+
device: 'desktop',
|
13
|
+
size: Cookies.get('size') || 'default'
|
14
|
+
}),
|
15
|
+
actions: {
|
16
|
+
toggleSideBar(withoutAnimation) {
|
17
|
+
if (this.sidebar.hide) {
|
18
|
+
return false;
|
19
|
+
}
|
20
|
+
this.sidebar.opened = !this.sidebar.opened
|
21
|
+
this.sidebar.withoutAnimation = withoutAnimation
|
22
|
+
if (this.sidebar.opened) {
|
23
|
+
Cookies.set('sidebarStatus', 1)
|
24
|
+
} else {
|
25
|
+
Cookies.set('sidebarStatus', 0)
|
26
|
+
}
|
27
|
+
},
|
28
|
+
closeSideBar({ withoutAnimation }) {
|
29
|
+
Cookies.set('sidebarStatus', 0)
|
30
|
+
this.sidebar.opened = false
|
31
|
+
this.sidebar.withoutAnimation = withoutAnimation
|
32
|
+
},
|
33
|
+
toggleDevice(device) {
|
34
|
+
this.device = device
|
35
|
+
},
|
36
|
+
setSize(size) {
|
37
|
+
this.size = size;
|
38
|
+
Cookies.set('size', size)
|
39
|
+
},
|
40
|
+
toggleSideBarHide(status) {
|
41
|
+
this.sidebar.hide = status
|
42
|
+
}
|
43
|
+
}
|
44
|
+
})
|
45
|
+
|
46
|
+
export default useAppStore
|
@@ -0,0 +1,57 @@
|
|
1
|
+
const useDictStore = defineStore(
|
2
|
+
'dict',
|
3
|
+
{
|
4
|
+
state: () => ({
|
5
|
+
dict: new Array()
|
6
|
+
}),
|
7
|
+
actions: {
|
8
|
+
// 获取字典
|
9
|
+
getDict(_key) {
|
10
|
+
if (_key == null && _key == "") {
|
11
|
+
return null;
|
12
|
+
}
|
13
|
+
try {
|
14
|
+
for (let i = 0; i < this.dict.length; i++) {
|
15
|
+
if (this.dict[i].key == _key) {
|
16
|
+
return this.dict[i].value;
|
17
|
+
}
|
18
|
+
}
|
19
|
+
} catch (e) {
|
20
|
+
return null;
|
21
|
+
}
|
22
|
+
},
|
23
|
+
// 设置字典
|
24
|
+
setDict(_key, value) {
|
25
|
+
if (_key !== null && _key !== "") {
|
26
|
+
this.dict.push({
|
27
|
+
key: _key,
|
28
|
+
value: value
|
29
|
+
});
|
30
|
+
}
|
31
|
+
},
|
32
|
+
// 删除字典
|
33
|
+
removeDict(_key) {
|
34
|
+
var bln = false;
|
35
|
+
try {
|
36
|
+
for (let i = 0; i < this.dict.length; i++) {
|
37
|
+
if (this.dict[i].key == _key) {
|
38
|
+
this.dict.splice(i, 1);
|
39
|
+
return true;
|
40
|
+
}
|
41
|
+
}
|
42
|
+
} catch (e) {
|
43
|
+
bln = false;
|
44
|
+
}
|
45
|
+
return bln;
|
46
|
+
},
|
47
|
+
// 清空字典
|
48
|
+
cleanDict() {
|
49
|
+
this.dict = new Array();
|
50
|
+
},
|
51
|
+
// 初始字典
|
52
|
+
initDict() {
|
53
|
+
}
|
54
|
+
}
|
55
|
+
})
|
56
|
+
|
57
|
+
export default useDictStore
|
@@ -0,0 +1,142 @@
|
|
1
|
+
import auth from '@/plugins/auth'
|
2
|
+
import router, { constantRoutes, dynamicRoutes } from '@/router'
|
3
|
+
import { getRouters } from '@/api/menu'
|
4
|
+
import Layout from '@/layout/index'
|
5
|
+
import ParentView from '@/components/ParentView'
|
6
|
+
import InnerLink from '@/layout/components/InnerLink'
|
7
|
+
|
8
|
+
// 匹配views里面所有的.vue文件
|
9
|
+
const modules = import.meta.glob('./../../views/**/*.vue')
|
10
|
+
|
11
|
+
const usePermissionStore = defineStore(
|
12
|
+
'permission',
|
13
|
+
{
|
14
|
+
state: () => ({
|
15
|
+
routes: [],
|
16
|
+
addRoutes: [],
|
17
|
+
defaultRoutes: [],
|
18
|
+
topbarRouters: [],
|
19
|
+
sidebarRouters: []
|
20
|
+
}),
|
21
|
+
actions: {
|
22
|
+
setRoutes(routes) {
|
23
|
+
this.addRoutes = routes
|
24
|
+
this.routes = constantRoutes.concat(routes)
|
25
|
+
},
|
26
|
+
setDefaultRoutes(routes) {
|
27
|
+
this.defaultRoutes = constantRoutes.concat(routes)
|
28
|
+
},
|
29
|
+
setTopbarRoutes(routes) {
|
30
|
+
this.topbarRouters = routes
|
31
|
+
},
|
32
|
+
setSidebarRouters(routes) {
|
33
|
+
this.sidebarRouters = routes
|
34
|
+
},
|
35
|
+
generateRoutes(roles) {
|
36
|
+
return new Promise(resolve => {
|
37
|
+
// 向后端请求路由数据
|
38
|
+
getRouters().then(res => {
|
39
|
+
const sdata = JSON.parse(JSON.stringify(res.data))
|
40
|
+
const rdata = JSON.parse(JSON.stringify(res.data))
|
41
|
+
const defaultData = JSON.parse(JSON.stringify(res.data))
|
42
|
+
const sidebarRoutes = filterAsyncRouter(sdata)
|
43
|
+
const rewriteRoutes = filterAsyncRouter(rdata, false, true)
|
44
|
+
const defaultRoutes = filterAsyncRouter(defaultData)
|
45
|
+
const asyncRoutes = filterDynamicRoutes(dynamicRoutes)
|
46
|
+
asyncRoutes.forEach(route => { router.addRoute(route) })
|
47
|
+
this.setRoutes(rewriteRoutes)
|
48
|
+
this.setSidebarRouters(constantRoutes.concat(sidebarRoutes))
|
49
|
+
this.setDefaultRoutes(sidebarRoutes)
|
50
|
+
this.setTopbarRoutes(defaultRoutes)
|
51
|
+
resolve(rewriteRoutes)
|
52
|
+
})
|
53
|
+
})
|
54
|
+
}
|
55
|
+
}
|
56
|
+
})
|
57
|
+
|
58
|
+
// 遍历后台传来的路由字符串,转换为组件对象
|
59
|
+
function filterAsyncRouter(asyncRouterMap, lastRouter = false, type = false) {
|
60
|
+
return asyncRouterMap.filter(route => {
|
61
|
+
if (type && route.children) {
|
62
|
+
route.children = filterChildren(route.children)
|
63
|
+
}
|
64
|
+
if (route.component) {
|
65
|
+
// Layout ParentView 组件特殊处理
|
66
|
+
if (route.component === 'Layout') {
|
67
|
+
route.component = Layout
|
68
|
+
} else if (route.component === 'ParentView') {
|
69
|
+
route.component = ParentView
|
70
|
+
} else if (route.component === 'InnerLink') {
|
71
|
+
route.component = InnerLink
|
72
|
+
} else {
|
73
|
+
route.component = loadView(route.component)
|
74
|
+
}
|
75
|
+
}
|
76
|
+
if (route.children != null && route.children && route.children.length) {
|
77
|
+
route.children = filterAsyncRouter(route.children, route, type)
|
78
|
+
} else {
|
79
|
+
delete route['children']
|
80
|
+
delete route['redirect']
|
81
|
+
}
|
82
|
+
return true
|
83
|
+
})
|
84
|
+
}
|
85
|
+
|
86
|
+
function filterChildren(childrenMap, lastRouter = false) {
|
87
|
+
var children = []
|
88
|
+
childrenMap.forEach((el, index) => {
|
89
|
+
if (el.children && el.children.length) {
|
90
|
+
if (el.component === 'ParentView' && !lastRouter) {
|
91
|
+
el.children.forEach(c => {
|
92
|
+
c.path = el.path + '/' + c.path
|
93
|
+
if (c.children && c.children.length) {
|
94
|
+
children = children.concat(filterChildren(c.children, c))
|
95
|
+
return
|
96
|
+
}
|
97
|
+
children.push(c)
|
98
|
+
})
|
99
|
+
return
|
100
|
+
}
|
101
|
+
}
|
102
|
+
if (lastRouter) {
|
103
|
+
el.path = lastRouter.path + '/' + el.path
|
104
|
+
if (el.children && el.children.length) {
|
105
|
+
children = children.concat(filterChildren(el.children, el))
|
106
|
+
return
|
107
|
+
}
|
108
|
+
}
|
109
|
+
children = children.concat(el)
|
110
|
+
})
|
111
|
+
return children
|
112
|
+
}
|
113
|
+
|
114
|
+
// 动态路由遍历,验证是否具备权限
|
115
|
+
export function filterDynamicRoutes(routes) {
|
116
|
+
const res = []
|
117
|
+
routes.forEach(route => {
|
118
|
+
if (route.permissions) {
|
119
|
+
if (auth.hasPermiOr(route.permissions)) {
|
120
|
+
res.push(route)
|
121
|
+
}
|
122
|
+
} else if (route.roles) {
|
123
|
+
if (auth.hasRoleOr(route.roles)) {
|
124
|
+
res.push(route)
|
125
|
+
}
|
126
|
+
}
|
127
|
+
})
|
128
|
+
return res
|
129
|
+
}
|
130
|
+
|
131
|
+
export const loadView = (view) => {
|
132
|
+
let res;
|
133
|
+
for (const path in modules) {
|
134
|
+
const dir = path.split('views/')[1].split('.vue')[0];
|
135
|
+
if (dir === view) {
|
136
|
+
res = () => modules[path]();
|
137
|
+
}
|
138
|
+
}
|
139
|
+
return res;
|
140
|
+
}
|
141
|
+
|
142
|
+
export default usePermissionStore
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import defaultSettings from '@/settings'
|
2
|
+
import { useDynamicTitle } from '@/utils/dynamicTitle'
|
3
|
+
|
4
|
+
const { sideTheme, showSettings, topNav, tagsView, fixedHeader, sidebarLogo, dynamicTitle } = defaultSettings
|
5
|
+
|
6
|
+
const storageSetting = JSON.parse(localStorage.getItem('layout-setting')) || ''
|
7
|
+
|
8
|
+
const useSettingsStore = defineStore(
|
9
|
+
'settings',
|
10
|
+
{
|
11
|
+
state: () => ({
|
12
|
+
title: '',
|
13
|
+
theme: storageSetting.theme || '#409EFF',
|
14
|
+
sideTheme: storageSetting.sideTheme || sideTheme,
|
15
|
+
showSettings: showSettings,
|
16
|
+
topNav: storageSetting.topNav === undefined ? topNav : storageSetting.topNav,
|
17
|
+
tagsView: storageSetting.tagsView === undefined ? tagsView : storageSetting.tagsView,
|
18
|
+
fixedHeader: storageSetting.fixedHeader === undefined ? fixedHeader : storageSetting.fixedHeader,
|
19
|
+
sidebarLogo: storageSetting.sidebarLogo === undefined ? sidebarLogo : storageSetting.sidebarLogo,
|
20
|
+
dynamicTitle: storageSetting.dynamicTitle === undefined ? dynamicTitle : storageSetting.dynamicTitle
|
21
|
+
}),
|
22
|
+
actions: {
|
23
|
+
// 修改布局设置
|
24
|
+
changeSetting(data) {
|
25
|
+
const { key, value } = data
|
26
|
+
if (this.hasOwnProperty(key)) {
|
27
|
+
this[key] = value
|
28
|
+
}
|
29
|
+
},
|
30
|
+
// 设置网页标题
|
31
|
+
setTitle(title) {
|
32
|
+
this.title = title
|
33
|
+
useDynamicTitle();
|
34
|
+
}
|
35
|
+
}
|
36
|
+
})
|
37
|
+
|
38
|
+
export default useSettingsStore
|
@@ -0,0 +1,182 @@
|
|
1
|
+
const useTagsViewStore = defineStore(
|
2
|
+
'tags-view',
|
3
|
+
{
|
4
|
+
state: () => ({
|
5
|
+
visitedViews: [],
|
6
|
+
cachedViews: [],
|
7
|
+
iframeViews: []
|
8
|
+
}),
|
9
|
+
actions: {
|
10
|
+
addView(view) {
|
11
|
+
this.addVisitedView(view)
|
12
|
+
this.addCachedView(view)
|
13
|
+
},
|
14
|
+
addIframeView(view) {
|
15
|
+
if (this.iframeViews.some(v => v.path === view.path)) return
|
16
|
+
this.iframeViews.push(
|
17
|
+
Object.assign({}, view, {
|
18
|
+
title: view.meta.title || 'no-name'
|
19
|
+
})
|
20
|
+
)
|
21
|
+
},
|
22
|
+
addVisitedView(view) {
|
23
|
+
if (this.visitedViews.some(v => v.path === view.path)) return
|
24
|
+
this.visitedViews.push(
|
25
|
+
Object.assign({}, view, {
|
26
|
+
title: view.meta.title || 'no-name'
|
27
|
+
})
|
28
|
+
)
|
29
|
+
},
|
30
|
+
addCachedView(view) {
|
31
|
+
if (this.cachedViews.includes(view.name)) return
|
32
|
+
if (!view.meta.noCache) {
|
33
|
+
this.cachedViews.push(view.name)
|
34
|
+
}
|
35
|
+
},
|
36
|
+
delView(view) {
|
37
|
+
return new Promise(resolve => {
|
38
|
+
this.delVisitedView(view)
|
39
|
+
this.delCachedView(view)
|
40
|
+
resolve({
|
41
|
+
visitedViews: [...this.visitedViews],
|
42
|
+
cachedViews: [...this.cachedViews]
|
43
|
+
})
|
44
|
+
})
|
45
|
+
},
|
46
|
+
delVisitedView(view) {
|
47
|
+
return new Promise(resolve => {
|
48
|
+
for (const [i, v] of this.visitedViews.entries()) {
|
49
|
+
if (v.path === view.path) {
|
50
|
+
this.visitedViews.splice(i, 1)
|
51
|
+
break
|
52
|
+
}
|
53
|
+
}
|
54
|
+
this.iframeViews = this.iframeViews.filter(item => item.path !== view.path)
|
55
|
+
resolve([...this.visitedViews])
|
56
|
+
})
|
57
|
+
},
|
58
|
+
delIframeView(view) {
|
59
|
+
return new Promise(resolve => {
|
60
|
+
this.iframeViews = this.iframeViews.filter(item => item.path !== view.path)
|
61
|
+
resolve([...this.iframeViews])
|
62
|
+
})
|
63
|
+
},
|
64
|
+
delCachedView(view) {
|
65
|
+
return new Promise(resolve => {
|
66
|
+
const index = this.cachedViews.indexOf(view.name)
|
67
|
+
index > -1 && this.cachedViews.splice(index, 1)
|
68
|
+
resolve([...this.cachedViews])
|
69
|
+
})
|
70
|
+
},
|
71
|
+
delOthersViews(view) {
|
72
|
+
return new Promise(resolve => {
|
73
|
+
this.delOthersVisitedViews(view)
|
74
|
+
this.delOthersCachedViews(view)
|
75
|
+
resolve({
|
76
|
+
visitedViews: [...this.visitedViews],
|
77
|
+
cachedViews: [...this.cachedViews]
|
78
|
+
})
|
79
|
+
})
|
80
|
+
},
|
81
|
+
delOthersVisitedViews(view) {
|
82
|
+
return new Promise(resolve => {
|
83
|
+
this.visitedViews = this.visitedViews.filter(v => {
|
84
|
+
return v.meta.affix || v.path === view.path
|
85
|
+
})
|
86
|
+
this.iframeViews = this.iframeViews.filter(item => item.path === view.path)
|
87
|
+
resolve([...this.visitedViews])
|
88
|
+
})
|
89
|
+
},
|
90
|
+
delOthersCachedViews(view) {
|
91
|
+
return new Promise(resolve => {
|
92
|
+
const index = this.cachedViews.indexOf(view.name)
|
93
|
+
if (index > -1) {
|
94
|
+
this.cachedViews = this.cachedViews.slice(index, index + 1)
|
95
|
+
} else {
|
96
|
+
this.cachedViews = []
|
97
|
+
}
|
98
|
+
resolve([...this.cachedViews])
|
99
|
+
})
|
100
|
+
},
|
101
|
+
delAllViews(view) {
|
102
|
+
return new Promise(resolve => {
|
103
|
+
this.delAllVisitedViews(view)
|
104
|
+
this.delAllCachedViews(view)
|
105
|
+
resolve({
|
106
|
+
visitedViews: [...this.visitedViews],
|
107
|
+
cachedViews: [...this.cachedViews]
|
108
|
+
})
|
109
|
+
})
|
110
|
+
},
|
111
|
+
delAllVisitedViews(view) {
|
112
|
+
return new Promise(resolve => {
|
113
|
+
const affixTags = this.visitedViews.filter(tag => tag.meta.affix)
|
114
|
+
this.visitedViews = affixTags
|
115
|
+
this.iframeViews = []
|
116
|
+
resolve([...this.visitedViews])
|
117
|
+
})
|
118
|
+
},
|
119
|
+
delAllCachedViews(view) {
|
120
|
+
return new Promise(resolve => {
|
121
|
+
this.cachedViews = []
|
122
|
+
resolve([...this.cachedViews])
|
123
|
+
})
|
124
|
+
},
|
125
|
+
updateVisitedView(view) {
|
126
|
+
for (let v of this.visitedViews) {
|
127
|
+
if (v.path === view.path) {
|
128
|
+
v = Object.assign(v, view)
|
129
|
+
break
|
130
|
+
}
|
131
|
+
}
|
132
|
+
},
|
133
|
+
delRightTags(view) {
|
134
|
+
return new Promise(resolve => {
|
135
|
+
const index = this.visitedViews.findIndex(v => v.path === view.path)
|
136
|
+
if (index === -1) {
|
137
|
+
return
|
138
|
+
}
|
139
|
+
this.visitedViews = this.visitedViews.filter((item, idx) => {
|
140
|
+
if (idx <= index || (item.meta && item.meta.affix)) {
|
141
|
+
return true
|
142
|
+
}
|
143
|
+
const i = this.cachedViews.indexOf(item.name)
|
144
|
+
if (i > -1) {
|
145
|
+
this.cachedViews.splice(i, 1)
|
146
|
+
}
|
147
|
+
if(item.meta.link) {
|
148
|
+
const fi = this.iframeViews.findIndex(v => v.path === item.path)
|
149
|
+
this.iframeViews.splice(fi, 1)
|
150
|
+
}
|
151
|
+
return false
|
152
|
+
})
|
153
|
+
resolve([...this.visitedViews])
|
154
|
+
})
|
155
|
+
},
|
156
|
+
delLeftTags(view) {
|
157
|
+
return new Promise(resolve => {
|
158
|
+
const index = this.visitedViews.findIndex(v => v.path === view.path)
|
159
|
+
if (index === -1) {
|
160
|
+
return
|
161
|
+
}
|
162
|
+
this.visitedViews = this.visitedViews.filter((item, idx) => {
|
163
|
+
if (idx >= index || (item.meta && item.meta.affix)) {
|
164
|
+
return true
|
165
|
+
}
|
166
|
+
const i = this.cachedViews.indexOf(item.name)
|
167
|
+
if (i > -1) {
|
168
|
+
this.cachedViews.splice(i, 1)
|
169
|
+
}
|
170
|
+
if(item.meta.link) {
|
171
|
+
const fi = this.iframeViews.findIndex(v => v.path === item.path)
|
172
|
+
this.iframeViews.splice(fi, 1)
|
173
|
+
}
|
174
|
+
return false
|
175
|
+
})
|
176
|
+
resolve([...this.visitedViews])
|
177
|
+
})
|
178
|
+
}
|
179
|
+
}
|
180
|
+
})
|
181
|
+
|
182
|
+
export default useTagsViewStore
|