主要通过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(__('发送失败'));
}
}
``