<DialogProvider scope={{Dialog:[...]}} triggerRef={{current:null}} contentRef={{current:null}} ...>
<Primitive.button type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.Slot type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.SlotClone type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Button variant="outline" size="sm" type="button" aria-haspopup="dialog" ...>
<button
data-slot="button"
className={"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm..."}
type="button"
aria-haspopup="dialog"
aria-expanded={false}
归档
...
<LessonPlanCard plan={{id:"p54vt8...", ...}} viewMode="teacher">
<div className="border bor...">
<LinkComponent>
<div>
<div>
<div>
<div className="flex gap-2...">
<Button>
<AlertDialog>
<Dialog __scopeDialog={{Dialog:[...]}} modal={true}>
<DialogProvider scope={{Dialog:[...]}} triggerRef={{current:null}} contentRef={{current:null}} ...>
<AlertDialogTrigger asChild={true}>
<DialogTrigger __scopeDialog={{Dialog:[...]}} asChild={true} ref={null}>
<Primitive.button type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.Slot type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.SlotClone type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Button variant="outline" size="sm" type="button" aria-haspopup="dialog" ...>
<button
data-slot="button"
className={"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm..."}
type="button"
aria-haspopup="dialog"
aria-expanded={false}
aria-controls="radix-_R_1a5qatpesndubn6lb_"
归档
...
<LessonPlanCard plan={{id:"ps8rrh...", ...}} viewMode="teacher">
<div className="border bor...">
<LinkComponent>
<div>
<div>
<div>
<div className="flex gap-2...">
<Button>
<AlertDialog>
<Dialog __scopeDialog={{Dialog:[...]}} modal={true}>
<DialogProvider scope={{Dialog:[...]}} triggerRef={{current:null}} contentRef={{current:null}} ...>
<AlertDialogTrigger asChild={true}>
<DialogTrigger __scopeDialog={{Dialog:[...]}} asChild={true} ref={null}>
<Primitive.button type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.Slot type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.SlotClone type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Button variant="outline" size="sm" type="button" aria-haspopup="dialog" ...>
<button
data-slot="button"
className={"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm..."}
type="button"
aria-haspopup="dialog"
aria-expanded={false}
aria-controls="radix-_R_1a7qatpesndubn6lb_"
归档
...
<LessonPlanCard plan={{id:"zpeysv...", ...}} viewMode="teacher">
<div className="border bor...">
<LinkComponent>
<div>
<div>
<div>
<div className="flex gap-2...">
<Button>
<AlertDialog>
<Dialog __scopeDialog={{Dialog:[...]}} modal={true}>
<DialogProvider scope={{Dialog:[...]}} triggerRef={{current:null}} contentRef={{current:null}} ...>
<AlertDialogTrigger asChild={true}>
<DialogTrigger __scopeDialog={{Dialog:[...]}} asChild={true} ref={null}>
<Primitive.button type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.Slot type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.SlotClone type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Button variant="outline" size="sm" type="button" aria-haspopup="dialog" ...>
<button
data-slot="button"
className={"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm..."}
type="button"
aria-haspopup="dialog"
aria-expanded={false}
aria-controls="radix-_R_1a9qatpesndubn6lb_"
归档
...
<LessonPlanCard plan={{id:"gpqmy3...", ...}} viewMode="teacher">
<div className="border bor...">
<LinkComponent>
<div>
<div>
<div>
<div className="flex gap-2...">
<Button>
<AlertDialog>
<Dialog __scopeDialog={{Dialog:[...]}} modal={true}>
<DialogProvider scope={{Dialog:[...]}} triggerRef={{current:null}} contentRef={{current:null}} ...>
<AlertDialogTrigger asChild={true}>
<DialogTrigger __scopeDialog={{Dialog:[...]}} asChild={true} ref={null}>
<Primitive.button type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.Slot type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.SlotClone type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Button variant="outline" size="sm" type="button" aria-haspopup="dialog" ...>
<button
data-slot="button"
className={"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm..."}
type="button"
aria-haspopup="dialog"
aria-expanded={false}
aria-controls="radix-_R_1abqatpesndubn6lb_"
归档
...
<LessonPlanCard plan={{id:"b89r2i...", ...}} viewMode="teacher">
<div className="border bor...">
<LinkComponent>
<div>
<div>
<div>
<div className="flex gap-2...">
<Button>
<AlertDialog>
<Dialog __scopeDialog={{Dialog:[...]}} modal={true}>
<DialogProvider scope={{Dialog:[...]}} triggerRef={{current:null}} contentRef={{current:null}} ...>
<AlertDialogTrigger asChild={true}>
<DialogTrigger __scopeDialog={{Dialog:[...]}} asChild={true} ref={null}>
<Primitive.button type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.Slot type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.SlotClone type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Button variant="outline" size="sm" type="button" aria-haspopup="dialog" ...>
<button
data-slot="button"
className={"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm..."}
type="button"
aria-haspopup="dialog"
aria-expanded={false}
aria-controls="radix-_R_1adqatpesndubn6lb_"
归档
...
<LessonPlanCard plan={{id:"rp33u1...", ...}} viewMode="teacher">
<div className="border bor...">
<LinkComponent>
<div>
<div>
<div>
<div className="flex gap-2...">
<Button>
<AlertDialog>
<Dialog __scopeDialog={{Dialog:[...]}} modal={true}>
<DialogProvider scope={{Dialog:[...]}} triggerRef={{current:null}} contentRef={{current:null}} ...>
<AlertDialogTrigger asChild={true}>
<DialogTrigger __scopeDialog={{Dialog:[...]}} asChild={true} ref={null}>
<Primitive.button type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.Slot type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.SlotClone type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Button variant="outline" size="sm" type="button" aria-haspopup="dialog" ...>
<button
data-slot="button"
className={"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm..."}
type="button"
aria-haspopup="dialog"
aria-expanded={false}
aria-controls="radix-_R_1afqatpesndubn6lb_"
归档
...
<LessonPlanCard plan={{id:"w4a90p...", ...}} viewMode="teacher">
<div className="border bor...">
<LinkComponent>
<div>
<div>
<div>
<div className="flex gap-2...">
<Button>
<AlertDialog>
<Dialog __scopeDialog={{Dialog:[...]}} modal={true}>
<DialogProvider scope={{Dialog:[...]}} triggerRef={{current:null}} contentRef={{current:null}} ...>
<AlertDialogTrigger asChild={true}>
<DialogTrigger __scopeDialog={{Dialog:[...]}} asChild={true} ref={null}>
<Primitive.button type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.Slot type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.SlotClone type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Button variant="outline" size="sm" type="button" aria-haspopup="dialog" ...>
<button
data-slot="button"
className={"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm..."}
type="button"
aria-haspopup="dialog"
aria-expanded={false}
aria-controls="radix-_R_1ahqatpesndubn6lb_"
归档
...
<LessonPlanCard plan={{id:"dt0qjt...", ...}} viewMode="teacher">
<div className="border bor...">
<LinkComponent>
<div>
<div>
<div>
<div className="flex gap-2...">
<Button>
<AlertDialog>
<Dialog __scopeDialog={{Dialog:[...]}} modal={true}>
<DialogProvider scope={{Dialog:[...]}} triggerRef={{current:null}} contentRef={{current:null}} ...>
<AlertDialogTrigger asChild={true}>
<DialogTrigger __scopeDialog={{Dialog:[...]}} asChild={true} ref={null}>
<Primitive.button type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.Slot type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.SlotClone type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Button variant="outline" size="sm" type="button" aria-haspopup="dialog" ...>
<button
data-slot="button"
className={"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm..."}
type="button"
aria-haspopup="dialog"
aria-expanded={false}
aria-controls="radix-_R_1ajqatpesndubn6lb_"
归档
...
<LessonPlanCard plan={{id:"wkama4...", ...}} viewMode="teacher">
<div className="border bor...">
<LinkComponent>
<div>
<div>
<div>
<div className="flex gap-2...">
<Button>
<AlertDialog>
<Dialog __scopeDialog={{Dialog:[...]}} modal={true}>
<DialogProvider scope={{Dialog:[...]}} triggerRef={{current:null}} contentRef={{current:null}} ...>
<AlertDialogTrigger asChild={true}>
<DialogTrigger __scopeDialog={{Dialog:[...]}} asChild={true} ref={null}>
<Primitive.button type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.Slot type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.SlotClone type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Button variant="outline" size="sm" type="button" aria-haspopup="dialog" ...>
<button
data-slot="button"
className={"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm..."}
type="button"
aria-haspopup="dialog"
aria-expanded={false}
aria-controls="radix-_R_1alqatpesndubn6lb_"
归档
...
<LessonPlanCard plan={{id:"hnkmjz...", ...}} viewMode="teacher">
<div className="border bor...">
<LinkComponent>
<div>
<div>
<div>
<div className="flex gap-2...">
<Button>
<AlertDialog>
<Dialog __scopeDialog={{Dialog:[...]}} modal={true}>
<DialogProvider scope={{Dialog:[...]}} triggerRef={{current:null}} contentRef={{current:null}} ...>
<AlertDialogTrigger asChild={true}>
<DialogTrigger __scopeDialog={{Dialog:[...]}} asChild={true} ref={null}>
<Primitive.button type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.Slot type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.SlotClone type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Button variant="outline" size="sm" type="button" aria-haspopup="dialog" ...>
<button
data-slot="button"
className={"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm..."}
type="button"
aria-haspopup="dialog"
aria-expanded={false}
aria-controls="radix-_R_1anqatpesndubn6lb_"
归档
...
<LessonPlanCard plan={{id:"k43bo4...", ...}} viewMode="teacher">
<div className="border bor...">
<LinkComponent>
<div>
<div>
<div>
<div className="flex gap-2...">
<Button>
<AlertDialog>
<Dialog __scopeDialog={{Dialog:[...]}} modal={true}>
<DialogProvider scope={{Dialog:[...]}} triggerRef={{current:null}} contentRef={{current:null}} ...>
<AlertDialogTrigger asChild={true}>
<DialogTrigger __scopeDialog={{Dialog:[...]}} asChild={true} ref={null}>
<Primitive.button type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.Slot type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.SlotClone type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Button variant="outline" size="sm" type="button" aria-haspopup="dialog" ...>
<button
data-slot="button"
className={"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm..."}
type="button"
aria-haspopup="dialog"
aria-expanded={false}
aria-controls="radix-_R_1apqatpesndubn6lb_"
归档
...
<LessonPlanCard plan={{id:"kiret3...", ...}} viewMode="teacher">
<div className="border bor...">
<LinkComponent>
<div>
<div>
<div>
<div className="flex gap-2...">
<Button>
<AlertDialog>
<Dialog __scopeDialog={{Dialog:[...]}} modal={true}>
<DialogProvider scope={{Dialog:[...]}} triggerRef={{current:null}} contentRef={{current:null}} ...>
<AlertDialogTrigger asChild={true}>
<DialogTrigger __scopeDialog={{Dialog:[...]}} asChild={true} ref={null}>
<Primitive.button type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.Slot type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.SlotClone type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Button variant="outline" size="sm" type="button" aria-haspopup="dialog" ...>
<button
data-slot="button"
className={"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm..."}
type="button"
aria-haspopup="dialog"
aria-expanded={false}
aria-controls="radix-_R_1arqatpesndubn6lb_"
归档
...
<LessonPlanCard plan={{id:"q8bl25...", ...}} viewMode="teacher">
<div className="border bor...">
<LinkComponent>
<div>
<div>
<div>
<div className="flex gap-2...">
<Button>
<AlertDialog>
<Dialog __scopeDialog={{Dialog:[...]}} modal={true}>
<DialogProvider scope={{Dialog:[...]}} triggerRef={{current:null}} contentRef={{current:null}} ...>
<AlertDialogTrigger asChild={true}>
<DialogTrigger __scopeDialog={{Dialog:[...]}} asChild={true} ref={null}>
<Primitive.button type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.Slot type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.SlotClone type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Button variant="outline" size="sm" type="button" aria-haspopup="dialog" ...>
<button
data-slot="button"
className={"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm..."}
type="button"
aria-haspopup="dialog"
aria-expanded={false}
aria-controls="radix-_R_1atqatpesndubn6lb_"
归档
...
<LessonPlanCard plan={{id:"jn8to5...", ...}} viewMode="teacher">
<div className="border bor...">
<LinkComponent>
<div>
<div>
<div>
<div className="flex gap-2...">
<Button>
<AlertDialog>
<Dialog __scopeDialog={{Dialog:[...]}} modal={true}>
<DialogProvider scope={{Dialog:[...]}} triggerRef={{current:null}} contentRef={{current:null}} ...>
<AlertDialogTrigger asChild={true}>
<DialogTrigger __scopeDialog={{Dialog:[...]}} asChild={true} ref={null}>
<Primitive.button type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.Slot type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.SlotClone type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Button variant="outline" size="sm" type="button" aria-haspopup="dialog" ...>
<button
data-slot="button"
className={"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm..."}
type="button"
aria-haspopup="dialog"
aria-expanded={false}
aria-controls="radix-_R_1avqatpesndubn6lb_"
归档
...
<LessonPlanCard plan={{id:"wdqlzc...", ...}} viewMode="teacher">
<div className="border bor...">
<LinkComponent>
<div>
<div>
<div>
<div className="flex gap-2...">
<Button>
<AlertDialog>
<Dialog __scopeDialog={{Dialog:[...]}} modal={true}>
<DialogProvider scope={{Dialog:[...]}} triggerRef={{current:null}} contentRef={{current:null}} ...>
<AlertDialogTrigger asChild={true}>
<DialogTrigger __scopeDialog={{Dialog:[...]}} asChild={true} ref={null}>
<Primitive.button type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.Slot type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.SlotClone type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Button variant="outline" size="sm" type="button" aria-haspopup="dialog" ...>
<button
data-slot="button"
className={"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm..."}
type="button"
aria-haspopup="dialog"
aria-expanded={false}
aria-controls="radix-_R_1b1qatpesndubn6lb_"
|
| PASS /teacher/lesson-plans/new | 200 | passed | - |
Attendance
页面
HTTP状态
结果
备注
PASS /teacher/attendance
200
passed
-
PASS /teacher/attendance/sheet
200
passed
-
PASS /teacher/attendance/stats
200
passed
-
Schedule Changes
页面
HTTP状态
结果
备注
FAIL /teacher/schedule-changes
500
failed
错误: HTTP 500 error; Failed to load resource: the server responded with a status of 500 (Internal Server Error)
Diagnostic
页面
HTTP状态
结果
备注
PASS /teacher/diagnostic
200
passed
错误: %o
%s Error: Failed query: select id, student_id, generated_by, class_id, report_type, period, summary, strengths, weaknesses, recommendations, overall_score, report_status, created_at, updated_at from learning_diagnostic_reports order by learning_diagnostic_reports.created_at desc limit ?
params: 100
at (about://React/Server/E:%5CDesktop%5CCICD%5C.next%5Cdev%5Cserver%5Cchunks%5Cssr%5C%5Broot-of-the-server%5D__520e8e85..js?69:11677:31)
at TeacherDiagnosticPage (about://React/Server/E:%5CDesktop%5CCICD%5C.next%5Cdev%5Cserver%5Cchunks%5Cssr%5C%5Broot-of-the-server%5D__c5e083b6. .js?70:138:21)
at resolveErrorDev (http://localhost:3000/next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_9212ccad. .js:1882:148)
at processFullStringRow (http://localhost:3000/next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_9212ccad. .js:2390:29)
at processFullBinaryRow (http://localhost:3000/next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_9212ccad. .js:2349:9)
at processBinaryChunk (http://localhost:3000/next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_9212ccad. .js:2459:98)
at progress (http://localhost:3000/next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_9212ccad. .js:2628:13) The above error occurred in the component. It was handled by the error boundary. |
Elective
页面
HTTP状态
结果
备注
PASS /teacher/elective
200
passed
-
Error Book
页面
HTTP状态
结果
备注
PASS /teacher/error-book
200
passed
错误: %o
%s Error: Failed query: select id, error_status, knowledge_point_ids from error_book_items where error_book_items.student_id in (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
params: user_s_g1c1_1,user_s_g1c1_2,user_s_g1c1_3,user_s_g1c1_4,user_s_g1c1_5,user_s_g1c1_6,user_s_g1c2_1,user_s_g1c2_2,user_s_g1c2_3,user_s_g1c2_4,user_s_g1c2_5,user_s_g1c2_6
at getKnowledgePointWeakness (about://React/Server/E:%5CDesktop%5CCICD%5C.next%5Cdev%5Cserver%5Cchunks%5Cssr%5C%5Broot-of-the-server%5D__ff9d8e4f..js?65:696:18)
at TeacherErrorBookPage (about://React/Server/E:%5CDesktop%5CCICD%5C.next%5Cdev%5Cserver%5Cchunks%5Cssr%5C%5Broot-of-the-server%5D__ff9d8e4f. .js?66:1992:75)
at resolveErrorDev (http://localhost:3000/next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_9212ccad. .js:1882:148)
at processFullStringRow (http://localhost:3000/next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_9212ccad. .js:2390:29)
at processFullBinaryRow (http://localhost:3000/next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_9212ccad. .js:2349:9)
at processBinaryChunk (http://localhost:3000/next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_9212ccad. .js:2459:98)
at progress (http://localhost:3000/next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_9212ccad. .js:2628:13) The above error occurred in the component. It was handled by the error boundary. |
Textbooks Detail
页面
HTTP状态
结果
备注
PASS /teacher/textbooks/em3l39kx0inu9rsq6onnpe7r
200
passed
-
PASS /teacher/textbooks/loncxhs6kk4l33d826wv1m9y
200
passed
-
PASS /teacher/textbooks/b9kusgl3cxhtjcf1tcpvokhk
200
passed
-
Classes Detail
页面
HTTP状态
结果
备注
PASS /teacher/classes/my/class_G1C1
200
passed
警告: Error text: 20; Error text: 42
Course Plans Detail
页面
HTTP状态
结果
备注
PASS /teacher/course-plans/cp_g1c1_chinese
200
passed
错误: A tree hydrated but some attributes of the server rendered HTML didn't match the client properties. This won't be patched up. This can happen if a SSR-ed Client Component used:
A server/client branch if (typeof window !== 'undefined').
Variable input such as Date.now() or Math.random() which changes each time it's called.
Date formatting in a user's locale which doesn't match the server.
External changing data without sending a snapshot of it along with the HTML.
Invalid HTML tag nesting.
It can also happen if the client has a browser extension installed which messes with the HTML before React loaded.
%s%s https://react.dev/link/hydration-mismatch
...
<SidebarProvider sidebar={}>
...
...
<MenuAnchor asChild={true} __scopeMenu={{Menu:[...], ...}}>
<PopperAnchor __scopePopper={{Menu:[...], ...}} asChild={true} ref={null}>
<Primitive.div asChild={true} ref={function}>
<Primitive.div.Slot ref={function}>
<Primitive.div.SlotClone ref={function}>
<Primitive.button type="button" id="radix-_R_1..." aria-haspopup="menu" aria-expanded={false} ...>
<Primitive.button.Slot type="button" id="radix-_R_1..." aria-haspopup="menu" ...>
<Primitive.button.SlotClone type="button" id="radix-_R_1..." aria-haspopup="menu" ...>
<Button variant="ghost" size="icon" className="relative t..." aria-label="通知" ...>
<button
data-slot="dropdown-menu-trigger"
className={"inline-flex items-center justify-center gap-2 whitespace-nowrap round..."}
aria-label="通知"
type="button"
id="radix-_R_55qbn6lb_"
aria-haspopup="menu"
aria-expanded={false}
aria-controls={undefined}
data-state="closed"
data-disabled={undefined}
disabled={false}
onPointerDown={function handleEvent}
onKeyDown={function handleEvent}
ref={function}
>
...
<MenuAnchor asChild={true} __scopeMenu={{Menu:[...], ...}}>
<PopperAnchor __scopePopper={{Menu:[...], ...}} asChild={true} ref={null}>
<Primitive.div asChild={true} ref={function}>
<Primitive.div.Slot ref={function}>
<Primitive.div.SlotClone ref={function}>
<Primitive.button type="button" id="radix-_R_1..." aria-haspopup="menu" aria-expanded={false} ...>
<Primitive.button.Slot type="button" id="radix-_R_1..." aria-haspopup="menu" ...>
<Primitive.button.SlotClone type="button" id="radix-_R_1..." aria-haspopup="menu" ...>
<Button variant="ghost" className="relative s..." type="button" id="radix-_R_1..." ...>
<button
data-slot="dropdown-menu-trigger"
className={"inline-flex items-center justify-center gap-2 whitespace-nowrap text-..."}
type="button"
|
Lesson Plans Detail
页面
HTTP状态
结果
备注
PASS /teacher/lesson-plans/new
200
passed
-
PASS /teacher/lesson-plans/o20j6es4xbrc1qtbsi33l8wc/edit
200
passed
错误: A tree hydrated but some attributes of the server rendered HTML didn't match the client properties. This won't be patched up. This can happen if a SSR-ed Client Component used:
A server/client branch if (typeof window !== 'undefined').
Variable input such as Date.now() or Math.random() which changes each time it's called.
Date formatting in a user's locale which doesn't match the server.
External changing data without sending a snapshot of it along with the HTML.
Invalid HTML tag nesting.
It can also happen if the client has a browser extension installed which messes with the HTML before React loaded.
%s%s https://react.dev/link/hydration-mismatch
...
<SidebarProvider sidebar={}>
...
...
<MenuAnchor asChild={true} __scopeMenu={{Menu:[...], ...}}>
<PopperAnchor __scopePopper={{Menu:[...], ...}} asChild={true} ref={null}>
<Primitive.div asChild={true} ref={function}>
<Primitive.div.Slot ref={function}>
<Primitive.div.SlotClone ref={function}>
<Primitive.button type="button" id="radix-_R_1..." aria-haspopup="menu" aria-expanded={false} ...>
<Primitive.button.Slot type="button" id="radix-_R_1..." aria-haspopup="menu" ...>
<Primitive.button.SlotClone type="button" id="radix-_R_1..." aria-haspopup="menu" ...>
<Button variant="ghost" size="icon" className="relative t..." aria-label="通知" ...>
<button
data-slot="dropdown-menu-trigger"
className={"inline-flex items-center justify-center gap-2 whitespace-nowrap round..."}
aria-label="通知"
type="button"
id="radix-_R_55qbn6lb_"
aria-haspopup="menu"
aria-expanded={false}
aria-controls={undefined}
data-state="closed"
data-disabled={undefined}
disabled={false}
onPointerDown={function handleEvent}
onKeyDown={function handleEvent}
ref={function}
>
...
<MenuAnchor asChild={true} __scopeMenu={{Menu:[...], ...}}>
<PopperAnchor __scopePopper={{Menu:[...], ...}} asChild={true} ref={null}>
<Primitive.div asChild={true} ref={function}>
<Primitive.div.Slot ref={function}>
<Primitive.div.SlotClone ref={function}>
<Primitive.button type="button" id="radix-_R_1..." aria-haspopup="menu" aria-expanded={false} ...>
<Primitive.button.Slot type="button" id="radix-_R_1..." aria-haspopup="menu" ...>
<Primitive.button.SlotClone type="button" id="radix-_R_1..." aria-haspopup="menu" ...>
<Button variant="ghost" className="relative s..." type="button" id="radix-_R_1..." ...>
<button
data-slot="dropdown-menu-trigger"
className={"inline-flex items-center justify-center gap-2 whitespace-nowrap text-..."}
type="button"
; A tree hydrated but some attributes of the server rendered HTML didn't match the client properties. This won't be patched up. This can happen if a SSR-ed Client Component used:
A server/client branch if (typeof window !== 'undefined').
Variable input such as Date.now() or Math.random() which changes each time it's called.
Date formatting in a user's locale which doesn't match the server.
External changing data without sending a snapshot of it along with the HTML.
Invalid HTML tag nesting.
It can also happen if the client has a browser extension installed which messes with the HTML before React loaded.
%s%s https://react.dev/link/hydration-mismatch
...
<Suspense fallback={
}>
<LessonPlanEditor planId="o20j6es4xb..." initialTitle="第一课 秋天" initialDoc={{edges:[...], ...}} ...>
<DialogProvider scope={{Dialog:[...]}} triggerRef={{current:null}} contentRef={{current:null}} ...>
<Primitive.button type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.Slot type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Primitive.button.SlotClone type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<Button size="sm" disabled={false} type="button" aria-haspopup="dialog" aria-expanded={false} ...>
<button
data-slot="button"
className={"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm f..."}
disabled={false}
type="button"
aria-haspopup="dialog"
aria-expanded={false}
|
| PASS /teacher/lesson-plans/p54vt85kt9hk1h6yz64s27cf/edit | 200 | passed | 错误: PageError: Switched to client rendering because the server rendering errored:
Failed to call useTranslations because the context from NextIntlClientProvider was not found.
This can happen because:
You i |
Homework Detail
页面
HTTP状态
结果
备注
PASS /teacher/homework/assignments/create
200
passed
-
PASS /teacher/homework/assignments/hw_chinese_g1
200
passed
错误: A tree hydrated but some attributes of the server rendered HTML didn't match the client properties. This won't be patched up. This can happen if a SSR-ed Client Component used:
A server/client branch if (typeof window !== 'undefined').
Variable input such as Date.now() or Math.random() which changes each time it's called.
Date formatting in a user's locale which doesn't match the server.
External changing data without sending a snapshot of it along with the HTML.
Invalid HTML tag nesting.
It can also happen if the client has a browser extension installed which messes with the HTML before React loaded.
%s%s https://react.dev/link/hydration-mismatch
...
<SidebarProvider sidebar={}>
...
...
<MenuAnchor asChild={true} __scopeMenu={{Menu:[...], ...}}>
<PopperAnchor __scopePopper={{Menu:[...], ...}} asChild={true} ref={null}>
<Primitive.div asChild={true} ref={function}>
<Primitive.div.Slot ref={function}>
<Primitive.div.SlotClone ref={function}>
<Primitive.button type="button" id="radix-_R_1..." aria-haspopup="menu" aria-expanded={false} ...>
<Primitive.button.Slot type="button" id="radix-_R_1..." aria-haspopup="menu" ...>
<Primitive.button.SlotClone type="button" id="radix-_R_1..." aria-haspopup="menu" ...>
<Button variant="ghost" size="icon" className="relative t..." aria-label="通知" ...>
<button
data-slot="dropdown-menu-trigger"
className={"inline-flex items-center justify-center gap-2 whitespace-nowrap round..."}
aria-label="通知"
type="button"
id="radix-_R_55qbn6lb_"
aria-haspopup="menu"
aria-expanded={false}
aria-controls={undefined}
data-state="closed"
data-disabled={undefined}
disabled={false}
onPointerDown={function handleEvent}
onKeyDown={function handleEvent}
ref={function}
>
...
<MenuAnchor asChild={true} __scopeMenu={{Menu:[...], ...}}>
<PopperAnchor __scopePopper={{Menu:[...], ...}} asChild={true} ref={null}>
<Primitive.div asChild={true} ref={function}>
<Primitive.div.Slot ref={function}>
<Primitive.div.SlotClone ref={function}>
<Primitive.button type="button" id="radix-_R_1..." aria-haspopup="menu" aria-expanded={false} ...>
<Primitive.button.Slot type="button" id="radix-_R_1..." aria-haspopup="menu" ...>
<Primitive.button.SlotClone type="button" id="radix-_R_1..." aria-haspopup="menu" ...>
<Button variant="ghost" className="relative s..." type="button" id="radix-_R_1..." ...>
<button
data-slot="dropdown-menu-trigger"
className={"inline-flex items-center justify-center gap-2 whitespace-nowrap text-..."}
type="button"
警告: Error text: 0 / 3 |
Exams Detail
页面
HTTP状态
结果
备注
PASS /teacher/exams/create
200
passed
-
三、失败页面详情
FAIL /teacher/schedule-changes
分类 : Schedule Changes
HTTP状态 : 500
重定向 : http://localhost:3000/teacher/schedule-changes
错误信息 :
HTTP 500 error
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
%o
%s PermissionDeniedError: 权限不足:需要 schedule:adjust 权限。请联系管理员授权或切换账号后重试。
at requirePermission (about://React/Server/E:%5CDesktop%5CCICD%5C.next%5Cdev%5Cserver%5Cchunks%5Cssr%5C%5Broot-of-the-server%5D__20b59666..js?49:3692:15)
at TeacherScheduleChangesPage (about://React/Server/E:%5CDesktop%5CCICD%5C.next%5Cdev%5Cserver%5Cchunks%5Cssr%5C%5Broot-of-the-server%5D__dd4f396b. .js?50:127:17)
at resolveErrorDev (http://localhost:3000/next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_9212ccad. .js:1882:148)
at processFullStringRow (http://localhost:3000/next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_9212ccad. .js:2390:29)
at processFullBinaryRow (http://localhost:3000/next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_9212ccad. .js:2349:9)
at processBinaryChunk (http://localhost:3000/next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_9212ccad. .js:2459:98)
at progress (http://localhost:3000/next/static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_9212ccad. .js:2628:13) The above error occurred in the component. It was handled by the error boundary.
截图 : E:\Desktop\CICD\scripts..\bugs\screenshots\teacher_schedule-changes.png
报告自动生成于 2026-06-23 18:27:12