文档管理中心
您当前正在浏览HarmonyOS最新文档,覆盖已发布的所有API版本,可在API参考中筛选您使用的API版本。详细的版本配套关系请参考版本说明
开发与测试开放能力API应用服务Account Kit(华为账号服务)ArkTS API@hms.core.account.intimate (华为账号亲密圈)

@hms.core.account.intimate (华为账号亲密圈)

Phone26.0.0+Tablet26.0.0+

模块概述

@hms.core.account.intimate模块提供拉起亲密圈成员选择器的能力。用户可在成员选择器中添加、关联亲友。开发者可获取用户选择亲友的华为账号用户标识UnionID和OpenID值、匿名化账号、昵称、头像信息。

起始版本: 26.0.0

导入模块

收起
自动换行
深色代码主题
复制
  1. import { intimate } from '@kit.AccountKit';

IdType

Phone26.0.0+Tablet26.0.0+

华为账号用户标识类型枚举。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AuthenticationServices.HuaweiID.Intimate

起始版本: 26.0.0

展开
名称 说明
OPEN_ID 1 华为账号用户的OpenID。具体格式要求请参考OpenID和UnionID的格式说明
UNION_ID 2 华为账号用户的UnionID。具体格式要求请参考OpenID和UnionID的格式说明

IntimatesSelectionRequest

Phone26.0.0+Tablet26.0.0+

拉起亲密圈成员选择器请求,开发者可将该对象作为入参。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AuthenticationServices.HuaweiID.Intimate

起始版本: 26.0.0

展开
名称 类型 只读 可选 说明
maxSelectionCount number 可选择亲友的最大数量。该值必须为[1,5]范围内的整数。默认值:1。若值为1,则表示仅可选择一个亲友。
onlySelectIntimateWithHuaweiID boolean

是否获取仅有华为账号的亲友。默认值:true。

当为true时亲友列表中有华为账号的亲友会显示华为账号标签,没有华为账号的亲友也会在列表中展示,但选择时会引导绑定华为账号。返回数据包含OpenID、UnionID、华为账号的匿名账号、亲友昵称和头像。添加亲友时只能通过华为账号添加。

当为false时亲友都不会显示华为账号标签,返回数据仅包含亲友昵称和头像。添加亲友时可选择通讯录添加、华为账号添加和手动添加三种方式。

idType IdType 华为账号用户标识类型。仅支持设置:IdType.UNION_ID或IdType.OPEN_ID。
idValue string

华为账号用户标识UnionID或OpenID值。传入值的类型由idType定义,不能为空。

UnionID、OpenID值可以通过华为账号登录获取华为账号用户信息华为账号Panel登录组件华为账号Button登录组件获取。

IntimatesSelectionResponse

Phone26.0.0+Tablet26.0.0+

拉起亲密圈成员选择器请求响应。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AuthenticationServices.HuaweiID.Intimate

起始版本: 26.0.0

展开
名称 类型 只读 可选 说明
openID string

亲友的华为账号在应用/元服务的唯一标识。同一个用户在不同应用下,其OpenID值不同。具体格式要求请参考OpenID和UnionID的格式说明

返回场景:当请求参数IntimatesSelectionRequest的属性onlySelectIntimateWithHuaweiID设置为false时不返回此属性,设置为true时返回此属性。

unionID string

亲友的华为账号用户在同一个开发者账号下的唯一标识。同一个用户在同一个开发者账号下的所有应用,其UnionID值相同。具体格式要求请参考OpenID和UnionID的格式说明

返回场景:当请求参数IntimatesSelectionRequest的属性onlySelectIntimateWithHuaweiID设置为false时不返回此属性,设置为true时返回此属性。

anonymousAccount string

匿名化账号。根据用户添加亲友时输入的华为账号,返回匿名化处理后的账号。

返回场景:当请求参数IntimatesSelectionRequest的属性onlySelectIntimateWithHuaweiID设置为false时不返回此属性,设置为true时返回此属性。

avatarUri string

亲友头像链接,当亲友更新头像后,原链接会立即失效。为确保头像正常显示,建议先将头像下载保存后再使用,避免因用户头像链接失效而影响业务流程。

格式例如:https://xxx/xxx。

nickname string 亲友昵称。长度限制[1,256]个字符。

IntimateErrorCode

Phone26.0.0+Tablet26.0.0+

拉起亲密圈成员选择器接口错误码枚举。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AuthenticationServices.HuaweiID.Intimate

起始版本: 26.0.0

展开
名称 说明
ACCOUNT_NOT_LOGGED_IN 1026900001 用户未登录华为账号。
INTERNAL_ERROR 1026900003 内部错误。
SERVER_ERROR 1026900004 服务器错误。
NETWORK_ERROR 1026900005 网络错误。
PARAMETER_ERROR 1026900006 参数错误。
UNSUPPORTED_REGION 1026900007 不支持的国家或地区。
USER_CANCELED 1026900008 用户取消操作。
PERMISSION_CHECK_ERROR 1026900009 应用没有权限。

selectIntimates

Phone26.0.0+Tablet26.0.0+

selectIntimates(context: common.Context, request: IntimatesSelectionRequest): Promise<IntimatesSelectionResponse[]>

拉起亲密圈成员选择器方法,实现用户添加和选择亲友的能力。使用Promise异步回调返回用户选择的亲友信息。如果从未使用亲密圈会引导用户添加亲友。当用户选择亲友点击完成会返回选择的亲友信息。其他场景如用户点击关闭则会抛出错误码。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AuthenticationServices.HuaweiID.Intimate

起始版本: 26.0.0

参数:

展开
参数名 类型 必填 说明
context common.Context

Context上下文。

应用可支持的Context有:UIAbilityContextUIExtensionContext。不支持应用在半模态、弹出框、子窗口等非全页面组件中使用UIExtensionContext调用。

request IntimatesSelectionRequest 拉起亲密圈成员选择器请求对象。包含可选择亲友的最大数量、是否获取仅有华为账号的亲友、华为账号用户标识类型、 华为账号用户标识UnionID或OpenID值。

返回值:

展开
类型 说明
Promise<IntimatesSelectionResponse[]> Promise对象,返回IntimatesSelectionResponse对象数组。包含选择亲友的华为账号用户标识UnionID和OpenID值、匿名化账号、头像、昵称。

错误码:

以下错误码的详细介绍请参见通用错误码ArkTS错误码

展开
错误码ID 错误信息
801 Capability not supported because device not support intimate feature.
1026900001 The user has not logged in with HUAWEI ID.
1026900003 Internal error, possibly an IPC failure.
1026900004 Server error.
1026900005 Network error.
1026900006 Parameter check failed.
1026900007 Unsupported country/region.
1026900008 The user canceled the current operation.
1026900009 The app does not have the required permissions.

示例:

收起
自动换行
深色代码主题
复制
  1. import { intimate } from '@kit.AccountKit';
  2. import { hilog } from '@kit.PerformanceAnalysisKit';
  3. import { BusinessError } from '@kit.BasicServicesKit';
  4. // 创建请求参数
  5. let request: intimate.IntimatesSelectionRequest = {
  6. 'maxSelectionCount': 1,
  7. 'onlySelectIntimateWithHuaweiID': true,
  8. 'idType': intimate.IdType.OPEN_ID,
  9. 'idValue': '<可通过华为账号登录接口获取>' // 该值可以通过华为账号登录接口获取
  10. };
  11. try {
  12. // 执行拉起亲密圈成员选择器请求
  13. intimate.selectIntimates(this.getUIContext().getHostContext(), request)
  14. .then((data: intimate.IntimatesSelectionResponse[]) => {
  15. // 开发者处理获取的亲友信息
  16. hilog.info(0x000, 'test selectIntimates', 'select intimate info success, %{public}s',
  17. JSON.stringify(data));
  18. })
  19. .catch((err: BusinessError) => {
  20. hilog.error(0x000, 'test selectIntimates',
  21. `select intimate info failed. Code: ${err.code}, message: ${err.message}`);
  22. });
  23. } catch (error) {
  24. hilog.error(0x000, 'test selectIntimates',
  25. `select intimate info failed. Code: ${error.code}, message: ${error.message}`);
  26. }
在 开发与测试 开放能力API 中进行搜索
请输入您想要搜索的关键词