From bb576469eb1e2cb2bf8e1717902702ca28f5ef65 Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期一, 28 七月 2025 17:20:56 +0800
Subject: [PATCH] '-'

---
 src/store/modules/user.ts |   89 ++++++++++++++++++++++++++++++++++++++------
 1 files changed, 76 insertions(+), 13 deletions(-)

diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts
index 2be8954..145823a 100644
--- a/src/store/modules/user.ts
+++ b/src/store/modules/user.ts
@@ -11,16 +11,20 @@
   type LoginResult,
   type RefreshTokenResult,
   getLogin,
-  refreshTokenApi
+  refreshTokenApi,
+  getChangeLogoInExRule
 } from "@/api/user";
 import { useMultiTagsStoreHook } from "./multiTags";
 import {
   type DataInfo,
   setToken,
+  setRoleListInfo,
+  setNowRole,
   removeToken,
   userKey,
   setEnterpriseInfo
 } from "@/utils/auth";
+import { exRole } from "@/api/register/index";
 import { cusExtendInfo } from "@/api/mine";
 
 export const useUserStore = defineStore("pure-user", {
@@ -42,7 +46,10 @@
     loginDay: 1,
     // 浼佷笟璧勬枡
     enterpriseInfo:
-      storageLocal().getItem<DataInfo<number>>("enterpriseInfo") ?? {}
+      storageLocal().getItem<DataInfo<number>>("enterpriseInfo") ?? {},
+    nowRole: storageLocal().getItem<DataInfo<number>>("nowRole") ?? {},
+    rolesList: storageLocal().getItem<DataInfo<number>>("rolesList") ?? [],
+    isFlsh: storageLocal().getItem<DataInfo<number>>("isFlsh") ?? false
   }),
   actions: {
     /** 瀛樺偍澶村儚 */
@@ -57,9 +64,21 @@
     SET_NICKNAME(nickname: string) {
       this.nickname = nickname;
     },
-    /** 瀛樺偍瑙掕壊 */
+    /** 瀛樺偍鐢ㄦ埛瑙掕壊 */
     SET_ROLES(exRoles: Array<string>) {
       this.exRoles = exRoles;
+    },
+    /** 瀛樺偍瑙掕壊褰撳墠瑙掕壊 */
+    SET_NOW_ROLE(nowRole: object) {
+      this.nowRole = nowRole;
+    },
+    /** 瀛樺偍瑙掕壊鍒楄〃 */
+    SET_ROLES_LIST(rolesList: Array<string>) {
+      this.rolesList = rolesList;
+    },
+    /** 褰撳墠瑙掕壊鏄惁瀹℃牳 */
+    SET_IS_FLSH(isFlsh: boolean | string) {
+      this.isFlsh = isFlsh;
     },
     /** 瀛樺偍鎸夐挳绾у埆鏉冮檺 */
     SET_PERMS(permissions: Array<string>) {
@@ -78,11 +97,59 @@
       this.loginDay = Number(value);
     },
     /** 鐧诲叆 */
-    async loginByUsername(data) {
+    async loginByUsername(obj) {
       return new Promise<LoginResult>((resolve, reject) => {
-        getLogin(data)
+        getLogin(obj)
           .then(data => {
-            if (data?.code == 200) setToken(data.result);
+            if (data?.code == 200) {
+              setToken(data.result);
+              this.getNowRole(obj.exRuleCode);
+            }
+            resolve(data);
+          })
+          .catch(error => {
+            reject(error);
+          });
+      });
+    },
+    /** 鑾峰彇瑙掕壊鍒楄〃 */
+    async getRoleList() {
+      return new Promise<LoginResult>((resolve, reject) => {
+        exRole()
+          .then(data => {
+            if (data?.code == 200) {
+              setRoleListInfo(data.result);
+              if (this.nowRole.code) {
+                this.getNowRole(this.nowRole.code);
+              }
+            }
+            resolve(data);
+          })
+          .catch(error => {
+            reject(error);
+          });
+      });
+    },
+    /** 鑾峰彇褰撳墠瑙掕壊 */
+    async getNowRole(code) {
+      return new Promise<LoginResult>((resolve, reject) => {
+        const data = this.rolesList.find(item => {
+          return item.code == code;
+        });
+        setNowRole(data);
+        resolve(data);
+      });
+    },
+    /** 鍒囨崲瑙掕壊 */
+    async changeLogoInExRule(obj) {
+      return new Promise<LoginResult>((resolve, reject) => {
+        getChangeLogoInExRule(obj)
+          .then(data => {
+            if (data?.code == 200) {
+              setToken(data.result);
+              this.getNowRole(obj.ruleCode);
+              this.getCusExtendInfo();
+            }
             resolve(data);
           })
           .catch(error => {
@@ -108,16 +175,12 @@
     /** 鍓嶇鐧诲嚭锛堜笉璋冪敤鎺ュ彛锛� */
     logOut() {
       this.username = "";
+      this.exRoles = [];
       this.permissions = [];
+      removeToken();
       useMultiTagsStoreHook().handleTags("equal", [...routerArrays]);
       resetRouter();
-      if (this.exRoles && this.exRoles.length == 1) {
-        router.push({ name: "Login", query: this.exRoles[0] });
-      } else {
-        router.push({ name: "Login" });
-      }
-      removeToken();
-      this.exRoles = [];
+      router.push("/index");
     },
     /** 鍒锋柊`token` */
     async handRefreshToken(data) {

--
Gitblit v1.9.1