From a1d7e81859f554f3a53680cc35f0f49bf1f77098 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期四, 14 五月 2026 14:37:02 +0800
Subject: [PATCH] 导入项目
---
src/utils/auth.ts | 80 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 80 insertions(+), 0 deletions(-)
diff --git a/src/utils/auth.ts b/src/utils/auth.ts
new file mode 100644
index 0000000..ad67440
--- /dev/null
+++ b/src/utils/auth.ts
@@ -0,0 +1,80 @@
+import { useCache, CACHE_KEY } from '@/hooks/web/useCache'
+import { TokenType } from '@/api/login/types'
+import { decrypt, encrypt } from '@/utils/jsencrypt'
+
+const { wsCache } = useCache()
+
+const AccessTokenKey = 'ACCESS_TOKEN'
+const RefreshTokenKey = 'REFRESH_TOKEN'
+
+// 鑾峰彇token
+export const getAccessToken = () => {
+ // 姝ゅ涓嶵okenKey鐩稿悓锛屾鍐欐硶瑙e喅鍒濆鍖栨椂Cookies涓笉瀛樺湪TokenKey鎶ラ敊
+ const accessToken = wsCache.get(AccessTokenKey)
+ return accessToken ? accessToken : wsCache.get('ACCESS_TOKEN')
+}
+
+// 鍒锋柊token
+export const getRefreshToken = () => {
+ return wsCache.get(RefreshTokenKey)
+}
+
+// 璁剧疆token
+export const setToken = (token: TokenType) => {
+ wsCache.set(RefreshTokenKey, token.refreshToken)
+ wsCache.set(AccessTokenKey, token.accessToken)
+}
+
+// 鍒犻櫎token
+export const removeToken = () => {
+ wsCache.delete(AccessTokenKey)
+ wsCache.delete(RefreshTokenKey)
+}
+
+/** 鏍煎紡鍖杢oken锛坖wt鏍煎紡锛� */
+export const formatToken = (token: string): string => {
+ return 'Bearer ' + token
+}
+// ========== 璐﹀彿鐩稿叧 ==========
+
+export type LoginFormType = {
+ tenantName: string
+ username: string
+ password: string
+ rememberMe: boolean
+}
+
+export const getLoginForm = () => {
+ const loginForm: LoginFormType = wsCache.get(CACHE_KEY.LoginForm)
+ if (loginForm) {
+ loginForm.password = decrypt(loginForm.password) as string
+ }
+ return loginForm
+}
+
+export const setLoginForm = (loginForm: LoginFormType) => {
+ loginForm.password = encrypt(loginForm.password) as string
+ wsCache.set(CACHE_KEY.LoginForm, loginForm, { exp: 30 * 24 * 60 * 60 })
+}
+
+export const removeLoginForm = () => {
+ wsCache.delete(CACHE_KEY.LoginForm)
+}
+
+// ========== 绉熸埛鐩稿叧 ==========
+
+export const getTenantId = () => {
+ return wsCache.get(CACHE_KEY.TenantId)
+}
+
+export const setTenantId = (tenantId: number) => {
+ wsCache.set(CACHE_KEY.TenantId, tenantId)
+}
+
+export const getVisitTenantId = () => {
+ return wsCache.get(CACHE_KEY.VisitTenantId)
+}
+
+export const setVisitTenantId = (visitTenantId: number) => {
+ wsCache.set(CACHE_KEY.VisitTenantId, visitTenantId)
+}
--
Gitblit v1.8.0