From a5cba9ab040f6f97558046885dce3017f9bab7e9 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期二, 11 八月 2026 14:12:29 +0800
Subject: [PATCH] 提交
---
src/views/loginSSO.vue | 78 +++++++++++++++++++++++++++------------
1 files changed, 54 insertions(+), 24 deletions(-)
diff --git a/src/views/loginSSO.vue b/src/views/loginSSO.vue
index d195a79..e43a341 100644
--- a/src/views/loginSSO.vue
+++ b/src/views/loginSSO.vue
@@ -34,45 +34,47 @@
},
methods: {
// 鍖归厤orgid - 浼樺寲涓哄璞℃槧灏�
- mateOrgid(orgid) {
+ mateOrgid(campusid, orgid) {
const orgMap = {
- "30001002": {
+ 30001002: {
orgname: "鐪佺珛鍚屽痉缈犺嫅闄㈠尯",
ZuHuID: "1400361376454545408",
deptCode: "1017",
},
- "30001003": {
+ 30001003: {
orgname: "鐪佺珛鍚屽痉涔嬫睙闄㈠尯",
ZuHuID: "1400360867068907520",
deptCode: "01040201",
},
- "30001004": {
+ 30001004: {
orgname: "鐪佺珛鍚屽痉闂叉灄闄㈠尯",
ZuHuID: "1429338802177000002",
deptCode: "",
},
- "30001005": {
+ 30001005: {
orgname: "鐪佺珛鍚屽痉澶╃洰灞辫矾闄㈠尯",
ZuHuID: "1429338802177000003",
deptCode: "",
},
- "30001006": {
+ 30001006: {
orgname: "鐪佺珛鍚屽痉闈掑北婀栭櫌鍖�",
ZuHuID: "1429338802177000004",
deptCode: "",
},
- "30001007": {
- orgname: "娴嬭瘯闄㈠尯",
+ 30001007: {
+ orgname: "鐪佺珛鍚屽痉缈犺嫅闄㈠尯", //娴嬭瘯
ZuHuID: "1429338802177000005",
deptCode: "",
},
};
- const orgInfo = orgMap[orgid];
+ const orgInfo = orgMap[campusid];
if (orgInfo) {
localStorage.setItem("orgname", orgInfo.orgname);
localStorage.setItem("ZuHuID", orgInfo.ZuHuID);
localStorage.setItem("deptCode", orgInfo.deptCode);
+ localStorage.setItem("campusid", campusid);
+ localStorage.setItem("orgid", orgid);
return orgInfo;
}
return null;
@@ -147,7 +149,18 @@
// 3. 娓呯悊鏃х郴缁熸暟鎹�
this.clearOldSystemData();
- const { token, orgid, orgname, ZuHuID, deptCode, redirect } = params;
+ const { token, orgid, orgname, ZuHuID, deptCode, redirect, campusid } =
+ params;
+ console.log(
+ token,
+ orgid,
+ orgname,
+ ZuHuID,
+ deptCode,
+ redirect,
+ campusid,
+ "鍙傛暟鏃ュ織"
+ );
// 4. 瀛樺偍token
setToken(token);
@@ -157,7 +170,7 @@
// 5. 澶勭悊鏈烘瀯淇℃伅
if (orgid) {
// 浼樺厛浣跨敤mateOrgid鏄犲皠
- const orgInfo = this.mateOrgid(orgid);
+ const orgInfo = this.mateOrgid(campusid, orgid);
if (!orgInfo) {
// 濡傛灉娌℃湁鏄犲皠锛屼娇鐢ㄤ紶鍏ョ殑鍙傛暟
if (orgname) localStorage.setItem("orgname", orgname);
@@ -166,15 +179,26 @@
}
localStorage.setItem("orgid", orgid);
- if (this.$store.dispatch && typeof this.$store.dispatch === "function") {
+ if (
+ this.$store.dispatch &&
+ typeof this.$store.dispatch === "function"
+ ) {
await this.$store.dispatch("UpdateOrgId", orgid);
}
}
this.loadingDetail = "璁剧疆鏈烘瀯淇℃伅...";
- // 6. 鑾峰彇鐢ㄦ埛淇℃伅
- if (this.$store.dispatch && typeof this.$store.dispatch === "function") {
+ // 6. 鑾峰彇鐢ㄦ埛淇℃伅 + 鐢熸垚鍔ㄦ�佽矾鐢�
+ if (
+ this.$store.dispatch &&
+ typeof this.$store.dispatch === "function"
+ ) {
await this.$store.dispatch("GetInfo");
+ // SSO 鍏嶇櫥鍦ㄨ烦杞墠宸插畬鎴� GetInfo锛岃矾鐢卞畧鍗笉浼氬啀瑙﹀彂 GenerateRoutes
+ // 蹇呴』鍦ㄦ澶勬樉寮忚皟鐢紝鍚﹀垯鍔ㄦ�佽矾鐢变笉浼氭敞鍐�
+ await this.$store.dispatch("GenerateRoutes").then((accessRoutes) => {
+ this.$router.addRoutes(accessRoutes);
+ });
}
this.loadingDetail = "鑾峰彇鐢ㄦ埛淇℃伅...";
@@ -203,15 +227,17 @@
console.log("鍑嗗璺宠浆鍒�:", redirectPath);
// 鉁� 浣跨敤 push 鑰屼笉鏄� replace锛屼繚鐣欏巻鍙茶褰�
- this.$router.push({ path: redirectPath }).then(() => {
- console.log("SSO鐧诲綍鎴愬姛锛岃烦杞畬鎴�");
- }).catch((error) => {
- console.error("璺敱璺宠浆澶辫触:", error);
- // 鍥為��鍒伴粯璁ら〉闈�
- this.$router.push({ path: "/followvisit/discharge" });
- });
+ this.$router
+ .push({ path: redirectPath })
+ .then(() => {
+ console.log("SSO鐧诲綍鎴愬姛锛岃烦杞畬鎴�");
+ })
+ .catch((error) => {
+ console.error("璺敱璺宠浆澶辫触:", error);
+ // 鍥為��鍒伴粯璁ら〉闈�
+ this.$router.push({ path: "/followvisit/discharge" });
+ });
}, 500);
-
} catch (error) {
console.error("SSO鐧诲綍澶辫触:", error);
this.errorMessage = `鍗曠偣鐧诲綍澶辫触: ${error.message || "鏈煡閿欒"}`;
@@ -273,8 +299,12 @@
}
@keyframes spin {
- 0% { transform: rotate(0deg); }
- 100% { transform: rotate(360deg); }
+ 0% {
+ transform: rotate(0deg);
+ }
+ 100% {
+ transform: rotate(360deg);
+ }
}
.loading-content p {
--
Gitblit v1.9.3