IWexClient.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Text.Json.Serialization;
  6. using System.Threading.Tasks;
  7. namespace Wex.Sdk
  8. {
  9. public partial interface IWexClient
  10. {
  11. /// <summary>
  12. /// 执行操作呼叫中心请求
  13. /// </summary>
  14. /// <typeparam name="TRequest"></typeparam>
  15. /// <typeparam name="TResponse"></typeparam>
  16. /// <param name="request"></param>
  17. /// <param name="cancellationToken"></param>
  18. /// <returns></returns>
  19. Task<TResponse?> ExecuteAsync<TRequest, TResponse>(
  20. TRequest request,
  21. CancellationToken cancellationToken) where TRequest : IWexRequest where TResponse : WexResponse;
  22. Task<WexToken> GetTokenAsync(TokenRequest request, CancellationToken cancellationToken);
  23. }
  24. public class WexResponse
  25. {
  26. public string Msg { get; set; }
  27. public int Code { get; set; }
  28. }
  29. public class WexResponse<TData> : WexResponse
  30. {
  31. public TData Data { get; set; }
  32. }
  33. public class WexResponsePage<TData>: WexResponse<TData>
  34. {
  35. public int Count { get; set; }
  36. }
  37. public interface IWexRequest
  38. {
  39. [JsonIgnore]
  40. string Url { get; }
  41. }
  42. }