Files
juipnet/Infrastructure/ServiceClient/MsgCenterClient/MsgCenterHttpClient.cs

79 lines
2.3 KiB
C#
Raw Normal View History

2020-12-28 14:55:48 +08:00
using System;
using System.Net.Http;
using System.Threading.Tasks;
using Hncore.Infrastructure.Common;
using Hncore.Infrastructure.Extension;
using Hncore.Infrastructure.Serializer;
using Hncore.Infrastructure.WebApi;
using MsgCenterClient.WechatMpTplMsg;
namespace MsgCenterClient
{
public class MsgCenterHttpClient
{
private IHttpClientFactory _httpClientFactory;
internal static string _BaseUrl = "";
public string BaseUrl => _BaseUrl;
public MsgCenterHttpClient(IHttpClientFactory httpClientFactory)
{
_httpClientFactory = httpClientFactory;
}
private HttpClient CreateHttpClient()
{
return _httpClientFactory.CreateClient();
}
/// <summary>
/// 发送微信公众号模板消息
/// </summary>
/// <param name="msgBase"></param>
/// <returns></returns>
public async Task<ApiResult> SendWechatMpTplMsg(MsgBase msgBase)
{
var body = msgBase.ToRequestObject();
try
{
var res = await CreateHttpClient()
.PostAsJsonGetString(BaseUrl + "/api/msgcenter/v1/msg/SendMPTplMessage", body);
return res.FromJsonTo<ApiResult>();
}
catch (Exception e)
{
LogHelper.Error("发送微信公众号模板消息失败", e + "\n消息内容\n" + body.ToJson(true));
return new ApiResult(ResultCode.C_UNKNOWN_ERROR);
}
}
/// <summary>
/// 发送微信小程序模板消息
/// </summary>
/// <param name="msgBase"></param>
/// <returns></returns>
public async Task<ApiResult> SendMiniAppTplMsg(MiniAppMsgBase msgBase)
{
var body = msgBase.ToRequestObject();
try
{
var res = await CreateHttpClient()
.PostAsJsonGetString(BaseUrl + "/api/msgcenter/v1/msg/SendMiniAppTplMessage", body);
return res.FromJsonTo<ApiResult>();
}
catch (Exception e)
{
LogHelper.Error("发送小程序模板消息失败", e + "\n消息内容\n" + body.ToJson(true));
return new ApiResult(ResultCode.C_UNKNOWN_ERROR);
}
}
}
2020-10-07 20:25:03 +08:00
}