feat(wxapi): 构造器模式

This commit is contained in:
Fu Diwei
2024-02-06 14:25:14 +08:00
committed by RHQYZ
parent 4c007a0bfb
commit 6aca48428d
2 changed files with 101 additions and 1 deletions

View File

@@ -1,16 +1,20 @@
using System;
using System.Linq;
using System.Net.Http;
using Microsoft.Extensions.Options;
namespace SKIT.FlurlHttpClient.Wechat.Api.Sample.Services.HttpClients.Implements
{
internal partial class WechatApiClientFactory : IWechatApiClientFactory
{
private readonly IHttpClientFactory _httpClientFactory;
private readonly Options.WechatOptions _wechatOptions;
public WechatApiClientFactory(
IHttpClientFactory httpClientFactory,
IOptions<Options.WechatOptions> wechatOptions)
{
_httpClientFactory = httpClientFactory;
_wechatOptions = wechatOptions.Value;
}
@@ -31,7 +35,9 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Sample.Services.HttpClients.Implements
PushEncodingAESKey = _wechatOptions.CallbackEncodingAESKey,
PushToken = _wechatOptions.CallbackToken
};
var wechatApiClient = new WechatApiClient(wechatApiClientOptions);
var wechatApiClient = WechatApiClientBuilder.Create(wechatApiClientOptions)
.UseHttpClient(_httpClientFactory.CreateClient(), disposeClient: false)
.Build();
return wechatApiClient;
}
}