From 78921416615f450f4cc29ec4f740fbf1b47d8b00 Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期二, 19 八月 2025 17:18:28 +0800
Subject: [PATCH] 注册登录更改

---
 src/store/modules/user.ts |   66 ++++++++++++++++++--------------
 1 files changed, 37 insertions(+), 29 deletions(-)

diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts
index fabcc62..8dc7ec3 100644
--- a/src/store/modules/user.ts
+++ b/src/store/modules/user.ts
@@ -8,12 +8,11 @@
   storageLocal
 } from "../utils";
 import {
-  type LoginResult,
-  type RefreshTokenResult,
   getLogin,
-  refreshTokenApi,
+  // refreshTokenApi,
   getChangeLogoInExRule
 } from "@/api/user";
+import type { LoginData, RoleData, RoleItem } from "@/api/types";
 import { useMultiTagsStoreHook } from "./multiTags";
 import {
   type DataInfo,
@@ -29,6 +28,8 @@
 import { exRole } from "@/api/register/index";
 import { cusExtendInfo } from "@/api/mine";
 import type { nowRoleType } from "@/store/types";
+import { cloneDeep } from "@pureadmin/utils";
+import { message } from "@/utils/message";
 
 export const useUserStore = defineStore("pure-user", {
   state: (): userType => ({
@@ -51,7 +52,7 @@
     enterpriseInfo:
       storageLocal().getItem<CusExtendDto>("enterpriseInfo") ?? {},
     nowRole: storageLocal().getItem<nowRoleType>("nowRole") ?? {},
-    rolesList: storageLocal().getItem<DataInfo<number>>("rolesList") ?? [],
+    rolesList: storageLocal().getItem<RoleItem[]>("rolesList") ?? [],
     // 椤甸潰绾у埆鏉冮檺
     roles: storageLocal().getItem<DataInfo<number>>(userKey)?.roles ?? []
   }),
@@ -81,7 +82,7 @@
       this.nowRole = nowRole;
     },
     /** 瀛樺偍瑙掕壊鍒楄〃 */
-    SET_EXROLES_LIST(rolesList: Array<string>) {
+    SET_EXROLES_LIST(rolesList: RoleItem[]) {
       this.rolesList = rolesList;
     },
     /** 瀛樺偍鎸夐挳绾у埆鏉冮檺 */
@@ -102,13 +103,16 @@
     },
     /** 鐧诲叆 */
     async loginByUsername(obj) {
-      return new Promise<LoginResult>((resolve, reject) => {
+      return new Promise<LoginData>((resolve, reject) => {
         getLogin(obj)
           .then(data => {
             if (data?.code == 200) {
-              data.result.roles = [obj.exRuleCode];
-              setToken(data.result);
-              this.getNowRole(obj.exRuleCode);
+              if (data.result.theLastLogo) {
+                const resObj = cloneDeep(data.result);
+                resObj.roles = [obj.exRuleCode];
+                setToken(resObj);
+                this.getNowRole(obj.exRuleCode);
+              }
             }
             resolve(data);
           })
@@ -119,7 +123,7 @@
     },
     /** 鑾峰彇瑙掕壊鍒楄〃 */
     async getRoleList() {
-      return new Promise<LoginResult>((resolve, reject) => {
+      return new Promise<RoleData>((resolve, reject) => {
         exRole()
           .then(data => {
             if (data?.code == 200) {
@@ -137,7 +141,7 @@
     },
     /** 鑾峰彇褰撳墠瑙掕壊 */
     async getNowRole(code) {
-      return new Promise<LoginResult>((resolve, reject) => {
+      return new Promise(resolve => {
         const data = this.rolesList.find(item => {
           return item.code == code;
         });
@@ -147,15 +151,18 @@
     },
     /** 鍒囨崲瑙掕壊 */
     async changeLogoInExRule(obj) {
-      return new Promise<LoginResult>((resolve, reject) => {
+      return new Promise<LoginData>((resolve, reject) => {
         getChangeLogoInExRule(obj)
           .then(async data => {
             if (data?.code == 200) {
-              data.result.roles = [obj.ruleCode];
-              setToken(data.result);
+              const resObj = cloneDeep(data.result);
+              resObj.roles = [obj.ruleCode];
+              setToken(resObj);
               this.getNowRole(obj.ruleCode);
               await this.getCusExtendInfo();
               resolve(data);
+            } else {
+              message(data?.message, { type: "warning" });
             }
           })
           .catch(error => {
@@ -169,8 +176,9 @@
           .then(data => {
             setEnterpriseInfo(data.result);
             if (data?.code == 200) {
-              data.result.username = data.result?.enterpriseName;
-              resolve(data);
+              const resData = cloneDeep(data);
+              resData.result.username = data.result?.enterpriseName;
+              resolve(resData);
             }
           })
           .catch(error => {
@@ -190,19 +198,19 @@
       router.push("/index");
     },
     /** 鍒锋柊`token` */
-    async handRefreshToken(data) {
-      return new Promise<RefreshTokenResult>((resolve, reject) => {
-        refreshTokenApi(data)
-          .then(data => {
-            if (data) {
-              setToken(data.data);
-              resolve(data);
-            }
-          })
-          .catch(error => {
-            reject(error);
-          });
-      });
+    async handRefreshToken() {
+      // return new Promise<RefreshTokenResult>((resolve, reject) => {
+      //   refreshTokenApi(data)
+      //     .then(data => {
+      //       if (data) {
+      //         setToken(data.data);
+      //         resolve(data);
+      //       }
+      //     })
+      //     .catch(error => {
+      //       reject(error);
+      //     });
+      // });
     }
   }
 });

--
Gitblit v1.9.1