> >

Web

setInfos(callback)

提供用户相关信息给验证码,验证可以更多维度的判断风险。
参数 callback 为函数类型, 返回Object 结构如下:

参数名称 是否必须 类型 可选值
interactive 必须 Int 可选交互场景类型:
1:注册;2:登录;3:短信接口;4:领券\抽奖;5:下单;6:发帖评论;0:其他

注:若未调用该接口或者未按结构传值,则极验服务请求会报错,流程将中断。同时为防止前端被篡改,后续服务进行验证时在部分场景需要带入同样值,否则会因参数不一致导致出错

<script>
initSense({
// 省略配置参数
}, function (sense) {
// 省略其他方法的调用

sense.setInfos(function(){
return {
interactive: 1
}
});
});
</script>

sense()

用户提交时,可以调用该接口触发深知的判别服务,触发后极验服务会返回是否需要弹出第二次验证码。

<div id="btn">提交按钮</div>
<script>
initSense({
// 省略配置参数
}, function (sense) {
// 省略其他方法的调用

document.getElementById('btn').addEventListener('click', function () {
// 请先检查必现输入的数据, 例如:用户名,密码
sense.sense();
});
sense.onSuccess(function () {
// 用户验证成功后,进行实际的提交行为
// todo
})
});
</script>

onNextWillShow(callback)

如果有验证出现,该接口监听验证马上就会显示。参数 callback 为函数类型。

监听验证将要显示,提供用户在提交与验证码出现时的交互时机

initSense({
// 省略配置参数
}, function (sense) {
// 省略其他方法的调用
btn.click(fucntion(){
// show loading
sense.sense();
})

sense.onNextWillShow(function () {
// hide loading
});
});

onSuccess(callback)

监听验证成功事件。参数 callback 为函数类型。

服务端接口需要封装极验服务(地址),可参考demo

监听验证成功事件,进行服务端验证

initSense({
// 省略配置参数
}, function (sense) {
// 省略其他方法的调用

// 这里调用了 onSuccess 方法,该方法介绍见下文
sense.onSuccess(function (data) {

// ajax 伪代码
ajax(apirefer, {
username: document.getElementById("phone").value,
password: document.getElementById("pwd").value,
challenge: data.challenge
// 其他服务端需要的数据
}, function (data) {
// 根据服务端验证的结果进行跳转等操作
});
});
});

reset()

让深知整个判断流程回到初始状态。单次流程没有完成,但是需要重新发起新的流程时使用。

例如,当用户流程走到一半时发现手机号填写错误,返回修改时,页面检测到用户的修改,需要重置整个流程,重新发起判断。

onClose(callback)

当出现验证码时,关闭或是隐藏验证码时触发

initSense({
// 省略配置参数
}, function (sense) {
// 省略其他方法的调用

sense.onClose(function () {
// 用户把验证关闭了,这时你可以提示用户需要把验证通过后才能进行后续流程
});
});

onError(callback)

监听验证出错事件。参数 callback 为函数类型。

监听验证出错事件,提供用户或者刷新页面重试

initSense({
// 省略配置参数
}, function (sense) {
// 省略其他方法的调用

sense.onError(function (err) {
// 出错啦,可以提醒用户稍后进行重试
});
});

错误结果说明

字段 类型 说明
code 数字 错误代码
msg 字符串 错误说明

具体错误示例

code 说明
1000 initSense里面的id参数缺少
1001 gt_judgement请求网络报错
1002 验证的js地址不存在
1003 验证的js地址无法加载
1004 前端调用setInfos接口出错

1001错误时,表示调用极验服务失败,请直接发送服务,避免阻塞。同时在服务后端调用极验gt_verify,验证是否真的是极验服务宕机,防止前端请求可能被篡改。如果确认极验服务离线,可执行自己配置的后续流程。如果极验服务正常返回请求,重新调起前端验证服务即可。