【Codex】用学生出勤行为模块追踪课堂参与与到课情况
2026/9/5 17:11:10 网站建设 项目流程

学生出勤行为记录学生每日出勤率、迟到、请假、早退、课堂纪律事件和缺勤原因,是班主任跟踪学生到校状态和课堂行为的重要依据。

本文基于StudentAttendanceBehavior的模型、视图和 fast-crud 页面,把学生选择、日期筛选、抽屉回显和数据维护转换为 Codex 可执行任务。

文章目录

  • 设计与需求
    • 后端设计
    • 前端设计
  • 扩展功能
    • 数据联动
  • Codex开发标准
    • SOP 标准
    • PDD 标准
  • 总结

设计与需求

学生出勤行为不能只按普通 CRUD 理解。StudentAttendanceBehavior模型以id_student + stat_date作为唯一约束,保存学生某一天的出勤行为快照。字段覆盖attendance_ratelate_countleave_countearly_leave_countdiscipline_event_countabsence_reasonattendance_note,这些数据会被学生画像抽屉用于出勤行为分和风险提示。

Codex 生成代码时要把每日唯一快照、日期范围筛选和学生上下文联动写清楚。出勤行为不是健康事件,也不是学生主档字段;它是按天维护的过程记录,既能在独立页面维护,也能在学生管理抽屉按当前学生查看。

教育管理需求

学生出勤行为设计

页面结构

数据模型

接口规则

权限验收

Codex生成代码

需求层描述设计层转换Codex 代码生成方向
学生身份通过 id_student、name_student、username_student 关联学生生成学生远程搜索和只读回显
业务记录stat_date、attendance_rate、late_count、leave_count、early_leave_count、discipline_event_count、absence_reason、attendance_note生成对应字段表单、列表列和基础校验
日期筛选stat_date 支持范围查询生成 range_fields 与前端查询参数
学生抽屉学生管理页打开子模块时带入当前学生生成 inStudentDrawer、studentRef 和自动刷新
每日唯一id_student + stat_date唯一生成重复日期校验和编辑回显
画像输入出勤行为参与学生画像抽屉出勤维度计算生成可追溯的出勤分来源

可以直接使用下面的Prompt进行模块功能的设计

请基于教育管理系统源码设计 学生出勤行为 模块,不要编造代码中不存在的能力。 业务范围:记录学生每日出勤率、迟到、请假、早退、纪律事件、缺勤原因和出勤行为备注。 后端路径:server_backend/modules/User/views_app/StudentAttendanceBehavior.py 前端路径:server_vue3/src/views/modules/User/StudentAttendanceBehavior/index.vue、crud.tsx 接口入口:/api/User/StudentAttendanceBehavior/ 核心字段:stat_date、attendance_rate、late_count、leave_count、early_leave_count、discipline_event_count、absence_reason、attendance_note 扩展能力:数据联动 请输出模块设计方案,包含页面结构、数据模型、接口规则、权限验收、异常边界和 Codex 分阶段生成项目代码的任务拆分。扩展能力只允许使用源码中已经存在的能力。

后端设计

后端设计重点不是堆接口,而是把学生出勤行为沉淀成可复用的数据底座。StudentAttendanceBehaviorViewSet位于server_backend/modules/User/views_app/StudentAttendanceBehavior.py,开放get/post/put/delete,使用CustomModelRefSerializer,并把id_studentname_studentusername_student设置为只读字段。模型层通过id_student + stat_date唯一约束保证同一学生某一天只有一条出勤快照。

筛选层支持id_studentname_studentusername_studentclass_administrativeabsence_reasonattendance_note模糊查询,并通过range_fields=['stat_date']支持统计日期范围筛选。后端只负责出勤行为数据维护,不承担图表聚合和风险标签计算。

后端设计项设计重点Codex 生成方向
模型字段使用CustomModelRefSerializer按模型生成序列化规则保留只读学生身份字段和业务字段类型
查询筛选使用SearchFilterCustomModelInFilter支持姓名、学号、班级和日期范围查询
路由注册modules/User/urls.py通过DefaultRouter注册保持/api/User/模块名/接口风格
权限边界依赖系统登录态和管理范围避免跨学生、跨班级访问敏感数据
唯一约束id_student + stat_date限制每日一条生成重复数据错误处理
日期范围range_fields=['stat_date']生成统计日期区间查询

可以直接使用下面的Prompt进行后端代码的设计

请按 学生出勤行为 的真实业务补齐或重构后端代码。 需要读取并遵守: - server_backend/modules/User/views_app/StudentAttendanceBehavior.py - server_backend/modules/User/models.py - server_backend/modules/User/urls.py 生成要求: - 按 StudentAttendanceBehavior 模型字段设计序列化规则,不要新增无来源字段。 - 使用 CustomModelViewSet、CustomModelRefSerializer 和 CustomModelInFilter 保持项目风格。 - 补齐列表查询、详情、新增、编辑、删除或只读接口边界。 - 保留 read_only_fields、search_fields、range_fields 和权限校验逻辑。 - 扩展能力只实现:数据联动。 - 输出需要包含模型字段说明、接口清单、路由注册、筛选规则、权限规则和异常处理。

前端设计

前端设计重点不是把字段堆到页面上,而是让管理人员能按日维护学生出勤和课堂行为。StudentAttendanceBehavior/crud.tsx配置统计日期、出勤率、迟到次数、请假次数、早退次数、课堂纪律事件数、缺勤原因和出勤行为备注;api.ts使用/api/User/StudentAttendanceBehavior/封装标准请求。

学生管理中的StudentAttendanceBehaviorDrawer复用基础 crud 配置,通过studentRef限定当前学生。抽屉新增出勤记录时要带入学生身份,查询时要按id_student和日期范围过滤,避免不同学生记录混在同一张表里。

前端设计项设计重点Codex 生成方向
列表配置使用fs-crud组织分页、搜索和列展示生成crud.tsx的 columns、request、rowHandle
表单结构学生身份字段只读,业务字段按类型输入生成新增、编辑、回显和校验规则
接口封装api.ts统一封装GetList/AddObj/UpdateObj/DelObj保持项目 request 调用规范
抽屉场景学生详情页打开子模块时自动带入学生信息支持inStudentDrawerstudentRef和列表刷新
出勤表单出勤率、迟到、请假、早退、纪律事件和缺勤原因生成数字输入、文本输入和日期控件
画像输入出勤数据进入画像抽屉出勤维度保持字段含义和日期粒度

出勤行为字段需要保持数值类型和日期粒度。attendance_rate是百分比型数值,late_countleave_countearly_leave_countdiscipline_event_count是计数字段,absence_reasonattendance_note用于记录原因与跟进说明。Codex 不能把这些字段都做成文本输入,否则学生画像抽屉无法稳定计算出勤维度。

学生画像抽屉读取出勤行为后,会把出勤率、迟到、请假、早退和纪律事件转成出勤行为分。页面生成时要让这些字段可排序、可筛选、可回显,并在空数据时显示合理的缺省状态。

可以直接使用下面的Prompt进行前端代码的设计

请按 学生出勤行为 的真实业务生成或补齐前端代码。 需要读取并遵守: - server_vue3/src/views/modules/User/StudentAttendanceBehavior/index.vue、crud.tsx - server_vue3/src/views/modules/User/StudentAttendanceBehavior/api.ts 生成要求: - 使用项目现有 fs-crud、Element Plus、request 封装和 api.ts 风格。 - 生成列表查询、筛选区域、新增编辑表单、详情或抽屉交互、权限按钮和保存回显。 - 处理字段转换:学生远程搜索回填 id_student/name_student/username_student,抽屉模式自动注入当前学生,日期字段按 range_fields 支持范围查询 - 扩展交互只实现:数据联动。 - 不要添加源码中未实现的扩展入口。

扩展功能

学生出勤行为的扩展能力是学生上下文联动。它既能作为独立列表维护,也能在学生管理抽屉中按当前学生过滤和回显。

扩展功能主要用途落地重点
数据联动独立列表与学生抽屉共用同一套接口按 id_student 自动筛选并补齐学生身份字段

数据联动

学生出勤行为的数据联动体现在 id_student、name_student、username_student、class_administrative、stat_date。前端选择、搜索或抽屉打开后,会生成接口参数 id_student、stat_date 范围、学生搜索关键词,后端按学生、班级、日期或类型筛选,再把结果回填到列表、表单或业务面板中。

保存边界与生活日常类似,但业务含义不同。stat_date缺失时不能保存出勤快照;同一学生同一天只能有一条出勤行为记录;抽屉新增时应自动带入学生身份;独立页面的班级和日期筛选不能覆盖抽屉中的当前学生过滤条件。

验收时还要检查数值边界。出勤率应按百分比理解,迟到、请假、早退和纪律事件应按非负整数处理,缺勤原因和备注允许为空但不能影响列表加载。Codex 生成测试用例时需要覆盖满勤、低出勤率、多次迟到、无缺勤原因、抽屉新增和重复日期保存这些场景。

出勤行为还会被学生画像抽屉用于趋势判断。多天记录应按stat_date排序后参与计算,空记录要显示暂无数据,不能用 0 分误导判断。这个边界需要写入 PDD 验收。

前端保存后需要刷新当前查询条件下的列表;抽屉模式只刷新当前学生数据,独立页面按原筛选条件刷新。两种场景共用接口,但刷新范围不同。

结果阶段

处理阶段

输入阶段

筛选条件

表单选择

抽屉打开

生成参数

请求接口

字段转换

刷新列表

表单回显

状态更新

交给 Codex 生成时,要明确联动边界:只处理源码中存在的字段和接口,不把其他学生画像、考试分析或 AI 评估能力塞进本模块。保存动作必须保证 抽屉内只显示当前学生记录,保存时自动补齐学生身份字段。

可以直接使用下面的Prompt进行数据联动设计

请为 学生出勤行为 设计数据联动实现。 联动字段:id_student、name_student、username_student、class_administrative、stat_date 接口参数:id_student、stat_date 范围、学生搜索关键词 结果回填:抽屉内只显示当前学生记录,保存时自动补齐学生身份字段 源码边界:只使用当前模块已经存在的模型字段、api.ts 请求和页面组件,不新增未实现的业务能力。 请输出联动流程、字段映射表、异常处理、保存回显规则和需要修改的文件路径。

Codex开发标准

使用 Codex 开发学生出勤行为时,不能直接让模型自由写代码。PDD 定义业务边界和验收口径,SOP 约束目录、文件职责和开发顺序,接口权限规则保证生成代码能进入现有系统。

验收交付

Codex开发

模块设计

输入约束

需求边界

PDD设计

SOP目录

接口权限

后端设计

前端设计

扩展功能

读取上下文

生成后端

生成前端

补齐扩展

功能自检

PDD验收

问题修复

模块交付

SOP 标准

SOP 用来约束代码目录、文件职责和开发顺序。学生出勤行为的目录结构需要贴合现有User模块,不应为单篇文章另起一套风格。

server_backend/modules/User/ models.py views_app/StudentAttendanceBehavior.py urls.py server_vue3/src/views/modules/User/StudentAttendanceBehavior/ index.vue crud.tsx api.ts server_vue3/src/views/modules/User/StudentManage/Drawers/ StudentAttendanceBehaviorDrawer/index.vue StudentAttendanceBehaviorDrawer/crud.tsx docs/modules/学生出勤行为/ pdd.md api.md test-cases.md codex-sop.md
开发阶段Codex 执行目标输出结果
模块设计读取模型、视图、路由和前端页面pdd.md明确业务边界
目录规划对齐后端 views_app、前端模块目录和接口封装codex-sop.md明确文件职责
后端实现生成模型序列化、视图接口、筛选和权限校验后端接口可被前端稳定调用
前端实现生成列表、表单、抽屉、按钮和接口调用页面操作闭环可运行
功能补齐按真实扩展能力补齐联动、批量、文件或生成逻辑扩展能力与源码一致
验收修复根据 PDD 和测试用例修复偏差test-cases.md与代码一致

可以直接使用下面的Prompt进行SOP撰写

请为 学生出勤行为 编写 Codex 开发 SOP。 要求: - 先输出目录结构,不要直接写代码。 - 先生成 docs/modules/学生出勤行为/pdd.md、api.md、test-cases.md 和 codex-sop.md。 - 目录必须贴合现有路径:server_backend/modules/User/views_app/StudentAttendanceBehavior.py、server_vue3/src/views/modules/User/StudentAttendanceBehavior/index.vue、crud.tsx。 - SOP 需要约束模型字段、接口视图、路由注册、前端 crud 配置、接口封装、权限按钮、保存回显和扩展能力。 - 扩展能力只包含:数据联动。 - 文档完成后,再按 SOP 分阶段生成项目代码。

PDD 标准

PDD 是学生出勤行为的设计与验收文档,用于判断 Codex 输出是否符合真实业务。验收不能只看页面能否打开,还要检查字段、接口、权限、筛选、联动和扩展能力是否匹配源码。

验收维度验收重点通过标准
业务目标记录学生每日出勤率、迟到、请假、早退、纪律事件、缺勤原因和出勤行为备注。页面和接口能支撑模块业务闭环
页面结构server_vue3/src/views/modules/User/StudentAttendanceBehavior/index.vue、crud.tsx列表、表单、抽屉或操作按钮与源码一致
数据模型stat_date、attendance_rate、late_count、leave_count、early_leave_count、discipline_event_count、absence_reason、attendance_note字段类型、只读字段、唯一约束不偏离模型
接口规则/api/User/StudentAttendanceBehavior/列表、保存、删除、动作接口请求参数正确
权限控制登录用户、班级范围或系统权限非授权数据不可越权访问
测试用例正常、异常、空数据、回显和删除test-cases.md覆盖主要路径
数据联动独立列表和学生抽屉按学生身份联动抽屉打开、保存、刷新均限定当前学生

可以直接使用下面的Prompt进行PDD 验收

请根据 docs/modules/学生出勤行为/pdd.md 对 学生出勤行为 进行验收。 验收范围:业务目标、页面结构、数据模型、接口规则、权限控制、测试用例、数据联动。 请输出验收结果表,字段包含:验收项、通过状态、发现问题、涉及文件、修复建议。不要只给结论;必须指出未通过项的具体文件位置和建议改法。

总结

学生出勤行为不是考勤流水,它把出勤率、迟到请假和课堂纪律汇总到学生维度,为班级管理和画像分析提供依据。

Codex 开发这类学生子模块时,应由 PDD 明确字段、日期范围和学生身份边界,由 SOP 固定独立页面与抽屉复用方式,再用 Prompt 约束查询、回显和保存逻辑。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询