diff --git a/packages/core/basic/src/utils/index.ts b/packages/core/basic/src/utils/index.ts index 8d69f03b..642fa9bc 100644 --- a/packages/core/basic/src/utils/index.ts +++ b/packages/core/basic/src/utils/index.ts @@ -32,6 +32,8 @@ import { nanoid } from 'nanoid'; import * as id from './util.id.js'; import { locker } from './util.lock.js'; import { mitter } from './util.mitter.js'; + +import * as request from './util.request.js'; export const utils = { sleep, http, @@ -52,4 +54,5 @@ export const utils = { locker, mitter, amount: amountUtils, + request, }; diff --git a/packages/core/basic/src/utils/util.request.ts b/packages/core/basic/src/utils/util.request.ts index 3be865ba..8a363e84 100644 --- a/packages/core/basic/src/utils/util.request.ts +++ b/packages/core/basic/src/utils/util.request.ts @@ -310,3 +310,14 @@ export async function download(req: { http: HttpClient; config: HttpRequestConfi }); }); } + +export function getCookie(response: any, name: string) { + const cookies = response.headers['set-cookie']; + //根据name 返回对应的cookie + const found = cookies.find((cookie: any) => cookie.includes(name)); + if (!found) { + return null; + } + const cookie = found.split(';')[0]; + return cookie.substring(cookie.indexOf('=') + 1); +} diff --git a/packages/ui/certd-client/src/api/service.ts b/packages/ui/certd-client/src/api/service.ts index 668f000d..1834f6e2 100644 --- a/packages/ui/certd-client/src/api/service.ts +++ b/packages/ui/certd-client/src/api/service.ts @@ -109,8 +109,8 @@ function createService() { error.message += `: ${error.response?.config?.url}`; errorLog(error, error?.response?.config?.showErrorNotify); if (status === 401) { - // const userStore = useUserStore(); - // userStore.logout(); + const userStore = useUserStore(); + userStore.logout(); } if (error?.config?.onError) { diff --git a/packages/ui/certd-client/src/main.ts b/packages/ui/certd-client/src/main.ts index 95f0cc59..478b236f 100644 --- a/packages/ui/certd-client/src/main.ts +++ b/packages/ui/certd-client/src/main.ts @@ -18,7 +18,7 @@ async function bootstrap() { const app = createApp(App); // app.use(Antd); app.use(Antd); - await setupVben(app, { loadMessages }); + await setupVben(app, { loadMessages, router }); app.use(router); // app.use(i18n); // app.use(store); diff --git a/packages/ui/certd-client/src/plugin/antdv-async/index.ts b/packages/ui/certd-client/src/plugin/antdv-async/index.ts index 1dff37b2..00013188 100644 --- a/packages/ui/certd-client/src/plugin/antdv-async/index.ts +++ b/packages/ui/certd-client/src/plugin/antdv-async/index.ts @@ -8,6 +8,7 @@ import Avatar from "ant-design-vue/es/avatar"; import Steps from "ant-design-vue/es/steps"; import Select from "ant-design-vue/es/select"; import PageHeader from "ant-design-vue/es/page-header"; +import Card from "ant-design-vue/es/card"; export default { install(app: any) { @@ -20,14 +21,11 @@ export default { app.use(PageHeader); app.use(Steps); app.use(Select); + app.use(Card); app.component( - "AInputPassword", - defineAsyncComponent(() => import("ant-design-vue/es/input/Password")) - ); - app.component( - "AButtonGroup", - defineAsyncComponent(() => import("ant-design-vue/es/button/button-group")) + "AAutoComplete", + defineAsyncComponent(() => import("ant-design-vue/es/auto-complete/index")) ); app.component( "ARadio", @@ -114,10 +112,7 @@ export default { "AInputAutoComplete", defineAsyncComponent(() => import("ant-design-vue/es/auto-complete/index")) ); - app.component( - "ACard", - defineAsyncComponent(() => import("ant-design-vue/es/card/index")) - ); + app.component( "ACascader", defineAsyncComponent(() => import("ant-design-vue/es/cascader/index")) diff --git a/packages/ui/certd-client/src/vben/index.ts b/packages/ui/certd-client/src/vben/index.ts index 0493f18c..7c491d28 100644 --- a/packages/ui/certd-client/src/vben/index.ts +++ b/packages/ui/certd-client/src/vben/index.ts @@ -11,10 +11,16 @@ import "./styles/antd/index.css"; import { useTitle } from "@vueuse/core"; import { setupI18n } from "/@/vben/locales"; -export async function setupVben(app: any, { loadMessages }: any) { +export async function setupVben(app: any, { loadMessages, router }: any) { await setupI18n(app, { loadMessages }); const store = await initStores(app, { namespace: "fs" }); - + watchEffect(() => { + if (preferences.app.dynamicTitle) { + const routeTitle = router.currentRoute.value.title; + const pageTitle = routeTitle || "" + preferences.app.name; + useTitle(pageTitle); + } + }); return { store }; }