mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-07-07 15:45:08 +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