Sms.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. namespace api\common;
  3. use think\facade\Log;
  4. class Sms
  5. {
  6. public function send($mobile, $code, $content_param = [])
  7. {
  8. $url = "https://lw_test.jinjianghc.com/api/sms/send";
  9. $token = "L1mq09OB68be4b4526092";
  10. // $url = "http://bd.lwtest.com/api/sms/send";
  11. // $token = "oYtEwqzL68be506f50a52";
  12. $postArr = ['mobile' => $mobile, 'template_code' => $code, 'template_param' => $content_param];
  13. $postFields = json_encode($postArr);
  14. $ch = curl_init();
  15. curl_setopt($ch, CURLOPT_URL, $url);
  16. curl_setopt($ch, CURLOPT_HTTPHEADER, [
  17. 'Content-Type: application/json; charset=utf-8', //json版本需要填写 Content-Type: application/json;
  18. 'token:' . $token,
  19. ]
  20. );
  21. curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); //若果报错 name lookup timed out 报错时添加这一行代码
  22. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  23. curl_setopt($ch, CURLOPT_POST, 1);
  24. curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
  25. curl_setopt($ch, CURLOPT_TIMEOUT, 60);
  26. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
  27. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  28. $ret = curl_exec($ch);
  29. curl_close($ch);
  30. $rsp = json_decode($ret, true);
  31. if ($rsp['code'] != 0) {
  32. Log::record('短信发送失败:' . json_encode($rsp) . "。原始参数:" . json_encode($postArr));
  33. return ['code' => 1, 'msg' => empty($rsp['errorMsg']) ? $rsp['msg'] : $rsp['errorMsg']];
  34. } else {
  35. return ['code' => 0];
  36. }
  37. }
  38. }