From 92dff6fdc382999384a47ea01180d34099fd9ba3 Mon Sep 17 00:00:00 2001 From: "meilin.huang" <954537473@qq.com> Date: Tue, 26 Sep 2023 17:38:52 +0800 Subject: [PATCH] refactor: review --- mayfly_go_web/.env.development | 6 +- mayfly_go_web/.env.production | 6 +- mayfly_go_web/src/App.vue | 4 +- mayfly_go_web/src/common/utils/storage.ts | 15 +- mayfly_go_web/src/common/utils/url.ts | 13 ++ .../{views => }/layout/component/aside.vue | 7 +- .../layout/component/columnsAside.vue | 0 .../{views => }/layout/component/header.vue | 2 +- .../src/{views => }/layout/component/main.vue | 29 ++- .../src/{views => }/layout/footer/index.vue | 0 .../src/{views => }/layout/index.vue | 8 +- .../{views => }/layout/lockScreen/index.vue | 0 .../src/{views => }/layout/logo/index.vue | 0 .../src/{views => }/layout/main/classic.vue | 8 +- .../src/{views => }/layout/main/columns.vue | 8 +- .../src/{views => }/layout/main/defaults.vue | 6 +- .../{views => }/layout/main/transverse.vue | 4 +- .../layout/navBars/breadcrumb/breadcrumb.vue | 0 .../layout/navBars/breadcrumb/index.vue | 8 +- .../layout/navBars/breadcrumb/search.vue | 0 .../layout/navBars/breadcrumb/setings.vue | 0 .../layout/navBars/breadcrumb/user.vue | 4 +- .../layout/navBars/breadcrumb/userNews.vue | 0 .../src/{views => }/layout/navBars/index.vue | 4 +- .../layout/navBars/tagsView/contextmenu.vue | 138 +++++++++++++ .../layout/navBars/tagsView/tagsView.vue | 195 ++++++++++-------- .../{views => }/layout/navMenu/horizontal.vue | 11 +- .../{views => }/layout/navMenu/subItem.vue | 0 .../{views => }/layout/navMenu/vertical.vue | 19 +- .../{views => }/layout/routerView/iframes.vue | 0 .../{views => }/layout/routerView/link.vue | 0 .../{views => }/layout/routerView/parent.vue | 44 +++- mayfly_go_web/src/router/index.ts | 121 +++-------- mayfly_go_web/src/router/route.ts | 2 +- mayfly_go_web/src/store/keepAliveNames.ts | 6 +- mayfly_go_web/src/store/tagsViews.ts | 25 +++ mayfly_go_web/src/types/pinia.d.ts | 36 +++- .../layout/navBars/tagsView/contextmenu.vue | 138 ------------- 38 files changed, 479 insertions(+), 388 deletions(-) create mode 100644 mayfly_go_web/src/common/utils/url.ts rename mayfly_go_web/src/{views => }/layout/component/aside.vue (94%) rename mayfly_go_web/src/{views => }/layout/component/columnsAside.vue (100%) rename mayfly_go_web/src/{views => }/layout/component/header.vue (91%) rename mayfly_go_web/src/{views => }/layout/component/main.vue (75%) rename mayfly_go_web/src/{views => }/layout/footer/index.vue (100%) rename mayfly_go_web/src/{views => }/layout/index.vue (86%) rename mayfly_go_web/src/{views => }/layout/lockScreen/index.vue (100%) rename mayfly_go_web/src/{views => }/layout/logo/index.vue (100%) rename mayfly_go_web/src/{views => }/layout/main/classic.vue (73%) rename mayfly_go_web/src/{views => }/layout/main/columns.vue (80%) rename mayfly_go_web/src/{views => }/layout/main/defaults.vue (87%) rename mayfly_go_web/src/{views => }/layout/main/transverse.vue (75%) rename mayfly_go_web/src/{views => }/layout/navBars/breadcrumb/breadcrumb.vue (100%) rename mayfly_go_web/src/{views => }/layout/navBars/breadcrumb/index.vue (93%) rename mayfly_go_web/src/{views => }/layout/navBars/breadcrumb/search.vue (100%) rename mayfly_go_web/src/{views => }/layout/navBars/breadcrumb/setings.vue (100%) rename mayfly_go_web/src/{views => }/layout/navBars/breadcrumb/user.vue (98%) rename mayfly_go_web/src/{views => }/layout/navBars/breadcrumb/userNews.vue (100%) rename mayfly_go_web/src/{views => }/layout/navBars/index.vue (85%) create mode 100644 mayfly_go_web/src/layout/navBars/tagsView/contextmenu.vue rename mayfly_go_web/src/{views => }/layout/navBars/tagsView/tagsView.vue (79%) rename mayfly_go_web/src/{views => }/layout/navMenu/horizontal.vue (93%) rename mayfly_go_web/src/{views => }/layout/navMenu/subItem.vue (100%) rename mayfly_go_web/src/{views => }/layout/navMenu/vertical.vue (80%) rename mayfly_go_web/src/{views => }/layout/routerView/iframes.vue (100%) rename mayfly_go_web/src/{views => }/layout/routerView/link.vue (100%) rename mayfly_go_web/src/{views => }/layout/routerView/parent.vue (56%) create mode 100644 mayfly_go_web/src/store/tagsViews.ts delete mode 100644 mayfly_go_web/src/views/layout/navBars/tagsView/contextmenu.vue diff --git a/mayfly_go_web/.env.development b/mayfly_go_web/.env.development index 1eaa9244..a51df0e5 100644 --- a/mayfly_go_web/.env.development +++ b/mayfly_go_web/.env.development @@ -2,4 +2,8 @@ ENV = 'development' # 本地环境接口地址 -VITE_API_URL = '/api' \ No newline at end of file +VITE_API_URL = '/api' + +# 路由模式 +# Optional: hash | history +VITE_ROUTER_MODE = hash \ No newline at end of file diff --git a/mayfly_go_web/.env.production b/mayfly_go_web/.env.production index 872886b0..06c4f3c3 100644 --- a/mayfly_go_web/.env.production +++ b/mayfly_go_web/.env.production @@ -2,4 +2,8 @@ ENV = 'production' # 线上环境接口地址 -VITE_API_URL = '/api' \ No newline at end of file +VITE_API_URL = '/api' + +# 路由模式 +# Optional: hash | history +VITE_ROUTER_MODE = hash \ No newline at end of file diff --git a/mayfly_go_web/src/App.vue b/mayfly_go_web/src/App.vue index 6d2d411d..c726f189 100644 --- a/mayfly_go_web/src/App.vue +++ b/mayfly_go_web/src/App.vue @@ -11,8 +11,8 @@ import { useRoute } from 'vue-router'; import { storeToRefs } from 'pinia'; import { useThemeConfig } from '@/store/themeConfig'; import { getLocal } from '@/common/utils/storage'; -import LockScreen from '@/views/layout/lockScreen/index.vue'; -import Setings from '@/views/layout/navBars/breadcrumb/setings.vue'; +import LockScreen from '@/layout/lockScreen/index.vue'; +import Setings from '@/layout/navBars/breadcrumb/setings.vue'; import Watermark from '@/common/utils/wartermark'; import mittBus from '@/common/utils/mitt'; import { getThemeConfig } from './common/utils/storage'; diff --git a/mayfly_go_web/src/common/utils/storage.ts b/mayfly_go_web/src/common/utils/storage.ts index 2f4e8cce..fea0a4e4 100644 --- a/mayfly_go_web/src/common/utils/storage.ts +++ b/mayfly_go_web/src/common/utils/storage.ts @@ -1,5 +1,6 @@ const TokenKey = 'token'; const UserKey = 'user'; +const TagViewsKey = 'tagViews'; // 获取请求token export function getToken(): string { @@ -38,12 +39,24 @@ export function saveUseWatermark(useWatermark: boolean) { setLocal('useWatermark', useWatermark); } -// 清楚用户相关的用户信息 +// 清除用户相关的用户信息 export function clearUser() { removeLocal(TokenKey); removeLocal(UserKey); } +export function getTagViews() { + return getSession(TagViewsKey); +} + +export function setTagViews(tagViews: Array) { + setSession(TagViewsKey, tagViews); +} + +export function removeTagViews() { + removeSession(TagViewsKey); +} + // 1. localStorage // 设置永久缓存 export function setLocal(key: string, val: any) { diff --git a/mayfly_go_web/src/common/utils/url.ts b/mayfly_go_web/src/common/utils/url.ts new file mode 100644 index 00000000..a3836d79 --- /dev/null +++ b/mayfly_go_web/src/common/utils/url.ts @@ -0,0 +1,13 @@ +const mode = import.meta.env.VITE_ROUTER_MODE; + +/** + * @description 获取不同路由模式所对应的 url + * @returns {String} + */ +export function getNowUrl() { + const url = { + hash: location.hash.substring(1), + history: location.pathname + location.search, + }; + return url[mode]; +} diff --git a/mayfly_go_web/src/views/layout/component/aside.vue b/mayfly_go_web/src/layout/component/aside.vue similarity index 94% rename from mayfly_go_web/src/views/layout/component/aside.vue rename to mayfly_go_web/src/layout/component/aside.vue index e50ccc18..60aa6c55 100644 --- a/mayfly_go_web/src/views/layout/component/aside.vue +++ b/mayfly_go_web/src/layout/component/aside.vue @@ -21,8 +21,8 @@ import pinia from '@/store/index'; import { storeToRefs } from 'pinia'; import { useThemeConfig } from '@/store/themeConfig'; import { useRoutesList } from '@/store/routesList'; -import Logo from '@/views/layout/logo/index.vue'; -import Vertical from '@/views/layout/navMenu/vertical.vue'; +import Logo from '@/layout/logo/index.vue'; +import Vertical from '@/layout/navMenu/vertical.vue'; import mittBus from '@/common/utils/mitt'; const { proxy } = getCurrentInstance() as any; @@ -38,8 +38,7 @@ const state: any = reactive({ // 设置菜单展开/收起时的宽度 const setCollapseWidth = computed(() => { let { layout, isCollapse, menuBar } = themeConfig.value; - let asideBrColor = - menuBar === '#FFFFFF' || menuBar === '#FFF' || menuBar === '#fff' || menuBar === '#ffffff' ? 'layout-el-aside-br-color' : ''; + let asideBrColor = menuBar === '#FFFFFF' || menuBar === '#FFF' || menuBar === '#fff' || menuBar === '#ffffff' ? 'layout-el-aside-br-color' : ''; if (layout === 'columns') { // 分栏布局,菜单收起时宽度给 1px if (isCollapse) { diff --git a/mayfly_go_web/src/views/layout/component/columnsAside.vue b/mayfly_go_web/src/layout/component/columnsAside.vue similarity index 100% rename from mayfly_go_web/src/views/layout/component/columnsAside.vue rename to mayfly_go_web/src/layout/component/columnsAside.vue diff --git a/mayfly_go_web/src/views/layout/component/header.vue b/mayfly_go_web/src/layout/component/header.vue similarity index 91% rename from mayfly_go_web/src/views/layout/component/header.vue rename to mayfly_go_web/src/layout/component/header.vue index 1b4aea30..ded70043 100644 --- a/mayfly_go_web/src/views/layout/component/header.vue +++ b/mayfly_go_web/src/layout/component/header.vue @@ -6,7 +6,7 @@ diff --git a/mayfly_go_web/src/views/layout/main/columns.vue b/mayfly_go_web/src/layout/main/columns.vue similarity index 80% rename from mayfly_go_web/src/views/layout/main/columns.vue rename to mayfly_go_web/src/layout/main/columns.vue index ac4c6343..7a8b96ee 100644 --- a/mayfly_go_web/src/views/layout/main/columns.vue +++ b/mayfly_go_web/src/layout/main/columns.vue @@ -17,10 +17,10 @@ + + diff --git a/mayfly_go_web/src/views/layout/navBars/tagsView/tagsView.vue b/mayfly_go_web/src/layout/navBars/tagsView/tagsView.vue similarity index 79% rename from mayfly_go_web/src/views/layout/navBars/tagsView/tagsView.vue rename to mayfly_go_web/src/layout/navBars/tagsView/tagsView.vue index ae526410..8c945803 100644 --- a/mayfly_go_web/src/views/layout/navBars/tagsView/tagsView.vue +++ b/mayfly_go_web/src/layout/navBars/tagsView/tagsView.vue @@ -3,7 +3,7 @@