1# @ohos.userIAM.userAuthIcon (嵌入式用户身份认证控件) 2 3提供应用界面上展示的人脸、指纹认证图标,具体功能如下: 4 51. 提供嵌入式的人脸、指纹认证控件图标,可被应用集成。 6 72. 支持自定义图标的颜色和大小,但图标样式不可变更。 8 93. 点击控件图标后将以系统弹窗的方式,拉起人脸、指纹认证控件。 10 11> **说明:** 12> - 本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 13 14## 导入模块 15 16```ts 17import { userAuth, UserAuthIcon } from '@kit.UserAuthenticationKit'; 18``` 19 20## 子组件 21 22无 23 24## 属性 25 26不支持通用属性。 27 28## UserAuthIcon 29 30UserAuthIcon({ 31 authParam: userAuth.AuthParam, 32 widgetParam: userAuth.WidgetParam, 33 iconHeight?: Dimension, 34 iconColor?: ResourceColor, 35 onIconClick?: ()=>void, 36 onAuthResult: (result: userAuth.UserAuthResult)=>void 37}) 38 39**装饰器类型:**\@Component 40 41**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 42 43**系统能力:** SystemCapability.UserIAM.UserAuth.Core 44 45**参数:** 46 47| 名称 | 类型 | 必填 | 说明 | 48| -------------- | ----------------------------------------------------------- | ---- | ------------------------------------------------------------ | 49| authParam | [AuthParam](js-apis-useriam-userauth.md#authparam10) | 是 | 用户认证相关参数。 | 50| widgetParam | [WidgetParam](js-apis-useriam-userauth.md#widgetparam10) | 是 | 用户认证界面配置相关参数。 | 51| iconHeight | [Dimension](../apis-arkui/arkui-ts/ts-types.md#dimension10) | 否 | 设置icon的高度,宽高比1:1,默认64。 | 52| iconColor | [ResourceColor](../apis-arkui/arkui-ts/ts-types.md#resourcecolor) | 否 | 设置icon的颜色,默认值:$r('sys.color.ohos_id_color_activated')。| 53| onIconClick | ()=>void | 否 | 用户点击icon回调接口。 | 54| onAuthResult | (result: [UserAuthResult](js-apis-useriam-userauth.md#userauthresult10))=>void| 是 | 用户认证结果信息回调接口。<br/>**需要权限:** ohos.permission.ACCESS_BIOMETRIC | 55 56## 事件 57 58不支持通用事件。 59 60## 示例 61 62```ts 63import { cryptoFramework } from '@kit.CryptoArchitectureKit'; 64import { userAuth, UserAuthIcon } from '@kit.UserAuthenticationKit'; 65 66@Entry 67@Component 68struct Index { 69 rand = cryptoFramework.createRandom(); 70 len: number = 16; 71 randData: Uint8Array = this.rand?.generateRandomSync(this.len)?.data; 72 authParam: userAuth.AuthParam = { 73 challenge: this.randData, 74 authType: [userAuth.UserAuthType.FACE, userAuth.UserAuthType.PIN], 75 authTrustLevel: userAuth.AuthTrustLevel.ATL3 76 }; 77 widgetParam: userAuth.WidgetParam = { 78 title: '请进行身份认证' 79 }; 80 81 build() { 82 Row() { 83 Column() { 84 UserAuthIcon({ 85 authParam: this.authParam, 86 widgetParam: this.widgetParam, 87 iconHeight: 200, 88 iconColor: Color.Blue, 89 onIconClick: () => { 90 console.info('The user clicked the icon.'); 91 }, 92 onAuthResult: (result: userAuth.UserAuthResult) => { 93 console.info(`Get user auth result, result = ${JSON.stringify(result)}`); 94 } 95 }) 96 } 97 } 98 } 99} 100``` 101 102调用onAuthResult可能会抛出错误码,错误码详细介绍请参见[用户认证错误码](errorcode-useriam.md)。 103 104**人脸认证图例:** 105 106 107 108**指纹认证图例:** 109 110 111