企业网盘
企业网盘模块提供文件存储与管理能力,支持文件夹层级、三种权限范围(个人/部门/公开)、文件上传下载、重命名移动、回收站和空间用量统计。文件实体存储由 文件存储层 统一管理,网盘模块负责管理文件的元数据与组织结构。
核心概念
企业网盘
├── 📁 个人空间(仅本人可见)
│ ├── 📁 项目资料/
│ └── 📄 报价单.pdf
├── 📁 部门空间(同部门可见)
│ ├── 📁 技术部/
│ └── 📁 市场部/
└── 📁 公共空间(全员可见)
├── 📁 公司模板/
└── 📁 规章制度/
权限范围
网盘通过 scope 字段将文件划分为三个可见范围:
| 范围 | 可见性 | 适用场景 |
|---|---|---|
| 个人 personal | 仅文件所有者可见 | 个人工作文件、草稿 |
| 部门 dept | 同部门成员可见 | 部门内部资料、协作文件 |
| 公开 public | 全员可见 | 公司模板、规章制度、公开资料 |
部门归属
部门空间的可见性基于 sys_user.dept_id,系统通过数据权限上下文自动过滤。用户的部门归属由 HRM 部门管理决定。
文件管理
文件夹操作
| 操作 | 说明 |
|---|---|
| 新建文件夹 | 在指定父级下创建文件夹(is_dir=1) |
| 重命名 | 修改文件/文件夹名称 |
| 移动 | 修改 parent_id 实现移动 |
| 删除 | 移入回收站(status=0),不立即物理删除 |
文件属性
| 字段 | 说明 |
|---|---|
| 名称 | 文件/文件夹显示名 |
| 类型 | 文件夹 / 文件 |
| 父级 ID | 所在文件夹(parent_id 形成树) |
| 存储路径 | object_key(OSS 路径或本地路径) |
| 大小 | 文件字节数 |
| MIME 类型 | content-type |
| 权限范围 | personal / dept / public |
| 状态 | 正常 / 回收站 |
文件上传
文件上传走 公共文件存储接口(POST /api/upload),上传成功后拿到 URL/objectKey,再调用网盘接口创建文件元数据记录。
空间用量
系统为每个用户提供个人空间用量统计:
GET /cloud/usage返回当前用户的已用空间大小- 支持在系统配置中设置单用户空间上限
回收站
删除操作不会立即物理删除文件,而是将 status 标记为 0(回收站):
- 回收站文件在常规列表中不可见
- 可在回收站中恢复或永久删除
- 永久删除仅删除元数据记录,不影响已上传的存储文件(存储文件的清理由存储层独立管理)
与其他模块的联动
| 联动模块 | 联动场景 |
|---|---|
| 文件存储 | 文件实体存储(OSS 双桶 / 本地),网盘仅管理元数据 |
| HRM | 部门空间可见性基于用户的部门归属 |
| 系统管理 | 权限范围、空间配额配置 |