feat: scaffold taro h5 frontends

This commit is contained in:
Codex
2026-06-29 11:40:32 +08:00
parent f74db433cc
commit c090008f52
40 changed files with 18033 additions and 16 deletions

View File

@@ -0,0 +1,32 @@
import { apiRequest } from './api';
export interface ContentEntry {
id: string;
name: string;
entryType?: string;
route?: string;
icon?: string;
sortOrder?: number;
}
export interface DashboardSnapshot {
entries: ContentEntry[];
banners: unknown[];
announcements: unknown[];
profile: unknown | null;
}
export async function loadStudentDashboard(regionId?: string): Promise<DashboardSnapshot> {
const [entries, banners, announcements, profile] = await Promise.all([
apiRequest<{ items?: ContentEntry[] }>('/api/catalog/content-entries', { query: { regionId } }),
apiRequest<{ items?: unknown[] }>('/api/catalog/banners'),
apiRequest<{ items?: unknown[] }>('/api/catalog/announcements'),
apiRequest<{ item?: unknown }>('/api/profile/me').catch(() => ({ item: null })),
]);
return {
entries: entries.items || [],
banners: banners.items || [],
announcements: announcements.items || [],
profile: profile.item || null,
};
}