feat(diagnostic): refactor services with monitor and context providers
- Update default-diagnostic-service.ts - Update diagnostic-monitor-context.tsx - Update diagnostic-service-context.tsx - Update monitored-diagnostic-service.ts - Update teacher diagnostic page
This commit is contained in:
@@ -8,12 +8,9 @@ import { ReportList } from "@/modules/diagnostic/components/report-list"
|
||||
import {
|
||||
DiagnosticServiceProvider,
|
||||
} from "@/modules/diagnostic/services/diagnostic-service-context"
|
||||
import { defaultDiagnosticService } from "@/modules/diagnostic/services/default-diagnostic-service"
|
||||
import { createMonitoredDiagnosticService } from "@/modules/diagnostic/services/monitored-diagnostic-service"
|
||||
import {
|
||||
DiagnosticMonitorProvider,
|
||||
} from "@/modules/diagnostic/services/diagnostic-monitor-context"
|
||||
import { noopDiagnosticMonitor } from "@/modules/diagnostic/services/diagnostic-monitor"
|
||||
import type { DiagnosticReportType, DiagnosticReportStatus } from "@/modules/diagnostic/types"
|
||||
|
||||
export const dynamic = "force-dynamic"
|
||||
@@ -64,11 +61,8 @@ export default async function TeacherDiagnosticPage({
|
||||
// v2-P2-2: 移除客户端 filter,DataScope 过滤已在 data-access 层完成
|
||||
// class_members scope 的学生已通过 filters.studentId 在 data-access 层过滤
|
||||
|
||||
// v2-P2-7: 包装默认服务以添加监控埋点(默认 no-op,生产环境可注入真实实现)
|
||||
const monitoredService = createMonitoredDiagnosticService(
|
||||
defaultDiagnosticService,
|
||||
noopDiagnosticMonitor,
|
||||
)
|
||||
// v2-P2-7: service 组装移至 DiagnosticServiceProvider(客户端),
|
||||
// 避免 server component 创建含函数的对象传给 client component。
|
||||
|
||||
return (
|
||||
<div className="h-full flex-1 flex-col space-y-8 p-8 md:flex">
|
||||
@@ -78,8 +72,8 @@ export default async function TeacherDiagnosticPage({
|
||||
{t("title.teacherReportListDesc")}
|
||||
</p>
|
||||
</div>
|
||||
<DiagnosticMonitorProvider monitor={noopDiagnosticMonitor}>
|
||||
<DiagnosticServiceProvider service={monitoredService}>
|
||||
<DiagnosticMonitorProvider>
|
||||
<DiagnosticServiceProvider>
|
||||
<ReportList reports={reports.reports} />
|
||||
</DiagnosticServiceProvider>
|
||||
</DiagnosticMonitorProvider>
|
||||
|
||||
Reference in New Issue
Block a user