Skip to content

MyObj 完整功能清单

本文档详细列出了 MyObj 系统的所有功能特性。

📤 文件上传功能

基础上传

  • 单文件上传 - 支持任意大小文件上传
  • 多文件批量上传 - 同时上传多个文件
  • 拖拽上传 - 支持拖拽文件到浏览器上传
  • 文件夹上传 - 支持上传整个文件夹(保持目录结构)

高级上传特性

  • 大文件分片上传 - 超过阈值(默认1GB)自动分片
  • 断点续传 - 网络中断后自动恢复上传
  • 秒传功能 - 基于 BLAKE3 哈希算法,相同文件秒传
  • 上传进度显示 - 实时显示上传进度和速度
  • 上传任务管理 - 查看、暂停、恢复、删除上传任务
  • 过期任务清理 - 自动清理过期的未完成上传任务
  • 上传预检查 - 上传前检查空间、权限等

文件加密

  • 加密存储 - 上传时可选择加密存储
  • 密码保护 - 为加密文件设置密码
  • 加密下载 - 下载加密文件需要密码

📥 文件下载功能

基础下载

  • 单文件下载 - 直接下载文件
  • 批量打包下载 - 选择多个文件打包成 ZIP 下载
  • 打包进度查询 - 查看打包进度
  • Range 请求支持 - 支持 HTTP Range 请求(断点续传)

离线下载

  • HTTP/HTTPS 下载 - 支持从 URL 下载文件
  • 磁力链接下载 - 支持磁力链接(magnet:?xt=urn:btih:...)
  • 种子文件下载 - 支持 .torrent 文件下载
  • 种子解析 - 自动解析种子文件,显示文件列表
  • 文件选择 - 下载前可选择要下载的文件
  • 文件类型筛选 - 按类型(视频、音频、图片等)筛选文件
  • 下载任务管理 - 查看、暂停、恢复、取消、删除任务
  • 下载进度显示 - 实时显示下载进度和速度
  • 任务状态管理 - 等待中、下载中、已完成、已暂停、已失败、已取消

网盘文件下载

  • 本地文件下载 - 从网盘下载文件到本地
  • 下载任务跟踪 - 跟踪下载任务状态

🗂️ 文件管理功能

文件操作

  • 文件列表 - 分页显示文件列表
  • 文件搜索 - 按文件名、类型搜索文件
  • 文件重命名 - 重命名文件和文件夹
  • 文件移动 - 移动文件到其他目录
  • 文件复制 - 复制文件(支持秒传优化)
  • 文件删除 - 删除文件(进入回收站)
  • 文件夹创建 - 创建虚拟目录
  • 文件夹删除 - 删除文件夹
  • 文件夹重命名 - 重命名文件夹

文件视图

  • 列表视图 - 表格形式显示文件
  • 网格视图 - 卡片形式显示文件
  • 视图切换 - 在列表和网格视图间切换
  • 文件排序 - 按名称、大小、时间排序
  • 文件筛选 - 按类型筛选文件

文件预览

  • 图片预览 - 支持 JPG、PNG、GIF、WebP 等
  • 视频预览 - 支持 MP4、AVI、MOV 等(使用 Plyr 播放器)
  • PDF 预览 - 在线预览 PDF 文件
  • 文本预览 - 预览文本文件
  • 代码预览 - 代码文件语法高亮
  • 缩略图生成 - 自动为图片和视频生成缩略图
  • 预览对话框 - 全屏预览对话框

文件信息

  • 文件详情 - 显示文件大小、类型、创建时间等
  • 文件路径 - 显示文件虚拟路径
  • 文件公开状态 - 设置文件为公开或私有

🔗 文件分享功能

分享链接

  • 创建分享 - 为文件创建分享链接
  • 密码保护 - 分享链接可设置密码
  • 有效期设置 - 设置分享链接有效期
  • 分享列表 - 查看所有分享链接
  • 分享管理 - 删除、修改分享链接
  • 访问统计 - 查看分享链接的访问次数
  • 分享下载 - 通过分享链接下载文件

文件广场

  • 公开文件浏览 - 浏览所有用户公开的文件
  • 公开文件搜索 - 搜索公开文件
  • 文件公开设置 - 设置文件为公开

👥 用户与权限管理

用户管理(管理员)

  • 用户列表 - 分页显示用户列表
  • 用户搜索 - 按用户名、邮箱搜索
  • 用户创建 - 创建新用户
  • 用户编辑 - 编辑用户信息
  • 用户删除 - 删除用户
  • 用户封禁 - 封禁/解封用户
  • 密码重置 - 重置用户密码
  • 存储配额 - 设置用户存储空间限制
  • 用户组管理 - 分配用户到不同组

用户组管理(管理员)

  • 组列表 - 查看所有用户组
  • 组创建 - 创建新用户组
  • 组编辑 - 编辑用户组信息
  • 组删除 - 删除用户组
  • 组权限分配 - 为用户组分配权限

权限管理(管理员)

  • 权限列表 - 查看所有权限
  • 权限分配 - 为用户组分配权限
  • 权限类型
    • file:upload - 文件上传权限
    • file:download - 文件下载权限
    • file:delete - 文件删除权限
    • file:move - 文件移动权限
    • file:preview - 文件预览权限
    • dir:create - 目录创建权限

个人设置

  • 用户信息 - 查看和编辑个人信息
  • 密码修改 - 修改登录密码
  • API Key 管理 - 创建、查看、删除 API Key
  • 外观设置 - 主题、颜色、布局等设置

🗑️ 回收站功能

  • 回收站列表 - 查看已删除的文件
  • 文件还原 - 还原删除的文件
  • 永久删除 - 永久删除文件(不可恢复)
  • 清空回收站 - 清空所有回收站文件
  • 删除时间显示 - 显示文件删除时间

📊 任务中心

上传任务

  • 任务列表 - 查看所有上传任务
  • 任务状态 - 等待中、上传中、已完成、已失败、已取消
  • 任务进度 - 显示上传进度和速度
  • 任务管理 - 暂停、恢复、取消、删除任务
  • 过期任务 - 查看和管理过期任务
  • 任务续期 - 续期过期任务

下载任务

  • 任务列表 - 查看所有下载任务
  • 任务状态 - 等待中、下载中、已完成、已暂停、已失败、已取消
  • 任务进度 - 显示下载进度和速度
  • 任务管理 - 暂停、恢复、取消、删除任务
  • 任务类型 - 区分离线下载和网盘文件下载

🌐 WebDAV 支持

  • WebDAV 协议 - 标准 WebDAV 协议支持
  • 文件浏览 - 通过 WebDAV 浏览文件
  • 文件上传 - 通过 WebDAV 上传文件
  • 文件下载 - 通过 WebDAV 下载文件
  • 目录管理 - 创建、删除、重命名目录
  • 权限控制 - 基于用户权限的访问控制
  • 多用户隔离 - 每个用户只能访问自己的文件空间

🔐 S3 协议支持

Bucket 操作

  • ListBuckets - 列出所有 Bucket
  • CreateBucket - 创建 Bucket
  • HeadBucket - 检查 Bucket 是否存在
  • DeleteBucket - 删除 Bucket

Object 操作

  • PutObject - 上传对象
  • GetObject - 下载对象(支持 Range 请求)
  • HeadObject - 获取对象元数据
  • DeleteObject - 删除对象
  • ListObjects/ListObjectsV2 - 列出对象
  • CopyObject - 复制对象

Multipart Upload

  • InitiateMultipartUpload - 初始化分片上传
  • UploadPart - 上传分片
  • CompleteMultipartUpload - 完成分片上传
  • AbortMultipartUpload - 取消分片上传
  • ListParts - 列出分片
  • ListMultipartUploads - 列出分片上传会话

高级特性

  • DeleteObjects - 批量删除对象
  • 预签名 URL - 生成预签名 URL(GET/PUT)
  • 版本控制 - Bucket 和 Object 版本控制
  • CORS - 跨域资源共享配置
  • 对象标签 - 对象标签管理
  • ACL - 访问控制列表
  • Bucket 策略 - Bucket Policy 配置
  • 生命周期管理 - 对象生命周期规则
  • 服务端加密 - SSE-S3 加密

🎨 界面功能

主题与外观

  • 主题切换 - 亮色/暗色主题
  • 颜色自定义 - 自定义主题颜色
  • 布局模式 - 水平/垂直布局
  • 侧边栏宽度 - 可调整侧边栏宽度
  • 标签页视图 - 显示/隐藏标签页
  • 背景图案 - 多种背景图案选择
  • 预设主题 - 预设主题快速切换

交互功能

  • 键盘快捷键 - 丰富的键盘快捷键支持
  • 快捷键帮助 - 快捷键帮助对话框
  • 拖拽上传 - 拖拽文件上传
  • 右键菜单 - 文件右键菜单操作
  • 面包屑导航 - 文件路径面包屑导航
  • 搜索建议 - 搜索历史和建议

引导功能

  • 新用户引导 - 首次登录引导教程
  • 功能提示 - 关键功能使用提示

🔍 搜索功能

  • 文件搜索 - 搜索用户自己的文件
  • 公开文件搜索 - 搜索公开文件
  • 搜索历史 - 保存搜索历史
  • 搜索建议 - 搜索建议提示

📱 响应式设计

  • 移动端适配 - 完整的移动端界面适配
  • 平板适配 - 平板设备优化
  • 响应式布局 - 自适应不同屏幕尺寸

🌍 国际化

  • 多语言支持 - 中文、英文
  • 语言切换 - 动态切换语言
  • 完整国际化 - 所有用户可见文本已国际化

🔒 安全功能

认证

  • JWT 认证 - 基于 Token 的认证
  • API Key 认证 - 支持 API Key 访问
  • RSA 加密 - 密码传输 RSA 加密
  • 密码挑战 - 登录密码挑战机制

权限控制

  • 细粒度权限 - 文件级别的权限控制
  • 用户组权限 - 基于用户组的权限
  • API 权限验证 - API 接口权限验证

数据安全

  • 文件加密 - 可选的文件加密存储
  • 密码保护 - 加密文件密码保护
  • 操作日志 - 完整的操作审计日志

🛠️ 系统管理(管理员)

用户管理

  • 用户列表 - 分页、搜索、筛选
  • 用户操作 - 创建、编辑、删除、封禁
  • 存储配额 - 设置用户存储空间

组管理

  • 组列表 - 查看所有用户组
  • 组操作 - 创建、编辑、删除组
  • 权限分配 - 为组分配权限

权限管理

  • 权限列表 - 查看所有权限
  • 权限分配 - 为用户组分配权限

磁盘管理

  • 磁盘列表 - 查看所有存储磁盘
  • 磁盘扫描 - 扫描可用磁盘
  • 磁盘配置 - 配置磁盘路径和大小

系统配置

  • 系统信息 - 查看系统配置信息
  • 系统统计 - 用户数、文件数等统计

📦 其他功能

文件打包

  • 批量打包 - 多个文件打包成 ZIP
  • 打包进度 - 实时显示打包进度
  • 打包下载 - 下载打包文件

视频播放

  • 视频预览 - 在线视频播放
  • 播放器控制 - 播放、暂停、音量等
  • 播放进度 - 显示播放进度
  • MIME 类型支持 - 支持多种视频格式

打印功能

  • 文件打印 - 支持打印图片、PDF、文本
  • 打印预览 - 打印前预览

协作功能(开发中)

  • 协作空间 - 多人协作文件管理

🔧 技术特性

后端技术

  • Gin 框架 - 高性能 HTTP Web 框架
  • GORM - 强大的 ORM 库
  • SQLite/MySQL - 双数据库支持
  • Redis 缓存 - 可选 Redis 缓存
  • BLAKE3 哈希 - 高性能哈希算法
  • JWT 认证 - Token 认证机制
  • WebDAV 协议 - 标准 WebDAV 实现
  • S3 协议 - 完整 S3 协议支持
  • BitTorrent - 种子下载支持
  • Swagger 文档 - 自动生成 API 文档

前端技术

  • Vue 3 - 现代化前端框架
  • TypeScript - 类型安全
  • Element Plus - UI 组件库
  • Pinia - 状态管理
  • Vue Router - 路由管理
  • Vue I18n - 国际化
  • Vite - 快速构建工具
  • Plyr - 视频播放器
  • Driver.js - 用户引导

📈 性能优化

  • 文件秒传 - 基于哈希去重
  • 分片上传 - 大文件分片处理
  • 断点续传 - 网络中断恢复
  • 缩略图缓存 - 缩略图缓存机制
  • 虚拟列表 - 大列表虚拟滚动
  • 懒加载 - 图片懒加载
  • 代码分割 - 路由级别的代码分割

📝 总结

MyObj 是一个功能完整的私有云存储系统,涵盖了文件管理、用户权限、分享、下载、预览等各个方面,同时支持 WebDAV 和 S3 协议,可以满足个人、家庭和小型企业的文件存储需求。

基于 Apache 2.0 许可证发布