diff --git a/apps/web-antd/src/api/request.ts b/apps/web-antd/src/api/request.ts index 817d0d6da..7cd11e27d 100644 --- a/apps/web-antd/src/api/request.ts +++ b/apps/web-antd/src/api/request.ts @@ -6,10 +6,11 @@ import type { HttpResponse } from '@vben/request'; import { useAppConfig } from '@vben/hooks'; import { preferences } from '@vben/preferences'; import { RequestClient } from '@vben/request'; +import { useAccessStore } from '@vben/stores'; import { message } from 'ant-design-vue'; -import { useAccessStore } from '#/store'; +import { useAuthStore } from '#/store'; const { apiURL } = useAppConfig(import.meta.env, import.meta.env.PROD); @@ -30,13 +31,14 @@ function createRequestClient(baseURL: string) { }, unAuthorizedHandler: async () => { const accessStore = useAccessStore(); + const authStore = useAuthStore(); accessStore.setAccessToken(null); if (preferences.app.loginExpiredMode === 'modal') { - accessStore.openLoginExpiredModal = true; + accessStore.setLoginExpired(true); } else { // 退出登录 - await accessStore.logout(); + await authStore.logout(); } }, }; diff --git a/apps/web-antd/src/bootstrap.ts b/apps/web-antd/src/bootstrap.ts index 8c466684a..1be9bbe00 100644 --- a/apps/web-antd/src/bootstrap.ts +++ b/apps/web-antd/src/bootstrap.ts @@ -1,11 +1,11 @@ import { createApp } from 'vue'; -import { useAccessDirective } from '@vben/access'; +import { registerAccessDirective } from '@vben/access'; +import { initStores } from '@vben/stores'; import '@vben/styles'; import '@vben/styles/antd'; import { setupI18n } from '#/locales'; -import { setupStore } from '#/store'; import App from './app.vue'; import { router } from './router'; @@ -17,10 +17,10 @@ async function bootstrap(namespace: string) { await setupI18n(app); // 配置 pinia-tore - await setupStore(app, { namespace }); + await initStores(app, { namespace }); // 安装权限指令 - useAccessDirective(app); + registerAccessDirective(app); // 配置路由及路由守卫 app.use(router); diff --git a/apps/web-antd/src/layouts/basic.vue b/apps/web-antd/src/layouts/basic.vue index e7259ecac..ab1832c25 100644 --- a/apps/web-antd/src/layouts/basic.vue +++ b/apps/web-antd/src/layouts/basic.vue @@ -13,11 +13,17 @@ import { UserDropdown, } from '@vben/layouts'; import { preferences } from '@vben/preferences'; +import { + resetAllStores, + storeToRefs, + useAccessStore, + useUserStore, +} from '@vben/stores'; import { openWindow } from '@vben/utils'; import { $t } from '#/locales'; import { resetRoutes } from '#/router'; -import { resetAllStores, storeToRefs, useAccessStore } from '#/store'; +import { useAuthStore } from '#/store'; const notifications = ref([ { @@ -50,6 +56,9 @@ const notifications = ref([ }, ]); +const userStore = useUserStore(); +const authStore = useAuthStore(); +const accessStore = useAccessStore(); const showDot = computed(() => notifications.value.some((item) => !item.isRead), ); @@ -84,16 +93,10 @@ const menus = computed(() => [ }, ]); -const accessStore = useAccessStore(); - -const { - loading: loginLoading, - openLoginExpiredModal, - userInfo, -} = storeToRefs(accessStore); +const { loginLoading } = storeToRefs(authStore); const avatar = computed(() => { - return userInfo.value?.avatar ?? preferences.app.defaultAvatar; + return userStore.userInfo?.avatar ?? preferences.app.defaultAvatar; }); const router = useRouter(); @@ -119,7 +122,7 @@ function handleMakeAll() {