From 1f2add4b6bece17ed26a4816f447a4e00f22192d Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期三, 19 六月 2024 10:11:32 +0800
Subject: [PATCH] update 更换三方回调方案
---
src/views/login.vue | 2 +-
src/layout/components/SocialCallback/index.vue | 18 +++++++++++-------
src/views/system/user/profile/thirdParty.vue | 2 +-
3 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/src/layout/components/SocialCallback/index.vue b/src/layout/components/SocialCallback/index.vue
index 17a7631..723d593 100644
--- a/src/layout/components/SocialCallback/index.vue
+++ b/src/layout/components/SocialCallback/index.vue
@@ -18,22 +18,18 @@
const state = route.query.state as string;
const source = route.query.source as string;
const tenantId = route.query.tenantId as string ? route.query.tenantId as string : '000000';
+const domain = route.query.domain as string;
const processResponse = async (res: any) => {
if (res.code !== 200) {
throw new Error(res.msg);
}
- if (res.data !== null && res.data.access_token !== null) {
+ if (res.data !== null) {
setToken(res.data.access_token);
}
ElMessage.success(res.msg);
setTimeout(() => {
- if (res.data !== null && res.data.domain !== null) {
- let protocol = window.location.protocol === 'https:' ? 'https://' : 'http://';
- location.href = protocol + res.data.domain + import.meta.env.VITE_APP_CONTEXT_PATH + 'index';
- } else {
- location.href = import.meta.env.VITE_APP_CONTEXT_PATH + 'index';
- }
+ location.href = import.meta.env.VITE_APP_CONTEXT_PATH + 'index';
}, 2000);
};
@@ -65,6 +61,14 @@
};
const init = async () => {
+ // 濡傛灉鍩熷悕涓嶇浉绛� 鍒欓噸瀹氬悜澶勭悊
+ let host = window.location.host;
+ if (domain !== host) {
+ let urlFull = new URL(window.location.href);
+ urlFull.hostname = domain;
+ window.location.href = urlFull.toString();
+ }
+
const data: LoginData = {
socialCode: code,
socialState: state,
diff --git a/src/views/login.vue b/src/views/login.vue
index 0bb9a3f..02c7d77 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -194,7 +194,7 @@
authBinding(type).then((res: any) => {
if (res.code === HttpStatus.SUCCESS) {
// 鑾峰彇鎺堟潈鍦板潃璺宠浆
- window.location.href = res.data + '&tenantId=' + loginForm.value.tenantId;
+ window.location.href = res.data + '&tenantId=' + loginForm.value.tenantId + '&domain=' + window.location.host;
} else {
ElMessage.error(res.msg);
}
diff --git a/src/views/system/user/profile/thirdParty.vue b/src/views/system/user/profile/thirdParty.vue
index 3d489b4..ad090c4 100644
--- a/src/views/system/user/profile/thirdParty.vue
+++ b/src/views/system/user/profile/thirdParty.vue
@@ -86,7 +86,7 @@
const authUrl = (source: string) => {
authBinding(source).then((res: any) => {
if (res.code === 200) {
- window.location.href = res.data + '&tenantId=' + useUserStore().tenantId;
+ window.location.href = res.data + '&tenantId=' + useUserStore().tenantId + '&domain=' + window.location.host;
} else {
proxy?.$modal.msgError(res.msg);
}
--
Gitblit v1.9.3