diff --git a/src/enums/appEnum.ts b/src/enums/appEnum.ts index 18b9cb1..4ca06b1 100644 --- a/src/enums/appEnum.ts +++ b/src/enums/appEnum.ts @@ -45,3 +45,9 @@ export enum RouterTransitionEnum { FADE_BOTTOM = 'fade-bottom', FADE_SCALE = 'fade-scale', } + +/** 会话超时处理(重新加载路由,覆盖还原路由) */ +export enum SessionTimeoutProcessingEnum { + ROUTE_JUMP, + PAGE_COVERAGE, +} diff --git a/src/layouts/default/feature/index.vue b/src/layouts/default/feature/index.vue index 8e87c42..1834858 100644 --- a/src/layouts/default/feature/index.vue +++ b/src/layouts/default/feature/index.vue @@ -6,6 +6,8 @@ import { useDesign } from '/@/hooks/web/useDesign'; import { SettingButtonPositionEnum } from '/@/enums/appEnum'; import { createAsyncComponent } from '/@/utils/factory/createAsyncComponent'; + import SessionTimeoutLogin from '/@/views/core/loginmini/SessionTimeoutLogin.vue'; + import { useUserStoreWithOut } from '/@/store/modules/user'; export default defineComponent({ name: 'LayoutFeatures', @@ -13,12 +15,16 @@ BackTop, LayoutLockPage: createAsyncComponent(() => import('/@/views/core/lock/index.vue')), SettingDrawer: createAsyncComponent(() => import('/@/layouts/default/setting/index.vue')), + SessionTimeoutLogin, }, setup() { const { getUseOpenBackTop, getShowSettingButton, getSettingButtonPosition, getFullContent } = useRootSetting(); + const userStore = useUserStoreWithOut(); const { prefixCls } = useDesign('setting-drawer-fearure'); const { getShowHeader } = useHeaderSetting(); + const getIsSessionTimeout = computed(() => userStore.getSessionTimeout); + const getIsFixedSettingDrawer = computed(() => { if (!unref(getShowSettingButton)) { return false; @@ -36,6 +42,7 @@ getUseOpenBackTop, getIsFixedSettingDrawer, prefixCls, + getIsSessionTimeout }; }, }); @@ -45,6 +52,7 @@ + diff --git a/src/views/demo/feat/session-timeout/index.vue b/src/views/demo/feat/session-timeout/index.vue new file mode 100644 index 0000000..1152750 --- /dev/null +++ b/src/views/demo/feat/session-timeout/index.vue @@ -0,0 +1,56 @@ + + diff --git a/src/views/system/ssoLogin/kics/index.vue b/src/views/system/ssoLogin/kics/index.vue new file mode 100644 index 0000000..7a1e993 --- /dev/null +++ b/src/views/system/ssoLogin/kics/index.vue @@ -0,0 +1,559 @@ + + + + + + diff --git a/types/config.d.ts b/types/config.d.ts index 6e59d12..11920a3 100644 --- a/types/config.d.ts +++ b/types/config.d.ts @@ -10,7 +10,7 @@ import { ContentEnum, ThemeEnum, RouterTransitionEnum, - SettingButtonPositionEnum, + SettingButtonPositionEnum, SessionTimeoutProcessingEnum, } from '/@/enums/appEnum'; import { CacheTypeEnum } from '/@/enums/cacheEnum'; @@ -93,6 +93,8 @@ export interface ProjectConfig { showDarkModeToggle: boolean; // 配置按钮的显示位置 settingButtonPosition: SettingButtonPositionEnum; + // Session timeout processing + sessionTimeoutProcessing: SessionTimeoutProcessingEnum; // 网站灰色模式,打开可能的哀悼日期 grayMode: boolean; // 是否开启色弱模式