## P0 三层架构违规修复 (4项) - 创建 SchoolStatsService/TeacherStatsService,移除Controller直接调用Mapper - 修复 AdminCourseController 使用 Service 层方法 - 修复 TeacherCourseController 使用 ClassService 获取班级 - 新增 ClassService.getActiveClassesByTenantId() - 新增 CourseService.createSystemCourse() ## P1 API 路径统一 (8项) 后端路径统一为 /api/v1/admin/*: - AdminCourseController: /api/admin/courses → /api/v1/admin/courses - AdminTenantController: /api/admin/tenants → /api/v1/admin/tenants 前端配置调整: - vite.config.ts: 移除代理重写规则 - src/api/index.ts: baseURL /api/v1 → /api - 更新 admin.ts, lesson.ts, package.ts, theme.ts 使用 /v1/admin/* 路径 ## P2 文档规范更新 (5项) - 更新 CLAUDE.md 前端 API 调用文档 - 新增三种调用方式说明(http/适配层/Orval客户端) - 新增 API 路径规范表格 - 更新前端目录结构说明 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
59 lines
1.2 KiB
TypeScript
59 lines
1.2 KiB
TypeScript
import { http } from './index';
|
|
|
|
export interface Theme {
|
|
id: number;
|
|
name: string;
|
|
description?: string;
|
|
sortOrder: number;
|
|
status: string;
|
|
createdAt: string;
|
|
courses?: {
|
|
id: number;
|
|
name: string;
|
|
coverImagePath?: string;
|
|
}[];
|
|
}
|
|
|
|
export interface CreateThemeData {
|
|
name: string;
|
|
description?: string;
|
|
sortOrder?: number;
|
|
}
|
|
|
|
export interface UpdateThemeData {
|
|
name?: string;
|
|
description?: string;
|
|
sortOrder?: number;
|
|
status?: string;
|
|
}
|
|
|
|
// 获取主题列表
|
|
export function getThemeList() {
|
|
return http.get('/v1/admin/themes');
|
|
}
|
|
|
|
// 获取主题详情
|
|
export function getThemeDetail(id: number) {
|
|
return http.get(`/v1/admin/themes/${id}`);
|
|
}
|
|
|
|
// 创建主题
|
|
export function createTheme(data: CreateThemeData) {
|
|
return http.post('/v1/admin/themes', data);
|
|
}
|
|
|
|
// 更新主题
|
|
export function updateTheme(id: number, data: UpdateThemeData) {
|
|
return http.put(`/v1/admin/themes/${id}`, data);
|
|
}
|
|
|
|
// 删除主题
|
|
export function deleteTheme(id: number) {
|
|
return http.delete(`/v1/admin/themes/${id}`);
|
|
}
|
|
|
|
// 重新排序主题
|
|
export function reorderThemes(ids: number[]) {
|
|
return http.put('/v1/admin/themes/reorder', { ids });
|
|
}
|