From 8f9d48be28aae04422edb407b18107e379cbda23 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Thu, 21 Nov 2024 13:48:24 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/main'

---
 src/store/login.js |   33 ++++++++++++++++++++++++++++++++-
 1 files changed, 32 insertions(+), 1 deletions(-)

diff --git a/src/store/login.js b/src/store/login.js
index 70269d8..59d939d 100644
--- a/src/store/login.js
+++ b/src/store/login.js
@@ -1,13 +1,15 @@
 // src/stores/useUserStore.js
 import {
   loginByUsername,
-  logout
+  logout,
+  refreshToken,
 } from '@/api/user'
 import { defineStore } from 'pinia'
 import md5 from 'js-md5'
 import {
   ElMessage
 } from 'element-plus'
+import { validatenull } from '@/utils/validate'
 
 export const useLogin = defineStore('login', {
   // 存储状态的地方,相当于 Vuex 的 state
@@ -91,6 +93,35 @@
           })
       })
     },
+
+    RefreshToken (userInfo = {}) {
+      return new Promise((resolve, reject) => {
+        refreshToken(
+          this.refreshToken,
+          this.tenantId,
+          !validatenull(userInfo) ? userInfo.deptId : this.userInfo.dept_id,
+          !validatenull(userInfo) ? userInfo.roleId : this.userInfo.role_id
+        )
+          .then(res => {
+            const data = res.data
+            this.SET_TOKEN(data.access_token)
+            this.SET_REFRESH_TOKEN(data.refresh_token)
+            this.SET_USER_INFO(data)
+            resolve()
+          })
+          .catch(error => {
+            reject(error)
+          })
+      })
+    },
+
+    removeToken () {
+      this.SET_TOKEN('')
+    },
+
+    removeRefreshToken () {
+      this.SET_REFRESH_TOKEN('')
+    }
   },
 
   persist: {

--
Gitblit v1.9.3