Files
CC-Framework.BriskGameServer/PackageSource/com.foldcc.cc-framework.brisk-game-server/Runtime/Announcement/BriskAnnouncementsModule.cs

36 lines
1.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Threading.Tasks;
/// <summary>
/// 公告模块。
/// </summary>
public sealed class BriskAnnouncementsModule
: BriskModuleBase
{
/// <summary>
/// 获取公告列表。
/// </summary>
public async Task<IReadOnlyList<BriskAnnouncementItem>> GetListAsync()
{
return await ExecuteAsync(async context =>
{
var data = await context.HttpClient.GetRawDataAsync("/announcements", null, true);
return (IReadOnlyList<BriskAnnouncementItem>)BriskModelMapper.ToAnnouncementItems(data);
});
}
/// <summary>
/// 标记指定公告为已读。
/// </summary>
public async Task MarkReadAsync(long id)
{
RequirePositive(id, nameof(id), "Announcement id must be greater than 0.");
await ExecuteAsync(async context =>
{
await context.HttpClient.PostJsonRawAsync($"/announcements/{id}/read", new Dictionary<string, object>(), true);
});
}
}