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