已完成。改动只落在 apps/web/components/user/submissions-section.tsx:
- 工具栏「导入」旁新增 「粘贴JSON」 按钮(SnippetsOutlined 图标)。
- 点击弹出 JSON 编辑器弹窗,支持「填入示例」一键载入模板、「填充并关闭」执行回填。
- 回填逻辑:正文/标签/发布状态/付费/封面等走 React state;标题/摘要/别名/类型/分类走非受控 DOM 同步(与本机草稿回填同一通道,保证
new FormData(form)能读到);自动锁定 Markdown 模式。 - 类型检查通过(仅余两条
.next缓存里无关旧报错)。
可直接粘贴的 JSON 模板
{
"title": "文章标题",
"slug": "short-slug",
"type": "NEWS",
"articleFormat": "",
"categoryId": "",
"tags": ["标签1", "标签2", "标签3", "标签4", "标签5", "标签6"],
"excerpt": "一句话摘要,用于列表页展示。",
"body": "## 小标题\n\n这里是正文 Markdown 内容。\n\n- 要点一\n- 要点二\n",
"status": "published",
"coverMediaId": "",
"offerEnabled": false,
"showCover": false
}字段对照
| JSON 键 | 页面字段 | 默认值 |
|---|---|---|
title | 文章标题 | 必填 |
body | 正文(Markdown 源文) | — |
status | 发布状态 | published(可选 draft/review) |
type | 内容类型 | NEWS |
articleFormat | 文章形式 | ""(标准;可选 image/video/audio) |
slug | 链接别名 | 短英文 |
categoryId | 分类栏目 | ""(留空=默认未分类) |
tags | 文章标签 | 6 个(也支持空格分隔字符串) |
coverMediaId | 缩略图 | ""(空) |
excerpt | 文章摘要 | 一句话 |
offerEnabled | 作为付费资源发布 | false(不勾选) |
showCover | 正文显示缩略图 | false(不勾选) |
使用:打开 /tougao → 点工具栏「粘贴JSON」→ 粘贴上面 JSON(或点「填入示例」)→ 「填充并关闭」,字段即全部就绪,再点「保存并发布」即可。


