library-picturebook-activity/java-frontend/src/api/classes.ts
En 48fc71b41d fix: 前后端接口对齐修复
- 修复 sys-config 接口参数对齐(configKey/configValue)
- 添加 dict 字典项管理 API
- 修复 logs 接口参数格式(批量删除/清理日志)
- 添加 request.ts postForm/putForm 方法支持

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-28 18:53:24 +08:00

92 lines
2.0 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import request from "@/utils/request";
import type { PaginationParams, PaginationResponse } from "@/types/api";
export interface Class {
id: number;
tenantId: number;
gradeId: number;
name: string;
code: string;
type: number; // 1-行政班级2-兴趣班
capacity?: number;
description?: string;
validState: number;
creator?: number;
modifier?: number;
createTime?: string;
modifyTime?: string;
grade?: {
id: number;
name: string;
code: string;
level: number;
};
_count?: {
students: number;
studentInterestClasses: number;
};
}
export interface CreateClassForm {
gradeId: number;
name: string;
code: string;
type: number;
capacity?: number;
description?: string;
}
export interface UpdateClassForm {
gradeId?: number;
name?: string;
code?: string;
type?: number;
capacity?: number;
description?: string;
}
// 获取班级列表
export async function getClassesList(
params: PaginationParams & { gradeId?: number; type?: number }
): Promise<PaginationResponse<Class>> {
const response = await request.get<any, PaginationResponse<Class>>("/classes", {
params,
});
return response;
}
// 获取单个班级详情
export async function getClassDetail(id: number): Promise<Class> {
const response = await request.get<any, Class>(`/classes/${id}`);
return response;
}
// 创建班级
export async function createClass(data: CreateClassForm): Promise<Class> {
const response = await request.post<any, Class>("/classes", data);
return response;
}
// 更新班级
export async function updateClass(
id: number,
data: UpdateClassForm
): Promise<Class> {
const response = await request.patch<any, Class>(`/classes/${id}`, data);
return response;
}
// 删除班级
export async function deleteClass(id: number): Promise<void> {
return await request.delete<any, void>(`/classes/${id}`);
}
export const classesApi = {
getList: getClassesList,
getDetail: getClassDetail,
create: createClass,
update: updateClass,
delete: deleteClass,
};