- 新增AdminUser类型定义及用户管理API接口 - 实现用户列表查询、保存和删除功能 - 添加Linux.do第三方登录支持 - 集成Linux.do OAuth认证流程 - 在系统设置中添加Linux.do登录配置选项 - 实现算力点余额调整记录功能 - 优化搜索组件关键词状态管理 - 更新数据库迁移添加credit_logs表 - 完善用户状态和信用等级验证逻辑
39 lines
884 B
TypeScript
39 lines
884 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;
|
|
displayName: string;
|
|
avatarUrl: string;
|
|
role: UserRole;
|
|
credits: number;
|
|
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/auth/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);
|
|
}
|