feat(work): 新增企业邮箱新邮件提醒相关接口

This commit is contained in:
Fu Diwei 2022-03-14 17:04:45 +08:00
parent 7dd592b5f3
commit e4dc019282
5 changed files with 60 additions and 0 deletions

View File

@ -285,5 +285,27 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
return await client.SendRequestWithJsonAsync<Models.CgibinExmailUserOptionUpdateResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
#region Mail
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/exmail/mail/get_newcount 接口。</para>
/// <para>REF: https://developer.work.weixin.qq.com/document/path/95514 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExmailMailGetNewCountResponse> ExecuteCgibinExmailMailGetNewCountAsync(this WechatWorkClient client, Models.CgibinExmailMailGetNewCountRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(request, HttpMethod.Post, "cgi-bin", "exmail", "mail", "get_newcount")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExmailMailGetNewCountResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
}
}

View File

@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/exmail/mail/get_newcount 接口的请求。</para>
/// </summary>
public class CgibinExmailMailGetNewCountRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string UserId { get; set; } = string.Empty;
}
}

View File

@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/exmail/mail/get_newcount 接口的响应。</para>
/// </summary>
public class CgibinExmailMailGetNewCountResponse : WechatWorkResponse
{
/// <summary>
/// 获取或设置新邮件数。
/// </summary>
[Newtonsoft.Json.JsonProperty("count")]
[System.Text.Json.Serialization.JsonPropertyName("count")]
public int NewCount { get; set; }
}
}

View File

@ -0,0 +1,5 @@
{
"errcode": 0,
"errmsg": "ok",
"count": 1
}