You've already forked CC-Framework.BriskGameServer
36 lines
1.0 KiB
C#
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);
|
|
});
|
|
}
|
|
}
|