fastadmin实现短信验证

主要通过fastadmin时间基础的短信发送验证功能

前期工作

https://www.zrwinfo.com/static/index.html#/home/sms/api/index
这个网站注册登录
创建模板信息
获取到
accesskey
secret
sign
templateId
然后就是在fastadmin的api下的sms控制器send方法中
然后这是发送的逻辑代码

/**
    * 发送验证码
    *
    * @ApiMethod (POST)
    * @param string $mobile 手机号
    * @param string $event 事件名称
    */
   public function send()
   {   
       $phone = $this->request->post('mobile');
       $event = $this->request->post('event');
       $event = $event ? $event : 'register';
       if (!$phone || !\think\Validate::regex($phone, "^1\d{10}$")) {
           $this->error(__('手机号不正确'));
       }
       $code = mt_rand(1000, 9999);
       $curl = curl_init();//初始化curl
       curl_setopt_array($curl,array(//通过curl给远程的短信发送插件服务器发送请求
           CURLOPT_URL=>'http://api.1cloudsp.com/api/v2/single_send',
           CURLOPT_RETURNTRANSFER=>true,
           CURLOPT_ENCODING=>'',
           CURLOPT_MAXREDIRS=>10,
           CURLOPT_TIMEOUT=>0,
           CURLOPT_FOLLOWLOCATION=>true,
           CURLOPT_HTTP_VERSION=>CURL_HTTP_VERSION_1_1,
           CURLOPT_CUSTOMREQUEST=>'POST',
           CURLOPT_POSTFIELDS=>array('accesskey'=>'网站上获取的accesskey','secret'=>'网站上获取到的secret','sign'=>'网站获取','templateId'=>'网站获取','mobile'=>$phone,'content'=>$code),
       ));
       $response = curl_exec($curl);//接收回调情况
       curl_close($curl);//关系curl请求
       $response = json_decode($response,true);
       // dump($response);exit;
       if($response['code'] == 0){//如果这里的code返回是0说明发送成功
           \app\common\model\Sms::create(['event' => $event, 'mobile' => $phone, 'code' => $code, 'ip' => request()->ip(),'createtime' => time()]);
           $this->success(__('发送成功'));
       }else{
           $this->error(__('发送失败'));
       }
   }
``
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值