From 45792b3776cda2e1ada31755ffc226a663f90b48 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 19 三月 2025 15:32:23 +0800
Subject: [PATCH] 锁屏功能

---
 src/store/modules/user.js |   47 ++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 38 insertions(+), 9 deletions(-)

diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index 8626ba0..0f3c782 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -1,4 +1,4 @@
-import { login, logout, getInfo } from "@/api/login";
+import { login, logout, getInfo,LoginBySSO } from "@/api/login";
 import { getToken, setToken, removeToken } from "@/utils/auth";
 import { isHttp, isEmpty } from "@/utils/validate";
 import defAva from "@/assets/images/profile.jpg";
@@ -11,6 +11,8 @@
     name: "",
     avatar: "",
     nickName: "",
+    companyName: "",
+    loginUserInfo: {},
     roles: [],
     permissions: [],
   },
@@ -30,6 +32,12 @@
     },
     SET_NICKNAME: (state, nickName) => {
       state.nickName = nickName;
+    },
+    SET_COMPANYNAME: (state, companyName) => {
+      state.companyName = companyName;
+    },
+    SET_LOGINUSERINFO: (state, loginUserInfo) => {
+      state.loginUserInfo = loginUserInfo;
     },
     SET_ROLES: (state, roles) => {
       state.roles = roles;
@@ -61,13 +69,28 @@
           });
       });
     },
-
+    // 鍗曠偣鐧诲綍
+    LoginBySSO({ commit }, accessToken) {
+      return new Promise((resolve, reject) => {
+        LoginBySSO(accessToken)
+          .then((res) => {
+            setToken(res.token);
+            commit("SET_TOKEN", res.token);
+            Vue.prototype.uploadHeader = {
+              Authorization: "Bearer " + res.token,
+            };
+            resolve();
+          })
+          .catch((error) => {
+            reject(error);
+          });
+      })
+    },
     // 鑾峰彇鐢ㄦ埛淇℃伅
     GetInfo({ commit, state }) {
       return new Promise((resolve, reject) => {
         getInfo()
           .then((res) => {
-            console.log("store-->",res);
             const user = res.user;
             let avatar = user.avatar || "";
             if (!isHttp(avatar)) {
@@ -82,10 +105,12 @@
             } else {
               commit("SET_ROLES", ["ROLE_DEFAULT"]);
             }
+            commit("SET_LOGINUSERINFO", user);
             commit("SET_ID", user.userId);
             commit("SET_NAME", user.userName);
             commit("SET_AVATAR", avatar);
             commit("SET_NICKNAME", user.nickName);
+            commit("SET_COMPANYNAME", user.companyName);
             resolve(res);
           })
           .catch((error) => {
@@ -98,12 +123,16 @@
     LogOut({ commit, state }) {
       return new Promise((resolve, reject) => {
         logout(state.token)
-          .then(() => {
-            commit("SET_TOKEN", "");
-            commit("SET_ROLES", []);
-            commit("SET_PERMISSIONS", []);
-            removeToken();
-            resolve();
+          .then((res) => {
+            if (res.data) {
+              window.location.href = res.data
+            } else {
+              commit("SET_TOKEN", "");
+              commit("SET_ROLES", []);
+              commit("SET_PERMISSIONS", []);
+              removeToken();
+              resolve();
+            }
           })
           .catch((error) => {
             reject(error);

--
Gitblit v1.9.3