52 lines
2.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using LMS.Repository.DTO;
using Microsoft.AspNetCore.Mvc;
using static LMS.Repository.DTO.FileUploadDto;
using static LMS.Repository.FileUpload.FileRequestReturn;
namespace LMS.service.Service.FileUploadService
{
/// <summary>
/// 七牛云文件上传服务接口
/// 提供文件上传、文件列表查询等功能
/// </summary>
public interface IQiniuUploadService
{
/// <summary>
/// 上传本地的文件到七牛云,接收 Base64 格式的文件
/// </summary>
/// <param name="request">Base64格式的文件上传请求参数</param>
/// <param name="machineId">机器码标识</param>
/// <returns>返回上传结果包含文件URL、Hash等信息</returns>
Task<APIResponseModel<UploadResult>> UploadBase64Async(ByteUploadRequest request, string machineId);
/// <summary>
/// 通过网络URL转存文件到七牛云
/// </summary>
/// <param name="machineId">机器码标识</param>
/// <param name="request">URL上传请求参数包含文件URL和文件名</param>
/// <returns>返回转存结果包含文件URL、Hash等信息</returns>
Task<ActionResult<APIResponseModel<UploadResult>>> UrlUpload(string machineId, UrlUploadRequest request);
/// <summary>
/// 获取用户文件列表,通过机器码查询
/// </summary>
/// <param name="machineId">机器码标识</param>
/// <param name="page">查看页码从1开始</param>
/// <param name="pageSize">分页大小,每页显示的文件数量</param>
/// <returns>返回分页的文件列表,包含文件基本信息</returns>
Task<ActionResult<APIResponseModel<CollectionResponse<FileMachineRequestReturn>>>> GetFilesByMachineId(string machineId, int page, int pageSize);
/// <summary>
/// 获取指定用户的文件列表
/// 如果请求用户是超级管理员,可以查看所有用户的文件
/// 普通用户只能查看自己的文件
/// </summary>
/// <param name="requestUserId">请求用户的ID</param>
/// <param name="userId">要查询的用户ID</param>
/// <param name="page">查看页码从1开始</param>
/// <param name="pageSize">分页大小,每页显示的文件数量</param>
/// <returns>返回分页的用户文件列表,包含文件详细信息</returns>
Task<ActionResult<APIResponseModel<CollectionResponse<FileUserRequestReturn>>>> GetFilesByUser(long requestUserId, long userId, int page, int pageSize);
}
}