网站首页 网站源码
website
站点相关全部源代码,隐藏了一些关于服务器的信息
using System.Collections.Generic;
using System.Threading.Tasks;
using Dpz.Core.Public.ViewModel.V4;
using Dpz.Core.Web.Pager;

namespace Dpz.Core.Service.V4.Services;

public interface IPictureRecordService : ICacheService
{
    /// <summary>
    /// 获取所有图片标签
    /// </summary>
    /// <returns></returns>
    Task<ICollection<string>> GetTagsAsync();

    /// <summary>
    /// 获取所有Banner
    /// </summary>
    /// <returns></returns>
    Task<ICollection<VmPictureRecord>> GetBannerAsync();

    /// <summary>
    /// 分页获取图片信息
    /// </summary>
    /// <param name="tags"></param>
    /// <param name="description"></param>
    /// <param name="pageIndex"></param>
    /// <param name="pageSize"></param>
    /// <returns></returns>
    Task<IPagedList<VmPictureRecord>> GetPagesAsync(
        List<string>? tags,
        string? description,
        int pageIndex = 1,
        int pageSize = 20
    );

    /// <summary>
    /// 获取图片信息
    /// </summary>
    /// <param name="id"></param>
    /// <returns></returns>
    Task<VmPictureRecord?> GetPictureRecordAsync(string id);

    /// <summary>
    /// 创建一个图片记录
    /// </summary>
    /// <param name="pictureRecord"></param>
    /// <returns></returns>
    Task<VmPictureRecord> CreateRecordAsync(VmPictureRecord pictureRecord);

    /// <summary>
    /// 修改图片信息
    /// </summary>
    /// <param name="change"></param>
    /// <returns></returns>
    Task<VmPictureRecord?> ChangeInformationAsync(VmPictureRecordChange change);

    /// <summary>
    /// 删除
    /// </summary>
    /// <param name="id"></param>
    /// <returns></returns>
    Task DeleteAsync(string id);

    /// <summary>
    /// 清除缓存
    /// </summary>
    /// <returns></returns>
    Task ClearCacheAsync();
}
⚠⚠    以下内容为AI分析的结果,请根据实际情况进行判断。

上述代码定义了一个名为 IPictureRecordService 的接口,主要用于处理与图片记录相关的操作。这个接口包含多个异步方法,允许调用者执行各种与图片和其元数据相关的操作。以下是每个方法的功能解释:

  1. GetTagsAsync:

    • 功能:获取所有可用的图片标签。
    • 返回值:一个包含字符串的集合,表示所有标签。
  2. SetBannerAsync:

    • 功能:设置指定 ID 的图片为 Banner。
    • 参数:id - 要设置为 Banner 的图片的唯一标识符。
  3. GetBannerAsync:

    • 功能:获取所有当前设置为 Banner 的图片。
    • 返回值:一个包含 VmPictureRecord 对象的集合,表示所有 Banner 图片的信息。
  4. GetPagesAsync:

    • 功能:分页获取图片信息,支持根据标签和描述进行过滤。
    • 参数:
      • tags - 可选的标签集合,用于过滤图片。
      • description - 可选的描述,用于进一步过滤。
      • pageIndex - 当前页码,默认为 1。
      • pageSize - 每页显示的记录数,默认为 20。
    • 返回值:一个实现了 IPagedList<VmPictureRecord> 接口的对象,包含分页的图片记录。
  5. GetPictureRecordAsync:

    • 功能:获取指定 ID 的图片记录。
    • 参数:id - 图片的唯一标识符。
    • 返回值:一个可选的 VmPictureRecord 对象,表示该 ID 对应的图片记录。
  6. CreateRecordAsync:

    • 功能:创建一个新的图片记录。
    • 参数:pictureRecord - 包含新图片信息的 VmPictureRecord 对象。
    • 返回值:创建的 VmPictureRecord 对象。
  7. ChangeInformationAsync:

    • 功能:修改现有图片的信息。
    • 参数:change - 包含要更改的信息的 VmPictureRecordChange 对象。
    • 返回值:一个可选的 VmPictureRecord 对象,表示修改后的图片记录。
  8. DeleteAsync:

    • 功能:删除指定 ID 的图片记录。
    • 参数:id - 要删除的图片的唯一标识符。

总体来说,这个接口提供了一系列方法,用于管理图片记录,包括获取、创建、修改和删除图片信息,以及处理与图片相关的标签和 Banner 设置。它的设计使得实现该接口的类可以方便地与图片数据进行交互,适用于需要处理图片的应用程序。

loading