Jelajahi Sumber

借用tken的阿里云短信

lizhen_gitee 3 minggu lalu
induk
melakukan
9678c87629
2 mengubah file dengan 40 tambahan dan 1 penghapusan
  1. 31 1
      application/common/library/Sms.php
  2. 9 0
      application/config.php

+ 31 - 1
application/common/library/Sms.php

@@ -55,7 +55,14 @@ class Sms
         $time = time();
         $ip = request()->ip();
         $sms = \app\common\model\Sms::create(['event' => $event, 'mobile' => $mobile, 'code' => $code, 'ip' => $ip, 'createtime' => $time]);
-        $result = Hook::listen('sms_send', $sms, null, true);
+        //$result = Hook::listen('sms_send', $sms, null, true);
+
+        //阿里短信
+        $params['mobile'] = $mobile;
+        $params['code'] = $code;
+
+        $result = self::smsSend($params,86);
+
         if (!$result) {
             $sms->delete();
             return false;
@@ -64,6 +71,29 @@ class Sms
     }
 
     /**
+     * 短信发送行为
+     * @param array $params 必须包含mobile,event,code
+     * @return  boolean
+     */
+    public static function smsSend($params,$countrycode = 86)
+    {
+        $config = config('alisms');
+
+        $template = $config['template_cn'];  //默认国内模板
+        if($countrycode != 86){
+            $params['mobile'] = $countrycode.$params['mobile'];
+            $template = $config['template_guoji'];
+        }
+
+        $alisms = new Alisms();
+        $result = $alisms->mobile($params['mobile'])
+            ->template($template)
+            ->param(['code' => $params['code']])
+            ->send();
+        return $result;
+    }
+
+    /**
      * 发送通知
      *
      * @param   mixed  $mobile   手机号,多个以,分隔

+ 9 - 0
application/config.php

@@ -395,4 +395,13 @@ return [
             'showrules' => '显示规则配置',
             'active' => '活动设置',
         ],
+
+    //阿里云短信配置,正式
+    'alisms' =>[
+        'template_cn' => 'SMS_267360101', //国内
+        'template_guoji' => 'SMS_463616976', //国际
+        'sign' => 'TKEN',
+        'key' => 'LTAI5tE7djEZAXJcLtxshRu5',
+        'secret' => 'MK7sRjd2rpZ4PEbngf76PvKhvpTJWc',
+    ],
 ];