feat: 新增皮肤站管理控制台框架
Sync source to CNB / Sync Git ref (push) Skipped

This commit is contained in:
AxTps committed 2026-10-17 22:21:03 +08:00
1 parent a4615c7b73
commit 77258eee9d
6 files changed
+265 -7

No files matched your search

@@ -19,7 +19,7 @@ import { fetchImageAsDataUrl, renderSkinHead } from '@/helpers/skin-site-render'
export const SKIN_SITE_ORIGIN = 'https://skin.starlight.cool'
export type SkinSiteUser = { uuid: string; username: string }
export type SkinSiteUser = { uuid: string; username: string; permissions: string[] }
export type SkinSiteStatus = 'checking' | 'signed-out' | 'signed-in' | 'error'
export type SkinSitePlayer = {
uuid: string
@@ -46,7 +46,11 @@ export const skinSitePlayersStatus = readonly(playersStatus)
export const selectedSkinSitePlayerId = readonly(selectedPlayerId)
function toUser(raw: ApiSkinSiteUser): SkinSiteUser {
return { uuid: raw.uuid, username: raw.username }
return {
uuid: raw.uuid,
username: raw.username,
permissions: Array.isArray(raw.permissions) ? raw.permissions : [],
}
}
function clearSessionState() {
@@ -111,7 +115,7 @@ export async function signInSkinSite(payload: {
status.value = 'signed-in'
void requestSkinSitePlayers().catch(() => {})
} else {
user.value = { uuid: '', username: result.payload.username }
user.value = { uuid: '', username: result.payload.username, permissions: [] }
status.value = 'signed-in'
}
}