mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 02:08:43 +08:00 
			
		
		
		
	perf: 移除 js-cookie
This commit is contained in:
		| @@ -1,31 +1,33 @@ | ||||
| import Cookies from 'js-cookie' | ||||
| import { useCache } 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 = () => { | ||||
|   // 此处与TokenKey相同,此写法解决初始化时Cookies中不存在TokenKey报错 | ||||
|   return Cookies.get(AccessTokenKey) ? Cookies.get(AccessTokenKey) : Cookies.get('ACCESS_TOKEN') | ||||
|   return wsCache.get(AccessTokenKey) ? wsCache.get(AccessTokenKey) : wsCache.get('ACCESS_TOKEN') | ||||
| } | ||||
|  | ||||
| // 刷新token | ||||
| export const getRefreshToken = () => { | ||||
|   return Cookies.get(RefreshTokenKey) | ||||
|   return wsCache.get(RefreshTokenKey) | ||||
| } | ||||
|  | ||||
| // 设置token | ||||
| export const setToken = (token: TokenType) => { | ||||
|   Cookies.set(RefreshTokenKey, token.refreshToken, token.expiresTime) | ||||
|   Cookies.set(AccessTokenKey, token.accessToken) | ||||
|   wsCache.set(RefreshTokenKey, token.refreshToken, { exp: token.expiresTime }) | ||||
|   wsCache.set(AccessTokenKey, token.accessToken) | ||||
| } | ||||
|  | ||||
| // 删除token | ||||
| export const removeToken = () => { | ||||
|   Cookies.remove(AccessTokenKey) | ||||
|   Cookies.remove(RefreshTokenKey) | ||||
|   wsCache.delete(AccessTokenKey) | ||||
|   wsCache.delete(RefreshTokenKey) | ||||
| } | ||||
|  | ||||
| /** 格式化token(jwt格式) */ | ||||
| @@ -39,40 +41,40 @@ const PasswordKey = 'PASSWORD' | ||||
| const RememberMeKey = 'REMEMBER_ME' | ||||
|  | ||||
| export const getUsername = () => { | ||||
|   return Cookies.get(UsernameKey) | ||||
|   return wsCache.get(UsernameKey) | ||||
| } | ||||
|  | ||||
| export const setUsername = (username: string) => { | ||||
|   Cookies.set(UsernameKey, username) | ||||
|   wsCache.set(UsernameKey, username) | ||||
| } | ||||
|  | ||||
| export const removeUsername = () => { | ||||
|   Cookies.remove(UsernameKey) | ||||
|   wsCache.delete(UsernameKey) | ||||
| } | ||||
|  | ||||
| export const getPassword = () => { | ||||
|   const password = Cookies.get(PasswordKey) | ||||
|   const password = wsCache.get(PasswordKey) | ||||
|   return password ? decrypt(password) : undefined | ||||
| } | ||||
|  | ||||
| export const setPassword = (password: string) => { | ||||
|   Cookies.set(PasswordKey, encrypt(password)) | ||||
|   wsCache.set(PasswordKey, encrypt(password)) | ||||
| } | ||||
|  | ||||
| export const removePassword = () => { | ||||
|   Cookies.remove(PasswordKey) | ||||
|   wsCache.delete(PasswordKey) | ||||
| } | ||||
|  | ||||
| export const getRememberMe = () => { | ||||
|   return Cookies.get(RememberMeKey) === 'true' | ||||
|   return wsCache.get(RememberMeKey) === 'true' | ||||
| } | ||||
|  | ||||
| export const setRememberMe = (rememberMe: string) => { | ||||
|   Cookies.set(RememberMeKey, rememberMe) | ||||
|   wsCache.set(RememberMeKey, rememberMe) | ||||
| } | ||||
|  | ||||
| export const removeRememberMe = () => { | ||||
|   Cookies.remove(RememberMeKey) | ||||
|   wsCache.delete(RememberMeKey) | ||||
| } | ||||
|  | ||||
| // ========== 租户相关 ========== | ||||
| @@ -81,25 +83,25 @@ const TenantIdKey = 'TENANT_ID' | ||||
| const TenantNameKey = 'TENANT_NAME' | ||||
|  | ||||
| export const getTenantName = () => { | ||||
|   return Cookies.get(TenantNameKey) | ||||
|   return wsCache.get(TenantNameKey) | ||||
| } | ||||
|  | ||||
| export const setTenantName = (username: string) => { | ||||
|   Cookies.set(TenantNameKey, username) | ||||
|   wsCache.set(TenantNameKey, username) | ||||
| } | ||||
|  | ||||
| export const removeTenantName = () => { | ||||
|   Cookies.remove(TenantNameKey) | ||||
|   wsCache.delete(TenantNameKey) | ||||
| } | ||||
|  | ||||
| export const getTenantId = () => { | ||||
|   return Cookies.get(TenantIdKey) | ||||
|   return wsCache.get(TenantIdKey) | ||||
| } | ||||
|  | ||||
| export const setTenantId = (username: string) => { | ||||
|   Cookies.set(TenantIdKey, username) | ||||
|   wsCache.set(TenantIdKey, username) | ||||
| } | ||||
|  | ||||
| export const removeTenantId = () => { | ||||
|   Cookies.remove(TenantIdKey) | ||||
|   wsCache.delete(TenantIdKey) | ||||
| } | ||||
|   | ||||
| @@ -150,11 +150,11 @@ import { | ||||
|   ElDivider, | ||||
|   ElLoading | ||||
| } from 'element-plus' | ||||
| import Cookies from 'js-cookie' | ||||
| import { useRouter } from 'vue-router' | ||||
| import type { RouteLocationNormalizedLoaded } from 'vue-router' | ||||
| import { useI18n } from '@/hooks/web/useI18n' | ||||
| import { useIcon } from '@/hooks/web/useIcon' | ||||
| import { useCache } from '@/hooks/web/useCache' | ||||
| import { required } from '@/utils/formRules' | ||||
| import { setToken, setTenantId } from '@/utils/auth' | ||||
| import { decrypt, encrypt } from '@/utils/jsencrypt' | ||||
| @@ -166,6 +166,7 @@ import { LoginStateEnum, useLoginState, useFormValid } from './useLogin' | ||||
|  | ||||
| const { t } = useI18n() | ||||
| const formLogin = ref() | ||||
| const { wsCache } = useCache() | ||||
| const { validForm } = useFormValid(formLogin) | ||||
| const { setLoginState, getLoginState } = useLoginState() | ||||
| const { currentRoute, push } = useRouter() | ||||
| @@ -194,10 +195,10 @@ const loginData = reactive({ | ||||
|     signIn: false | ||||
|   }, | ||||
|   loginForm: { | ||||
|     tenantName: Cookies.get('tenantName') ? Cookies.get('tenantName') : '芋道源码', | ||||
|     username: Cookies.get('username') ? Cookies.get('username') : 'admin', | ||||
|     password: Cookies.get('password') | ||||
|       ? (decrypt(Cookies.get('password')) as unknown as string) | ||||
|     tenantName: wsCache.get('tenantName') ? wsCache.get('tenantName') : '芋道源码', | ||||
|     username: wsCache.get('username') ? wsCache.get('username') : 'admin', | ||||
|     password: wsCache.get('password') | ||||
|       ? (decrypt(wsCache.get('password')) as unknown as string) | ||||
|       : 'admin123', | ||||
|     captchaVerification: '', | ||||
|     rememberMe: false | ||||
| @@ -222,12 +223,12 @@ const getTenantId = async () => { | ||||
| } | ||||
| // 记住我 | ||||
| const getCookie = () => { | ||||
|   const username = Cookies.get('username') | ||||
|   const password = Cookies.get('password') | ||||
|     ? (decrypt(Cookies.get('password')) as unknown as string) | ||||
|   const username = wsCache.get('username') | ||||
|   const password = wsCache.get('password') | ||||
|     ? (decrypt(wsCache.get('password')) as unknown as string) | ||||
|     : undefined | ||||
|   const rememberMe = Cookies.get('rememberMe') | ||||
|   const tenantName = Cookies.get('tenantName') | ||||
|   const rememberMe = wsCache.get('rememberMe') | ||||
|   const tenantName = wsCache.get('tenantName') | ||||
|   loginData.loginForm = { | ||||
|     ...loginData.loginForm, | ||||
|     username: username ? username : loginData.loginForm.username, | ||||
| @@ -256,17 +257,17 @@ const handleLogin = async (params) => { | ||||
|       background: 'rgba(0, 0, 0, 0.7)' | ||||
|     }) | ||||
|     if (loginData.loginForm.rememberMe) { | ||||
|       Cookies.set('username', loginData.loginForm.username, { expires: 30 }) | ||||
|       Cookies.set('password', encrypt(loginData.loginForm.password as unknown as string), { | ||||
|         expires: 30 | ||||
|       wsCache.set('username', loginData.loginForm.username, { exp: 30 * 24 * 60 * 60 }) | ||||
|       wsCache.set('password', encrypt(loginData.loginForm.password as unknown as string), { | ||||
|         exp: 30 | ||||
|       }) | ||||
|       Cookies.set('rememberMe', loginData.loginForm.rememberMe, { expires: 30 }) | ||||
|       Cookies.set('tenantName', loginData.loginForm.tenantName, { expires: 30 }) | ||||
|       wsCache.set('rememberMe', loginData.loginForm.rememberMe, { exp: 30 * 24 * 60 * 60 }) | ||||
|       wsCache.set('tenantName', loginData.loginForm.tenantName, { exp: 30 * 24 * 60 * 60 }) | ||||
|     } else { | ||||
|       Cookies.remove('username') | ||||
|       Cookies.remove('password') | ||||
|       Cookies.remove('rememberMe') | ||||
|       Cookies.remove('tenantName') | ||||
|       wsCache.delete('username') | ||||
|       wsCache.delete('password') | ||||
|       wsCache.delete('rememberMe') | ||||
|       wsCache.delete('tenantName') | ||||
|     } | ||||
|     setToken(res) | ||||
|     if (!redirect.value) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 xingyu4j
					xingyu4j