- 统一调整 admin.ts 文件中的接口定义缩进格式 - 优化 animated-theme-toggler.tsx 组件的代码结构和缩进 - 规范 app-config-modal.tsx 中 JSX 元素的嵌套格式 - 整理 app-providers.tsx 中的组件层级缩进 - 标准化 app-theme.ts 中的对象属性缩进格式
36 lines
816 B
TypeScript
36 lines
816 B
TypeScript
import { apiGet, apiPost } from "@/services/api/request";
|
|
|
|
export const AUTH_TOKEN_KEY = "infinite-canvas-auth-token-v1";
|
|
|
|
export type UserRole = "guest" | "user" | "admin";
|
|
|
|
export type AuthUser = {
|
|
id: string;
|
|
username: string;
|
|
role: UserRole;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
};
|
|
|
|
export type AuthSession = {
|
|
token: string;
|
|
user: AuthUser;
|
|
};
|
|
|
|
export type AuthPayload = {
|
|
username: string;
|
|
password: string;
|
|
};
|
|
|
|
export async function login(payload: AuthPayload) {
|
|
return apiPost<AuthSession>("/api/admin/login", payload);
|
|
}
|
|
|
|
export async function register(payload: AuthPayload) {
|
|
return apiPost<AuthSession>("/api/auth/register", payload);
|
|
}
|
|
|
|
export async function fetchCurrentUser(token?: string) {
|
|
return apiGet<AuthUser>("/api/auth/me", undefined, token);
|
|
}
|