feat(frontend): implement P0 optimization baseline

This commit is contained in:
yml2213
2026-05-15 16:07:04 +08:00
parent 11678a7f83
commit f43cee1ba0
4 changed files with 574 additions and 9 deletions
+24 -3
View File
@@ -33,11 +33,11 @@ export function getAdminRole() {
return role
}
return 'operator'
return 'support'
}
export function hasAdminRole(role: 'admin' | 'operator' | 'support') {
if (!getAdminToken()) {
if (!hasAdminSession()) {
return false
}
@@ -74,5 +74,26 @@ export function clearAdminSession() {
}
export function hasAdminSession() {
return Boolean(getAdminToken())
const token = getAdminToken()
const expiresAt = getAdminTokenExpiresAt()
if (!token) {
return false
}
if (isExpired(expiresAt)) {
clearAdminSession()
return false
}
return true
}
function isExpired(expiresAt: string) {
if (!expiresAt) {
return false
}
const expiresAtMs = Date.parse(expiresAt)
return Number.isFinite(expiresAtMs) && expiresAtMs <= Date.now()
}