You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.7 KiB
61 lines
1.7 KiB
5 days ago
|
namespace Admin.NET.Core.Service;
|
||
|
|
||
|
/// <summary>
|
||
|
/// 微信API客户端
|
||
|
/// </summary>
|
||
|
[ApiDescriptionSettings(false)]
|
||
|
public partial class WechatApiHttpClient : ISingleton
|
||
|
{
|
||
|
public readonly WechatOptions _wechatOptions;
|
||
|
|
||
|
public WechatApiHttpClient(IOptions<WechatOptions> wechatOptions)
|
||
|
{
|
||
|
_wechatOptions = wechatOptions.Value;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// 微信公众号
|
||
|
/// </summary>
|
||
|
/// <returns></returns>
|
||
|
public WechatApiClient CreateWechatClient()
|
||
|
{
|
||
|
if (string.IsNullOrEmpty(_wechatOptions.WechatAppId) || string.IsNullOrEmpty(_wechatOptions.WechatAppSecret))
|
||
|
throw Oops.Oh("微信公众号配置错误");
|
||
|
|
||
|
var wechatApiClient = new WechatApiClient(new WechatApiClientOptions()
|
||
|
{
|
||
|
AppId = _wechatOptions.WechatAppId,
|
||
|
AppSecret = _wechatOptions.WechatAppSecret,
|
||
|
});
|
||
|
|
||
|
wechatApiClient.Configure(settings =>
|
||
|
{
|
||
|
settings.JsonSerializer = new FlurlNewtonsoftJsonSerializer();
|
||
|
});
|
||
|
|
||
|
return wechatApiClient;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// 微信小程序
|
||
|
/// </summary>
|
||
|
/// <returns></returns>
|
||
|
public WechatApiClient CreateWxOpenClient()
|
||
|
{
|
||
|
if (string.IsNullOrEmpty(_wechatOptions.WxOpenAppId) || string.IsNullOrEmpty(_wechatOptions.WxOpenAppSecret))
|
||
|
throw Oops.Oh("微信小程序配置错误");
|
||
|
|
||
|
var WechatApiClient = new WechatApiClient(new WechatApiClientOptions()
|
||
|
{
|
||
|
AppId = _wechatOptions.WxOpenAppId,
|
||
|
AppSecret = _wechatOptions.WxOpenAppSecret
|
||
|
});
|
||
|
|
||
|
WechatApiClient.Configure(settings =>
|
||
|
{
|
||
|
settings.JsonSerializer = new FlurlNewtonsoftJsonSerializer();
|
||
|
});
|
||
|
|
||
|
return WechatApiClient;
|
||
|
}
|
||
|
}
|