js 之智能无感验证

官网:https://www.dingxiang-inc.com/business/captcha

开发文档:https://www.dingxiang-inc.com/docs/detail/captcha#doc-h3-31

DEMO:https://cdn.dingxiang-inc.com/ctu-group/captcha-ui/demo/

一、效果图

 二、后端

include ("CaptchaClient.php");
/**构造入参为appId和appSecret
 * appId和前端验证码的appId保持一致,appId可公开
 * appSecret为秘钥,请勿公开
 * token在前端完成验证后可以获取到,随业务请求发送到后台,token有效期为两分钟**/
$appId = "appId";
$appSecret = "appSecret";
$client = new CaptchaClient($appId,$appSecret);
$client->setTimeOut(2);      //设置超时时间,默认2秒
# $client->setCaptchaUrl("http://cap.dingxiang-inc.com/api/tokenVerify");   
//特殊情况可以额外指定服务器,默认情况下不需要设置
$response = $client->verifyToken(token);  //token指的是前端传递的值,即验证码验证成功颁发的token
echo $response->serverStatus;
//确保验证状态是SERVER_SUCCESS,SDK中有容错机制,在网络出现异常的情况会返回通过
if($response->result){
    echo "true";
    /**token验证通过,继续其他流程**/
}else{
    echo "false";
    /**token验证失败**/
}

三、前端

<script src="https://cdn.dingxiang-inc.com/ctu-group/captcha-ui/index.js"></script>
var myCaptcha = _dx.Captcha(document.getElementById('c1'), {
    appId: 'appId', //appId,在控制台中“应用管理”或“应用配置”模块获取
    success: function (token) {
      // console.log('token:', token)
    }
})

 

posted @ 2020-07-17 10:30  样子2018  阅读(574)  评论(0编辑  收藏  举报