• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_ACCOUNTS20
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)            |