WechatApiHttpClient.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. namespace Admin.NET.Core.Service;
  2. /// <summary>
  3. /// 微信API客户端
  4. /// </summary>
  5. [ApiDescriptionSettings(false)]
  6. public partial class WeChatApiHttpClient : ISingleton
  7. {
  8. public readonly WeChatOptions _weChatOptions;
  9. public WeChatApiHttpClient(IOptions<WeChatOptions> weChatOptions)
  10. {
  11. _weChatOptions = weChatOptions.Value;
  12. }
  13. /// <summary>
  14. /// 微信公众号
  15. /// </summary>
  16. /// <returns></returns>
  17. public WechatApiClient CreateWeChatClient()
  18. {
  19. if (string.IsNullOrEmpty(_weChatOptions.WeChatAppId) || string.IsNullOrEmpty(_weChatOptions.WeChatAppSecret))
  20. throw Oops.Oh("微信公众号配置错误");
  21. var wechatApiClient = new WechatApiClient(new WechatApiClientOptions()
  22. {
  23. AppId = _weChatOptions.WeChatAppId,
  24. AppSecret = _weChatOptions.WeChatAppSecret,
  25. });
  26. wechatApiClient.Configure(settings =>
  27. {
  28. settings.JsonSerializer = new FlurlNewtonsoftJsonSerializer();
  29. });
  30. return wechatApiClient;
  31. }
  32. /// <summary>
  33. /// 微信小程序
  34. /// </summary>
  35. /// <returns></returns>
  36. public WechatApiClient CreateWxOpenClient()
  37. {
  38. if (string.IsNullOrEmpty(_weChatOptions.WxOpenAppId) || string.IsNullOrEmpty(_weChatOptions.WxOpenAppSecret))
  39. throw Oops.Oh("微信小程序配置错误");
  40. var WechatApiClient = new WechatApiClient(new WechatApiClientOptions()
  41. {
  42. AppId = _weChatOptions.WxOpenAppId,
  43. AppSecret = _weChatOptions.WxOpenAppSecret
  44. });
  45. WechatApiClient.Configure(settings =>
  46. {
  47. settings.JsonSerializer = new FlurlNewtonsoftJsonSerializer();
  48. });
  49. return WechatApiClient;
  50. }
  51. }