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