chore: initial commit

This commit is contained in:
2026-07-30 17:59:42 +08:00
commit 155f06846d
62 changed files with 7852 additions and 0 deletions
+38
View File
@@ -0,0 +1,38 @@
export const ACCESS_TOKEN_KEY = 'cc-client-access-token'
export const REFRESH_TOKEN_KEY = 'cc-client-refresh-token'
export interface TokenPair {
tokenType: string
accessToken: string
expiresIn: number
refreshToken: string
refreshExpiresIn: number
}
function activeStorage() {
if (localStorage.getItem(ACCESS_TOKEN_KEY)) return localStorage
return sessionStorage
}
export function getAccessToken() {
return localStorage.getItem(ACCESS_TOKEN_KEY) || sessionStorage.getItem(ACCESS_TOKEN_KEY) || ''
}
export function getRefreshToken() {
return localStorage.getItem(REFRESH_TOKEN_KEY) || sessionStorage.getItem(REFRESH_TOKEN_KEY) || ''
}
export function persistTokenPair(tokens: TokenPair, remember?: boolean) {
const storage = remember === undefined ? activeStorage() : remember ? localStorage : sessionStorage
clearSessionTokens()
storage.setItem(ACCESS_TOKEN_KEY, tokens.accessToken)
storage.setItem(REFRESH_TOKEN_KEY, tokens.refreshToken)
}
export function clearSessionTokens() {
for (const storage of [localStorage, sessionStorage]) {
storage.removeItem(ACCESS_TOKEN_KEY)
storage.removeItem(REFRESH_TOKEN_KEY)
storage.removeItem('cc-client-token')
}
}