From 47c1de01c0ef2808f9895d1f52bcd885eeeab12a Mon Sep 17 00:00:00 2001 From: toesbieya <1647775459@qq.com> Date: Sat, 29 Aug 2020 17:47:12 +0800 Subject: [PATCH] =?UTF-8?q?Layout=E5=B0=BD=E5=8F=AF=E8=83=BD=E5=9C=B0?= =?UTF-8?q?=E4=B8=8D=E4=BD=BF=E7=94=A8vuex=EF=BC=88=E9=99=A4=E6=9C=AA?= =?UTF-8?q?=E8=AF=BB=E6=B6=88=E6=81=AF=E3=80=81=E7=94=A8=E6=88=B7=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=EF=BC=89=20=E8=B7=AF=E7=94=B1=E5=AE=88=E5=8D=AB?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=88=86=E7=A6=BB=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=A4=9A=E9=A1=B5=E7=AD=BE=E4=B8=AD=E5=85=B3=E9=97=AD=E5=85=A8?= =?UTF-8?q?=E9=83=A8=E6=97=B6=E9=A1=B5=E9=9D=A2=E6=9C=AA=E5=88=B7=E6=96=B0?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vue/src/layout/component/Header.vue | 11 +- vue/src/layout/component/Main/index.vue | 17 +-- .../component/Navbar/component/RootMenu.vue | 15 +++ .../Navbar/component/SettingDrawer.vue | 11 +- vue/src/layout/component/Navbar/index.vue | 14 +- vue/src/layout/component/Sidebar/index.vue | 17 ++- vue/src/layout/component/TagsView/index.vue | 53 ++++---- vue/src/layout/index.vue | 15 ++- vue/src/layout/mixin/actionOnSelectMenu.js | 3 +- .../layout/mixin/decideRouterTransition.js | 3 +- vue/src/layout/mixin/resize.js | 5 +- vue/src/layout/store/iframe.js | 35 +++++ vue/src/layout/store/main.js | 66 +++++++++ .../{store/module => layout/store}/setting.js | 62 ++++----- vue/src/layout/store/tagsView.js | 85 ++++++++++++ vue/src/router/guard/avoidReuse.js | 16 +++ vue/src/router/guard/iframe.js | 24 ++++ vue/src/router/guard/index.js | 13 ++ vue/src/router/guard/nprogress.js | 17 +++ vue/src/router/guard/security.js | 43 ++++++ vue/src/router/guard/setInfo.js | 20 +++ vue/src/router/index.js | 125 +----------------- vue/src/store/module/app.js | 10 -- vue/src/store/module/iframe.js | 38 ------ vue/src/store/module/resource.js | 48 +------ vue/src/store/module/tagsView.js | 82 ------------ vue/src/store/module/user.js | 3 +- vue/src/util/index.js | 2 +- vue/src/util/observable.js | 36 +++++ vue/src/util/route.js | 7 +- vue/src/view/app/login/index.vue | 5 +- 31 files changed, 501 insertions(+), 400 deletions(-) create mode 100644 vue/src/layout/store/iframe.js create mode 100644 vue/src/layout/store/main.js rename vue/src/{store/module => layout/store}/setting.js (54%) create mode 100644 vue/src/layout/store/tagsView.js create mode 100644 vue/src/router/guard/avoidReuse.js create mode 100644 vue/src/router/guard/iframe.js create mode 100644 vue/src/router/guard/index.js create mode 100644 vue/src/router/guard/nprogress.js create mode 100644 vue/src/router/guard/security.js create mode 100644 vue/src/router/guard/setInfo.js delete mode 100644 vue/src/store/module/iframe.js delete mode 100644 vue/src/store/module/tagsView.js create mode 100644 vue/src/util/observable.js diff --git a/vue/src/layout/component/Header.vue b/vue/src/layout/component/Header.vue index b765e1f..eff1df1 100644 --- a/vue/src/layout/component/Header.vue +++ b/vue/src/layout/component/Header.vue @@ -1,7 +1,9 @@ diff --git a/vue/src/layout/component/Navbar/component/RootMenu.vue b/vue/src/layout/component/Navbar/component/RootMenu.vue index e850f8a..7a97206 100644 --- a/vue/src/layout/component/Navbar/component/RootMenu.vue +++ b/vue/src/layout/component/Navbar/component/RootMenu.vue @@ -4,6 +4,7 @@ */ import ClickOutside from 'element-ui/lib/utils/clickoutside' import actionOnSelectMenuMixin from "@/layout/mixin/actionOnSelectMenu" +import {mutations as mainMutations} from "@/layout/store/main" export default { name: "RootMenu", @@ -145,6 +146,20 @@ export default { } }, + watch: { + $route: { + immediate: true, + handler(to) { + const {path, matched} = to + //使用/redirect跳转 或 无匹配路由 时跳过 + if (path.startsWith('/redirect') || matched.length === 0) { + return + } + mainMutations.activeRootMenu(matched[0].path || '/') + } + } + }, + mounted() { this.setChildrenWidth() diff --git a/vue/src/layout/component/Navbar/component/SettingDrawer.vue b/vue/src/layout/component/Navbar/component/SettingDrawer.vue index caf1908..201dbd9 100644 --- a/vue/src/layout/component/Navbar/component/SettingDrawer.vue +++ b/vue/src/layout/component/Navbar/component/SettingDrawer.vue @@ -18,11 +18,12 @@