【Codex】用历史试卷模块沉淀考试资料与复用题卷

教育管理系统历史试卷用Codex自动生成项目代码
历史试卷在教育管理系统中的价值,在于沉淀考试安排生成的试卷文件、题目结构和预览资源。模块需要和现有接口、权限、页面状态保持一致,不能只写成普通后台表格。
本文基于 考试中心/数据信息_考试数据信息_历史试卷 对应源码,把业务目标拆成模型字段、接口规则、页面交互和验收标准,形成 Codex 可执行的项目代码生成任务。
设计与需求
历史试卷不能只按普通 CRUD 理解。源码范围包括 server_backend/modules/TestingCenter/models.py、server_backend/modules/TestingCenter/views_app/HistoricalExamPaper.py、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/api.ts、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/crud.tsx、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/index.vue,这些文件共同决定页面入口、字段保存、接口动作、权限边界和验收口径。交给 Codex 的任务需要明确业务字段、接口前缀、页面回显和异常处理,避免后端字段、前端表单和 PDD 文档相互脱节。
| 需求层描述 | 设计层转换 | Codex 代码生成方向 |
|---|---|---|
| 业务目标 | 沉淀考试安排生成的试卷文件、题目结构和预览资源。 | 生成模块入口、页面结构和业务说明 |
| 数据模型 | uuid(uuid)、paper_name(试卷名称)、paper_code(试卷编码)、source_type(source_type)、source_channel(来源通道)、subject(学科)、grade_exam(年级)、exam_type(考试类型)、name_exam(考试名称)、code_exam(系统考试编码) | 生成序列化、字段校验、查询筛选和保存回显 |
| 页面结构 | server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/api.ts、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/crud.tsx、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/index.vue | 生成列表、筛选区、表单、详情、预览或自定义操作区 |
| 接口规则 | /api/TestingCenter/HistoricalExamPaper/ | 保持 GetList、GetObj、AddObj、UpdateObj、DelObj、sync_from_arrangement 与页面调用一致 |
| 权限验收 | 按钮权限、接口权限、用户数据范围、异常响应 | 在 PDD 中列出角色、接口和越权用例 |
| 扩展能力 | 数据联动、图像识别、导入导出、文件管理、资源预览 | 只实现源码中真实存在的扩展入口和服务边界 |
更适合交给 Codex 的需求说明,应覆盖源码路径、字段、接口和验收口径。历史试卷的重点是把 HistoricalExamPaper 与前端接口封装、列表配置、表单状态或自定义页面逻辑合并成一个可测试的模块任务。
可以直接使用下面的Prompt进行模块功能的设计
请 Codex 基于教育管理系统真实源码设计“历史试卷”模块。
业务说明:沉淀考试安排生成的试卷文件、题目结构和预览资源。
源码范围:server_backend/modules/TestingCenter/models.py、server_backend/modules/TestingCenter/views_app/HistoricalExamPaper.py、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/api.ts、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/crud.tsx、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/index.vue
接口范围:/api/TestingCenter/HistoricalExamPaper/
字段范围:uuid(uuid)、paper_name(试卷名称)、paper_code(试卷编码)、source_type(source_type)、source_channel(来源通道)、subject(学科)、grade_exam(年级)、exam_type(考试类型)、name_exam(考试名称)、code_exam(系统考试编码)、arrangement_id_ref(考试安排ID)、status_scan(扫描状态)、status_parse(解析状态)、status_import(导入状态)、status_sync(同步状态)、file_name(源文件名)
已有动作:GetList、GetObj、AddObj、UpdateObj、DelObj、sync_from_arrangement
扩展能力边界:数据联动、图像识别、导入导出、文件管理、资源预览
请输出模块页面结构、数据模型、接口规则、权限验收、测试用例和 Codex 代码生成任务。只允许使用源码中存在的字段、接口和页面状态。
后端设计
历史试卷的后端设计重点不是堆 CRUD 接口,而是建立可复用的数据底座。当前后端范围包括 server_backend/modules/TestingCenter/models.py、server_backend/modules/TestingCenter/views_app/HistoricalExamPaper.py。Codex 需要识别模型字段、序列化器、ViewSet、筛选逻辑和自定义 action,并让接口返回结构稳定服务前端。
源码中可识别的模型或查询对象为 HistoricalExamPaper,核心字段覆盖 uuid(uuid)、paper_name(试卷名称)、paper_code(试卷编码)、source_type(source_type)、source_channel(来源通道)、subject(学科)、grade_exam(年级)、exam_type(考试类型)、name_exam(考试名称)、code_exam(系统考试编码)。接口动作包含 GetList、GetObj、AddObj、UpdateObj、DelObj、sync_from_arrangement,查询参数关注 arrangement_id(arrangement_id)、arrangement_id_ref(arrangement_id_ref)、paper_code(paper_code)、child_code_exam(child_code_exam)、code_exam_child(code_exam_child)、code_exam(考试编号)、subject(学科)、name_exam(考试名称)、grade_exam(grade_exam)、exam_type(exam_type),这些内容需要和前端封装保持同名语义,避免页面有按钮但后端没有对应能力。
| 后端设计项 | 设计重点 | Codex 生成方向 |
|---|---|---|
| 核心字段 | uuid(uuid)、paper_name(试卷名称)、paper_code(试卷编码)、source_type(source_type)、source_channel(来源通道) | 生成序列化、查询筛选、表单回显和保存校验 |
| 补充字段 | subject(学科)、grade_exam(年级)、exam_type(考试类型)、name_exam(考试名称)、code_exam(系统考试编码) | 处理状态、时间、JSON、资源或关联字段的格式转换 |
| 接口视图 | server_backend/modules/TestingCenter/models.py、server_backend/modules/TestingCenter/views_app/HistoricalExamPaper.py | 按 /api/TestingCenter/HistoricalExamPaper/ 注册列表、详情、保存、删除和已有 action |
| 查询筛选 | arrangement_id(arrangement_id)、arrangement_id_ref(arrangement_id_ref)、paper_code(paper_code)、child_code_exam(child_code_exam)、code_exam_child(code_exam_child)、code_exam(考试编号)、subject(学科)、name_exam(考试名称)、grade_exam(grade_exam)、exam_type(exam_type) | 生成 filterset、SearchFilter 或自定义查询参数 |
| 权限控制 | 后端接口承担真实访问边界,前端按钮只做入口展示 | 生成权限判断、异常响应和越权测试 |
| 扩展服务 | 数据联动、图像识别、导入导出、文件管理、资源预览 | 按真实源码补齐服务函数、异步任务或状态回写 |
可以直接使用下面的Prompt进行后端代码的设计
请 Codex 按“历史试卷”业务从源码上下文设计或补齐后端代码。
后端源码范围:server_backend/modules/TestingCenter/models.py、server_backend/modules/TestingCenter/views_app/HistoricalExamPaper.py
模型或查询对象:HistoricalExamPaper
模型字段范围:uuid(uuid)、paper_name(试卷名称)、paper_code(试卷编码)、source_type(source_type)、source_channel(来源通道)、subject(学科)、grade_exam(年级)、exam_type(考试类型)、name_exam(考试名称)、code_exam(系统考试编码)、arrangement_id_ref(考试安排ID)、status_scan(扫描状态)、status_parse(解析状态)、status_import(导入状态)、status_sync(同步状态)、file_name(源文件名)
接口前缀:/api/TestingCenter/HistoricalExamPaper/
已有接口动作:GetList、GetObj、AddObj、UpdateObj、DelObj、sync_from_arrangement
查询参数:arrangement_id(arrangement_id)、arrangement_id_ref(arrangement_id_ref)、paper_code(paper_code)、child_code_exam(child_code_exam)、code_exam_child(code_exam_child)、code_exam(考试编号)、subject(学科)、name_exam(考试名称)、grade_exam(grade_exam)、exam_type(exam_type)
需要生成或修正数据模型、序列化规则、接口视图、路由注册、筛选查询、权限控制和基础校验。同时补齐 数据联动、图像识别、导入导出、文件管理、资源预览 对应的后端接口或服务边界。
输出时列出涉及文件、字段校验、接口返回结构和需要执行的测试。
前端设计
历史试卷的前端设计重点不是把字段堆到页面上,而是让用户能按业务路径完成查询、编辑、状态处理和结果确认。当前前端范围包括 server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/api.ts、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/crud.tsx、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/index.vue,其中 api.ts 负责接口封装,crud.tsx 或 index.vue 负责列表、表单、自定义布局和按钮交互。
页面需要围绕 uuid(uuid)、paper_name(试卷名称)、paper_code(试卷编码)、source_type(source_type)、source_channel(来源通道)、subject(学科)、grade_exam(年级)、exam_type(考试类型)、name_exam(考试名称)、code_exam(系统考试编码) 组织筛选、表单和详情。保存前要处理字段格式转换,保存后刷新列表或回显详情;存在扩展能力时,还要把 数据联动、图像识别、导入导出、文件管理、资源预览 的入口、状态和结果纳入同一套页面状态。
| 前端设计项 | 设计重点 | Codex 生成方向 |
|---|---|---|
| 页面结构 | server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/api.ts、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/crud.tsx、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/index.vue | 生成列表、筛选区、表单、详情抽屉、弹窗或自定义操作区 |
| 接口封装 | /api/TestingCenter/HistoricalExamPaper/ | 统一封装查询、详情、保存、删除和 GetList、GetObj、AddObj、UpdateObj、DelObj、sync_from_arrangement 等动作 |
| 字段回显 | uuid(uuid)、paper_name(试卷名称)、paper_code(试卷编码)、source_type(source_type)、source_channel(来源通道)、subject(学科)、grade_exam(年级)、exam_type(考试类型)、name_exam(考试名称)、code_exam(系统考试编码) | 处理下拉、树形、JSON、状态、时间和资源字段回显 |
| 权限按钮 | 根据 auth、按钮权限或后端权限结果展示操作入口 | 生成新增、编辑、删除、处理、下载或预览按钮 |
| 扩展交互 | 数据联动、图像识别、导入导出、文件管理、资源预览 | 生成入口按钮、加载状态、结果回填、人工确认和异常提示 |
可以直接使用下面的Prompt进行前端代码的设计
请 Codex 按“历史试卷”业务生成或补齐前端页面代码。
前端源码范围:server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/api.ts、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/crud.tsx、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/index.vue
接口范围:/api/TestingCenter/HistoricalExamPaper/
字段范围:uuid(uuid)、paper_name(试卷名称)、paper_code(试卷编码)、source_type(source_type)、source_channel(来源通道)、subject(学科)、grade_exam(年级)、exam_type(考试类型)、name_exam(考试名称)、code_exam(系统考试编码)、arrangement_id_ref(考试安排ID)、status_scan(扫描状态)、status_parse(解析状态)、status_import(导入状态)、status_sync(同步状态)、file_name(源文件名)
已有动作:GetList、GetObj、AddObj、UpdateObj、DelObj、sync_from_arrangement
需要生成页面结构、列表查询、筛选区域、新增编辑表单、详情预览、权限按钮、保存回显和接口调用;源码已有批量入口时再接入批量操作。涉及扩展交互时只实现源码已有的 数据联动、图像识别、导入导出、文件管理、资源预览,包括入口按钮、状态提示、结果回填和保存回显。
输出时说明字段转换、表单初始化、异常提示和刷新策略。
扩展功能
历史试卷的扩展能力来自源码中的字段结构、接口动作或页面组件,不属于单纯 CRUD。它们的价值在于把教育管理系统中的生成、识别、统计、文件、审批、任务或批量流程接入真实业务数据。
| 扩展功能 | 主要用途 | 落地重点 |
|---|---|---|
| 数据联动 | 把筛选条件、树节点、状态字段、远程下拉和表单回显组织成稳定数据流。 | 字段变化要同步查询参数、保存载荷和回显结构,避免页面临时状态与后端字段脱节。 |
| 图像识别 | 把上传图片、OCR 或视觉模型返回结果转换成可编辑结构。 | 识别结果不能直接入库,需要进入可编辑表单,由人工修正后保存。 |
| 导入导出 | 把模板导入、批量导出、Excel/CSV/Zip 或下载任务纳入模块流程。 | 导入要校验字段和权限,导出任务要返回下载任务或文件结果。 |
| 文件管理 | 把上传、下载、附件地址、音视频或资源文件保存到业务记录。 | 文件地址与业务字段分开校验,前端只展示有权限访问的资源。 |
| 资源预览 | 把图片、音频、视频、PDF、Markdown、HTML 或业务结果以预览方式展示。 | 预览内容来自已保存字段或生成结果,保存前保留人工校对。 |
数据联动
源码中的 uuid(uuid)、paper_name(试卷名称)、paper_code(试卷编码)、source_type(source_type)、source_channel(来源通道)、subject(学科)、grade_exam(年级)、exam_type(考试类型)、name_exam(考试名称)、code_exam(系统考试编码)、接口参数和页面状态之间存在联动关系。Codex 生成时需要把查询条件、表单选择、字段转换和详情回显串成一条数据流,不能把每个下拉框或状态开关写成互不关联的临时变量。
交给 Codex 生成时,边界要限定在 server_backend/modules/TestingCenter/models.py、server_backend/modules/TestingCenter/views_app/HistoricalExamPaper.py、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/api.ts、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/crud.tsx、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/index.vue 内。字段变化要同步查询参数、保存载荷和回显结构,避免页面临时状态与后端字段脱节。 同时需要补齐权限判断、异常提示、保存回显和测试用例。
可以直接使用下面的Prompt进行数据联动设计
请 Codex 基于真实源码补齐“历史试卷”的数据联动能力。
模块源码范围:server_backend/modules/TestingCenter/models.py、server_backend/modules/TestingCenter/views_app/HistoricalExamPaper.py、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/api.ts、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/crud.tsx、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/index.vue
接口范围:/api/TestingCenter/HistoricalExamPaper/
字段范围:uuid(uuid)、paper_name(试卷名称)、paper_code(试卷编码)、source_type(source_type)、source_channel(来源通道)、subject(学科)、grade_exam(年级)、exam_type(考试类型)、name_exam(考试名称)、code_exam(系统考试编码)、arrangement_id_ref(考试安排ID)、status_scan(扫描状态)、status_parse(解析状态)、status_import(导入状态)、status_sync(同步状态)、file_name(源文件名)
功能用途:把筛选条件、树节点、状态字段、远程下拉和表单回显组织成稳定数据流。
落地边界:字段变化要同步查询参数、保存载荷和回显结构,避免页面临时状态与后端字段脱节。
要求只使用源码中已经存在的字段、接口和页面状态,不新增未确认的业务能力。输出接口设计、前端交互、权限约束、异常处理和验收清单。
图像识别
历史试卷中的图像识别能力负责把图片、OCR 或视觉模型结果转换成可编辑数据。识别结果不能直接入库,需要进入可编辑结构,由人工修正后再保存。
交给 Codex 生成时,边界要限定在 server_backend/modules/TestingCenter/models.py、server_backend/modules/TestingCenter/views_app/HistoricalExamPaper.py、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/api.ts、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/crud.tsx、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/index.vue 内。识别结果不能直接入库,需要进入可编辑表单,由人工修正后保存。 同时需要补齐权限判断、异常提示、保存回显和测试用例。
可以直接使用下面的Prompt进行图像识别功能设计
请 Codex 基于真实源码补齐“历史试卷”的图像识别能力。
模块源码范围:server_backend/modules/TestingCenter/models.py、server_backend/modules/TestingCenter/views_app/HistoricalExamPaper.py、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/api.ts、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/crud.tsx、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/index.vue
接口范围:/api/TestingCenter/HistoricalExamPaper/
字段范围:uuid(uuid)、paper_name(试卷名称)、paper_code(试卷编码)、source_type(source_type)、source_channel(来源通道)、subject(学科)、grade_exam(年级)、exam_type(考试类型)、name_exam(考试名称)、code_exam(系统考试编码)、arrangement_id_ref(考试安排ID)、status_scan(扫描状态)、status_parse(解析状态)、status_import(导入状态)、status_sync(同步状态)、file_name(源文件名)
功能用途:把上传图片、OCR 或视觉模型返回结果转换成可编辑结构。
落地边界:识别结果不能直接入库,需要进入可编辑表单,由人工修正后保存。
要求只使用源码中已经存在的字段、接口和页面状态,不新增未确认的业务能力。输出接口设计、前端交互、权限约束、异常处理和验收清单。
导入导出
导入导出能力用于把模板导入、批量导出、Excel/CSV/Zip 或下载任务纳入模块流程。交给 Codex 生成时,边界要限定在 server_backend/modules/TestingCenter/models.py、server_backend/modules/TestingCenter/views_app/HistoricalExamPaper.py、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/api.ts、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/crud.tsx、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/index.vue 内,重点是导入要校验字段和权限,导出任务要返回下载任务或文件结果。
交给 Codex 生成时,边界要限定在 server_backend/modules/TestingCenter/models.py、server_backend/modules/TestingCenter/views_app/HistoricalExamPaper.py、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/api.ts、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/crud.tsx、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/index.vue 内。导入要校验字段和权限,导出任务要返回下载任务或文件结果。 同时需要补齐权限判断、异常提示、保存回显和测试用例。
可以直接使用下面的Prompt进行导入导出功能设计
请 Codex 基于真实源码补齐“历史试卷”的导入导出能力。
模块源码范围:server_backend/modules/TestingCenter/models.py、server_backend/modules/TestingCenter/views_app/HistoricalExamPaper.py、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/api.ts、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/crud.tsx、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/index.vue
接口范围:/api/TestingCenter/HistoricalExamPaper/
字段范围:uuid(uuid)、paper_name(试卷名称)、paper_code(试卷编码)、source_type(source_type)、source_channel(来源通道)、subject(学科)、grade_exam(年级)、exam_type(考试类型)、name_exam(考试名称)、code_exam(系统考试编码)、arrangement_id_ref(考试安排ID)、status_scan(扫描状态)、status_parse(解析状态)、status_import(导入状态)、status_sync(同步状态)、file_name(源文件名)
功能用途:把模板导入、批量导出、Excel/CSV/Zip 或下载任务纳入模块流程。
落地边界:导入要校验字段和权限,导出任务要返回下载任务或文件结果。
要求只使用源码中已经存在的字段、接口和页面状态,不新增未确认的业务能力。输出接口设计、前端交互、权限约束、异常处理和验收清单。
文件管理
文件管理能力用于把上传、下载、附件地址、音视频或资源文件保存到业务记录。交给 Codex 生成时,边界要限定在 server_backend/modules/TestingCenter/models.py、server_backend/modules/TestingCenter/views_app/HistoricalExamPaper.py、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/api.ts、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/crud.tsx、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/index.vue 内,重点是文件地址与业务字段分开校验,前端只展示有权限访问的资源。
交给 Codex 生成时,边界要限定在 server_backend/modules/TestingCenter/models.py、server_backend/modules/TestingCenter/views_app/HistoricalExamPaper.py、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/api.ts、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/crud.tsx、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/index.vue 内。文件地址与业务字段分开校验,前端只展示有权限访问的资源。 同时需要补齐权限判断、异常提示、保存回显和测试用例。
可以直接使用下面的Prompt进行文件管理功能设计
请 Codex 基于真实源码补齐“历史试卷”的文件管理能力。
模块源码范围:server_backend/modules/TestingCenter/models.py、server_backend/modules/TestingCenter/views_app/HistoricalExamPaper.py、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/api.ts、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/crud.tsx、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/index.vue
接口范围:/api/TestingCenter/HistoricalExamPaper/
字段范围:uuid(uuid)、paper_name(试卷名称)、paper_code(试卷编码)、source_type(source_type)、source_channel(来源通道)、subject(学科)、grade_exam(年级)、exam_type(考试类型)、name_exam(考试名称)、code_exam(系统考试编码)、arrangement_id_ref(考试安排ID)、status_scan(扫描状态)、status_parse(解析状态)、status_import(导入状态)、status_sync(同步状态)、file_name(源文件名)
功能用途:把上传、下载、附件地址、音视频或资源文件保存到业务记录。
落地边界:文件地址与业务字段分开校验,前端只展示有权限访问的资源。
要求只使用源码中已经存在的字段、接口和页面状态,不新增未确认的业务能力。输出接口设计、前端交互、权限约束、异常处理和验收清单。
资源预览
资源预览能力用于把图片、音频、视频、PDF、Markdown、HTML 或业务结果以预览方式展示。交给 Codex 生成时,边界要限定在 server_backend/modules/TestingCenter/models.py、server_backend/modules/TestingCenter/views_app/HistoricalExamPaper.py、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/api.ts、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/crud.tsx、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/index.vue 内,重点是预览内容来自已保存字段或生成结果,保存前保留人工校对。
交给 Codex 生成时,边界要限定在 server_backend/modules/TestingCenter/models.py、server_backend/modules/TestingCenter/views_app/HistoricalExamPaper.py、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/api.ts、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/crud.tsx、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/index.vue 内。预览内容来自已保存字段或生成结果,保存前保留人工校对。 同时需要补齐权限判断、异常提示、保存回显和测试用例。
可以直接使用下面的Prompt进行资源预览功能设计
请 Codex 基于真实源码补齐“历史试卷”的资源预览能力。
模块源码范围:server_backend/modules/TestingCenter/models.py、server_backend/modules/TestingCenter/views_app/HistoricalExamPaper.py、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/api.ts、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/crud.tsx、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/index.vue
接口范围:/api/TestingCenter/HistoricalExamPaper/
字段范围:uuid(uuid)、paper_name(试卷名称)、paper_code(试卷编码)、source_type(source_type)、source_channel(来源通道)、subject(学科)、grade_exam(年级)、exam_type(考试类型)、name_exam(考试名称)、code_exam(系统考试编码)、arrangement_id_ref(考试安排ID)、status_scan(扫描状态)、status_parse(解析状态)、status_import(导入状态)、status_sync(同步状态)、file_name(源文件名)
功能用途:把图片、音频、视频、PDF、Markdown、HTML 或业务结果以预览方式展示。
落地边界:预览内容来自已保存字段或生成结果,保存前保留人工校对。
要求只使用源码中已经存在的字段、接口和页面状态,不新增未确认的业务能力。输出接口设计、前端交互、权限约束、异常处理和验收清单。
Codex开发标准
使用 Codex 开发 历史试卷 时,不能直接让它随意写代码。需求边界、PDD、SOP、接口权限规则和验收标准需要同时约束后端、前端和扩展能力,让生成结果能回到项目源码中运行。
SOP 标准
SOP 用于约束代码目录、文件职责和开发顺序。Codex 在动手写代码前,需要先确认目录结构和文档位置,再按后端、前端、联动、验收的顺序推进。
docs/modules/历史试卷/
├── pdd.md
├── api.md
├── test-cases.md
└── codex-sop.md
server_backend/
└── modules/TestingCenter/models.py
└── modules/TestingCenter/views_app/HistoricalExamPaper.py
server_vue3/
└── src/views/modules/TestingCenter/HistoricalExamPaper/api.ts
└── src/views/modules/TestingCenter/HistoricalExamPaper/crud.tsx
└── src/views/modules/TestingCenter/HistoricalExamPaper/index.vue
| 开发阶段 | Codex 执行目标 | 输出结果 |
|---|---|---|
| 模块设计 | 读取源码、确认字段、接口和页面入口 | 输出模块边界和设计说明 |
| 目录规划 | 规划后端、前端和 docs/modules 文档 | 输出目录结构和文件职责 |
| 后端实现 | 补齐模型、序列化、ViewSet、路由和权限 | 输出可调用接口和基础校验 |
| 前端实现 | 补齐 api.ts、crud.tsx、index.vue 或自定义组件 | 输出可操作页面和保存回显 |
| 数据联动或功能补齐 | 校验筛选、下拉、状态、详情和异常提示 | 输出联动说明和修复记录 |
| 扩展功能 | 按源码补齐 数据联动、图像识别、导入导出、文件管理、资源预览 | 输出扩展接口、交互和边界测试 |
| 验收修复 | 按 PDD 和测试用例检查模块 | 输出验收结果和问题修复 |
可以直接使用下面的Prompt进行SOP撰写
请 Codex 按教育管理系统模块开发 SOP,从零实现或补齐“历史试卷”。
源码范围:server_backend/modules/TestingCenter/models.py、server_backend/modules/TestingCenter/views_app/HistoricalExamPaper.py、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/api.ts、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/crud.tsx、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/index.vue
接口范围:/api/TestingCenter/HistoricalExamPaper/
字段范围:uuid(uuid)、paper_name(试卷名称)、paper_code(试卷编码)、source_type(source_type)、source_channel(来源通道)、subject(学科)、grade_exam(年级)、exam_type(考试类型)、name_exam(考试名称)、code_exam(系统考试编码)、arrangement_id_ref(考试安排ID)、status_scan(扫描状态)、status_parse(解析状态)、status_import(导入状态)、status_sync(同步状态)、file_name(源文件名)
执行要求:
1. 先输出目录结构,不要直接写代码。
2. 先生成 docs/modules/历史试卷/pdd.md、api.md、test-cases.md 和 codex-sop.md。
3. 再根据文档生成后端代码、前端代码、接口封装、权限控制和测试用例。
4. 开发阶段需要包含 数据联动、图像识别、导入导出、文件管理、资源预览,但只能写源码真实存在的能力。
5. 每个阶段输出涉及文件、修改目标和验收方式。
PDD 标准
PDD 是 历史试卷 的设计与验收文档,用于约束 Codex 输出是否符合真实业务。验收不能只看页面能否打开,还要检查字段、接口、权限、异常、回显和扩展功能是否与源码一致。
| 验收维度 | 验收重点 | 通过标准 |
|---|---|---|
| 业务目标 | 沉淀考试安排生成的试卷文件、题目结构和预览资源 | 页面和接口围绕该目标闭环 |
| 页面结构 | server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/api.ts、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/crud.tsx、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/index.vue | 列表、表单、详情或自定义操作区可用 |
| 数据模型 | uuid(uuid)、paper_name(试卷名称)、paper_code(试卷编码)、source_type(source_type)、source_channel(来源通道)、subject(学科)、grade_exam(年级)、exam_type(考试类型)、name_exam(考试名称)、code_exam(系统考试编码) | 字段保存、查询、回显和校验一致 |
| 接口规则 | /api/TestingCenter/HistoricalExamPaper/ | GetList、GetObj、AddObj、UpdateObj、DelObj、sync_from_arrangement 能被前端正确调用 |
| 权限控制 | 按角色、按钮和接口权限检查 | 越权访问有后端拦截和错误响应 |
| 测试用例 | 覆盖新增、编辑、删除、查询、异常和回显 | 测试记录包含输入、输出和修复位置 |
| 数据联动 | 把筛选条件、树节点、状态字段、远程下拉和表单回显组织成稳定数据流。 | 字段变化要同步查询参数、保存载荷和回显结构,避免页面临时状态与后端字段脱节。 |
| 图像识别 | 把上传图片、OCR 或视觉模型返回结果转换成可编辑结构。 | 识别结果不能直接入库,需要进入可编辑表单,由人工修正后保存。 |
| 导入导出 | 把模板导入、批量导出、Excel/CSV/Zip 或下载任务纳入模块流程。 | 导入要校验字段和权限,导出任务要返回下载任务或文件结果。 |
| 文件管理 | 把上传、下载、附件地址、音视频或资源文件保存到业务记录。 | 文件地址与业务字段分开校验,前端只展示有权限访问的资源。 |
| 资源预览 | 把图片、音频、视频、PDF、Markdown、HTML 或业务结果以预览方式展示。 | 预览内容来自已保存字段或生成结果,保存前保留人工校对。 |
可以直接使用下面的Prompt进行PDD 验收
请 Codex 根据 docs/modules/历史试卷/pdd.md 对“历史试卷”进行验收。
源码范围:server_backend/modules/TestingCenter/models.py、server_backend/modules/TestingCenter/views_app/HistoricalExamPaper.py、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/api.ts、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/crud.tsx、server_vue3/src/views/modules/TestingCenter/HistoricalExamPaper/index.vue
接口范围:/api/TestingCenter/HistoricalExamPaper/
字段范围:uuid(uuid)、paper_name(试卷名称)、paper_code(试卷编码)、source_type(source_type)、source_channel(来源通道)、subject(学科)、grade_exam(年级)、exam_type(考试类型)、name_exam(考试名称)、code_exam(系统考试编码)、arrangement_id_ref(考试安排ID)、status_scan(扫描状态)、status_parse(解析状态)、status_import(导入状态)、status_sync(同步状态)、file_name(源文件名)
验收范围必须包含 数据联动、图像识别、导入导出、文件管理、资源预览。
请输出验收结果表,标记通过、未通过和需要修复的文件位置。不要只给结论,需要指出具体问题、影响范围和修复建议。
总结
历史试卷的开发价值在于沉淀考试安排生成的试卷文件、题目结构和预览资源。它把核心字段、接口规则和页面状态连成业务闭环,避免模块停留在普通列表维护。
Codex 开发该模块时,PDD 定义业务边界和验收标准,SOP 约束目录结构和开发顺序,Prompt 把页面、模型、接口、权限和扩展功能 分阶段交给 Codex 实现。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)