接口说明

本文介绍图形认证Harmony客户端接入时所需的接口信息。

工具类接口

获取AlicomCaptcha4Client工具类对象

非单例实现,通过getClient()获取的AlicomCaptcha4Client对象需要保存,以方便在Page或其他生命周期使用。

public static getClient(context UIContext): AlicomCaptcha4Client

参数

类型

说明

context

UIContext

UIContext

使用自定义配置初始化

使用自定义配置初始化。

public init(captchaId: string, config: AlicomCaptcha4Config): AlicomCaptcha4Client

参数

类型

说明

captchaId

string

验证ID,请传入在控制台图形认证方案管理页创建认证方案后生成的appId

config

AlicomCaptcha4Config

参数配置对象

添加验证结果监听的对象

添加验证结果监听的对象,当验证码加载成功,用户解答验证码结果回调。

public addOnSuccessListener(response: OnSuccessListener): AlicomCaptcha4Client

参数

类型

说明

response

AlicomCaptcha4Client.OnSuccessListener

验证结果监听的对象

添加加载验证码失败监听的对象

添加加载验证码失败监听的对象,加载验证码的过程中报错。

public addOnFailureListener(listener: OnFailureListener): AlicomCaptcha4Client

参数

类型

说明

listener

AlicomCaptcha4Client.OnFailureListener

加载验证码失败监听的对象

添加加载验证前端成功监听的对象

添加加载验证前端成功的监听的对象,验证前端加载成功后回调。预加载已完成的情况下,调⽤verifyWithCaptcha后⽴即回调。

public addOnWebViewShowListener(listener: OnWebViewShowListener): AlicomCaptcha4Client

参数

类型

说明

listener

AlicomCaptcha4Client.OnWebViewShowListener

验证前端加载成功监听的对象

开启验证流程

开启验证流程,加载验证码。调用verifyWithCaptcha()之前需要先调用init()addOnSuccessListener()addOnFailureListener否则可能报错。

public verifyWithCaptcha(): AlicomCaptcha4Client

取消验证

取消验证,关闭验证窗口。调用verifyWithCaptcha()之前需要先调用init()addOnSuccessListener()addOnFailureListener否则可能报错。

public cancel()

设置开启/关闭打印日志监控

public setLogEnable(enable: boolean): AlicomCaptcha4Client

销毁生命周期长的资源

该方法在用户使用的验证码界面的销毁生命周期中调用。

public AlicomCaptcha void destroy()

获取版本号

返回的版本号,类型为String。

public static getVersion(): string

参数配置类接口

设置请求超时时间

setTimeOut(timeOut: number): AlicomCaptcha4Config

参数

类型

说明

timeOut

number

请求超时时间。单位:ms,默认10000

设置WebView加载资源地址

setResourcePath(html: string): AlicomCaptcha4Config

参数

类型

说明

html

string

webView加载地址

控制加载WebView语言

传输JS的设置语言,此接口仅控制加载webView的语言, SDK的多语言跟随当前应用。如果设置为null或未设置,则使用应用默认语言短码传输给前端。

setLanguage(language: string): AlicomCaptcha4Config

参数

类型

说明

language

string

支持的语言短码

支持的语言及其语言短码如下:

语言

Language

语言短码

简体中文

Chinese(Simplified)

zho

繁体中文(hk)

Chinese(Hong Kong)

zho-hk

繁体中文(tw)

Chinese(Taiwan)

zho-tw

美式英文

English

eng

英式英文

English

eng-gb

日语

Japanese

jpn

印尼

Indonesian

ind

韩语

Korean

kor

俄语

Russian

rus

阿拉伯语

Arabic

ara

西班牙语

Spanish

spa

法语

French

fra

德语

German

deu

维吾尔语

Uyghur

udm

巴西葡语

Portuguese(Brazil)

pon

欧洲葡语

Portuguese(Europe)

por

设置点击灰色区域是否消失

setIsCanceledOnTouchOutside(isCanceledOnTouchOutside: boolean): AlicomCaptcha4Config

参数

类型

说明

isCanceledOnTouchOutside

boolean

设置点击灰色区域是否消失。

  • true(默认值):消失

  • false:不消失

设置是否是debug模式

设置是否是debug模式,上线务必置为false或不配置。

setIsDebug(isDebug: boolean): AlicomCaptcha4Config

参数

类型

说明

debug

boolean

设置是否是debug模式。

  • true:是

  • false(默认值):不是

设置WebView背景色

设置webView背景色,控制的是Harmony webView控件的背景色,和前端JS的背景色不同。

setBackgroundColor(backgroundColor: string): AlicomCaptcha4Config

参数

类型

说明

backgroundColor

string

颜色资源

额外参数配置 - setParams(Map<string,Object>)

额外参数配置,当前参数完全传输给JS

setParams(params: Map<string, Object>): AlicomCaptcha4Config

参数

类型

说明

params

JSONObject

额外参数配置,当前参数传给JS

支持的键值如下:

类型

说明

displayMode

number

主题样式。取值:

  • 0(默认值):跟随系统

  • 1:普通

  • 2:暗黑

protocol

string

协议头,支持HTTPS://HTTP://,默认HTTPS://

bgColor

string

验证背景蒙版颜色,遵循CSS规则,注意最后两位为透明度。默认值:#00000000

loading

string

自定义loadingWebView加载HTMLloading资源相对路径,空字符串表示取消loading效果。

rem

number

设置验证码整体的缩放比例。

nextWidth

string

验证码弹窗的宽度,需要携带单位,如"300px"。

riskType

string

当服务端配置了结合风控融合,此字段可指定验证形式。

重要

由于目前暂未提供风控融合模式,此参数调用不会生效。

hideSuccess

boolean

隐藏验证成功弹窗。

代码示例:

let params = new Map<string, string>();
params.set("displayMode", 0);
params.set("protocol", "https://");
params.set("bgColor", "#CC0000FF");
...
let AlicomCaptcha4Config = new AlicomCaptcha4Config()
        .setParams(params);

回调监听类接口

验证接口回调

AlicomCaptcha4Client#OnSuccessListener:验证结果回调监听类。

onSuccess: (status: boolean, response: string) => void;

参数

类型

说明

status

boolean

用户操作验证结果。

  • true:成功

  • false:失败,失败会刷新验证样式

response

string

用户操作验证成功,需要获取response数据到服务端验证。

验证成功示例:

{
  "lot_number":"b150e61198924eff9eaae121e9b67aa8",
  "pass_token":"6fcfba4c35cb57b873c99c5b3b02089c58a26244c18f7706aaa1e87aed3aa8f4",
  "gen_time":"1622020720",
  "captcha_output":"Tu6rW0dRNO0NLxMKftwdH00G5whF5HHddthoXSEA1G4="
}

验证失败示例:

{
  "captchaId":"647f5ed2ed8acb4be36784e01556bb71",
  "captchaType":"slide",
  "challenge":"95ed53b4-95c6-4c6b-9aac-769b29ef74a0"
}

加载失败回调

AlicomCaptcha4Client#OnFailureListener:加载失败回调监听类。

onFailure: (error: string) => void;

参数

类型

说明

error

string

验证加载失败描述,包括用户主动取消。

加载失败示例:

{
  "code":"-14460",
  "msg":"验证会话已取消",
  "desc":
       {"description":"User cancelled'Captcha'"}
}

验证前端加载成功

AlicomCaptcha4Client#OnWebViewShowListener:验证前端加载成功回调监听类。

在验证前端加载成功后回调。

onWebViewShow: () => void;