jVerification
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码供您参考。
概述
jVerification模块 封装了极光认证sdk,极光认证整合了三大运营商的网关认证能力,为开发者提供了一键登录和号码认证功能,优化用户注册/登录、号码验证的体验,提高安全性。
注意事项:
- 当前版本:android-2.6.7, ios-2.6.5
- 接口返回码code对照表错误码列表
准备事项
1.快速开始:请参考极光认证
2.添加极光SDK自定义模块:本模块自1.0.2版本开始将极光认证的SDK单独拉出来,作为自定义模块引用!apicloud自定义模块使用说明
- Android 极光SDK自定义模块下载地址 提取密码: o89o
- ios 极光SDK自定义模块下载地址 提取密码: qn5j
- 另外注意: 本模块可能和其他极光模块冲突,若存在冲突可自行解压SDK自定义模块 并去掉冲突的文件后再添加使用哦!
3.使用此模块之前需先配置 config.xml 文件,配置完毕,需通过云端编译生效,配置方法如下:
- 参数:JPUSH_APPKEY, JPUSH_CHANNEL
参数说明:
- JPUSH_APPKEY:极光后台注册的应用的appkey.
JPUSH_CHANNEL:暂时填写默认值 developer-default 即可
配置示例:
<meta-data name="JPUSH_APPKEY" value="你的appkey"/>
<meta-data name="JPUSH_CHANNEL" value="developer-default"/>
setDebugMode
SDK设置debug模式
setDebugMode({params})
params
debug:
- 类型:布尔值
- 默认:true
- 说明: 设置是否开启debug模式。true则会打印更多的日志信息。建议在init接口之前调用
示例代码
var jVerification = api.require('jVerification');
jVerification.setDebugMode();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
init
SDK初始化
init({params},callback(ret))
params
timeout:
- 类型:number
- 默认:10000
- 说明: 设置初始化超时时间,单位毫秒,合法范围是(0,30000],推荐设置为5000-10000,默认值为10000
appKey:
- 类型:string
- 说明: 极光后台应用appKey (仅ios)
channel:
- 类型:string
- 默认:'developer-default'
- 说明: 极光渠道 (仅ios)
isProduction:
- 类型:boolean
- 默认:true
- 说明: 是否生产环境. 如果为开发状态,设置为NO;如果为生产状态,应改为YES.可选,默认为YES(仅ios)
advertisingId:
- 类型:string
- 默认:空
- 说明: 广告标识符(IDFA). 可选,默认为空 (仅ios)
callback(ret)
ret:
- 类型:JSON对象
- 描述:返回值
- 内部字段:
{
code: 0 //返回码,8000代表初始化成功,其他为失败
content: '' //描述
}
示例代码
var jVerification = api.require('jVerification');
jVerification.init({
timeout: 7000,
appKey: "xxx",
isProduction: true
},function(ret,err){
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
isInitSuccess
是否初始化成功
isInitSuccess(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 描述:返回值
- 内部字段:
{
enable: true //是否初始化成功
}
示例代码
var jVerification = api.require('jVerification');
jVerification.isInitSuccess(function(ret){
alert(JSON.stringify(ret))
});
可用性
iOS系统,Android系统
可提供的2.0.2及更高版本
checkVerifyEnable
判断当前手机网络环境是否支持认证 (必须要开启手机 4G|3G|5G,才支持认证)
checkVerifyEnable(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 描述:返回值
- 内部字段:
{
enable: true //是否支持
}
示例代码
var jVerification = api.require('jVerification');
jVerification.checkVerifyEnable(function(ret){
alert(JSON.stringify(ret))
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getToken
获取手机号校验token
getToken({params},callback(ret))
params
timeout:
- 类型:number
- 默认:10000
- 说明: 设置接口调用超时时间,单位毫秒,合法范围(0,10000],默认值为10000
callback(ret)
ret:
- 类型:JSON对象
- 描述:返回值
- 内部字段:
{
code: 0 //返回码,参考顶部注意事项
content: '' //描述
operator: '' //运营商
}
示例代码
var jVerification = api.require('jVerification');
jVerification.getToken({timeout:5000},function(ret,err){
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的2.0.2及更高版本
preLogin
授权登录 预取号
preLogin({params},callback(ret))
params
timeout:
- 类型:number
- 默认:10000
- 说明: 设置接口调用超时时间,单位毫秒,合法范围(0,10000],默认值为10000
callback(ret)
ret:
- 类型:JSON对象
- 描述:返回值
- 内部字段:
{
code: 0 // 返回码,7000代表获取成功,其他为失败,详见错误码描述
message: '' //描述
}
示例代码
var jVerification = api.require('jVerification');
jVerification.preLogin({timeout:5000},function(ret,err){
alert(JSON.stringify(ret));
});
可用性
iOS系统
可提供的2.0.2及更高版本
clearPreLoginCache
清除预取号缓存
clearPreLoginCache()
示例代码
var jVerification = api.require('jVerification');
jVerification.clearPreLoginCache();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
loginAuth
授权登录
loginAuth({params},callback(ret))
注意:初始化完成后调用才能生效
params
autoFinish:
- 类型:boolean
- 默认值:true
- 描述:(可选项)完成后是否自动隐藏授权页
animationFlag:
- 类型:boolean
- 默认值:true
- 描述:(可选项)拉起授权页时是否需要动画效果
timeout:
- 类型:number
- 默认:10000
- 说明: 超时, 单位毫秒,合法范围是(0,30000],默认值为10000。此参数同时作用于拉起授权页超时 ,以及点击授权页登录按钮获取LoginToken超时
callback(ret)
ret:
- 类型:JSON对象
- 描述:返回值
- 内部字段:
{
code: 0 //返回码,参考顶部注意事项
content: '' //描述
loginToken: '', //token
operator: '' //运营商
}
示例代码
var jVerification = api.require('jVerification');
jVerification.loginAuth({
timeout:5000,
},function(ret,err){
alert(JSON.stringify(ret))
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
dismissLoginAuth
隐藏登录页.当授权页被拉起以后,可调用此接口隐藏授权页。当一键登录自动隐藏授权页时,不建议调用此接口
dismissLoginAuth({params},callback(ret,err))
params
needCloseAnim:
- 类型:boolean
- 默认值:false
- 描述:(可选项)隐藏时是否需要动画
callback(ret,err)
ret:
- 类型:JSON对象
- 描述:返回值
- 内部字段:
{
code: 0,
content: 'ok'
}
示例代码
var jVerification = api.require('jVerification');
jVerification.dismissLoginAuth(function(ret,err){
alert(JSON.stringify(ret));
});
可用性
ios系统,Android系统
可提供的1.0.0及更高版本
setCustomUIWithConfigiOS
自定义登录页UI样式参数 --仅支持 ios
setCustomUIWithConfigiOS({params})
params
logoImg:
- 类型:string
- 描述:(可选项)logo图片地址(支持本地路径)
logBtnTextColor:
- 类型:string
- 描述:(可选项)登录按钮文本颜色 支持css相关颜色设置 如:'#FF0000'
appPrivacyOne:
- 类型:string数组
- 默认值:无
- 描述:(可选项)隐私条款一 (务必按顺序)[条款名称,条款链接]
appPrivacyTwo:
- 类型:string数组
- 默认值:无
- 描述:(可选项)隐私条款二 (务必按顺序)[条款名称,条款链接]
appPrivacyColor:
- 类型:string数组
- 默认值:无
- 描述:(可选项)隐私条款名称颜色 [基础文字颜色,条款颜色]
其他参数: 请参照示例
示例代码
var jVerification = api.require('jVerification');
jVerification.setCustomUIWithConfigiOS({
logoImg: 'widget://img/xxx.png',
logBtnTextColor: '#FF0000',
appPrivacyOne:['条款名称','https://docs.apicloud.com/Client-API/Open-SDK/jVerification'],
appPrivacyColor:['#000000','#FF000000']
});
可用性
ios系统
可提供的1.0.0及更高版本
setCustomUIWithConfig
自定义登录页UI样式参数 --仅支持 android
setCustomUIWithConfig({portrait:{params}})
params
setLogoImgPath:
- 类型:string
- 描述:(可选项)logo图片名称(需要使用自定义模块 把图片放入res/drawable路径下使用)
setLogBtnTextColor:
- 类型:string
- 描述:(可选项)登录按钮文本颜色 支持css相关颜色设置 如:'#FF0000'
setAppPrivacyOne:
- 类型:string数组
- 默认值:无
- 描述:(可选项)隐私条款一 (务必按顺序)[条款名称,条款链接]
setAppPrivacyTwo:
- 类型:string数组
- 默认值:无
- 描述:(可选项)隐私条款二 (务必按顺序)[条款名称,条款链接]
setAppPrivacyColor:
- 类型:string数组
- 默认值:无
- 描述:(可选项)隐私条款名称颜色 [基础文字颜色,条款颜色]
其他参数: 请参照示例
示例代码
var jVerification = api.require('jVerification');
jVerification.setCustomUIWithConfig({
portrait:{
setLogoImgPath: 'logo',
setLogBtnTextColor: '#FF0000',
setAppPrivacyOne:['条款名称','https://docs.apicloud.com/Client-API/Open-SDK/jVerification'],
setAppPrivacyColor:['#000000','#FF000000']
}
});
可用性
android系统
可提供的1.0.0及更高版本
addCustomViewsClickCallback
添加自定义控件的点击回调事件监听
addCustomViewsClickCallback(callback(ret))
callback(ret,err)
ret:
- 类型:JSON对象
- 描述:返回值
- 内部字段:
{
id: 'your view id', //点击的自定义控件id
}
示例代码
var jVerification = api.require('jVerification');
jVerification.addCustomViewsClickCallback(function(ret){
alert(JSON.stringify(ret));
});
可用性
ios系统,Android系统
可提供的1.0.0及更高版本
getCode
获取短信验证码 (最小间隔时间内只能调用一次)
getCode({params},callback(ret))
params
phoneNumber:
- 类型:字符串
- 描述:手机号
templateID:
- 类型:字符串
- 描述:短信模板ID 如果不传,则为默认短信签名ID
signID:
- 类型:字符串
- 描述:签名ID 如果不传,则为默认短信签名id
callback(ret,err)
ret:
- 类型:JSON对象
- 描述:购买成功后返回
- 内部字段:
{
uuid: '', //此次获取的唯一标识码
code: 0, //返回码
msg: '' //描述
}
示例代码
var jVerification = api.require('jVerification');
jVerification.getCode(
{
phoneNumber: '....',
},function(ret,err){
alert(JSON.stringify(ret));
});
可用性
ios系统,Android系统
可提供的1.0.0及更高版本
setTimeWithConfig
设置前后两次获取验证码的时间间隔
setTimeWithConfig({params},callback(ret))
params
timeInter:
- 类型:number
- 默认值:30000
- 描述: 设置前后两次获取验证码的时间间隔 ,默认为30000ms (30s),有效间隔 (0,300000)
示例代码
var jVerification = api.require('jVerification');
jVerification.setTimeWithConfig({
timeout:30000,
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本