以 CampusAnnouncement 为模板建立课程作业模块,重命名标识符与文案(notice→homework、公告→作业), 并保留其顶栏/左栏外壳,按课程作业业务重搭数据模型与页面。 - mock(src/assets/mock/homeworkapi.ts):作业化数据模型(学科/截止/提交方式/流程状态), 班级花名册→学生个体提交记录与批改(确定性分布),端点 List/SendList/Submissions/ SubmissionDetail/Grade/Remind/Statis 等;左栏菜单按角色返回。 - v1 教师端:布置作业(新增学科/截止/提交方式)、我布置的(状态标签+提交/批改进度)、 提交情况(Submissions,含内联批改)、批改中心(Grade 逐份批改)、作业统计(成绩分布+进度)。 - v2 学生/家长端(端分离):SetRole + viewerRole 切换身份;StudentHomeworks.vue 承担 今日作业/待订正(学生可提交/重交)与孩子作业(家长只读+提醒);新增 MyHomeworks/Submit/ MySubmission/ParentNudge 接口与类型。 - 类型与 api 模块同步;dev:mock 三角色 curl 端到端验证通过。
42 lines
1.4 KiB
TypeScript
42 lines
1.4 KiB
TypeScript
import type { GeneratorConfig } from "@alova/wormhole";
|
|
|
|
export default {
|
|
generator: [
|
|
{
|
|
input: "http://base.yunhaixingtong.com/homework/v3/api-docs",
|
|
// 文档平台类型
|
|
platform: "swagger",
|
|
|
|
// 生成代码的输出目录
|
|
output: "src/api",
|
|
// 响应数据的媒体类型
|
|
responseMediaType: "application/json",
|
|
// 请求体数据的媒体类型
|
|
bodyMediaType: "application/json",
|
|
// 生成的 API 版本
|
|
version: 1,
|
|
// 生成代码类型
|
|
type: "typescript",
|
|
// 全局 API 名称
|
|
global: "Apis",
|
|
splitImplementation: true,
|
|
implementation: "inline",
|
|
// API 处理函数
|
|
handleApi: apiDescriptor => {
|
|
// 过滤掉已废弃的 API
|
|
if (apiDescriptor.deprecated) {
|
|
return undefined;
|
|
}
|
|
const newOpId = apiDescriptor.summary?.trim() || apiDescriptor.operationId;
|
|
const url = apiDescriptor.url.replace(/^\/{platform}\//, "/api/");
|
|
|
|
return {
|
|
...apiDescriptor,
|
|
operationId: newOpId, // 关键:改掉它
|
|
url: apiDescriptor.url.replace(/^\/{platform}\//, "/api/"),
|
|
};
|
|
},
|
|
},
|
|
],
|
|
} as GeneratorConfig;
|