diff --git a/apps/platform/package.json b/apps/platform/package.json index 86dd9a0..0fbf5da 100644 --- a/apps/platform/package.json +++ b/apps/platform/package.json @@ -54,7 +54,8 @@ "vue-types": "~5.1.3", "vue-virtual-scroller": "2.0.0-beta.8", "wujie": "^1.0.25", - "xlsx": "~0.18.5" + "xlsx": "~0.18.5", + "@sy/unified-login": "1.0.29" }, "devDependencies": { "@commitlint/cli": "~19.5.0", diff --git a/apps/platform/src/io/instance.ts b/apps/platform/src/io/instance.ts index dbe4256..0d091f7 100644 --- a/apps/platform/src/io/instance.ts +++ b/apps/platform/src/io/instance.ts @@ -1,41 +1,30 @@ import axios from 'axios'; -import { useUserStore } from '@/store/modules/user'; -import router from '@/router'; +// import { useUserStore } from '@/store/modules/user'; +// import router from '@/router'; +import appClient from '@/io/tianti'; + +console.log('appClient', appClient); + +// axios拦截器 +const { reqInterceptor, resInterceptor } = appClient.getInterceptor(); +console.log('reqInterceptor', reqInterceptor); +console.log('resInterceptor', resInterceptor); const baseApiUrl = import.meta.env.VITE_BASE_API_URL; // 创建独立实例 const instance = axios.create({ - baseURL: baseApiUrl, // 基础URL直接放在实例配置中 + baseURL: baseApiUrl, }); -// 请求拦截器改为使用实例 instance.interceptors.request.use( - (config) => { - // 可在此处添加统一请求头等配置 - return config; - }, - (error) => { - return Promise.reject(error); - }, + (config) => config, + (error) => Promise.reject(error), ); +instance.interceptors.request.use(reqInterceptor.fulfilled, reqInterceptor.rejected); -// 响应拦截器改为使用实例 -instance.interceptors.response.use( - (response) => { - // 如果响应数据中 code 为 -1,清空登录状态并跳转到登录页 - if (response?.data?.code === -1) { - const userStore = useUserStore(); - userStore.clearLoginStatus(); // 清空用户信息 - router.push('/login'); // 直接使用路由实例 - console.error('请求失败:', response.data.msg); - } - return response; - }, - (error) => { - return Promise.reject(error); - }, -); +// 响应拦截器 +instance.interceptors.response.use(resInterceptor.fulfilled, resInterceptor.rejected); // 导出实例 export default instance; diff --git a/apps/platform/src/io/tianti.ts b/apps/platform/src/io/tianti.ts new file mode 100644 index 0000000..5b0b44b --- /dev/null +++ b/apps/platform/src/io/tianti.ts @@ -0,0 +1,12 @@ +// @ts-ignore +import AxiosAppClient from '@sy/unified-login/es/app-client/axios'; + +export type Env = 'dev' | 'test' | 'pre' | 'prod'; + +const appClient = new AxiosAppClient({ + appKey: 'y-code', // 应用标识,不同项目不能一样 + env: 'prod', // dev:本地开发;test:测试;pre:预发布;prod:正式 + devBaseUrl: `https://localhost:${import.meta.env.VITE_PORT}`, // 应用开发环境地址 +}); + +export default appClient; diff --git a/apps/platform/src/layout/header/index.vue b/apps/platform/src/layout/header/index.vue index 3d9fc26..d4e39c7 100644 --- a/apps/platform/src/layout/header/index.vue +++ b/apps/platform/src/layout/header/index.vue @@ -33,10 +33,15 @@ --> -
+
{{ $t('layout.header.dropdownItemLoginOut') }}
+ +
+ {{ $t('layout.header.openDev') }} +
+
@@ -49,6 +54,8 @@ + + diff --git a/apps/platform/src/views/login/index.vue b/apps/platform/src/views/login/index.vue index 6385f5d..ca2ca05 100644 --- a/apps/platform/src/views/login/index.vue +++ b/apps/platform/src/views/login/index.vue @@ -2,7 +2,13 @@
1
- + diff --git a/apps/platform/src/views/user/edit.vue b/apps/platform/src/views/user/edit.vue deleted file mode 100644 index f98f53f..0000000 --- a/apps/platform/src/views/user/edit.vue +++ /dev/null @@ -1,106 +0,0 @@ - - - diff --git a/apps/platform/src/views/user/list.vue b/apps/platform/src/views/user/list.vue deleted file mode 100644 index 4a797a9..0000000 --- a/apps/platform/src/views/user/list.vue +++ /dev/null @@ -1,219 +0,0 @@ - - - - - diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1d9cb8f..eec3151 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -183,6 +183,9 @@ importers: '@iframe-resizer/parent': specifier: ^5.3.3 version: 5.3.3 + '@sy/unified-login': + specifier: 1.0.29 + version: 1.0.29(vue@3.5.13(typescript@5.6.3)) '@sy/y-code-renderer-adapter': specifier: workspace:* version: link:../../packages/render-adapter @@ -3119,6 +3122,11 @@ packages: '@sxzz/popperjs-es@2.11.7': resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==} + '@sy/unified-login@1.0.29': + resolution: {integrity: sha512-ihYgOX8mrrDcXjsxO0C40647F7DbMs3mBMBn0deAV2tIfCEJRMMtryP8Fi4T5UDfEXVpRHoSFNW4zpTIbsL4Vw==} + peerDependencies: + vue: ^2.0.0 || >=3.0.0 + '@sy/y-code-chart@1.2.7': resolution: {integrity: sha512-87/au4OoafTQSqwAAJhB8XpzwTlpu1u42VqYPG28JDarUOva/12eEyAU5i+e7e3t1pV+JSqP+Q/4HIhQw61q9w==} @@ -13090,6 +13098,10 @@ snapshots: '@sxzz/popperjs-es@2.11.7': {} + '@sy/unified-login@1.0.29(vue@3.5.13(typescript@5.6.3))': + dependencies: + vue: 3.5.13(typescript@5.6.3) + '@sy/y-code-chart@1.2.7(vue@3.5.13(typescript@5.3.3))': dependencies: '@antv/g2plot': 2.4.32