import { http } from './http' import { parseCurrentUser, parseMenuTree } from './session-model' import type { AdminMenuNode, AdminUser, ApiEnvelope } from '../types/admin' export async function fetchCurrentUser(): Promise { const { data } = await http.get | AdminUser>('/api/admin/current-user') return parseCurrentUser(data) } export async function fetchAdminMenuTree(): Promise { const { data } = await http.get< ApiEnvelope<{ items: AdminMenuNode[] }> | { items: AdminMenuNode[] } | AdminMenuNode[] >('/api/admin/current-user/menus') return parseMenuTree(data) } export async function logout(): Promise { // 登出走 auth 模块根端点 POST /logout(下发清除会话 cookie);旧 api/admin 前缀路径后端无映射。 await http.post('/logout', undefined, { headers: { 'X-Requested-With': 'XMLHttpRequest' } }) }