Skip to content

文件素材库管理后台需求文档

需求背景

存放代码、安装包、视频等资源,因为直接把安装包放到网站中,显然会导致 git 存储的仓库会变得较大。

部分代码、视频希望是 Vip 用户才允许访问,禁止白嫖。

方案一:开发一个网站实现对资源的统一管理

  1. 支持登录功能 - nginx 内部账号

角色:超级管理员、普通用户

超级管理员支持上传、重命名、下载 普通用户仅支持查看、下载 超级管理员可以对资源进行下架处理,下架的资源将禁止所有人访问。

  1. 前端支持拖拽上传文件、文件夹
  • 文件上传大小限制,单个文件不得超过 1GB,文件夹深度不得超过 3 层
  • 可以上传到指定的文件夹中
  • 上传交互进度参考学浪 pc 端 app
  • 最大并发支持 3 个同时上传

文件名称(鼠标 hover 到名称支持编辑)、文件大小(支持排序)、下载地址(支持复制、hover 显示更多)、文件上传(支持排序)、文件类型(文件、文件夹、其他)、设置引用、操作(复制下载地址、下载资源、删除资源)

  • 存在引用的资源不支持删除,需要修改关联引用,才可以删除操作
  • 删除资源,仅仅是不允许访问,进入资源回收站,7 天后资源删除
  1. 回收站列表,仅超级管理员可以看到,可以恢复被删除的资源

左右布局

  1. 左上角显示 logo 用户信息

方案二:使用 shell 脚本实现对资源文件的拷贝

似乎这个更简单一点,无需开发任何 app。

把资源放到一个本地的文件夹中,把需要更新的内容,直接放到文件夹内,然后对比远程和本地资源的更新时间,如果不一致,那么把对应的文件上传到对应的文件夹中。

这个对比的过程,使用一个 node.js 就可以了。