概述与资源

本文是OnePass API H5的部署文档,用于指导 OnePass API H5的集成。

安装

准备工作:服务端部署完成(服务端部署文档

以下为onepass H5 推荐逻辑

1.页面引用onepass.js

2.请在head中添加代码

<meta content="always" name="referrer">

3.初始化onepass对象

为了避免影响认证的响应时间,可以先判断当前网络环境(可参考demo中的方法)再进行相对初始化;建议开发者在页面加载的时候判断网络环境并初始化。

字段说明: app_id 为客户在极验后台申请的。审核成功后生效

var opInstance = new GOP({            
app_id: '您的app_id', // 在极验后台获取,生成app_id后等待极验审核成功后生效
timeout: 10000, // 超时时长,默认30000
pre_init: true // 是否初始化时获取运营商参数,默认为true。 建议开启避免影响认证的响应时间
sense: true // 是否开启安全风控功能 默认为true
});

4 网络状态判断方法(非必选)

说明:该方法可提升非纯4G网络环境下用户的使用体验,为可选方法,不使用该方法不影响正常接入使用。

// 调用网关接口前,用户可先调用checkNetInfo 方法获取用户的网络状态; 可选方法
// 该判断方法在iOS系统上所有网络情况均会返回unknown状态
var net = opInstance.checkNetInfo();
if (net !== 'wifi'){
// 调用网关验证
}else{
// 调用原有认证方式不调用网关验证
}

5.调用网关接口

opInstance.gateway({phone: '13333333333'})

6.调用onGatewaySuccess、onGatewayFail 获取校验结果

opInstance.onGatewaySuccess(function(data){
// data 结构: { process_id:'abcd', phone:'13333333333', accesscode: 'abc' }。
// 网关成功,获取校验结果
// 调用 result 接口, 以下是伪代码示例
axios({
method: 'POST',
headers: { 'content-type': 'application/x-www-form-urlencoded' },
url: '您API地址',// 您的服务端校验接口
data: `app_id=${this.app_id}&phone=${data.phone}&process_id=${data.process_id}`
}).then(res=>{
if(res.data && res.data.status === 200 && res.data.data.result === '0'){
// success
} else {
// fail, 可以调用短信等其他验证形式
}
});

}).onGatewayFail(function(){
// 网关失败,可以调用短信等其他验证形式
})

代码示例 demo
链接中是一个示例代码演示,详细演示了各个部署步骤和失败后降级处理方法。您可以将它导入到您的工程,按照demo中的步骤进行操作即可运行起来。

方法说明

gateway(options) 调用网关

参数options结构: { phone: ‘13333333333’ },传入需要校验的号码。

onGatewaySuccess(fn)网关成功返回

fn 成功返回函数,返回函数参数是Object, 结构:{ process_id: ‘xxxx’, phone:’13333333333’, accesscode: ‘abc’ }。

onGatewayFail(fn) 网关失败返回

fn 失败返回函数,返回函数参数是Object, 结构:{ code: 100 },错误码参考说明

checkNetInfo() 返回当前网络状态

返回cellular、wifi、unknown 三种状态。建议网络状态为cellular和unknown情况时调用网关接口,网络状态为wifi时不调用网关接口。该判断方法在iOS系统上所有网络情况均会返回unknown状态

引用

常见问题
返回码