文件素材库管理后台需求文档
需求背景
存放代码、安装包、视频等资源,因为直接把安装包放到网站中,显然会导致 git 存储的仓库会变得较大。
部分代码、视频希望是 Vip 用户才允许访问,禁止白嫖。
方案一:开发一个网站实现对资源的统一管理
- 支持登录功能 - nginx 内部账号
角色:超级管理员、普通用户
超级管理员支持上传、重命名、下载 普通用户仅支持查看、下载 超级管理员可以对资源进行下架处理,下架的资源将禁止所有人访问。
- 前端支持拖拽上传文件、文件夹
- 文件上传大小限制,单个文件不得超过 1GB,文件夹深度不得超过 3 层
- 可以上传到指定的文件夹中
- 上传交互进度参考学浪 pc 端 app
- 最大并发支持 3 个同时上传
文件名称(鼠标 hover 到名称支持编辑)、文件大小(支持排序)、下载地址(支持复制、hover 显示更多)、文件上传(支持排序)、文件类型(文件、文件夹、其他)、设置引用、操作(复制下载地址、下载资源、删除资源)
- 存在引用的资源不支持删除,需要修改关联引用,才可以删除操作
- 删除资源,仅仅是不允许访问,进入资源回收站,7 天后资源删除
- 回收站列表,仅超级管理员可以看到,可以恢复被删除的资源
左右布局
- 左上角显示 logo 用户信息
方案二:使用 shell 脚本实现对资源文件的拷贝
似乎这个更简单一点,无需开发任何 app。
把资源放到一个本地的文件夹中,把需要更新的内容,直接放到文件夹内,然后对比远程和本地资源的更新时间,如果不一致,那么把对应的文件上传到对应的文件夹中。
这个对比的过程,使用一个 node.js 就可以了。