## 后端重构 ### 新增基础设施 - src/common/dto/ - 统一响应格式和分页查询DTO基类 - src/common/interceptors/ - 响应转换拦截器 - src/common/utils/ - JSON解析和分页计算工具函数 ### DTO规范化 - Course、Lesson、TeacherCourse、SchoolCourse、Tenant控制器添加Swagger装饰器 - 添加@ApiQuery、@ApiBody、@ApiOperation完善API文档 - 修复CourseLesson控制器路径参数问题 ## 前端重构 ### Orval API客户端生成 - 添加orval配置和生成脚本 - 生成完整的类型安全API客户端 (src/api/generated/) - 导入56个参数类型文件 ### API模块迁移 - src/api/course.ts - 迁移使用Orval生成API - src/api/school-course.ts - 修复类型错误(number vs string) - src/api/teacher.ts - 完整迁移教师端API - src/api/client.ts - 重构API客户端统一入口 - src/api/lesson.ts - 修复未使用参数 ### 文件路由配置 - 配置unplugin-vue-router插件 - 创建动态路由配置支持自动路由和传统路由切换 - 添加路由守卫保留原有权限逻辑 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
32 lines
764 B
TypeScript
32 lines
764 B
TypeScript
import { defineConfig } from 'orval';
|
|
|
|
export default defineConfig({
|
|
readingPlatform: {
|
|
output: {
|
|
mode: 'split',
|
|
target: 'src/api/generated/index.ts',
|
|
schemas: 'src/api/generated/model',
|
|
client: 'axios',
|
|
override: {
|
|
mutator: {
|
|
path: 'src/api/generated/mutator.ts',
|
|
name: 'customMutator',
|
|
},
|
|
// 自定义类型名称
|
|
name: (type) => {
|
|
// 移除命名空间前缀,简化类型名称
|
|
return type.replace(/^(Result|ResultPageResult)/, '');
|
|
},
|
|
},
|
|
// 导入优化
|
|
imports: {
|
|
axios: true,
|
|
},
|
|
},
|
|
input: {
|
|
// 从后端 Swagger 文档生成
|
|
target: 'http://localhost:3000/api-docs-json',
|
|
},
|
|
},
|
|
});
|