网站首页 网站源码
namespace Dpz.Core.Service.RepositoryService;
/// <summary>
/// 时间轴
/// </summary>
public interface ITimelineService : ICacheService
{
/// <summary>
/// 获取时间轴
/// </summary>
/// <param name="account"></param>
/// <returns></returns>
Task<List<VmTimeline>> GetTimelinesAsync(string account);
/// <summary>
/// 保存时间轴
/// </summary>
/// <param name="viewModel"></param>
/// <returns></returns>
Task SaveAsync(VmTimeline viewModel);
/// <summary>
/// 删除时间轴
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task DeleteAsync(params string[] id);
/// <summary>
/// 获取时间轴分页信息
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="content"></param>
/// <param name="account"></param>
/// <returns></returns>
Task<IPagedList<VmTimeline>> GetPageAsync(
int pageIndex,
int pageSize,
string? content = null,
string? account = null
);
/// <summary>
/// 查找时间轴
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<VmTimeline?> FindAsync(string id);
}
上述代码定义了一个名为 ITimelineService
的接口,属于 Dpz.Core.Service.RepositoryService
命名空间。这个接口主要用于处理与时间轴(Timeline)相关的操作。以下是对每个方法的详细解释:
GetTimelinesAsync(string account):
account
- 用户账户的标识。Task<List<VmTimeline>>
,表示时间轴的列表。CacheModule
特性,表示该方法的结果会被缓存,缓存的有效期为一周。SaveAsync(VmTimeline viewModel):
viewModel
- 包含时间轴信息的视图模型。Task
,表示保存操作的异步结果。CacheModule
特性,设置 Clear = true
,表示在保存后会清除相关的缓存。DeleteAsync(params string[] id):
id
- 一个字符串数组,包含要删除的时间轴的标识符。Task
,表示删除操作的异步结果。CacheModule
特性,设置 Clear = true
,表示在删除后会清除相关的缓存。GetPageAsync(int pageIndex, int pageSize, string? content = null, string? account = null):
pageIndex
- 当前页码。pageSize
- 每页的记录数。content
- 可选参数,用于过滤时间轴内容。account
- 可选参数,指定账户。Task<IPagedList<VmTimeline>>
,表示分页的时间轴列表。CacheModule
特性,缓存有效期为一周。FindAsync(string id):
id
- 要查找的时间轴的标识符。Task<VmTimeline?>
,表示找到的时间轴对象,可能为 null
(如果未找到)。CacheModule
特性,缓存有效期为一周。ITimelineService
接口提供了一系列与时间轴相关的操作,包括获取、保存、删除、分页获取和查找时间轴。通过使用 CacheModule
特性,接口方法的结果可以被缓存,以提高性能和响应速度。