diff --git a/src/components/GiForm/src/type.ts b/src/components/GiForm/src/type.ts index 90a1db3..c76ea34 100644 --- a/src/components/GiForm/src/type.ts +++ b/src/components/GiForm/src/type.ts @@ -14,6 +14,7 @@ export type FormType = | 'slider' | 'cascader' | 'tree-select' + | 'input-password' export type ColumnsItemPropsKey = | keyof A.InputInstance['$props'] diff --git a/src/layout/components/HeaderRightBar/index.vue b/src/layout/components/HeaderRightBar/index.vue index ee31c72..68d598a 100644 --- a/src/layout/components/HeaderRightBar/index.vue +++ b/src/layout/components/HeaderRightBar/index.vue @@ -146,32 +146,7 @@ const logout = () => { }) } -const checkPasswordExpired = () => { - if (!userStore.pwdExpiredShow || !userStore.userInfo.pwdExpired) { - return - } - Modal.confirm({ - title: '提示', - content: '密码已过期,需要跳转到修改密码页面?', - hideCancel: false, - closable: true, - onBeforeOk: async () => { - try { - await router.push({ path: '/setting/profile' }) - return true - } catch (error) { - return false - } - }, - onCancel: () => { - // 当前登录会话不再提示 - userStore.pwdExpiredShow = false - } - }) -} - onMounted(() => { - checkPasswordExpired() getMessageCount() }) diff --git a/src/router/index.ts b/src/router/index.ts index cbc9955..99533b7 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -53,6 +53,11 @@ export const constantRoutes: RouteRecordRaw[] = [ component: () => import('@/views/login/social/index.vue'), meta: { hidden: true } }, + { + path: '/pwdExpired', + component: () => import('@/views/login/pwdExpired/index.vue'), + meta: { hidden: true } + }, { path: '/setting', name: 'Setting', diff --git a/src/router/permission.ts b/src/router/permission.ts index 2ef79ae..f7470c6 100644 --- a/src/router/permission.ts +++ b/src/router/permission.ts @@ -1,10 +1,11 @@ +import { Message } from '@arco-design/web-vue' import router from '@/router' import { useRouteStore, useUserStore } from '@/stores' import { getToken } from '@/utils/auth' import { isHttp } from '@/utils/validate' /** 免登录白名单 */ -const whiteList = ['/login', '/social/callback'] +const whiteList = ['/login', '/social/callback', '/pwdExpired'] /** 是否已经生成过路由表 */ let hasRouteFlag = false @@ -25,6 +26,10 @@ router.beforeEach(async (to, from, next) => { if (!hasRouteFlag) { try { await userStore.getInfo() + if (userStore.userInfo.pwdExpired && to.path !== '/pwdExpired') { + Message.warning('密码已过期,请修改密码') + next('/pwdExpired') + } const accessRoutes = await routeStore.generateRoutes() accessRoutes.forEach((route) => { if (!isHttp(route.path)) { diff --git a/src/views/login/components/account/index.vue b/src/views/login/components/account/index.vue index f397fcc..3368228 100644 --- a/src/views/login/components/account/index.vue +++ b/src/views/login/components/account/index.vue @@ -1,13 +1,6 @@