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及更高版本