个人文件管理系统

个人博客文件管理

想法

想要一个个人文件管理 (界面无所谓,哪怕很 low)

支持 基于 阿里云 oss / 支持本地文件 / 或者其他的文件管理系统。

能够支持其他系统对于文件的管理和依赖,

支持文件的加密访问和公开访问。

支持分享。

后续看看能不能支持检索

界面

需要什么样的界面?

自己前端基础太差了,没办法做出漂亮的界面,所以,是不是考虑最简单的直接 a 标签排列,功能最重要

但是接口一定要写好

功能点

  1. 支持文件多来源,支持文件多系统可配置
  2. 支持多业务,不同业务对于文件的不同需要,可以进行灵活配置,例如,
  3. 支持层级文件(文件夹)
  4. 保证文件可靠 , 安全
  5. 多用户,多系统,不同的隔离情况

设计

表结构

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 文件修改时间
接口对外接口
  1. 根据所指定的目录新增接口
  2. 修改指定节点信息
  3. 删除指定节点,可以根据不同的渠道指定是否删除对应的子节点。
  4. 查询,需要三个, 查询指定节点,查询指定节点以及其对应的子节点,以及查询所有节点。

tb_file 文件信息

设计思考

  1. 文件如何 记录不同业务来源的文件的特殊性,以及,文件如何访问以及存储
  2. 如果不同的业务,对文件存储位置发生了变化,例如从本地 迁移到了 oss
  3. 如何对文件的统一管理进行优化,例如同不同业务里如何对文件进行展现。
  4. 文件的目录如何进行管理
字段 类型 备注
id varchar(32) 文件 id
origin_name varchar(255) 文件原始名称
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 文件修改时间

接口设计

代码结构设计~~~~

2 操作
andychia 在 2020-09-19 16:11:35 更新了该帖
andychia 在 2020-09-18 19:44:18 更新了该帖

赞助商 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...