Web

概述及资源

环境需求

条目 内容
兼容性 IE6+、Chrome、Firefox、Safari、Opera、主流手机浏览器、iOS 及 Android上的内嵌Webview

资源链接

条目 内容
产品结构流程 通讯流程
接口文档 接口示例

demo地址

在线demo:https://www.geetest.com/demo/sense_start.html

安装

  1. 在页面head中引入js

    <script src="dp.sense.js"></script>

    dp.sense.js下载
    开发者可直接下载并保存至自己的项目中使用。

  2. 调用函数
    引用js后,会返回Sense全局对象,Sense有三个方法, 具体如下:

    • Sense.judge(options, successCallback, errorCallback)

      • options { Object }
        • id { String } sense id 必填
        • interactive { Number } 交互场景类型:1:注册;2:登录;3:短信接口;4:领券\抽奖;5:下单;6:发帖评论;0:其他
          以下是验证码参数,可选。可参加验证码的文档
        • lang { String } 设置验证界面文字的语言
        • https { Boolean } 是否使用https请求
        • timeout { Number } 设置验证过程中单个请求超时时间
        • area { String } 设置后续弹出的验证的区域
        • width { String } 设置后续弹出的验证的宽度
        • bg_color { String } 设置弹出背景的颜色
      • successCallback { Function } 成功回调函数,返回成功结果{Object} ,结构如下:
        • challenge { String } 成功流水号
      • errorCallback { Function } 错误回调函数,返回错误信息{Object}, 结构如下:
        • code { String } 错误码
        • msg { String } 错误描述
    • Sense.destroy() 用于销毁Sense对象

    • Sense.load(successCallback, errorCallback) 重新加载,用于js加载失败
      • successCallback { Function } 成功回调函数
      • errorCallback { Function } 错误回调函数,返回错误信息{Object}, 结构如下:
        • code { String } 错误码
        • msg { String } 错误描述

错误码说明

code msg
2001 sense对象未加载成功
2002 sense id 必填
1000 sense id 必填
1001 gt_judgement请求网络报错
1002 验证的js地址不存在
1003 验证的js地址无法加载
1004 前端调用setInfos接口出错

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

示例

加载js之后,可以在场景中使用,示例代码如下

$('#btn').click(function () {
Sense.judge({
id: '您申请的sense id',
interactive: 1, //场景
area: '#area', // 如果有验证码,可以设置验证码的位置
bg_color: 'red', // 如果有验证码,可以设置验证码的背景颜色
width: '310px', // 如果有验证码,可以设置验证码的宽度
}, function(data){
$.ajax({
url: '您的服务地址',
type: "post",
dataType: "json",
data: {
phone: document.getElementById("phone"),
password: document.getElementById("password"),
challenge: data.challenge
},
success: function (result) {
console.log(result);
}
})
}, function(err){
console.error(err);
})
});

当js还没有完全加载时,调用Sense.judge会报错,这时可以调用Sense.load重新加载,示例如下:

Sense.judge({
id: '您申请的sense id',
}, function(data){
// 成功业务逻辑
console.log(data)
}, function(err){
// 失败业务逻辑
console.error(err);
if(err.code === '2001'){
// 重新加载
Sense.load(function(){
Sense.judge({
id: '您申请的sense id',
}, function(data){
console.log(data)
});
})
}
})

旧版文档