1# 操作指定用户空间下的关键资产(仅对系统应用开放) 2 3<!--Kit: Asset Store Kit--> 4<!--Subsystem: Security--> 5<!--Owner: @JeremyXu--> 6<!--Designer: @skye_you--> 7<!--Tester: @nacyli--> 8<!--Adviser: @zengyawen--> 9 10对于提供了系统级管理功能的单实例应用,一般场景下,所有用户共用一个实例,该实例负责实现不同用户的数据隔离。 11 121. 当同时有多个用户处于活跃状态时,单实例应用需要准确告知待操作关键资产所属的用户空间,才能够在该用户空间下存储、访问、销毁关键资产。 132. 单实例应用存储“首次解锁后可访问”和“解锁状态时可访问”的关键资产时,必须指定其所属的用户空间。 14 15为了支持上述场景中单实例应用的关键资产数据隔离和访问控制,ASSET提供了一套可以指定用户空间进行关键资产操作的接口(仅面向系统应用)。 16 17## 约束与限制 18 19使用接口需要申请权限:ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS。 20 21申请流程请参考:[申请应用权限](../AccessToken/determine-application-mode.md#system_basic等级应用申请权限的方式)。 22 23## 接口介绍 24 25可通过API文档查看相关接口: 26 27| 接口名称 | 说明 | 基础功能接口(不指定用户空间)<br>开发示例 | 28| -------- | -------- | ----------| 29| [addAsUser](../../reference/apis-asset-store-kit/js-apis-asset-sys.md#assetaddasuser) | 在指定用户空间中新增一条关键资产。使用Promise异步回调。 | [add](asset-js-add.md) | 30| [removeAsUser](../../reference/apis-asset-store-kit/js-apis-asset-sys.md#assetremoveasuser) | 从指定用户空间中删除符合条件的一条或多条关键资产。使用Promise异步回调。 | [remove](asset-js-remove.md) | 31| [updateAsUser](../../reference/apis-asset-store-kit/js-apis-asset-sys.md#assetupdateasuser) | 在指定用户空间中更新符合条件的一条关键资产。使用Promise异步回调。 | [update](asset-js-update.md) | 32| [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) | 33| [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) | 34| [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) |