本文介绍图形认证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;