feat: 增加角色管理与奖池配置迁移,优化管理端权限与样式

This commit is contained in:
2026-05-19 14:40:04 +08:00
parent d625c59393
commit a1fb163f1b
45 changed files with 1080 additions and 518 deletions

View File

@@ -6,7 +6,9 @@ import type {
AdminAuthCaptchaResponse,
AdminAuthLoginRequest,
AdminAuthLoginResponse,
AdminAuthMeResponse,
} from "@/types/api/admin-auth";
import { adminRequest } from "@/lib/admin-http";
import { API_V1_PREFIX } from "@/api/paths";
@@ -35,3 +37,8 @@ export async function postAdminLogin(
data: body,
});
}
/** `GET /api/v1/admin/auth/me`(需 Token */
export async function getAdminMe(): Promise<AdminAuthMeResponse> {
return adminRequest.get<AdminAuthMeResponse>(`${API_V1_PREFIX}/admin/auth/me`);
}

View File

@@ -4,6 +4,11 @@ import { API_V1_PREFIX } from "./paths";
import type {
AdminPermissionCatalogData,
AdminRoleCreatePayload,
AdminRoleDeleteResult,
AdminRoleListData,
AdminRoleRow,
AdminRoleUpdatePayload,
AdminUserCreatePayload,
AdminUserDeleteResult,
AdminUserPermissionListData,
@@ -29,6 +34,10 @@ export async function getAdminUserPermissionCatalog(): Promise<AdminPermissionCa
return adminRequest.get<AdminPermissionCatalogData>(`${A}/admin-user-permission-catalog`);
}
export async function getAdminRoles(): Promise<AdminRoleListData> {
return adminRequest.get<AdminRoleListData>(`${A}/admin-roles`);
}
export async function getAdminUser(adminUserId: number): Promise<AdminUserPermissionRow> {
return adminRequest.get<AdminUserPermissionRow>(`${A}/admin-users/${adminUserId}`);
}
@@ -48,6 +57,30 @@ export async function deleteAdminUser(adminUserId: number): Promise<AdminUserDel
return adminRequest.delete<AdminUserDeleteResult>(`${A}/admin-users/${adminUserId}`);
}
export async function postAdminRole(body: AdminRoleCreatePayload): Promise<AdminRoleRow> {
return adminRequest.post<AdminRoleRow>(`${A}/admin-roles`, body);
}
export async function putAdminRole(
roleId: number,
body: AdminRoleUpdatePayload,
): Promise<AdminRoleRow> {
return adminRequest.put<AdminRoleRow>(`${A}/admin-roles/${roleId}`, body);
}
export async function deleteAdminRole(roleId: number): Promise<AdminRoleDeleteResult> {
return adminRequest.delete<AdminRoleDeleteResult>(`${A}/admin-roles/${roleId}`);
}
export async function putAdminRolePermissions(
roleId: number,
permissionSlugs: string[],
): Promise<AdminRoleRow> {
return adminRequest.put<AdminRoleRow>(`${A}/admin-roles/${roleId}/permissions`, {
permission_slugs: permissionSlugs,
});
}
export async function putAdminUserPermissions(
adminUserId: number,
permissionSlugs: string[],

View File

@@ -1,7 +1,7 @@
export { API_V1_PREFIX } from "@/api/paths";
export { getDrawCurrent } from "@/api/public-draw";
export { getAdminRiskPools } from "@/api/admin-risk";
export { getAdminCaptcha, postAdminLogin } from "@/api/admin-auth";
export { getAdminCaptcha, getAdminMe, postAdminLogin } from "@/api/admin-auth";
export { getAdminPing } from "@/api/admin-ping";
export {
getAdminPlayerWallets,
@@ -27,5 +27,6 @@ export type {
AdminAuthCaptchaResponse,
AdminAuthLoginRequest,
AdminAuthLoginResponse,
AdminAuthMeResponse,
AdminPingResponse,
} from "@/types/api";