参照 ProfessionView/src/views/profession/RecordEdit.vue(权威契约)逐字段重写: - 正文字段名由 content 改为 remark;按模块页补齐「年级段 / 学科 / 是否公开 / 栏目动态字段 / 添加附件」 - 新增「栏目动态字段」机制:这组字段由**栏目的后台配置**决定,后端构建期无法枚举 ⇒ 后端只下发「去哪儿取」(含 {{占位符}} 依赖映射),前端带用户登录态取回后就地渲染; 提交时按模块页口径打包成 contents = JSON.stringify([{fieldId,value}]) - 支持七种栏目字段类型:text(多行转 textarea) / number / date / radio / checkbox / select / province_city(级联) - 分区渲染在「正文内容」之前,与模块页一致;取不到字段定义时保留下拉并给「重新加载」 - 单行文本控件补 maxlength 与 placeholder(原先只有 textarea 认 placeholder) - vite dev 补 /profession 代理,让「路径拼错」在本地就暴露
请假的模块 key 是 homeleave、真实路由前缀是 /home-leave,后端下发的 optionCall 与附件 uploadPath 都带真实前缀。本地只代理 /api 时,这些带前缀 的请求会直接 404 —— 于是「后端把模块前缀拼错」这类问题在本地测不出来, 请假佐证材料上传 404 就是这么漏到线上的。 这里把各模块前缀一并代理到本地 mock,让本地环境与线上同形。