1# 指定用户空间进行关键资产操作(仅对系统应用开放) 2 3对于提供了系统级管理功能的单实例应用,一般场景下,所有用户共用一个实例,该实例负责实现不同用户的数据隔离。 4 51. 当同时有多个用户处于活跃状态时,单实例应用如果需要为不同用户存储、访问、销毁关键资产,则需要准确告知所操作的关键资产所属的用户空间。 62. 单实例应用需要存储“首次解锁后可访问”、“解锁状态时可访问”类型的关键资产时,需要指定关键资产所属的用户空间。 7 8为了支持上述场景中单实例应用的关键资产数据隔离和访问控制,ASSET提供了一套可以指定用户空间进行关键资产操作的接口(仅面向系统应用)。 9 10## 约束与限制 11 12使用接口需要申请权限:ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS。 13 14申请流程请参考:[申请应用权限](../AccessToken/determine-application-mode.md#system_basic等级应用申请权限的方式)。 15 16## 接口介绍 17 18可通过API文档查看相关接口: 19 20| 接口名称 | 说明 | 基础功能接口(不指定用户空间)<br>开发示例 | 21| -------- | -------- | ----------| 22| [addAsUser](../../reference/apis-asset-store-kit/js-apis-asset-sys.md#assetaddasuser) | 在指定用户空间中新增一条关键资产,使用Promise方式异步返回结果。 | [add](asset-js-add.md) | 23| [removeAsUser](../../reference/apis-asset-store-kit/js-apis-asset-sys.md#assetremoveasuser) | 从指定用户空间中删除符合条件的一条或多条关键资产,使用Promise方式异步返回结果。 | [remove](asset-js-remove.md) | 24| [updateAsUser](../../reference/apis-asset-store-kit/js-apis-asset-sys.md#assetupdateasuser) | 在指定用户空间中更新符合条件的一条关键资产,使用Promise方式异步返回结果。 | [update](asset-js-update.md) | 25| [preQueryAsUser](../../reference/apis-asset-store-kit/js-apis-asset-sys.md#assetprequeryasuser) | 在指定用户空间中查询的预处理,用于需要用户认证的关键资产。在用户认证成功后,应当随后调用[queryAsUser](../../reference/apis-asset-store-kit/js-apis-asset-sys.md#assetqueryasuser)、[postQueryAsUser](../../reference/apis-asset-store-kit/js-apis-asset-sys.md#assetpostqueryasuser)。使用Promise方式异步返回结果。 | [preQuery](asset-js-query-auth.md) | 26| [queryAsUser](../../reference/apis-asset-store-kit/js-apis-asset-sys.md#assetqueryasuser) | 在指定用户空间中查询一条或多条符合条件的关键资产。若查询需要用户认证的关键资产,则需要在本函数前调用[preQueryAsUser](../../reference/apis-asset-store-kit/js-apis-asset-sys.md#assetprequeryasuser),在本函数后调用[postQueryAsUser](../../reference/apis-asset-store-kit/js-apis-asset-sys.md#assetpostqueryasuser)。使用Promise回调异步返回结果。 | 若查询需要用户认证的关键资产: [query](asset-js-query-auth.md)<br>若查询不需要用户认证的关键资产: [query](asset-js-query.md) | 27| [postQueryAsUser](../../reference/apis-asset-store-kit/js-apis-asset-sys.md#assetpostqueryasuser) | 在指定用户空间中查询的后置处理,用于需要用户认证的关键资产。需与[preQueryAsUser](../../reference/apis-asset-store-kit/js-apis-asset-sys.md#assetprequeryasuser)函数成对出现。使用Promise方式异步返回结果。 | [postQuery](asset-js-query-auth.md) |