最近更新:2024-12-31
展开全部

HarmonyOS SDK 接口说明

  • JVerificationInterface,包含 SDK 所有接口

设置 Debug 模式

支持的版本

开始支持的版本 1.0.0

接口定义

  • JVerificationInterface.setDebugMode(enable: boolean)
    • 接口说明:
      • 设置是否开启 debug 模式。true 则会打印更多的日志信息。建议在 init 接口之前调用。
    • 参数说明:
      • enable:debug 开关
    • 调用示例:
JVerificationInterface.setDebugMode(true);
              JVerificationInterface.setDebugMode(true);

        
此代码块在浮窗中显示

SDK 初始化

支持的版本

开始支持的版本 1.0.0

接口定义

  • JVerificationInterface.init(appkey:string, callback:(code:number, msg:string)=>void)
    • 接口说明:
      • 初始化接口。
    • 参数说明:
      • appkey:极光appkey
      • callback:回调接口
    • 回调说明:
      • code: 返回码,8000 代表初始化成功,其他为失败,详见错误码描述
      • msg:结果描述
    • 调用示例:
JVerificationInterface.init("你的APPKEY", (code, msg) => { });
              JVerificationInterface.init("你的APPKEY", (code, msg) => {

    });

        
此代码块在浮窗中显示

获取初始化是否成功标识

支持的版本

开始支持的版本 1.0.0

接口定义

  • JVerificationInterface.isInitSuccess()
    • 接口说明:
      • 获取 sdk 是否整体初始化成功的标识
    • 返回结果
      • boolean : true - 成功,false - 失败
    • 调用示例:
let isSuccess = JVerificationInterface.isInitSuccess();
              let isSuccess = JVerificationInterface.isInitSuccess();

        
此代码块在浮窗中显示

判断网络环境是否支持一键登录

支持的版本

开始支持的版本 1.0.0

接口定义

  • async JVerificationInterface.checkVerifyEnable()
    • 接口说明:
      • 判断当前的手机网络环境是否可以使用认证。
    • 返回说明:
      • 返回 true 代表可以使用;返回 false 建议使用其他验证方式。
    • 调用示例:
let verifyEnable = await JVerificationInterface.checkVerifyEnable();
              let verifyEnable = await JVerificationInterface.checkVerifyEnable();

        
此代码块在浮窗中显示

预取号

  • SDK 会缓存预取号结果,提升之后授权页拉起速度。所以建议拉起授权页前,比如在开屏页或者业务入口页预先调用此接口进行预取号。
  • 请求成功后,不要频繁重复调用。
  • 不要在预取号回调中重复调用预取号或者拉起授权页接口。

支持的版本

开始支持的版本 1.0.0

接口定义

  • JVerificationInterface.prelogin(callback:(code:number, msg:string, operatorMsg:string)=>void, timeout = 10000)
    • 接口说明:
      • 验证当前运营商网络是否可以进行一键登录操作,该方法会缓存取号信息,提高一键登录效率。建议发起一键登录前先调用此方法。
    • 参数说明:
      • timeOut: 超时时间(毫秒), 有效取值范围(5000,30000], 若小于等于 5000 或大于 30000 则取默认值 10000. 推荐设置为 5001-10000.
      • listener:接口回调
    • 回调说明:
      • code: 返回码,7000 代表获取成功,其他为失败,详见错误码描述
      • content:调用结果信息描述
      • operatorMsg: 运营商信息
    • 调用示例:
JVerificationInterface.prelogin((code,msg,operateRet)=>{ console.log("code:" + code + ", msg:" + msg + ", operateRet:" + operateRet); });
              JVerificationInterface.prelogin((code,msg,operateRet)=>{
      console.log("code:" + code + ", msg:" + msg + ", operateRet:" + operateRet);
    });

        
此代码块在浮窗中显示

判断预取号是否有效

支持的版本

开始支持的版本 1.0.0

接口定义

  • async JVerificationInterface.isValidePreloginCache()
    • 接口说明:
      • 判断当前预取号是否有效。
    • 返回说明:
      • 返回 true 代表可以使用;返回 false 建议使用其他验证方式。
    • 调用示例:
let enable = await JVerificationInterface.isValidePreloginCache();
              let enable = await JVerificationInterface.isValidePreloginCache();

        
此代码块在浮窗中显示

清除预取号缓存

支持的版本

开始支持的版本 1.0.0

接口定义

  • JVerificationInterface.clearPreLoginCache()
    • 接口说明:
      • 清除 sdk 当前预取号结果缓存。
    • 调用示例:
JVerificationInterface.clearPreLoginCache();
                  JVerificationInterface.clearPreLoginCache();

        
此代码块在浮窗中显示

拉起授权页面

  • 一键登录需要依赖预取号结果,如果没有预取号,一键登录时会自动预取号。
  • 建议拉起授权页前,比如在开屏页或者业务入口页预先调用此接口进行预取号,可以提升授权页拉起速度,优化体验。
  • 一键登录请求成功后,不要频繁重复调用。运营商会限制单位时间内请求次数。
  • 不要在一键登录回调中重复调用预取号或者拉起授权页接口。

支持的版本

开始支持的版本 1.0.0

接口定义

  • JVerificationInterface.loginAuth(settings:JVerificationLoginSettings, callback:(code:number, msg:string, operatorMsg:string)=>void)
    • 接口说明:
      • 调起一键登录授权页面,在用户授权后获取 loginToken
    • 参数说明:
      • settings:登录接口设置项。
      • callback:登录授权结果回调
    • 回调说明:
      • code: 返回码,6000 代表 loginToken 获取成功,6001 代表 loginToken 获取失败,其他返回码详见描述
      • content:返回码的解释信息,若获取成功,内容信息代表 loginToken。
      • operatorReturn: 运营商结果信息
    • 调用示例:
let settings = new JVerificationLoginSettings(); JVerificationInterface.loginAuth(settings, (code,msg,operateRet)=>{ console.log("code:" + code + ", msg:" + msg + ", operateRet:" + operateRet); });
              let settings = new JVerificationLoginSettings();
    JVerificationInterface.loginAuth(settings, (code,msg,operateRet)=>{
      console.log("code:" + code + ", msg:" + msg + ", operateRet:" + operateRet);
    });

        
此代码块在浮窗中显示

一键登录参数JVerificationLoginSettings

export class JVerificationLoginSettings { autoFinish = true;//自动关闭,仅限联通,电信 timeout = 10*1000;//超时时间}
          export class JVerificationLoginSettings {
  autoFinish = true;//自动关闭,仅限联通,电信
  timeout = 10*1000;//超时时间}

        
此代码块在浮窗中显示

说明 :获取到一键登录的 loginToken 后,将其返回给应用服务端,从服务端调用 REST API 来获取手机号码

关闭授权页面

支持的版本

开始支持的版本 1.0.0

接口定义

  • JVerificationInterface.dismissLoginAuthActivity()
    • 接口说明:
      • 关闭登录授权页,如果当前授权正在进行,则 loginAuth 接口会立即触发 6002 取消回调。
      • 支持移动、联通、电信
    • 调用示例:
JVerificationInterface.dismissLoginAuthActivity()
              JVerificationInterface.dismissLoginAuthActivity()

        
此代码块在浮窗中显示

关闭隐私协议二次弹窗

支持的版本

开始支持的版本 1.1.0

接口定义

  • JVerificationInterface.closeCheckDialog()
    • 接口说明:
      • 关闭隐私协议二次弹窗
      • 仅限联通,电信
    • 调用示例:
JVerificationInterface.closeCheckDialog()
              JVerificationInterface.closeCheckDialog()

        
此代码块在浮窗中显示

自定义授权页面 UI 样式

支持的版本

开始支持的版本 1.1.0

接口定义

  • JVerificationInterface.setCustomUIWithConfig(config:JVerifyUIConfig)
    • 接口说明:
      • 修改授权页面主题,开发者可以通过 setCustomUIWithConfig 方法修改授权页面主题,需在 loginAuth 接口之前调用
    • 参数说明:
      • uiConfig:主题配置对象,开发者在 JVerifyUIConfig.java 类中调用对应的方法配置授权页中对应的元素,详情参考 JVerifyUIConfig 配置元素说明
    • 调用示例:
let builder = new JVerifyUIConfigBuilder(); builder.enableDialogMode(true) .setDialogWidth(275) .setDialogHeight(400) .setLogoOffsetY(30) .setDialogPage(this) .setLogBtnOffsetY(30) .setLogBtnWidth(150) .setPrivacyMargin({left:10, right:20, bottom:20}) ................................ let uiconfig:JVerifyUIConfig = builder.build(); JVerificationInterface.setCustomUIWithConfig(uiconfig);
              let builder = new JVerifyUIConfigBuilder();
     builder.enableDialogMode(true)
    .setDialogWidth(275)
    .setDialogHeight(400)
    .setLogoOffsetY(30)
    .setDialogPage(this)
    .setLogBtnOffsetY(30)
    .setLogBtnWidth(150)
    .setPrivacyMargin({left:10, right:20, bottom:20})
    ................................
    let uiconfig:JVerifyUIConfig = builder.build();
    JVerificationInterface.setCustomUIWithConfig(uiconfig);

        
此代码块在浮窗中显示

JVerifyUIConfig 一键登录-配置元素说明

  • 支持的版本 :1.1.0
  • 使用 JVerifyUIConfigBuilder 配置对应属性
  • 设置授权页背景
  • 一键登录-弹窗模式
方法 参数类型 说明
enableDialogMode boolean 设置为true时为弹窗模式,默认false
setDialogPage object 展示弹窗的Component页面
setDialogWidth number 弹窗宽度
setDialogHeight number 弹窗高度
  • 页面背景
方法 参数类型 说明
setAuthBGImgPath string 背景图片
setAuthBGVideoPath string,string 参数1:背景视频,需要设置在resources/rawfile目录下,参数2:视频加载前预置图片
setAuthBGGifPath string gif背景图片
  • 安全区域和返回按钮
方法 参数类型 说明
setTopSafeAreaHeight number 顶部安全高度
setBottomSafeAreaHeight number 底部安全高度
setReturnBtnImgPath string 返回按钮图片图片
setReturnBtnHidden boolean 是否隐藏返回按钮
setReturnBtnWidth number 返回按钮宽度
setReturnBtnHeight number 返回按钮高度
setReturnBtnOffsetX number 返回按钮x轴偏移
setReturnBtnOffsetY number 返回按钮y轴偏移
  • logo
方法 参数类型 说明
setLogoImgPath string logo图片
setLogoWidth number 设置logo宽度
setLogoHeight number 设置logo高度
setLogoOffsetX number logo x轴偏移
setLogoOffsetY number logo y轴偏移
setLogoHidden boolean 是否隐藏logo
  • 手机号码
方法 参数类型 说明
setNumberColor ResourceColor 手机号颜色
setNumberSize number 手机号字号
setNumberFieldOffsetX number 手机号x轴偏移
setNumberFieldOffsetY number 手机号y轴偏移
setNumberFieldWidth number 手机号文本宽度
setNumberFieldHeight number 手机号文本高度
setNumberTextBold boolean 手机号是否加粗
  • slogan
方法 参数类型 说明
setSloganTextColor ResourceColor slogan颜色
setSloganTextSize number slogan字号
setSloganOffsetX number slogan x轴偏移
setSloganOffsetY number slogan y轴偏移
setSloganTextBold boolean slogan是否加粗
  • 登录按钮
方法 参数类型 说明
setLogBtnText string 登录按钮文本
setLogBtnTextColor ResourceColor 登录按钮颜色
setLogBtnImgPath string 登录按钮背景图片
setLogBtnOffsetX number 登录按钮x轴偏移
setLogBtnOffsetY number 登录按钮y轴偏移
setLogBtnWidth number 登录按钮宽度
setLogBtnHeight number 登录按钮高度
setLogBtnTextSize number 登录按钮文本字号
setLogBtnTextBold boolean 登录按钮是否加粗
  • 隐私协议部分
方法 参数类型 说明
setPrivacyColor ResourceColor,ResourceColor 参数1:隐私协议基础颜色 参数2:隐私协议本体颜色
setPrivacyMargin Margin 隐私协议边缘距离
setPrivacyText string,string 参数1:隐私协议前置文本 参数2:隐私协议后置文本
setUncheckedImgPath string 未选中时checkbox图片
setCheckedImgPath string 选中时checkbox图片
setPrivacyState boolean 隐私协议勾选状态
setPrivacyTextCenterGravity boolean 隐私协议是否居中
setPrivacyTextSize number 隐私协议字号
setPrivacyCheckboxSize number checkbox尺寸
setPrivacyCheckboxInCenter boolean checkbox是否垂直居中
setEnableHintToastText string 未勾选隐私协议时点击登录提示文本
setEnablePrivacyCheckDialog boolean 是否支持隐私协议二次弹窗
setPrivacyTextBold boolean 隐私协议是否加粗
setPrivacyUnderlineText boolean 隐私协议是否增加下划线
setPrivacyNameAndUrlBeanList Array 隐私协议数组
  • PrivacyBean-隐私协议模型
方法 参数类型 说明
name string 页面名称
url string url地址
separator string 分隔符
text string 显示文本
  • 隐私协议页面
方法 参数类型 说明
setPrivacyNavColor ResourceColor 隐私协议页面导航栏颜色
setPrivacyNavTitleTextColor ResourceColor 隐私协议页面导航栏标题颜色
setPrivacyNavTitleTextSize number 隐私协议页面导航栏标题字号
setPrivacyNavReturnBtnPath string 隐私协议页面导航栏返回按钮图片
setPrivacyNavTitleTextBold boolean 隐私协议页面导航栏标题是否加粗
  • 隐私协议二次弹窗
方法 参数类型 说明
setPrivacyCheckDialogTitleText string 二次弹窗标题
setPrivacyCheckDialogLogBtnText string 二次弹窗登录按钮文本
setPrivacyCheckDialogTitleTextSize number 二次弹窗标题文本字号
setPrivacyCheckDialogTitleTextColor ResourceColor 二次弹窗标题颜色
setPrivacyCheckDialogContentTextGravityCenter boolean 二次弹窗内容是否居中
setPrivacyCheckDialogContentTextSize number 二次弹窗内容字号
setPrivacyCheckDialogContentTextMargin Margin 二次弹窗内容边缘距离
setPrivacyCheckDialogLogBtnImgPath string 二次弹窗登录按钮背景图片
setPrivacyCheckDialoglogBtnTextColor ResourceColor 二次弹窗登录按钮文本颜色
setPrivacyCheckDialogWidth number 二次弹窗宽度
setPrivacyCheckDialogHeight number 二次弹窗高度
setPrivacyCheckDialogLogBtnWidth number 二次弹窗登录按钮宽度
setPrivacyCheckDialogLogBtnHeight number 二次弹窗登录按钮高度
setPrivacyCheckDialogLogBtnMargin Margin 二次弹窗登录按边缘距离
setPrivacyCheckDialogBackgroundColor ResourceColor 二次弹窗背景颜色
setPrivacyCheckDialogBackgroundImgPath string 二次弹窗背景图片
  • 设置自定义UI
方法 参数类型 说明
addCustomView WrappedBuilder<[]> 设置一个@Builder自定义UI到一键登录页面
addCustomViewToCheckDialog WrappedBuilder<[]> 设置一个@Builder自定义UI到二次弹窗
  • 导入一键登录页面使用的默认图片
    • 需要将SDK用的图片导入至AppScope/resources/base/media文件夹内
文件名 说明
jverify_background.png 一键登录主背景图片
jverify_ctlogo.png 电信logo
jverify_culogo.png 联通logo
jverify_dialog_background.png 一键登录弹窗背景图片
jverify_dialog_close.png 一键登录弹窗关闭按钮
jverify_return.png 一键登录页面关闭按钮
  • 设置移动运营商 UI

因移动运营商 SDK 提供了全套 UI 且无法删除他们的 UI 后再进行自定义设计,因此需要使用移动提供的 UI 构建器来构建移动运营商的 UI。

具体的配置元素请阅读移动 UI 配置元素说明

方法 参数类型 说明
setCmUIConfig GenAuthThemeConfigBuilder 配置移动 UI

移动UI配置元素说明

  • 支持的版本 :1.1.0
  • 使用 GenAuthThemeConfigBuilder 配置对应属性
  • 设置移动授权页背景
cmUIConfig(jgBuilder: JVerifyUIConfigBuilder, isDialog: boolean) { let builder = new GenAuthThemeConfigBuilder(); builder.setNumberMargin({top:100}) if (isDialog) { builder.setWindowMode(new CustomDialogController({ builder: GenAuthLoginDialog({ dialogWidth: "100%", dialogHeight: "80%" }), customStyle: false, gridCount: 4, autoCancel: false, cancel: () => { console.log('dialogController cancel'); }, alignment: DialogAlignment.Center, })) } builder.setLogBtnText("登录") builder.setLoginBtnTextColor(Color.White) builder.setLoginBtnColor(Color.Black) ................... jgBuilder.setCmUIConfig(builder); }
          cmUIConfig(jgBuilder: JVerifyUIConfigBuilder, isDialog: boolean) {
  let builder = new GenAuthThemeConfigBuilder();
  builder.setNumberMargin({top:100})
  if (isDialog) {
    builder.setWindowMode(new CustomDialogController({
      builder: GenAuthLoginDialog({ dialogWidth: "100%", dialogHeight: "80%" }),
      customStyle: false,
      gridCount: 4,
      autoCancel: false,
      cancel: () => {
        console.log('dialogController cancel');
      },
      alignment: DialogAlignment.Center,
    }))
  }

  builder.setLogBtnText("登录")
  builder.setLoginBtnTextColor(Color.White)
  builder.setLoginBtnColor(Color.Black)
  ...................
  jgBuilder.setCmUIConfig(builder);
}

        
此代码块在浮窗中显示
  • 状态栏
方法 说明
setSystemBarProperties 设置窗口内导航栏、状态栏属性。
  • 服务条款对话框
方法 说明
setNavTextColor 设置服务条款标题字体颜色
setNavColor 设置服务条款标题颜色
setNavTextSize 设置服务条款标题字体大小
setClauseComponent 设置服务条款标题栏自定义view
  • 授权页布局
方法 说明
setLoginPageComponent 设置授权页布局自定义View
setLoginPageGrayScale 设置授权页灰度值,范围0-1
  • 授权页号码栏
方法 说明
setNumberColor 设置手机号码字体颜色
setNumberSize 设置号码栏字体大小,加粗
setNumberMargin 设置号码栏偏移
setNumberAlignRuleOption 设置号码栏相对布局偏移规则
  • 授权页登录按钮
方法 说明
setLoginBtnWidth 设置登录按钮宽度
setLoginBtnHeight 设置登录按钮高度
setLogBtnText 设置登录按钮文本内容
setLoginBtnTextSize 设置授权登录文本字体大小
setLoginBtnTextColor 设置授权登录按钮字体颜色
setLogBtnMargin 设置登录按钮边缘边距
setLoginBtnAlignRuleOption 设置登录按钮相对布局偏移规则
setLoginBtnImgPath 设置登录按钮背景图片
setLoginBtnColor 设置登录按钮背景颜色。可选参数loginBtnStateEffect设置是否显示按压效果:false无按压效果;true或空有按压效果
setLoginBtnBorderRadius 设置登录按钮圆角
setLogBtnClickListener 设置登录按钮点击监听事件
  • 授权页隐私栏
方法 说明
setClauses 设置隐私条款的协议文本,自定义条款,自定义条款链接、字体颜色
setClauseMargin 设置隐私条款偏移边距
setClauseAlignRuleOption 设置隐私条款相对布局偏移规则
setCheckBox 设置隐私条款勾选框宽高
setClauseState 设置隐私条款勾选框勾选状态
setCheckBoxMargin 设置隐私条款勾选框偏移边距
setCheckBoxShape 设置勾选框类型(圆角矩形/圆形)
setCheckBoxImg 设置 checkbox 勾选和未勾选图片
setCheckBoxAlignRuleOption 设置隐私条款勾选框相对布局偏移规则
setGenCheckBoxListener 设置授权页勾选框和登录按钮的监听事件
setGenCheckedChangeListener 设置授权页勾选框是否勾选的监听事件
setCheckTipText 设置未勾选提示的自定义提示文案。不设置则无提示。
setClauseNavMarginTop 设置协议页标题栏margin top,范围为 0-99 单位为 vp
  • 弹窗模式
方法 说明
setWindowMode 设置授权页窗口宽高、偏移、窗口属性等
  • 设置隐私协议页面
方法 说明
setWebDomStorage 支持隐私协议 Web 组件 DomStorage
  • 授权页语言切换
方法 说明
setLanguageType 设置默认元素语言,0.中文简体1.中文繁体2.英文
  • 拉起授权页监听
方法 说明
setGenLoginPageInListener
  • 返回键监听
方法 说明
setGenBackPressedListener 设置授权页返回键监听事件
  • 授权按钮监听
方法 说明
setGenAuthLoginListener 设置授权按钮监听事件,入参回调GenAuthLoginListener,用户点击登录按钮时如果未勾选协议,触发GenAuthLoginListener的(context: UIContext,callBack:AuthLoginCallBack) 方法。可以实现二次弹窗确认的功能
AuthLoginCallBack 授权回调,通过onAuthLoginCallBack(b:boolean)决定是否继续登录流程。可以实现二次弹窗确认的功能

JVerifyUIConfig 一键登录-配置元素说明(已废弃)

  • 设置授权页背景
    • 支持的版本 :1.0.0
  • 登录页导航栏
方法 参数类型 说明
authPageType number 登录模式0全屏 1弹窗
dialogPage object 展示弹窗的Component页面
btnName string 按钮名字
loginBtnColor number 登录按钮颜色HEX
loginTextColor number 登录按钮文本颜色HEX
privacyList string[][] 自定义隐私协议,[["隐私协议名","隐私协议地址"]]
customPolicyLinkColor number 用户协议文字颜色HEX
cmDialogController CustomDialogController 中国移动弹窗一键登录专用,暂时必须要设置该属性才能使用

号码认证

支持的版本

开始支持的版本 1.0.0

接口定义

  • JVerificationInterface.getToken(callback:(code:number, msg:string)=>void, timeout = 10000)
    • 接口说明:
      • 在预定时间内获取当前在线的 sim 卡所在运营商及 token,如果超过所设时间,接口回调返回超时。
    • 参数说明:
      • timeOut: 超时时间(毫秒), 有效取值范围(5000,30000], 若小于等于 5000 或大于 30000 则取默认值 10000. 推荐设置为 5001-10000.
      • callback:接口回调
    • 回调说明:
      • code: 返回码,2000 代表获取成功,其他为失败,详见错误码描述
      • content:成功时为 token,可用于调用验证手机号接口。token 有效期为 1 分钟,超过时效需要重新获取才能使用。失败时为失败信息
      • operatorReturn: 运营商结果信息
    • 调用示例:
JVerificationInterface.getToken((code,msg,operateRet)=>{ console.log("code:" + code + ", msg:" + msg + ", operateRet:" + operateRet); });
              JVerificationInterface.getToken((code,msg,operateRet)=>{
        console.log("code:" + code + ", msg:" + msg + ", operateRet:" + operateRet);
    });

        
此代码块在浮窗中显示
文档内容是否对您有帮助?

Copyright 2011-2025, jiguang.cn, All Rights Reserved. 粤ICP备12056275号-13 深圳市和讯华谷信息技术有限公司

在文档中心打开