fix(app): Phase 1.1 紧急修复 — SyncEngine 接入 + authorId + catch 异常处理
- feat(sync): SyncEngine 接入 EditorPage, 保存时 enqueue + 网络恢复自动 trySync - fix(editor): authorId 从 AuthBloc 获取, 替代硬编码 'local' - fix(bloc): class_bloc/calendar/profile/parent catch(_).全部改为 debugPrint - feat(editor): 编辑器工具栏拆分 (brush_panel/tag_panel/text_format_bar/dot_grid_painter) - feat(editor): EditorBloc 扩展 + EditorPage 增强 - feat(search): SearchBloc 扩展搜索功能 - feat(home): HomeBloc/HomePage 增强 - feat(auth): LoginPage 增强 - feat(templates): TemplateGalleryPage 重构 - fix(web): 管理端班级/日记页面修复 - fix(server): comment_service + theme_handler 修复 - docs: 添加全链路审计报告和验证截图
This commit is contained in:
@@ -2,9 +2,18 @@ import client from '../client';
|
||||
import type { SchoolClass, CreateClassReq, ClassMember, PaginatedResponse } from './types';
|
||||
|
||||
export const classApi = {
|
||||
/** 班级列表 — 后端返回纯数组,前端转换为 PaginatedResponse 格式 */
|
||||
list: (params?: { page?: number; page_size?: number }) =>
|
||||
client.get<{ success: boolean; data: PaginatedResponse<SchoolClass> }>('/diary/classes', { params })
|
||||
.then((r) => r.data.data),
|
||||
client.get<{ success: boolean; data: SchoolClass[] }>('/diary/classes', { params })
|
||||
.then((r) => {
|
||||
const raw = r.data.data;
|
||||
// 后端返回纯数组,包装为分页格式
|
||||
if (Array.isArray(raw)) {
|
||||
return { data: raw, total: raw.length, page: params?.page ?? 1, page_size: params?.page_size ?? 20 } as PaginatedResponse<SchoolClass>;
|
||||
}
|
||||
// 兼容:如果后端已升级为分页格式
|
||||
return raw as unknown as PaginatedResponse<SchoolClass>;
|
||||
}),
|
||||
|
||||
myClasses: () =>
|
||||
client.get<{ success: boolean; data: SchoolClass[] }>('/diary/classes/my')
|
||||
|
||||
Reference in New Issue
Block a user