AliySms.cs 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. using System.Collections.Generic;
  2. using System.Text;
  3. using Aliyun.Acs.Core;
  4. using Aliyun.Acs.Core.Exceptions;
  5. using Aliyun.Acs.Core.Http;
  6. using Aliyun.Acs.Core.Profile;
  7. using Datory.Utils;
  8. namespace GxPress.Common.Sms
  9. {
  10. public static class AliySms
  11. {
  12. /// <summary>
  13. /// 登录验证码
  14. /// </summary>
  15. /// <param name="phone"></param>
  16. /// <param name="code"></param>
  17. /// <returns></returns>
  18. public static bool SendSms(string phone, string code)
  19. {
  20. //发送验证码阿里云
  21. IClientProfile profile =
  22. DefaultProfile.GetProfile("cn-hangzhou", "LTAI4GKu41MJT8HBxdGAUSWU", "huEFjWImOBDmzyJ8jdive83BXpQm1V");
  23. DefaultAcsClient client = new DefaultAcsClient(profile);
  24. CommonRequest request = new CommonRequest
  25. {
  26. Method = MethodType.POST,
  27. Domain = "dysmsapi.aliyuncs.com",
  28. Version = "2017-05-25",
  29. Action = "SendSms"
  30. };
  31. request.AddQueryParameters("PhoneNumbers", $"{phone}");
  32. request.AddQueryParameters("SignName", "同岑");
  33. request.AddQueryParameters("TemplateCode", "SMS_190273884");
  34. request.AddQueryParameters("TemplateParam", "{\"code\":\"" + code + "\"}");
  35. try
  36. {
  37. CommonResponse response = client.GetCommonResponse(request);
  38. if (response.HttpStatus == 200)
  39. {
  40. var codeByte = Encoding.UTF8.GetBytes(Utilities.JsonSerialize(code));
  41. return true;
  42. }
  43. }
  44. catch (ServerException e)
  45. {
  46. return false;
  47. }
  48. return false;
  49. }
  50. /// <summary>
  51. /// 通知
  52. /// </summary>
  53. /// <param name="phone"></param>
  54. /// <returns></returns>
  55. public static bool NoticeSendSms(List<string> phones)
  56. {
  57. //发送验证码阿里云
  58. IClientProfile profile =
  59. DefaultProfile.GetProfile("cn-hangzhou", "LTAI4GKu41MJT8HBxdGAUSWU", "huEFjWImOBDmzyJ8jdive83BXpQm1V");
  60. DefaultAcsClient client = new DefaultAcsClient(profile);
  61. CommonRequest request = new CommonRequest
  62. {
  63. Method = MethodType.POST,
  64. Domain = "dysmsapi.aliyuncs.com",
  65. Version = "2017-05-25",
  66. Action = "SendSms"
  67. };
  68. request.AddQueryParameters("PhoneNumbers", $"{Common.Tools.StringUtils.ObjectCollectionToString(phones)}");
  69. request.AddQueryParameters("SignName", "同岑");
  70. request.AddQueryParameters("TemplateCode", "SMS_191490083");
  71. //request.AddQueryParameters("TemplateParam", "{\"code\":\"" + code + "\"}");
  72. try
  73. {
  74. CommonResponse response = client.GetCommonResponse(request);
  75. if (response.HttpStatus == 200)
  76. {
  77. //var codeByte = Encoding.UTF8.GetBytes(Utilities.JsonSerialize(code));
  78. return true;
  79. }
  80. }
  81. catch (ServerException e)
  82. {
  83. return false;
  84. }
  85. return false;
  86. }
  87. /// <summary>
  88. /// 工作流程状态短信
  89. /// </summary>
  90. /// <param name="phone"></param>
  91. /// <returns></returns>
  92. public static bool FolwStatusSendSms(string phone)
  93. {
  94. //发送验证码阿里云
  95. IClientProfile profile =
  96. DefaultProfile.GetProfile("cn-hangzhou", "LTAI4GKu41MJT8HBxdGAUSWU", "huEFjWImOBDmzyJ8jdive83BXpQm1V");
  97. DefaultAcsClient client = new DefaultAcsClient(profile);
  98. CommonRequest request = new CommonRequest
  99. {
  100. Method = MethodType.POST,
  101. Domain = "dysmsapi.aliyuncs.com",
  102. Version = "2017-05-25",
  103. Action = "SendSms"
  104. };
  105. request.AddQueryParameters("PhoneNumbers", $"{phone}");
  106. request.AddQueryParameters("SignName", "同岑");
  107. request.AddQueryParameters("TemplateCode", "SMS_191490081");
  108. //request.AddQueryParameters("TemplateParam", "{\"code\":\"" + code + "\"}");
  109. try
  110. {
  111. CommonResponse response = client.GetCommonResponse(request);
  112. if (response.HttpStatus == 200)
  113. {
  114. //var codeByte = Encoding.UTF8.GetBytes(Utilities.JsonSerialize(code));
  115. return true;
  116. }
  117. }
  118. catch (ServerException e)
  119. {
  120. return false;
  121. }
  122. return false;
  123. }
  124. /// <summary>
  125. /// 工作流程审核短信
  126. /// </summary>
  127. /// <param name="phone"></param>
  128. /// <returns></returns>
  129. public static bool FolwCheckSendSms(string phone)
  130. {
  131. //发送验证码阿里云
  132. IClientProfile profile =
  133. DefaultProfile.GetProfile("cn-hangzhou", "LTAI4GKu41MJT8HBxdGAUSWU", "huEFjWImOBDmzyJ8jdive83BXpQm1V");
  134. DefaultAcsClient client = new DefaultAcsClient(profile);
  135. CommonRequest request = new CommonRequest
  136. {
  137. Method = MethodType.POST,
  138. Domain = "dysmsapi.aliyuncs.com",
  139. Version = "2017-05-25",
  140. Action = "SendSms"
  141. };
  142. request.AddQueryParameters("PhoneNumbers", $"{phone}");
  143. request.AddQueryParameters("SignName", "同岑");
  144. request.AddQueryParameters("TemplateCode", "SMS_191490079");
  145. //request.AddQueryParameters("TemplateParam", "{\"code\":\"" + code + "\"}");
  146. try
  147. {
  148. CommonResponse response = client.GetCommonResponse(request);
  149. if (response.HttpStatus == 200)
  150. {
  151. //var codeByte = Encoding.UTF8.GetBytes(Utilities.JsonSerialize(code));
  152. return true;
  153. }
  154. }
  155. catch (ServerException e)
  156. {
  157. return false;
  158. }
  159. return false;
  160. }
  161. }
  162. }