半自动+人工”链路已经落下第一版

This commit is contained in:
yml
2026-04-12 19:07:51 +08:00
parent 4c98b78267
commit 75647e9eed
24 changed files with 711 additions and 93 deletions
+18 -8
View File
@@ -4,6 +4,12 @@ const ADMIN_USER_ID_KEY = 'order-site-admin-user-id'
const ADMIN_USERNAME_KEY = 'order-site-admin-username'
const ADMIN_ROLE_KEY = 'order-site-admin-role'
const ADMIN_ROLE_LEVEL: Record<'support' | 'operator' | 'admin', number> = {
support: 1,
operator: 2,
admin: 3,
}
export function getAdminToken() {
return localStorage.getItem(ADMIN_TOKEN_KEY) || ''
}
@@ -23,21 +29,25 @@ export function getAdminUsername() {
export function getAdminRole() {
const role = localStorage.getItem(ADMIN_ROLE_KEY)
return role === 'admin' ? 'admin' : 'operator'
}
export function hasAdminRole(role: 'admin' | 'operator') {
if (role === 'operator') {
return Boolean(getAdminToken())
if (role === 'admin' || role === 'operator' || role === 'support') {
return role
}
return getAdminRole() === 'admin'
return 'operator'
}
export function hasAdminRole(role: 'admin' | 'operator' | 'support') {
if (!getAdminToken()) {
return false
}
return ADMIN_ROLE_LEVEL[getAdminRole()] >= ADMIN_ROLE_LEVEL[role]
}
export function setAdminSession(
token: string,
expiresAt: string,
user?: { userId: number; username: string; role: 'admin' | 'operator' },
user?: { userId: number; username: string; role: 'admin' | 'operator' | 'support' },
) {
localStorage.setItem(ADMIN_TOKEN_KEY, token)
localStorage.setItem(ADMIN_EXPIRES_AT_KEY, expiresAt)
+1
View File
@@ -57,6 +57,7 @@ export const adminUserRoleOptions = [
{ label: '全部', value: '' },
{ label: '管理员', value: 'admin' },
{ label: '普通运营', value: 'operator' },
{ label: '客服', value: 'support' },
]
export const adminUserStatusOptions = [