52 lines
2.6 KiB
C#
52 lines
2.6 KiB
C#
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);
|
||
}
|
||
}
|