VeapiPlus.cs 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. using dodohold.core;
  2. namespace molilian.core
  3. {
  4. public partial class VeapiPlus
  5. {
  6. private string _accountName;
  7. private string _key;
  8. private string _sessionKey;
  9. public VeapiPlus(string accountName, string key, string sessionKey)
  10. {
  11. _accountName = accountName;
  12. _key = key;
  13. _sessionKey = sessionKey;
  14. }
  15. public TkDataDTO UnionParse(string content, ref TkDataDTO result)
  16. {
  17. string para = content.UrlEncode();
  18. string url = $"http://api.veapi.cn/tbk/hcapi?vekey={_key}&sessionkey={_sessionKey}&para={para}";
  19. var response = new WebClientUtility().Request(url);
  20. var body = response.Body();
  21. var root = body.Convert2JsonElement();
  22. int error = root.Read<int>("error", 0);
  23. bool success = error == 0;
  24. string message = root.Read("msg", string.Empty);
  25. string taoToken = root.PathRead("data.ios_tbk_pwd", string.Empty);
  26. string num_iid = root.PathRead("data.num_iid", string.Empty);
  27. decimal couponAmount = root.PathRead<decimal>("data.coupon_amount", 0);
  28. string shortLinkurl = root.PathRead("data.coupon_short_url", string.Empty);
  29. string shortLink = AlimamaPlus.GetLink(taoToken);
  30. content = AlimamaPlus.ReplaceUrls(content, shortLink);
  31. if (!success)
  32. {
  33. shortLinkurl = AlimamaPlus.GetLink(content);
  34. }
  35. string deeplink_url = AlimamaPlus.GetDeeplink(shortLinkurl);
  36. result.channel = TkChannelEnum.tb;
  37. result.accountName = _accountName;
  38. result.success = success;
  39. result.message = message;
  40. result.content = content;
  41. result.couponAmount = couponAmount;
  42. result.taoToken = taoToken;
  43. result.shortLinkurl = shortLinkurl;
  44. result.deeplink_url = deeplink_url;
  45. result.num_iid = num_iid;
  46. return result;
  47. }
  48. public async Task<TkDataDTO> UnionParseAsync(string content, TkDataDTO result, CancellationToken cancellationToken)
  49. {
  50. string para = content.UrlEncode();
  51. string url = $"http://api.veapi.cn/tbk/hcapi?vekey={_key}&sessionkey={_sessionKey}&para={para}";
  52. var response = await new WebClientUtility().RequestAsync(url, "GET", cancellationToken);
  53. var body = response.Body();
  54. var root = body.Convert2JsonElement();
  55. int error = root.Read<int>("error", 0);
  56. bool success = error == 0;
  57. string message = root.Read("msg", string.Empty);
  58. string taoToken = root.PathRead("data.ios_tbk_pwd", string.Empty);
  59. string num_iid = root.PathRead("data.num_iid", string.Empty);
  60. decimal couponAmount = root.PathRead<decimal>("data.coupon_amount", 0);
  61. string shortLinkurl = root.PathRead("data.coupon_short_url", string.Empty);
  62. string shortLink = AlimamaPlus.GetLink(taoToken);
  63. content = AlimamaPlus.ReplaceUrls(content, shortLink);
  64. if (!success)
  65. {
  66. shortLinkurl = AlimamaPlus.GetLink(content);
  67. }
  68. string deeplink_url = AlimamaPlus.GetDeeplink(shortLinkurl);
  69. result.channel = TkChannelEnum.tb;
  70. result.accountName = _accountName;
  71. result.success = success;
  72. result.message = message;
  73. result.content = content;
  74. result.couponAmount = couponAmount;
  75. result.taoToken = taoToken;
  76. result.shortLinkurl = shortLinkurl;
  77. result.deeplink_url = deeplink_url;
  78. result.num_iid = num_iid;
  79. return result;
  80. }
  81. }
  82. }