个人博客文件管理
想法
想要一个个人文件管理 (界面无所谓,哪怕很 low)
支持 基于 阿里云 oss / 支持本地文件 / 或者其他的文件管理系统。
能够支持其他系统对于文件的管理和依赖,
支持文件的加密访问和公开访问。
支持分享。
后续看看能不能支持检索
界面
需要什么样的界面?
自己前端基础太差了,没办法做出漂亮的界面,所以,是不是考虑最简单的直接 a 标签排列,功能最重要
但是接口一定要写好
功能点
- 支持文件多来源,支持文件多系统可配置
- 支持多业务,不同业务对于文件的不同需要,可以进行灵活配置,例如,
- 支持层级文件(文件夹)
- 保证文件可靠 , 安全
- 多用户,多系统,不同的隔离情况
设计
表结构
tb_directory
字段 | 类型 | 备注 |
---|---|---|
id | varchar(32) | 目录 id |
name | varchar(255) | 节点名称 |
node_type | tinyint | 节点类型 1-目录节点,2-叶子节点,0-根节点 |
node_extend_info | varchar(1000) | 节点扩展信息 |
status | tinyint | 节点状态 0-可用,1-删除 |
source_id | varchar(64) | 节点来源 id |
source_type | int(4) | 节点所属来源渠道 |
remark | varchar(500) | 节点备注 |
source_extend_info | varchar(1000) | 节点业务扩展信息。 |
user_id | int | 用户 id |
create_time | date | 文件创建时间 |
update_time | date | 文件修改时间 |
接口对外接口
- 根据所指定的目录新增接口
- 修改指定节点信息
- 删除指定节点,可以根据不同的渠道指定是否删除对应的子节点。
- 查询,需要三个, 查询指定节点,查询指定节点以及其对应的子节点,以及查询所有节点。
tb_file 文件信息
设计思考
- 文件如何 记录不同业务来源的文件的特殊性,以及,文件如何访问以及存储
- 如果不同的业务,对文件存储位置发生了变化,例如从本地 迁移到了 oss
- 如何对文件的统一管理进行优化,例如同不同业务里如何对文件进行展现。
- 文件的目录如何进行管理
tb_file
字段 | 类型 | 备注 |
---|---|---|
id | varchar(32) | 文件 id |
origin_name | varchar(255) | 文件原始名称 |
name | varchar(255) | 文件现有名称 |
file_path | varchar(255) | 文件对应文件系统的路径 |
file_directory | varchar(255) | 文件对应文件系统的目录 |
ttl | bigint | 文件生存时间 , 默认-1 永久生效 |
size | bigint | 文件大小 |
content_type | varchar(100) | 文件扩展类型 |
status | tinyint | 文件状态 |
source_id | varchar(64) | 文件来源 id |
source_type | int(4) | 文件所属来源渠道 |
remark | varchar(500) | 文件备注 |
extend_info | varchar(1000) | 文件扩展信息,json |
user_id | int | 用户 id |
create_time | date | 文件创建时间 |
update_time | date | 文件修改时间 |
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于