diff --git a/CHANGELOG.zh_CN.md b/CHANGELOG.zh_CN.md index a47ed65b783ab3f6c6f3c48a9a4b2618fdb98c70..b4fce2d94175bcbd886584d4972e9bebf7364c22 100644 --- a/CHANGELOG.zh_CN.md +++ b/CHANGELOG.zh_CN.md @@ -3,6 +3,7 @@ ### ✨ Refactor - 重构整体 layout。更改代码实现方式。代码更精简 +- 配置项重构 ### ✨ Features @@ -11,6 +12,7 @@ ### 🎫 Chores - 移除 messageSetting 配置 +- 更新 antdv 到`2.0.0-rc.2` - 暂时删除 `@vueuse/core`.等稳定后在集成。目前不太稳定。 ## 2.0.0-rc.11 (2020-11-18) diff --git a/package.json b/package.json index bb9a1484cfd92d24036457d8487922438365a0ad..9a0140bace4d22f71d335320a8642fc2e6fed4be 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ }, "dependencies": { "@iconify/iconify": "^2.0.0-rc.2", - "ant-design-vue": "2.0.0-beta.15", + "ant-design-vue": "2.0.0-rc.2", "apexcharts": "3.22.0", "axios": "^0.21.0", "crypto-es": "^1.2.6", diff --git a/src/hooks/core/useContext.ts b/src/hooks/core/useContext.ts index 7e537efa82851ceeb7fec2deacf3634960c9382f..6edfba947590a95dec1874b90c6f857825f9cfc8 100644 --- a/src/hooks/core/useContext.ts +++ b/src/hooks/core/useContext.ts @@ -5,9 +5,8 @@ export const createContext = ( contextInjectKey: InjectionKey = Symbol(), _readonly = true ) => { - const state = reactive({ - ...context, - }); + const state = reactive({ ...context }); + const provideData = _readonly ? readonly(state) : state; provide(contextInjectKey, provideData); }; diff --git a/src/hooks/setting/useRootSetting.ts b/src/hooks/setting/useRootSetting.ts index d430eab9898f55b674b63e369804ff7645d02f9f..a81a62d7f3db12fdef6b7ca906ebc027394f48e6 100644 --- a/src/hooks/setting/useRootSetting.ts +++ b/src/hooks/setting/useRootSetting.ts @@ -12,16 +12,10 @@ type RootSetting = Omit< export function useRootSetting() { const getRootSetting = computed((): RootSetting => appStore.getProjectConfig); - const getOpenPageLoading = computed(() => unref(getRootSetting).openPageLoading); - const getPageLoading = computed(() => appStore.getPageLoading); - const getOpenRouterTransition = computed(() => unref(getRootSetting).openRouterTransition); - const getOpenKeepAlive = computed(() => unref(getRootSetting).openKeepAlive); - const getRouterTransition = computed(() => unref(getRootSetting).routerTransition); - const getCanEmbedIFramePage = computed(() => unref(getRootSetting).canEmbedIFramePage); const getPermissionMode = computed(() => unref(getRootSetting).permissionMode); @@ -65,10 +59,7 @@ export function useRootSetting() { getRootSetting, getLayoutContentMode, getPageLoading, - getOpenPageLoading, - getOpenRouterTransition, getOpenKeepAlive, - getRouterTransition, getCanEmbedIFramePage, getPermissionMode, getShowLogo, diff --git a/src/hooks/setting/useTransitionSetting.ts b/src/hooks/setting/useTransitionSetting.ts new file mode 100644 index 0000000000000000000000000000000000000000..17039f8b4d8913aaddde73ccf6b1345be20312ac --- /dev/null +++ b/src/hooks/setting/useTransitionSetting.ts @@ -0,0 +1,33 @@ +import type { TransitionSetting } from '/@/types/config'; + +import { computed, unref } from 'vue'; + +import { appStore } from '/@/store/modules/app'; + +export function useTransitionSetting() { + const getTransitionSetting = computed(() => appStore.getProjectConfig.transitionSetting); + + const getEnableTransition = computed(() => unref(getTransitionSetting).enable); + + const getOpenNProgress = computed(() => unref(getTransitionSetting)?.openNProgress); + + const getOpenPageLoading = computed(() => { + return unref(getTransitionSetting)?.openPageLoading && unref(getEnableTransition); + }); + + const getBasicTransition = computed(() => unref(getTransitionSetting)?.basicTransition); + + function setTransitionSetting(transitionSetting: Partial) { + appStore.commitProjectConfigState({ transitionSetting }); + } + + return { + setTransitionSetting, + + getTransitionSetting, + getEnableTransition, + getOpenNProgress, + getOpenPageLoading, + getBasicTransition, + }; +} diff --git a/src/layouts/default/content/index.less b/src/layouts/default/content/index.less index f92d2d651e4ffa40af4fe71a54f6a5a7c3b9e7c4..72c2e39c6d10b81857af13d3cf8e8dace100983f 100644 --- a/src/layouts/default/content/index.less +++ b/src/layouts/default/content/index.less @@ -11,11 +11,15 @@ } &__loading { - position: fixed; + position: absolute; z-index: @page-loading-z-index; + &.fill { + background: rgba(240, 242, 245) !important; + } + > .basic-loading { - margin-bottom: 20%; + margin-bottom: 30%; } } } diff --git a/src/layouts/default/content/index.tsx b/src/layouts/default/content/index.tsx index b21a1622154e63e5355009e6f757f7083398957c..03544998f32dd3ea73a9859b6bfd19671d0f1c56 100644 --- a/src/layouts/default/content/index.tsx +++ b/src/layouts/default/content/index.tsx @@ -1,23 +1,31 @@ import './index.less'; -import { defineComponent, unref } from 'vue'; +import { defineComponent, unref, computed } from 'vue'; import { FullLoading } from '/@/components/Loading/index'; import { RouterView } from 'vue-router'; import { useRootSetting } from '/@/hooks/setting/useRootSetting'; +import { useTransitionSetting } from '/@/hooks/setting/useTransitionSetting'; +import { useMultipleTabSetting } from '/@/hooks/setting/useMultipleTabSetting'; export default defineComponent({ name: 'LayoutContent', setup() { - const { getOpenPageLoading, getLayoutContentMode, getPageLoading } = useRootSetting(); + const { getOpenPageLoading } = useTransitionSetting(); + const { getShowMultipleTab } = useMultipleTabSetting(); + const { getLayoutContentMode, getPageLoading } = useRootSetting(); + const getLoadingClass = computed(() => { + return [ + `layout-content__loading`, + { fill: unref(getShowMultipleTab), hidden: !unref(getPageLoading) }, + ]; + }); return () => { return (
- {unref(getOpenPageLoading) && ( - - )} + {unref(getOpenPageLoading) && }
); diff --git a/src/layouts/default/multitabs/index.tsx b/src/layouts/default/multitabs/index.tsx index 714aa413857a4106ff98f72bca3b80739ab55f13..8b00f610d16dafaf6a0766393a32e2ec817927e2 100644 --- a/src/layouts/default/multitabs/index.tsx +++ b/src/layouts/default/multitabs/index.tsx @@ -24,14 +24,13 @@ export default defineComponent({ name: 'MultiTabs', setup() { let isAddAffix = false; + const go = useGo(); + const { currentRoute } = useRouter(); const { activeKeyRef } = useTabs(); - // 当前tab列表 - const getTabsState = computed(() => { - return tabStore.getTabsState; - }); + const getTabsState = computed(() => tabStore.getTabsState); // If you monitor routing changes, tab switching will be stuck. So setting this method watch( @@ -43,6 +42,7 @@ export default defineComponent({ } const lastChangeRoute = unref(tabStore.getLastChangeRouteState); + if (!lastChangeRoute || !userStore.getTokenState) return; const { path, fullPath } = lastChangeRoute; diff --git a/src/layouts/default/setting/SettingDrawer.tsx b/src/layouts/default/setting/SettingDrawer.tsx index fdfdd94de1dc946b4b89c4d4a40b8bc392f1dc2f..830c6ecb37706144f66936d9becc465240c8e01d 100644 --- a/src/layouts/default/setting/SettingDrawer.tsx +++ b/src/layouts/default/setting/SettingDrawer.tsx @@ -17,6 +17,7 @@ import { useRootSetting } from '/@/hooks/setting/useRootSetting'; import { useMenuSetting } from '/@/hooks/setting/useMenuSetting'; import { useHeaderSetting } from '/@/hooks/setting/useHeaderSetting'; import { useMultipleTabSetting } from '/@/hooks/setting/useMultipleTabSetting'; +import { useTransitionSetting } from '/@/hooks/setting/useTransitionSetting'; import { updateColorWeak, updateGrayMode } from '/@/setup/theme'; @@ -177,9 +178,6 @@ export default defineComponent({ setup(_, { attrs }) { const { getContentMode, - getRouterTransition, - getOpenRouterTransition, - getOpenPageLoading, getShowFooter, getShowBreadCrumb, getShowBreadCrumbIcon, @@ -189,6 +187,13 @@ export default defineComponent({ getGrayMode, } = useRootSetting(); + const { + getOpenPageLoading, + getBasicTransition, + getEnableTransition, + getOpenNProgress, + } = useTransitionSetting(); + const { getIsHorizontal, getShowMenu, @@ -447,27 +452,34 @@ export default defineComponent({ function renderTransition() { return ( <> - {renderSwitchItem('页面切换loading', { + {renderSwitchItem('顶部进度条', { + handler: (e) => { + baseHandler(HandlerEnum.OPEN_PROGRESS, e); + }, + def: unref(getOpenNProgress), + })} + {renderSwitchItem('切换loading', { handler: (e) => { baseHandler(HandlerEnum.OPEN_PAGE_LOADING, e); }, def: unref(getOpenPageLoading), + disabled: !unref(getEnableTransition), })} {renderSwitchItem('切换动画', { handler: (e) => { baseHandler(HandlerEnum.OPEN_ROUTE_TRANSITION, e); }, - def: unref(getOpenRouterTransition), + def: unref(getEnableTransition), })} - {renderSelectItem('路由动画', { + {renderSelectItem('动画类型', { handler: (e) => { baseHandler(HandlerEnum.ROUTER_TRANSITION, e); }, - def: unref(getRouterTransition), + def: unref(getBasicTransition), options: routerTransitionOptions, - disabled: !unref(getOpenRouterTransition), + disabled: !unref(getEnableTransition), })} ); diff --git a/src/layouts/default/setting/enum.ts b/src/layouts/default/setting/enum.ts index f82e360d5264b91c5eb19a579c3de96f0295ece8..7a78e2cc4020721a233fbd584b887fdb25301bdf 100644 --- a/src/layouts/default/setting/enum.ts +++ b/src/layouts/default/setting/enum.ts @@ -29,9 +29,6 @@ export enum HandlerEnum { TABS_SHOW_QUICK, TABS_SHOW, - OPEN_PAGE_LOADING, - OPEN_ROUTE_TRANSITION, - ROUTER_TRANSITION, LOCK_TIME, FULL_CONTENT, CONTENT_MODE, @@ -41,6 +38,11 @@ export enum HandlerEnum { COLOR_WEAK, SHOW_LOGO, SHOW_FOOTER, + + ROUTER_TRANSITION, + OPEN_PROGRESS, + OPEN_PAGE_LOADING, + OPEN_ROUTE_TRANSITION, } export const themeOptions = [ diff --git a/src/layouts/default/setting/handler.ts b/src/layouts/default/setting/handler.ts index 70fbd1b7b9c1c5c61fcfbc61f46cc28afa5def75..783286c0bd5ed4ab3c24e07a56a4dcd152d98860 100644 --- a/src/layouts/default/setting/handler.ts +++ b/src/layouts/default/setting/handler.ts @@ -66,17 +66,20 @@ export function handler(event: HandlerEnum, value: any): DeepPartial ; @@ -57,10 +55,10 @@ export default defineComponent({ renderComp() ); - return unref(getOpenRouterTransition) ? ( + return unref(getEnableTransition) ? ( diff --git a/src/layouts/page/useTransition.ts b/src/layouts/page/useTransition.ts index 6a2e622625980adb4fd27b4ae639ca718fe83aa3..d768e233acef66944fce502d53d0eea3a301d5e7 100644 --- a/src/layouts/page/useTransition.ts +++ b/src/layouts/page/useTransition.ts @@ -1,11 +1,12 @@ -import { useRootSetting } from '/@/hooks/setting/useRootSetting'; +import { useTransitionSetting } from '/@/hooks/setting/useTransitionSetting'; + import { appStore } from '/@/store/modules/app'; import { tryOnUnmounted } from '/@/utils/helper/vueHelper'; export function useTransition() { function handleAfterEnter() { - const { getOpenPageLoading, getOpenRouterTransition } = useRootSetting(); - if (!getOpenPageLoading.value || !getOpenRouterTransition.value) return; + const { getOpenPageLoading, getEnableTransition } = useTransitionSetting(); + if (!getOpenPageLoading.value || !getEnableTransition.value) return; // Close loading after the route switching animation ends appStore.setPageLoadingAction(false); } diff --git a/src/router/guard/index.ts b/src/router/guard/index.ts index efd5bf5f1690f68b58770d1ed94295849a2f52cb..6143d41dded6a5c02948072a4a96784dd9621c8f 100644 --- a/src/router/guard/index.ts +++ b/src/router/guard/index.ts @@ -16,7 +16,7 @@ import { tabStore } from '/@/store/modules/tab'; const globSetting = useGlobSetting(); export function createGuard(router: Router) { - const { openNProgress, closeMessageOnSwitch, removeAllHttpPending } = useProjectSetting(); + const { closeMessageOnSwitch, removeAllHttpPending } = useProjectSetting(); let axiosCanceler: AxiosCanceler | null; if (removeAllHttpPending) { axiosCanceler = new AxiosCanceler(); @@ -44,7 +44,6 @@ export function createGuard(router: Router) { Modal.destroyAll(); notification.destroy(); } - // TODO Some special interfaces require long connections // Switching the route will delete the previous request removeAllHttpPending && axiosCanceler!.removeAllPending(); } catch (error) { @@ -58,7 +57,6 @@ export function createGuard(router: Router) { // change html title setTitle(to.meta.title, globSetting.title); }); - - openNProgress && createProgressGuard(router); + createProgressGuard(router); createPermissionGuard(router); } diff --git a/src/router/guard/pageLoadingGuard.ts b/src/router/guard/pageLoadingGuard.ts index c9e17f60e2a34c8df8a66fcee41e11903287d8f4..a7fca5609769f960bd5c7f2092ba7a7a024e9a00 100644 --- a/src/router/guard/pageLoadingGuard.ts +++ b/src/router/guard/pageLoadingGuard.ts @@ -3,20 +3,18 @@ import { tabStore } from '/@/store/modules/tab'; import { appStore } from '/@/store/modules/app'; import { userStore } from '/@/store/modules/user'; import { getParams } from '/@/utils/helper/routeHelper'; +import { useTransitionSetting } from '/@/hooks/setting/useTransitionSetting'; +import { unref } from 'vue'; +const { getOpenPageLoading, getEnableTransition } = useTransitionSetting(); export function createPageLoadingGuard(router: Router) { let isFirstLoad = true; router.beforeEach(async (to) => { - const { - openKeepAlive, - openRouterTransition, - openPageLoading, - multiTabsSetting: { show } = {}, - } = appStore.getProjectConfig; + const { openKeepAlive, multiTabsSetting: { show } = {} } = appStore.getProjectConfig; if (!userStore.getTokenState) { return true; } - if (!openRouterTransition && openPageLoading) { + if (!unref(getEnableTransition) && unref(getOpenPageLoading)) { appStore.commitPageLoadingState(true); return true; } @@ -32,11 +30,10 @@ export function createPageLoadingGuard(router: Router) { return true; }); router.afterEach(async (to, from) => { - const { openRouterTransition, openPageLoading } = appStore.getProjectConfig; const realToPath = to.path.replace(getParams(to), ''); const realFormPath = from.path.replace(getParams(from), ''); if ( - (!openRouterTransition && openPageLoading) || + (!unref(getEnableTransition) && unref(getOpenPageLoading)) || isFirstLoad || to.meta.afterCloseLoading || realToPath === realFormPath diff --git a/src/router/guard/progressGuard.ts b/src/router/guard/progressGuard.ts index a5e060b72c2eea2fee4c9808e9d98d4aa1b574e8..8e90bf7d81d79266b9d53c9aeb0b59ba7dd338e8 100644 --- a/src/router/guard/progressGuard.ts +++ b/src/router/guard/progressGuard.ts @@ -1,19 +1,24 @@ import type { Router } from 'vue-router'; +import { useTransitionSetting } from '/@/hooks/setting/useTransitionSetting'; + import NProgress from 'nprogress'; import 'nprogress/nprogress.css'; +import { unref } from 'vue'; + +const { getOpenNProgress } = useTransitionSetting(); export function createProgressGuard(router: Router) { // NProgress.inc(0.1); // NProgress.configure({ easing: 'ease', speed: 200, showSpinner: false }); router.beforeEach(async (to) => { - !to.meta.inTab && NProgress.start(); + !to.meta.inTab && unref(getOpenNProgress) && NProgress.start(); return true; }); router.afterEach(async (to) => { - !to.meta.inTab && NProgress.done(); + !to.meta.inTab && unref(getOpenNProgress) && NProgress.done(); return true; }); } diff --git a/src/settings/projectSetting.ts b/src/settings/projectSetting.ts index 54d2c80f6fe0e73801674c0d978d08cf546a13fe..6562e72e8e1d70dbc0a7bb9a539fdd746d742f01 100644 --- a/src/settings/projectSetting.ts +++ b/src/settings/projectSetting.ts @@ -7,155 +7,158 @@ import { isProdMode } from '/@/utils/env'; // ! You need to clear the browser cache after the change const setting: ProjectConfig = { - // locale setting - locale: { - // Locale - lang: 'zh_CN', - // Default locale - fallback: 'zh_CN', - // available Locales - availableLocales: ['zh_CN', 'en'], - }, - - // color - // TODO 主题色 - themeColor: primaryColor, - // Whether to show the configuration button showSettingButton: true, - // 权限模式 + // Permission mode permissionMode: PermissionModeEnum.ROLE, - // 网站灰色模式,用于可能悼念的日期开启 + // color + // TODO Theme color + themeColor: primaryColor, + + // Website gray mode, open for possible mourning dates grayMode: false, - // 色弱模式 + // Color Weakness Mode colorWeak: false, - // 是否取消菜单,顶部,多标签页显示, 用于可能内嵌在别的系统内 + // Whether to cancel the menu, the top, the multi-tab page display, for possible embedded in other systems fullContent: false, // content mode contentMode: ContentEnum.FULL, - // 是否显示logo + // Whether to display the logo showLogo: true, - // 是否显示页脚 + // Whether to show footer showFooter: true, - // 头部配置 + // locale setting + locale: { + // Locale + lang: 'zh_CN', + // Default locale + fallback: 'zh_CN', + // available Locales + availableLocales: ['zh_CN', 'en'], + }, + + // Header configuration headerSetting: { // header bg color bgColor: '#ffffff', + // Fixed at the top fixed: true, - // 是否显示顶部 + // Whether to show top show: true, // theme theme: ThemeEnum.LIGHT, - // 开启锁屏功能 + // Whether to enable the lock screen function useLockPage: true, - // 显示刷新按钮 + // Whether to show the refresh button showRedo: true, - // 显示全屏按钮 + // Whether to show the full screen button showFullScreen: true, - // 显示文档按钮 + // Whether to show the document button showDoc: true, - // 显示消息中心按钮 + // Whether to show the notification button showNotice: true, }, - // 菜单配置 + // Menu configuration menuSetting: { // sidebar menu bg color bgColor: '#273352', - + // Whether to fix the left menu fixed: true, - // 菜单折叠 + // Menu collapse collapsed: false, - // 折叠菜单时候是否显示菜单名 + // Whether to display the menu name when folding the menu collapsedShowTitle: false, - // 是否可拖拽 + // Whether it can be dragged + // Only limited to the opening of the left menu, the mouse has a drag bar on the right side of the menu hasDrag: false, - // 是否显示 没有dom + // Whether to show no dom show: true, - // 是否显示 有dom + // Whether to show dom hidden: true, - // 是否显示搜索框 + // Whether to show search box showSearch: true, - // 菜单宽度 + // Menu width menuWidth: 210, - // 菜单模式 + // Menu mode mode: MenuModeEnum.INLINE, - // 菜单类型 + // Menu type type: MenuTypeEnum.SIDEBAR, - // 菜单主题 + // Menu theme theme: ThemeEnum.DARK, - // 分割菜单 + // Split menu split: false, - // 顶部菜单布局 + // Top menu layout topMenuAlign: 'center', - // 折叠菜单时候隐藏搜索框 + // Hide the search box when the menu is collapsed collapsedShowSearch: false, - // 折叠触发器的位置 + // Fold trigger position trigger: TriggerEnum.HEADER, - // 开启手风琴模式,只显示一个菜单 + // Turn on accordion mode, only show a menu accordion: true, }, - // 多标签 + // Multi-label multiTabsSetting: { - // 开启 + // Turn on show: true, - // 开启快速操作 + // Turn on quick actions showQuick: true, - - // 标签页缓存最大数量 + // Maximum number of tab cache max: 12, }, - // 是否开启KeepAlive缓存 开发时候最好关闭,不然每次都需要清除缓存 + // Transition Setting + transitionSetting: { + // Whether to open the page switching animation + // The disabled state will also disable pageLoadinng + enable: true, + + // Route basic switching animation + basicTransition: RouterTransitionEnum.FADE_SIDE, + + // Whether to open page switching loading + // Only open when enable=true + openPageLoading: true, + + // Whether to open the top progress bar + openNProgress: true, + }, + + // Whether to enable KeepAlive cache is best to close during development, otherwise the cache needs to be cleared every time openKeepAlive: true, - // 自动锁屏时间,为0不锁屏。 单位分钟 默认0 + // Automatic screen lock time, 0 does not lock the screen. Unit minute default 0 lockTime: 0, - // 显示面包屑 + // Whether to show breadcrumbs showBreadCrumb: true, - // 显示面包屑图标 + // Whether to show the breadcrumb icon showBreadCrumbIcon: false, - // 使用error-handler-plugin + // Use error-handler-plugin useErrorHandle: isProdMode(), - // 开启页面切换动画 - openRouterTransition: true, - - // 路由切换动画 - routerTransition: RouterTransitionEnum.FADE_SIDE, - - // 是否开启登录安全校验 - openLoginVerify: true, - - // 是否开启页面切换loading - openPageLoading: true, - - // 是否开启回到顶部 + // Whether to open back to top useOpenBackTop: true, - // 开启顶部进度条 - openNProgress: isProdMode(), - - // 是否可以嵌入iframe页面 + // Is it possible to embed iframe pages canEmbedIFramePage: true, - // 切换界面的时候是否删除未关闭的message及notify + // Whether to delete unclosed messages and notify when switching the interface closeMessageOnSwitch: true, - // 切换界面的时候是否取消已经发送但是未响应的http请求。 - // 如果开启,想对单独接口覆盖。可以在单独接口设置 + // Whether to cancel the http request that has been sent but not responded when switching the interface. + // If it is enabled, I want to overwrite a single interface. Can be set in a separate interface removeAllHttpPending: true, }; diff --git a/src/types/config.d.ts b/src/types/config.d.ts index 95c60b2618a60c26f60b4c31e1e7c4232eb1c82c..2a80b23c549d892bf2815aa67a7389afd0c94a1a 100644 --- a/src/types/config.d.ts +++ b/src/types/config.d.ts @@ -59,6 +59,20 @@ export interface LocaleSetting { availableLocales: LocaleType[]; } +export interface TransitionSetting { + // Whether to open the page switching animation + enable: boolean; + + // Route basic switching animation + basicTransition: RouterTransitionEnum; + + // Whether to open page switching loading + openPageLoading: boolean; + + // Whether to open the top progress bar + openNProgress: boolean; +} + export interface ProjectConfig { locale: LocaleSetting; @@ -86,6 +100,9 @@ export interface ProjectConfig { // 多标签页设置 multiTabsSetting: MultiTabsSetting; + + transitionSetting: TransitionSetting; + // pageLayout是否开启keep-alive openKeepAlive: boolean; @@ -97,18 +114,8 @@ export interface ProjectConfig { showBreadCrumbIcon: boolean; // 使用error-handler-plugin useErrorHandle: boolean; - // 开启页面切换动画 - openRouterTransition: boolean; - // 路由切换动画 - routerTransition: RouterTransitionEnum; - // 是否开启登录安全校验 - openLoginVerify: boolean; - // 是否开启页面切换loading - openPageLoading: boolean; // 是否开启回到顶部 useOpenBackTop: boolean; - // 开启顶部进度条 - openNProgress: boolean; // 是否可以嵌入iframe页面 canEmbedIFramePage: boolean; // 切换界面的时候是否删除未关闭的message及notify diff --git a/src/views/sys/redirect/index.vue b/src/views/sys/redirect/index.vue index 58e316dc4fe3d8c8d0bc1d66ef55905eec145012..12318975854349b150390a76f6ba6a370b7fc737 100644 --- a/src/views/sys/redirect/index.vue +++ b/src/views/sys/redirect/index.vue @@ -7,10 +7,13 @@ import { appStore } from '/@/store/modules/app'; import { useRouter } from 'vue-router'; + import { useTransitionSetting } from '/@/hooks/setting/useTransitionSetting'; export default defineComponent({ name: 'Redirect', setup() { const { currentRoute, replace } = useRouter(); + const { getOpenPageLoading, getEnableTransition } = useTransitionSetting(); + const { params, query } = unref(currentRoute); const { path } = params; const _path = Array.isArray(path) ? path.join('/') : path; @@ -18,8 +21,7 @@ path: '/' + _path, query, }); - const { openRouterTransition, openPageLoading } = appStore.getProjectConfig; - if (openRouterTransition && openPageLoading) { + if (unref(getEnableTransition) && unref(getOpenPageLoading)) { setTimeout(() => { appStore.setPageLoadingAction(false); }, 0); diff --git a/yarn.lock b/yarn.lock index 6902f089e8540f298703436dc61d2c2dd61b421c..9e9417bd21d89ca3d822bb9e25a5c407b76d186a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12,24 +12,24 @@ lodash-es "^4.17.15" resize-observer-polyfill "^1.5.1" -"@ant-design/colors@^4.0.0": - version "4.0.5" - resolved "https://registry.npmjs.org/@ant-design/colors/-/colors-4.0.5.tgz#d7d100d7545cca8f624954604a6892fc48ba5aae" - integrity sha512-3mnuX2prnWOWvpFTS2WH2LoouWlOgtnIpc6IarWN6GOzzLF8dW/U8UctuvIPhoboETehZfJ61XP+CGakBEPJ3Q== +"@ant-design/colors@^5.0.0": + version "5.0.0" + resolved "https://registry.npmjs.org/@ant-design/colors/-/colors-5.0.0.tgz#46b73b4cc6935b35fc8b84555e8e42c8cfc190e6" + integrity sha512-Pe1rYorgVC1v4f+InDXvIlQH715pO1g7BsOhy/ehX/U6ebPKqojmkYJKU3lF+84Zmvyar7ngZ28hesAa1nWjLg== dependencies: - tinycolor2 "^1.4.1" + "@ctrl/tinycolor" "^3.1.6" "@ant-design/icons-svg@^4.0.0": version "4.1.0" resolved "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.1.0.tgz#480b025f4b20ef7fe8f47d4a4846e4fee84ea06c" integrity sha512-Fi03PfuUqRs76aI3UWYpP864lkrfPo0hluwGqh7NJdLhvH4iRDc3jbJqZIvRDLHKbXrvAfPPV3+zjUccfFvWOQ== -"@ant-design/icons-vue@^5.1.5": - version "5.1.5" - resolved "https://registry.npmjs.org/@ant-design/icons-vue/-/icons-vue-5.1.5.tgz#8e83ba90a29b7ed8b4c2e7282f5908b9b3de519b" - integrity sha512-j1qHhzFCLh4UNoOoVNDFKp4qbzX2bpc/am+rNCqNDeze/TpbQ38nSBSmNPucHuD7koQtAjBW+AIcnToYCgKvpA== +"@ant-design/icons-vue@^5.1.6": + version "5.1.6" + resolved "https://registry.npmjs.org/@ant-design/icons-vue/-/icons-vue-5.1.6.tgz#af15cbf2375d95199e90166adce4c9f6ad1c17f1" + integrity sha512-1KY04c/0iDM88ICdu6EW2/ZPOrH+FyL0uvR350XnVqvnDiLijdcrRaLzkZgCdBcy7cy5t5+onXKocymndCOdRA== dependencies: - "@ant-design/colors" "^4.0.0" + "@ant-design/colors" "^5.0.0" "@ant-design/icons-svg" "^4.0.0" "@babel/runtime" "^7.10.4" lodash "^4.17.15" @@ -992,6 +992,11 @@ resolved "https://registry.npmjs.org/@commitlint/types/-/types-11.0.0.tgz#719cf05fcc1abb6533610a2e0f5dd1e61eac14fe" integrity sha512-VoNqai1vR5anRF5Tuh/+SWDFk7xi7oMwHrHrbm1BprYXjB2RJsWLhUrStMssDxEl5lW/z3EUdg8RvH/IUBccSQ== +"@ctrl/tinycolor@^3.1.6": + version "3.1.7" + resolved "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.1.7.tgz#1585f67629882002a9f8e15a2941c9a4321bf80c" + integrity sha512-/0C6fjXbCwu22k8mMsKRSAo9zgu61d2p75Or9IuIC0Vu5CWN88t2QHK93LhNnxnqHWf5SFwFU28w9cKfTmnfvg== + "@eslint/eslintrc@^0.2.1": version "0.2.1" resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.1.tgz#f72069c330461a06684d119384435e12a5d76e3c" @@ -1847,13 +1852,13 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -ant-design-vue@2.0.0-beta.15: - version "2.0.0-beta.15" - resolved "https://registry.npmjs.org/ant-design-vue/-/ant-design-vue-2.0.0-beta.15.tgz#3c787dabb70a33885d0e751e58f9a5610ed06134" - integrity sha512-OxZy+ZYU3LauIL4Rhqwy441K/iD++Cit6upnQy5+LVUrX0PSObPqPqMWVpncbAmJJYTEz88gkvgGeYqBdzouWA== +ant-design-vue@2.0.0-rc.2: + version "2.0.0-rc.2" + resolved "https://registry.npmjs.org/ant-design-vue/-/ant-design-vue-2.0.0-rc.2.tgz#fd3b4a5a64fccbb53ed488a194317a040de2223e" + integrity sha512-XA7X/7HHIveiTh41bZWGfoQ2Rys/rqWknK2zzdHwVnfw9ST3v+ciMKH0Uegyn7m14QL/EdUkC8zGsXpiSXqKNQ== dependencies: "@ant-design-vue/use" "^0.0.1-0" - "@ant-design/icons-vue" "^5.1.5" + "@ant-design/icons-vue" "^5.1.6" "@babel/runtime" "^7.10.5" "@simonwep/pickr" "~1.7.0" add-dom-event-listener "^1.0.2" @@ -7705,11 +7710,6 @@ through@2, "through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8: resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= -tinycolor2@^1.4.1: - version "1.4.2" - resolved "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz#3f6a4d1071ad07676d7fa472e1fac40a719d8803" - integrity sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA== - tmp@^0.0.33: version "0.0.33" resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"