QShare

基于 Next.js 开发的文件分享平台,允许用户上传、管理和分享文件

graph TD
    subgraph 用户认证
        A[登录]
        B[退出]
    end

    subgraph 文件管理
        C[查看文件列表]
        D[重命名]
        E[复制链接]
        F[复制二维码]
        G[刷新链接]
        H[删除文件]
    end

    subgraph 文件详情
        I[显示二维码]
        J[访问链接]
    end

    subgraph 文件上传和预览
        K[上传文件]
        L[短链分享]
        M[二维码分享]
        N[在线预览]
    end

    A & B --> 用户认证
    C & D & E & F & G & H --> 文件管理
    I & J --> 文件详情
    K & L & M & N --> 文件上传和预览

用户操作流程图

sequenceDiagram
    participant 用户
    participant 客户端
    participant 前端
    participant 后端
    participant 文件存储服务
    participant 数据库

    用户->>客户端: 访问平台
    客户端->>前端: 请求登录页面
    前端->>客户端: 返回登录页面
    用户->>客户端: 提交登录信息
    客户端->>前端: 发送登录请求
    前端->>后端: 验证用户信息
    后端->>数据库: 查询用户信息
    数据库-->>后端: 返回验证结果
    后端-->>前端: 返回登录状态
    前端-->>客户端: 返回登录结果

    用户->>客户端: 上传文件
    客户端->>前端: 发送上传请求
    前端->>后端: 处理文件上传
    后端->>文件存储服务: 存储文件
    文件存储服务-->>后端: 返回存储结果
    后端-->>前端: 返回上传结果
    前端-->>客户端: 返回上传结果

    用户->>客户端: 查看文件列表
    客户端->>前端: 请求文件列表
    前端->>后端: 获取文件列表
    后端->>数据库: 查询文件信息
    数据库-->>后端: 返回文件信息
    后端-->>前端: 返回文件列表
    前端-->>客户端: 显示文件列表

    用户->>客户端: 操作文件(重命名、删除等)
    客户端->>前端: 发送文件操作请求
    前端->>后端: 处理文件操作
    后端->>数据库: 更新文件信息
    数据库-->>后端: 返回操作结果
    后端-->>前端: 返回操作结果
    前端-->>客户端: 返回操作结果