123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <?php
- namespace mobile\server;
- use frontend\base\Help;
- use Yii;
- use Overtrue\EasySms\EasySms;
- class SendCode
- {
- protected $Sstatus = 1;
- protected $Estatus = 0;
- public function send($input = '')
- {
- if (empty($input['mobilephone'])) return json_encode(['code' => 400, 'msg' => '请输入手机号']);
- $config = Yii::$app->params['smsconfig'];
- $easySms = new EasySms($config);
- $code = mt_rand(100000, 999999);
- $data = ['code' => $code, 'expire_time' => time() + 300];
- $sess = Yii::$app->session;
- $sessionkey = 'live_' . $input['mobilephone'];
- $sess[$sessionkey] = $data;
- try {
- $easySms->send($input['mobilephone'], [
- 'content' => '您的验证码为: ' . $code,
- 'template' => 'SMS_176928060',
- 'data' => [
- 'code' => $code
- ],
- ]);
- } catch (\Overtrue\EasySms\Exceptions\NoGatewayAvailableException $e) {
- $this->saverecord($input['mobilephone'], $this->Estatus, $code, $input['purpose']);
- return json_encode(['code' => 400, 'msg' => '短信发送失败']);
- }
- $this->saverecord($input['mobilephone'], $this->Sstatus, $code, $input['purpose']);
- return json_encode(['code' => 200, 'msg' => '短信发送成功']);
- }
- //存入短信记录到数据库
- public function saverecord($mobile, $status, $code, $purpose)
- {
- $sendcoderecordnew = new \common\models\Sendcoderecord();
- $sendcoderecordnew->mobilephone = $mobile;
- $sendcoderecordnew->status = $status;
- $sendcoderecordnew->code = $code;
- $sendcoderecordnew->purpose = $purpose;
- $sendcoderecordnew->content = '【品房阁】您的验证码是' . $code . ', 在五分钟内有效。如非本人操作请忽略本短信。';
- $sendcoderecordnew->save();
- }
- }
|