silver-knowledge-upload-plan.md 2.0 KB

银龄智库管理页面文件上传功能实施计划

需求概述

在后台银龄智库管理页面新增知识表单中,增加知识封面图片上传和文件附件上传功能,采用已有的文件上传系统。

实施步骤

1. 后端修改

1.1 实体类修改

文件:src/server/modules/silver-users/silver-knowledge.entity.ts

  • 添加封面图片字段:coverImage
  • 添加附件字段:attachment
  • 添加附件名称字段:attachmentName

1.2 DTO更新

文件:src/server/modules/silver-users/silver-knowledge.entity.ts

  • 更新CreateSilverKnowledgeDto
  • 更新UpdateSilverKnowledgeDto
  • 更新SilverKnowledgeSchema

2. 前端修改

2.1 创建文件上传组件

基于MinioUploader创建专门的图片上传和文件上传组件

2.2 修改SilverKnowledges页面

文件:src/client/admin/pages/SilverKnowledges.tsx

  • 在表单中添加封面图片上传区域
  • 在表单中添加文件附件上传区域
  • 在列表中显示封面图片预览
  • 在列表中显示附件下载链接

3. 技术方案

3.1 封面图片

  • 使用MinioUploader组件,限制图片格式
  • 上传路径:/silver-knowledges/covers/
  • 支持图片预览
  • 限制文件大小:5MB

3.2 文件附件

  • 使用MinioUploader组件,支持多种格式
  • 上传路径:/silver-knowledges/attachments/
  • 支持文件下载
  • 限制文件大小:50MB

3.3 文件管理

  • 文件存储在MinIO
  • 数据库保存文件路径和文件名
  • 支持文件删除和替换

预期效果

创建/编辑表单

  • 封面图片上传区域:显示上传按钮和预览
  • 文件附件上传区域:显示上传按钮和文件名
  • 表单提交时包含文件信息

列表显示

  • 封面列:显示小图预览,点击可查看大图
  • 附件列:显示文件名,点击可下载
  • 保持现有功能不变

验证要点

  1. 图片上传成功并正确显示预览
  2. 文件上传成功并可正常下载
  3. 创建知识时包含文件信息
  4. 编辑知识时可替换文件
  5. 删除知识时清理相关文件(可选)