Aliyun.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. namespace Sms\Lib;
  3. use Dever;
  4. Dever::apply('sdk/aliyun/SignatureHelper');
  5. use Aliyun\DySDKLite\SignatureHelper;
  6. class Aliyun
  7. {
  8. public function send($param, $config)
  9. {
  10. $send = array ();
  11. $send['PhoneNumbers'] = $param['mobile'];
  12. $send['SignName'] = $param['sign'];
  13. $send['TemplateCode'] = $param['skin'];
  14. $send['TemplateParam'] = $param;
  15. if (isset($param['id'])) {
  16. $send['OutId'] = $param['id'];
  17. }
  18. // *** 需用户填写部分结束, 以下代码若无必要无需更改 ***
  19. if(!empty($send['TemplateParam']) && is_array($send['TemplateParam'])) {
  20. $send['TemplateParam'] = json_encode($send['TemplateParam'], JSON_UNESCAPED_UNICODE);
  21. }
  22. // 初始化SignatureHelper实例用于设置参数,签名以及发送请求
  23. $helper = new SignatureHelper();
  24. // 此处可能会抛出异常,注意catch
  25. $content = $helper->request(
  26. $config['appid'],
  27. $config['appsecret'],
  28. 'dysmsapi.aliyuncs.com',
  29. array_merge($send, array(
  30. 'RegionId' => 'cn-hangzhou',
  31. 'Action' => 'SendSms',
  32. 'Version' => date('Y-m-d'),
  33. ))
  34. );
  35. return $content;
  36. }
  37. }