From ba24afce52bcdffdbccf6475544c79c4eefcd14e Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期二, 09 七月 2024 11:02:34 +0800 Subject: [PATCH] !131 ♥️发布 vue 版本 5.2.1 与 cloud 版本 2.2.0 Merge pull request !131 from 疯狂的狮子Li/dev --- src/layout/components/SocialCallback/index.vue | 33 +++++++++++++++++++++++---------- 1 files changed, 23 insertions(+), 10 deletions(-) diff --git a/src/layout/components/SocialCallback/index.vue b/src/layout/components/SocialCallback/index.vue index faf7d50..746de20 100644 --- a/src/layout/components/SocialCallback/index.vue +++ b/src/layout/components/SocialCallback/index.vue @@ -4,14 +4,11 @@ <script setup lang="ts"> import { login, callback } from '@/api/login'; -import { setToken } from '@/utils/auth'; -import Cookies from 'js-cookie'; -import { getToken } from '@/utils/auth'; +import { setToken, getToken } from '@/utils/auth'; import { LoginData } from '@/api/types'; const route = useRoute(); const loading = ref(true); - /** * 鎺ユ敹Route浼犻�掔殑鍙傛暟 @@ -20,21 +17,28 @@ const code = route.query.code as string; const state = route.query.state as string; const source = route.query.source as string; -const tenantId = Cookies.get("tenantId") ? Cookies.get("tenantId") as string : '000000'; - +const stateJson = JSON.parse(atob(state)); +const tenantId = (stateJson.tenantId as string) ? (stateJson.tenantId as string) : '000000'; +const domain = stateJson.domain as string; const processResponse = async (res: any) => { if (res.code !== 200) { throw new Error(res.msg); } - setToken(res.data.access_token); + if (res.data !== null) { + setToken(res.data.access_token); + } ElMessage.success(res.msg); - location.href = import.meta.env.VITE_APP_CONTEXT_PATH + 'index'; + setTimeout(() => { + location.href = import.meta.env.VITE_APP_CONTEXT_PATH + 'index'; + }, 2000); }; const handleError = (error: any) => { ElMessage.error(error.message); - location.href = import.meta.env.VITE_APP_CONTEXT_PATH + 'index'; + setTimeout(() => { + location.href = import.meta.env.VITE_APP_CONTEXT_PATH + 'index'; + }, 2000); }; const callbackByCode = async (data: LoginData) => { @@ -58,12 +62,21 @@ }; const init = async () => { + // 濡傛灉鍩熷悕涓嶇浉绛� 鍒欓噸瀹氬悜澶勭悊 + let host = window.location.host; + if (domain !== host) { + let urlFull = new URL(window.location.href); + urlFull.host = domain; + window.location.href = urlFull.toString(); + return; + } + const data: LoginData = { socialCode: code, socialState: state, tenantId: tenantId, source: source, - clientId: 'e5cd7e4891bf95d1d19206ce24a7b32e', + clientId: import.meta.env.VITE_APP_CLIENT_ID, grantType: 'social' }; -- Gitblit v1.9.3