feat: add tenant import console

This commit is contained in:
Codex
2026-06-29 13:35:34 +08:00
parent 65905aaf8f
commit 93ec1a07d2
13 changed files with 623 additions and 30 deletions

View File

@@ -763,6 +763,10 @@ GET /api/tenant-content/imports/post-check
7. 导入进入 `completed/completed_with_errors` 后调用 `POST /api/tenant-content/imports/post-check`
8. 展示 `summary.importPostCheck``GET /api/tenant-content/imports/post-check?jobId=...` 返回的复检结果,再刷新内容列表、分数线列表或题目视频列表。
当前 `apps/taro/src/pages/tenant-admin/content/index.tsx` 已接第一版 H5 操作台:可切换导入类型和 JSON/CSV/Excel 格式,选择本地文件或粘贴内容,编辑本次字段别名,调用后端 preview再同步执行或传 `executionMode=async` 入队。下一步继续补模板文件下载、异步 job 轮询、复检详情面板和目标入口/集合选择的完整表单。
`fieldMappingOverrides` 只影响 CSV/Excel 表头归一化,不改变 JSON 导入 schema。后端会按导入类型校验目标字段白名单并拒绝危险对象键前端可以用它提高旧表格兼容性但不能用它制造新业务字段或绕过后端校验。
CSV 请求示例:
```json
@@ -770,6 +774,10 @@ CSV 请求示例:
"sourceFormat": "csv",
"sourceName": "questions.csv",
"csvText": "legacyId,题型,题干,选项A,选项B,答案\nq1,choice,题干,A,B,B",
"fieldMappingOverrides": {
"content": ["自定义题干"],
"answer": ["正确项"]
},
"subjectId": "...",
"categoryId": "...",
"entryId": "...",