publishLongArticle 之前把专栏/专访/帖子/问吧/实践五种类型的表单全挤在一个文件里, 字段、校验规则、官方账号/管理员身份判断混在一起,改一个类型容易牵连到别的类型。 按类型拆成 components/ 下的 PostForm、ColumnForm、InterviewForm、QuestionForm、 PracticeForm,每个组件独立维护自己完整的抽屉表单(字段、校验、发布时间/IP信息、 提交数据、编辑回显),文件开头写清楚了这个类型的特殊规则(比如帖子封面图什么时候 必填、专栏独有的"同步同事吧"、问吧/实践用图片不用封面图、实践没有推送等)。外层 index.vue 只保留标题/内容编辑器、抽屉壳子和提交/回显的整体编排。 顺带把 api/article/types.ts 里跟实际请求对不上的类型补全了:AddOrUpdatePostDto 之前没声明推送字段,PushSettingBase.pushList 缺了 valueType,新增了 AddOrUpdateQuestionDto。
| Name |
Last commit
|
Last update |
|---|---|---|
| .agents/skills | Loading commit data... | |
| .claude/skills | Loading commit data... | |
| .cursor/rules | Loading commit data... | |
| .vscode | Loading commit data... | |
| deploy | Loading commit data... | |
| public/downloads | Loading commit data... | |
| skills | Loading commit data... | |
| src | Loading commit data... | |
| .editorconfig | Loading commit data... | |
| .gitattributes | Loading commit data... | |
| .gitignore | Loading commit data... | |
| .oxfmtrc.json | Loading commit data... | |
| .oxlintrc.json | Loading commit data... | |
| README.md | Loading commit data... | |
| env.d.ts | Loading commit data... | |
| eslint.config.oxlint.mjs | Loading commit data... | |
| eslint.config.ts | Loading commit data... | |
| index.html | Loading commit data... | |
| package.json | Loading commit data... | |
| pnpm-lock.yaml | Loading commit data... | |
| skills-lock.json | Loading commit data... | |
| tsconfig.app.json | Loading commit data... | |
| tsconfig.json | Loading commit data... | |
| tsconfig.node.json | Loading commit data... | |
| uno.config.ts | Loading commit data... | |
| vite.config.ts | Loading commit data... |