本文介绍图形认证Harmony客户端接入时所需的接口信息。
工具类接口
获取AlicomCaptcha4Client工具类对象
非单例实现,通过getClient()获取的AlicomCaptcha4Client对象需要保存,以方便在Page或其他生命周期使用。
public static getClient(context UIContext): AlicomCaptcha4Client参数  | 类型  | 说明  | 
context  | UIContext  | UIContext  | 
使用自定义配置初始化
使用自定义配置初始化。
public init(captchaId: string, config: AlicomCaptcha4Config): AlicomCaptcha4Client参数  | 类型  | 说明  | 
captchaId  | string  | 验证ID,请传入在控制台图形认证方案管理页创建认证方案后生成的  | 
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,默认  | 
设置WebView加载资源地址
setResourcePath(html: string): AlicomCaptcha4Config参数  | 类型  | 说明  | 
html  | string  | 
  | 
控制加载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  | 设置点击灰色区域是否消失。 
  | 
设置是否是debug模式
设置是否是debug模式,上线务必置为false或不配置。
setIsDebug(isDebug: boolean): AlicomCaptcha4Config参数  | 类型  | 说明  | 
debug  | boolean  | 设置是否是debug模式。 
  | 
设置WebView背景色
设置webView背景色,控制的是Harmony webView控件的背景色,和前端JS的背景色不同。
setBackgroundColor(backgroundColor: string): AlicomCaptcha4Config参数  | 类型  | 说明  | 
backgroundColor  | string  | 颜色资源  | 
额外参数配置 - setParams(Map<string,Object>)
额外参数配置,当前参数完全传输给JS。
setParams(params: Map<string, Object>): AlicomCaptcha4Config参数  | 类型  | 说明  | 
params  | JSONObject  | 额外参数配置,当前参数传给  | 
支持的键值如下:
值  | 类型  | 说明  | 
displayMode  | number  | 主题样式。取值: 
  | 
protocol  | string  | 协议头,支持  | 
bgColor  | string  | 验证背景蒙版颜色,遵循CSS规则,注意最后两位为透明度。默认值:  | 
loading  | string  | 自定义  | 
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  | 用户操作验证结果。 
  | 
response  | string  | 用户操作验证成功,需要获取  | 
验证成功示例:
{
  "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;