修复 v4 报告中的 13 个产品体验问题:新增用户管理列表页和系统设置页,重组导航菜单并补充缺失入口,增加角色切换机制,Dashboard 增加快捷操作和 recharts 趋势图表,考勤增加统计概览,排课增加课表网格视图,统一 Toast 操作反馈,同步更新架构文档
50 lines
1.8 KiB
TypeScript
50 lines
1.8 KiB
TypeScript
import "server-only"
|
|
|
|
import { cache } from "react"
|
|
|
|
import { getClassesDashboardStats } from "@/modules/classes/data-access"
|
|
import { getExamsDashboardStats } from "@/modules/exams/data-access"
|
|
import { getHomeworkDashboardStats } from "@/modules/homework/stats-service"
|
|
import { getQuestionsDashboardStats } from "@/modules/questions/data-access"
|
|
import { getTextbooksDashboardStats } from "@/modules/textbooks/data-access"
|
|
import { getUsersDashboardStats } from "@/modules/users/data-access"
|
|
import type { DataScope } from "@/shared/types/permissions"
|
|
|
|
import type { AdminDashboardData } from "./types"
|
|
|
|
export const getAdminDashboardData = cache(async (scope?: DataScope): Promise<AdminDashboardData> => {
|
|
const [
|
|
usersStats,
|
|
classesStats,
|
|
textbooksStats,
|
|
questionsStats,
|
|
examsStats,
|
|
homeworkStats,
|
|
] = await Promise.all([
|
|
getUsersDashboardStats(),
|
|
getClassesDashboardStats(),
|
|
getTextbooksDashboardStats(),
|
|
getQuestionsDashboardStats(),
|
|
getExamsDashboardStats(scope),
|
|
getHomeworkDashboardStats(scope),
|
|
])
|
|
|
|
return {
|
|
activeSessionsCount: usersStats.activeSessionsCount,
|
|
userCount: usersStats.userCount,
|
|
userRoleCounts: usersStats.userRoleCounts,
|
|
classCount: classesStats.classCount,
|
|
textbookCount: textbooksStats.textbookCount,
|
|
chapterCount: textbooksStats.chapterCount,
|
|
questionCount: questionsStats.questionCount,
|
|
examCount: examsStats.examCount,
|
|
homeworkAssignmentCount: homeworkStats.homeworkAssignmentCount,
|
|
homeworkAssignmentPublishedCount: homeworkStats.homeworkAssignmentPublishedCount,
|
|
homeworkSubmissionCount: homeworkStats.homeworkSubmissionCount,
|
|
homeworkSubmissionToGradeCount: homeworkStats.homeworkSubmissionToGradeCount,
|
|
recentUsers: usersStats.recentUsers,
|
|
userGrowth: [],
|
|
homeworkTrend: [],
|
|
}
|
|
})
|