thinkphp5 使用 leancloud 的短信验证服务

浏览:1884 发布日期:2016/07/13 分类:ThinkPHP5专区 关键字: thinkphp5 leancloud 短信 验证码
现在短信验证码成为移动应用开发中必不可少的部分,
现在用 leancloud 的短信服务举个例子。

leancloud 并没有提供短信发送的 php sdk,
但是我们可以根据官方的 restful api 手册自己做一个 SDK,
其实主要就是请求/验证,两个方法。
至于其他的方法,大家可以自己补充。

leancloud 官方手册的位置https://leancloud.cn/docs/rest_sms_api.html

首先是请求短信验证码的方法:
大家在 leancloud 创建 app 之后,记得打开:启用通用的短信验证码服务(开放 requestSmsCode 和 verifySmsCode 接口) 选项。
下面代码中的 $app_id 与 $app_key 就是从 leancloud 获取的 AppID 与 AppKey。public function requestSmsCode()
    {
        $url = 'https://api.leancloud.cn/1.1/requestSmsCode';
        $data = '{"mobilePhoneNumber": "要发送的目标电话号码"}';
        $content_type = "Content-Type: application/json";
        $x_id = "X-LC-Id: {$app_id}";
        $x_key = "X-LC-Key: {$app_key}";

        $curl_handler = curl_init();
        curl_setopt($curl_handler, CURLOPT_URL, $url);
        curl_setopt($curl_handler, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl_handler, CURLOPT_POST, 1);
        curl_setopt($curl_handler, CURLOPT_POSTFIELDS, $data);
        curl_setopt($curl_handler, CURLOPT_HTTPHEADER, [$content_type, $x_id, $x_key]);

        curl_close($curl_handler);
    }
接下来是验证的方法:
获取到的验证码大家自己从 input 里面获取替代。
方法返回的 result 是 bool(true|false),直接用于判断验证是否成功。    public function verifySmsCode()
    {
        $url = 'https://api.leancloud.cn/1.1/verifySmsCode/获取到的验证码?mobilePhoneNumber=要发送的目标电话号码';
        $content_type = "Content-Type: application/json";
        $x_id = "X-LC-Id: {$app_id}";
        $x_key = "X-LC-Key: {$app_key}";

        $curl_handler = curl_init();
        curl_setopt($curl_handler, CURLOPT_URL, $url);
        curl_setopt($curl_handler, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl_handler, CURLOPT_POST, 1);
        curl_setopt($curl_handler, CURLOPT_HTTPHEADER, [$content_type, $x_id, $x_key]);

        $result= curl_exec($curl_handler);
        curl_close($curl_handler);
        return $result;
    }
我这算帮 leancloud 做了广告不?可惜没费用啊!
最佳答案
评论( 相关
后面还有条评论,点击查看>>