|
|
@@ -1,26 +1,39 @@
|
|
|
-const TOKEN_KEY = 'Admin-Token'
|
|
|
-const REFRESH_TOKEN_KEY = 'Admin-Refresh-Token'
|
|
|
+const TOKEN_KEY = 'token'
|
|
|
|
|
|
-export function getToken(): string | null {
|
|
|
- return localStorage.getItem(TOKEN_KEY)
|
|
|
+/**
|
|
|
+ * 获取 cookie 值
|
|
|
+ */
|
|
|
+function getCookie(name: string): string | null {
|
|
|
+ const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'))
|
|
|
+ return match ? decodeURIComponent(match[2]) : null
|
|
|
}
|
|
|
|
|
|
-export function setToken(token: string): void {
|
|
|
- localStorage.setItem(TOKEN_KEY, token)
|
|
|
+/**
|
|
|
+ * 设置 cookie
|
|
|
+ * @param name cookie 名称
|
|
|
+ * @param value cookie 值
|
|
|
+ * @param expiresIn 过期时间(秒),默认 1 天
|
|
|
+ */
|
|
|
+function setCookie(name: string, value: string, expiresIn: number = 86400): void {
|
|
|
+ const expires = new Date(Date.now() + expiresIn * 1000).toUTCString()
|
|
|
+ document.cookie = `${name}=${encodeURIComponent(value)}; expires=${expires}; path=/; SameSite=Lax`
|
|
|
}
|
|
|
|
|
|
-export function removeToken(): void {
|
|
|
- localStorage.removeItem(TOKEN_KEY)
|
|
|
+/**
|
|
|
+ * 删除 cookie
|
|
|
+ */
|
|
|
+function removeCookie(name: string): void {
|
|
|
+ document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/`
|
|
|
}
|
|
|
|
|
|
-export function getRefreshToken(): string | null {
|
|
|
- return localStorage.getItem(REFRESH_TOKEN_KEY)
|
|
|
+export function getToken(): string | null {
|
|
|
+ return getCookie(TOKEN_KEY)
|
|
|
}
|
|
|
|
|
|
-export function setRefreshToken(token: string): void {
|
|
|
- localStorage.setItem(REFRESH_TOKEN_KEY, token)
|
|
|
+export function setToken(token: string, expiresIn: number = 86400): void {
|
|
|
+ setCookie(TOKEN_KEY, token, expiresIn)
|
|
|
}
|
|
|
|
|
|
-export function removeRefreshToken(): void {
|
|
|
- localStorage.removeItem(REFRESH_TOKEN_KEY)
|
|
|
+export function removeToken(): void {
|
|
|
+ removeCookie(TOKEN_KEY)
|
|
|
}
|