新版订单消耗系统

YPSMS.php 6.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. <?php
  2. use App\libs\sms;
  3. //define("YP_SMS_KEY", "ac5dac49af17e882300749686982d333");//新账号
  4. define("YP_SMS_KEY", "fbdb5f2ddae13c2f4a592348bfe52137");
  5. define('YP_SMS_YHQ', '73a74eb72c42b765669acd8e94096b9f');
  6. define("YP_SMS_KEY_FAMLI",'995629e02beaaf47118b84ac19c4b5b9');
  7. define("YP_VOICE_URL", "http://voice.yunpian.com/v2/voice/send.json");
  8. define("YP_TPL_URL", "https://sms.yunpian.com/v2/sms/tpl_single_send.json");
  9. define("YP_TPL_ID", "2122814");
  10. class YPSMS{
  11. private static function init(){
  12. $ch = curl_init();
  13. /* 设置验证方式 */
  14. curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept:text/plain;charset=utf-8',
  15. 'Content-Type:application/x-www-form-urlencoded', 'charset=utf-8'));
  16. /* 设置返回结果为流 */
  17. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  18. /* 设置超时时间*/
  19. curl_setopt($ch, CURLOPT_TIMEOUT, 10);
  20. /* 设置通信方式 */
  21. curl_setopt($ch, CURLOPT_POST, 1);
  22. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  23. return $ch;
  24. }
  25. public static function sendCode($params)
  26. {
  27. $tpl_id = '3910790'; //【酷炫】您的验证码是#code#。如非本人操作,请忽略本短信
  28. $ch = self::init();
  29. $data = [
  30. 'apikey' => YP_SMS_KEY,
  31. 'mobile' => $params['mobile'],
  32. 'tpl_id' => $tpl_id,
  33. 'tpl_value' => ('#code#').'='.$params['code'],
  34. ];
  35. $json_data = self::tpl_send($ch,$data);
  36. $array = json_decode($json_data,true);
  37. curl_close($ch);
  38. return $array;
  39. }
  40. public static function auditResultSend($params)
  41. {
  42. $tpl_id = '3910830'; //【酷炫】您的#business#审核已经完成,审核结果为#result#,点击#url#进行下一步操作
  43. $ch = self::init();
  44. $data = [
  45. 'apikey' => YP_SMS_KEY,
  46. 'mobile' => $params['mobile'],
  47. 'tpl_id' => $tpl_id,
  48. 'tpl_value' => urlencode('#business#').'='.urlencode($params['business']).'&'.urlencode('#result#').'='.urlencode($params['result']).'&'.urlencode('#url#').'='.urlencode($params['url'])
  49. ];
  50. $json_data = self::tpl_send($ch,$data);
  51. $array = json_decode($json_data,true);
  52. curl_close($ch);
  53. return $array;
  54. }
  55. public static function signVerify($params)
  56. {
  57. $tpl_id = '3910802'; //【合乐文化】#red#已经完成签约,请及时审核。
  58. $ch = self::init();
  59. $data = [
  60. 'apikey' => YP_SMS_KEY,
  61. 'mobile' => $params['mobile'],
  62. 'tpl_id' => $tpl_id,
  63. 'tpl_value' => ('#red#').'='.urlencode($params['user_name'])
  64. ];
  65. $json_data = self::tpl_send($ch,$data);
  66. $array = json_decode($json_data,true);
  67. curl_close($ch);
  68. return $array;
  69. }
  70. //账号审核提醒
  71. public static function accountVerify($params)
  72. {
  73. $tpl_id = '3910796'; //【合乐文化】#red#已经完成账号注册,请尽快分配媒介,完成审核。
  74. $ch = self::init();
  75. $data = [
  76. 'apikey' => YP_SMS_KEY,
  77. 'mobile' => $params['mobile'],
  78. 'tpl_id' => $tpl_id,
  79. 'tpl_value' => ('#red#').'='.urlencode($params['user_name'])
  80. ];
  81. $json_data = self::tpl_send($ch,$data);
  82. $array = json_decode($json_data,true);
  83. curl_close($ch);
  84. return $array;
  85. }
  86. public static function sendVoiceCheck($phone,$code){
  87. $ch=self::init();
  88. $data=array('code'=>$code,'apikey'=>YP_SMS_KEY,'mobile'=>$phone);
  89. $json_data =self::voice_send($ch,$data);
  90. curl_close($ch);
  91. return $json_data;
  92. }
  93. private static function checkErr($result,$error) {
  94. if($result === false)
  95. {
  96. echo 'Curl error: ' . $error;
  97. }
  98. }
  99. private static function send($ch,$data){
  100. curl_setopt ($ch, CURLOPT_URL, 'https://sms.yunpian.com/v2/sms/single_send.json');
  101. curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
  102. $result = curl_exec($ch);
  103. Log::info(json_encode($result));
  104. $error = curl_error($ch);
  105. self::checkErr($result,$error);
  106. return $result;
  107. }
  108. private static function voice_send($ch,$data){
  109. curl_setopt ($ch, CURLOPT_URL, YP_VOICE_URL);
  110. curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
  111. $result = curl_exec($ch);
  112. Log::info(json_encode($result));
  113. $error = curl_error($ch);
  114. self::checkErr($result,$error);
  115. return $result;
  116. }
  117. private static function tpl_send($ch,$data){
  118. curl_setopt ($ch, CURLOPT_URL, YP_TPL_URL);
  119. curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
  120. $result = curl_exec($ch);
  121. Log::info(json_encode($result));
  122. $error = curl_error($ch);
  123. self::checkErr($result,$error);
  124. return $result;
  125. }
  126. //有参数发送短信验证码
  127. public static function sendMsgWithParams($phone, $params, $template_id) {
  128. $ch=self::init();
  129. $data=array('tpl_id' => $template_id,'apikey'=>YP_SMS_KEY,'mobile'=>$phone,'tpl_value'=>$params);
  130. $json_data = self::tplSend($ch,$data);
  131. $array = json_decode($json_data,true);
  132. curl_close($ch);
  133. return $array;
  134. }
  135. //无参数发送短信验证码
  136. public static function sendMsgSimple($phone, $template_id) {
  137. $ch=self::init();
  138. $data=array('tpl_id' => $template_id,'apikey'=>YP_SMS_KEY,'mobile'=>$phone);
  139. $json_data = self::tplSend($ch,$data);
  140. $array = json_decode($json_data,true);
  141. curl_close($ch);
  142. return $array;
  143. }
  144. private static function tplSend($ch,$data){
  145. curl_setopt ($ch, CURLOPT_URL, 'https://sms.yunpian.com/v2/sms/tpl_single_send.json');
  146. curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
  147. $result = curl_exec($ch);
  148. Log::info(json_encode($result));
  149. $error = curl_error($ch);
  150. self::checkErr($result,$error);
  151. return $result;
  152. }
  153. public static function sendOrderSyncMsg($params)
  154. {
  155. $tpl_id = '5370144'; //【酷炫网络】#msg#,请及时处理。
  156. // $tpl_id = '4452336'; //【酷炫网络】#msg#,请及时处理。
  157. $ch = self::init();
  158. $data = [
  159. 'apikey' => YP_SMS_KEY,
  160. 'mobile' => $params['mobile'],
  161. 'tpl_id' => $tpl_id,
  162. 'tpl_value' => ('#msg#').'='.urlencode($params['msg'])
  163. ];
  164. $json_data = self::tpl_send($ch,$data);
  165. $array = json_decode($json_data,true);
  166. curl_close($ch);
  167. return $array;
  168. }
  169. }