kindergarten_java/reading-platform-frontend/src/api/theme.ts
zhonghua 40782a8905 feat(theme): 主题字典颜色、课程主题 Tag 展示与列表数据规范化
- 后端:theme 表增加 color 字段;主题创建/更新/课程响应返回 themeColor
- 前端:主题管理页颜色选择器与列表;管理端课程列表与详情主题 Tag
- 课程中心/课程包卡片展示主题 Tag,course-center 规范化接口字段
- 隐藏管理端课程配置列与筛选;课程详情关联主题使用 themeName/color

Made-with: Cursor
2026-03-24 15:11:40 +08:00

62 lines
1.2 KiB
TypeScript

import { http } from './index';
export interface Theme {
id: number;
name: string;
description?: string;
color?: string;
sortOrder: number;
status: string;
createdAt: string;
courses?: {
id: number;
name: string;
coverImagePath?: string;
}[];
}
export interface CreateThemeData {
name: string;
description?: string;
color?: string;
sortOrder?: number;
}
export interface UpdateThemeData {
name?: string;
description?: string;
color?: 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 });
}