From c206ab5b4a38f99bec4ee34d7b01bbabc83fa120 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期三, 19 六月 2024 14:29:44 +0800
Subject: [PATCH] update 优化 三方登录不同域名问题 采用新方案

---
 src/layout/components/SocialCallback/index.vue |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/layout/components/SocialCallback/index.vue b/src/layout/components/SocialCallback/index.vue
index e3a50e0..1cfeca8 100644
--- a/src/layout/components/SocialCallback/index.vue
+++ b/src/layout/components/SocialCallback/index.vue
@@ -10,7 +10,6 @@
 const route = useRoute();
 const loading = ref(true);
 
-
 /**
  * 鎺ユ敹Route浼犻�掔殑鍙傛暟
  * @param {Object} route.query.
@@ -18,8 +17,9 @@
 const code = route.query.code as string;
 const state = route.query.state as string;
 const source = route.query.source as string;
-const tenantId = localStorage.getItem("tenantId") ? localStorage.getItem("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) {
@@ -52,7 +52,6 @@
 };
 
 const loginByCode = async (data: LoginData) => {
-  console.log(2)
   try {
     const res = await login(data);
     await processResponse(res);
@@ -63,6 +62,15 @@
 };
 
 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,

--
Gitblit v1.9.3