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 协议,可以满足个人、家庭和小型企业的文件存储需求。
