文档管理中心

@ohos.security.asset (关键资产存储服务)

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

关键资产存储服务提供了用户短敏感数据的安全存储及管理能力。其中,短敏感数据可以是密码类(账号/密码)、Token类(应用凭据)、其他关键明文(如银行卡号)等长度较短的用户敏感数据。

说明

本模块首批接口从API version 11 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

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

asset.add

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

add(attributes: AssetMap): Promise<void>

新增一条关键资产。使用Promise异步回调。

设置Tag.IS_PERSISTENT属性时,需要申请ohos.permission.STORE_PERSISTENT_DATA权限,申请方式请参考声明权限

元服务API: 从API version 14开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.Asset

参数:

展开
参数名 类型 必填 说明
attributes AssetMap 待新增关键资产的属性集合,包括关键资产明文、访问控制属性、自定义数据等。

返回值:

展开
类型 说明
Promise<void> Promise对象,无返回结果。

错误码:

以下错误码的详细介绍请参见通用错误码关键资产存储服务错误码

展开
错误码ID 错误信息
201 The caller doesn't have the permission.
401

Parameter error. Possible causes:

1. Mandatory parameters are left unspecified.

2. Incorrect parameter types.

3. Parameter verification failed.

24000001 The ASSET service is unavailable.
24000003 The asset already exists.
24000005 The screen lock status does not match.
24000006 Insufficient memory.
24000007 The asset is corrupted.
24000008 The database operation failed.
24000009 The cryptography operation failed.
24000010 IPC failed.
24000011 Calling the Bundle Manager service failed.
24000012 Calling the OS Account service failed.
24000013 Calling the Access Token service failed.
24000014 The file operation failed.
24000015 Getting the system time failed.

示例:

收起
自动换行
深色代码主题
复制
  1. import { asset } from '@kit.AssetStoreKit';
  2. import { util } from '@kit.ArkTS';
  3. function stringToArray(str: string): Uint8Array {
  4. let textEncoder = new util.TextEncoder();
  5. return textEncoder.encodeInto(str);
  6. }
  7. let attr: asset.AssetMap = new Map();
  8. attr.set(asset.Tag.SECRET, stringToArray('demo_pwd'));
  9. attr.set(asset.Tag.ALIAS, stringToArray('demo_alias'));
  10. attr.set(asset.Tag.ACCESSIBILITY, asset.Accessibility.DEVICE_FIRST_UNLOCKED);
  11. attr.set(asset.Tag.DATA_LABEL_NORMAL_1, stringToArray('demo_label'));
  12. asset.add(attr).then(() => {
  13. console.info(`Succeeded in adding Asset.`);
  14. });

asset.addSync12+

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

addSync(attributes: AssetMap): void

新增一条关键资产,使用同步方式返回结果。

如果要设置Tag.IS_PERSISTENT属性,需要申请ohos.permission.STORE_PERSISTENT_DATA权限,申请方式请参考声明权限

元服务API: 从API version 14开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.Asset

参数:

展开
参数名 类型 必填 说明
attributes AssetMap 待新增关键资产的属性集合,包括关键资产明文、访问控制属性、自定义数据等。

错误码:

以下错误码的详细介绍请参见通用错误码关键资产存储服务错误码

展开
错误码ID 错误信息
201 The caller doesn't have the permission.
401

Parameter error. Possible causes:

1. Mandatory parameters are left unspecified.

2. Incorrect parameter types.

3. Parameter verification failed.

24000001 The ASSET service is unavailable.
24000003 The asset already exists.
24000005 The screen lock status does not match.
24000006 Insufficient memory.
24000007 The asset is corrupted.
24000008 The database operation failed.
24000009 The cryptography operation failed.
24000010 IPC failed.
24000011 Calling the Bundle Manager service failed.
24000012 Calling the OS Account service failed.
24000013 Calling the Access Token service failed.
24000014 The file operation failed.
24000015 Getting the system time failed.

示例:

收起
自动换行
深色代码主题
复制
  1. import { asset } from '@kit.AssetStoreKit';
  2. import { util } from '@kit.ArkTS';
  3. function stringToArray(str: string): Uint8Array {
  4. let textEncoder = new util.TextEncoder();
  5. return textEncoder.encodeInto(str);
  6. }
  7. let attr: asset.AssetMap = new Map();
  8. attr.set(asset.Tag.SECRET, stringToArray('demo_pwd'));
  9. attr.set(asset.Tag.ALIAS, stringToArray('demo_alias'));
  10. attr.set(asset.Tag.ACCESSIBILITY, asset.Accessibility.DEVICE_FIRST_UNLOCKED);
  11. attr.set(asset.Tag.DATA_LABEL_NORMAL_1, stringToArray('demo_label'));
  12. asset.addSync(attr);

asset.batchAdd

Phone26.0.0+PC/2in126.0.0+Tablet26.0.0+TV26.0.0+Wearable26.0.0+

batchAdd(attributesArray: Array<AssetMap>): Promise<BatchResult>

批量新增关键资产。使用Promise异步回调。

设置Tag.IS_PERSISTENT属性时,需要申请ohos.permission.STORE_PERSISTENT_DATA权限,申请方式请参考声明权限

批量新增的关键资产必须具有相同的Tag.GROUP_IDTag.REQUIRE_ATTR_ENCRYPTED属性。

批量新增的关键资产数量最大值为100。

起始版本: 26.0.0

系统能力: SystemCapability.Security.Asset

参数:

展开
参数名 类型 必填 说明
attributesArray Array<AssetMap> 待新增关键资产的属性集合数组,包括关键资产明文、访问控制属性、自定义数据等。数组长度最大值为100。

返回值:

展开
类型 说明
Promise<BatchResult> Promise对象,返回批量操作结果,包含失败关键资产的错误信息。

错误码:

以下错误码的详细介绍请参见关键资产存储服务错误码

展开
错误码ID 错误信息
24000001 The ASSET service is unavailable.
24000005 The screen lock status does not match.
24000006 Insufficient memory.
24000007 The asset is corrupted.
24000008 The database operation failed.
24000009 The cryptography operation failed.
24000010 IPC failed.
24000011 Calling the Bundle Manager service failed.
24000012 Calling the OS Account service failed.
24000013 Calling the Access Token service failed.
24000014 The file operation failed.
24000015 Getting the system time failed.
24000019 Each value of Tag.GROUP_ID and Tag.REQUIRE_ATTR_ENCRYPTED in the array is not consistent.

示例:

收起
自动换行
深色代码主题
复制
  1. import { asset } from '@kit.AssetStoreKit';
  2. import { util } from '@kit.ArkTS';
  3. function stringToArray(str: string): Uint8Array {
  4. let textEncoder = new util.TextEncoder();
  5. return textEncoder.encodeInto(str);
  6. }
  7. let attributesArray: Array<asset.AssetMap> = [];
  8. let attr1: asset.AssetMap = new Map();
  9. attr1.set(asset.Tag.SECRET, stringToArray('demo_pwd1'));
  10. attr1.set(asset.Tag.ALIAS, stringToArray('demo_alias1'));
  11. attr1.set(asset.Tag.ACCESSIBILITY, asset.Accessibility.DEVICE_FIRST_UNLOCKED);
  12. attributesArray.push(attr1);
  13. let attr2: asset.AssetMap = new Map();
  14. attr2.set(asset.Tag.SECRET, stringToArray('demo_pwd2'));
  15. attr2.set(asset.Tag.ALIAS, stringToArray('demo_alias2'));
  16. attr2.set(asset.Tag.ACCESSIBILITY, asset.Accessibility.DEVICE_FIRST_UNLOCKED);
  17. attributesArray.push(attr2);
  18. asset.batchAdd(attributesArray).then((res: asset.BatchResult) => {
  19. console.info(`Succeeded in batch adding Asset, failedCount: ${res.failedCount}`);
  20. });

asset.remove

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

remove(query: AssetMap): Promise<void>

删除符合条件的一条或多条关键资产。使用Promise异步回调。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.Asset

参数:

展开
参数名 类型 必填 说明
query AssetMap 待删除关键资产的搜索条件,如别名、访问控制属性、自定义数据等。

返回值:

展开
类型 说明
Promise<void> Promise对象,无返回结果。

错误码:

以下错误码的详细介绍请参见通用错误码关键资产存储服务错误码

展开
错误码ID 错误信息
401

Parameter error. Possible causes:

1. Incorrect parameter types.

2. Parameter verification failed.

24000001 The ASSET service is unavailable.
24000002 The asset is not found.
24000006 Insufficient memory.
24000007 The asset is corrupted.
24000008 The database operation failed.
24000010 IPC failed.
24000011 Calling the Bundle Manager service failed.
24000012 Calling the OS Account service failed.
24000013 Calling the Access Token service failed.
24000015 Getting the system time failed.

示例:

收起
自动换行
深色代码主题
复制
  1. import { asset } from '@kit.AssetStoreKit';
  2. import { util } from '@kit.ArkTS';
  3. function stringToArray(str: string): Uint8Array {
  4. let textEncoder = new util.TextEncoder();
  5. return textEncoder.encodeInto(str);
  6. }
  7. let query: asset.AssetMap = new Map();
  8. query.set(asset.Tag.ALIAS, stringToArray('demo_alias'));
  9. asset.remove(query).then(() => {
  10. console.info(`Succeeded in removing Asset.`);
  11. });

asset.removeSync12+

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

removeSync(query: AssetMap): void

删除符合条件的一条或多条关键资产,使用同步方式。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.Asset

参数:

展开
参数名 类型 必填 说明
query AssetMap 待删除关键资产的搜索条件,如别名、访问控制属性、自定义数据等。

错误码:

以下错误码的详细介绍请参见通用错误码关键资产存储服务错误码

展开
错误码ID 错误信息
401

Parameter error. Possible causes:

1. Incorrect parameter types.

2. Parameter verification failed.

24000001 The ASSET service is unavailable.
24000002 The asset is not found.
24000006 Insufficient memory.
24000007 The asset is corrupted.
24000008 The database operation failed.
24000010 IPC failed.
24000011 Calling the Bundle Manager service failed.
24000012 Calling the OS Account service failed.
24000013 Calling the Access Token service failed.
24000015 Getting the system time failed.

示例:

收起
自动换行
深色代码主题
复制
  1. import { asset } from '@kit.AssetStoreKit';
  2. import { util } from '@kit.ArkTS';
  3. function stringToArray(str: string): Uint8Array {
  4. let textEncoder = new util.TextEncoder();
  5. return textEncoder.encodeInto(str);
  6. }
  7. let query: asset.AssetMap = new Map();
  8. query.set(asset.Tag.ALIAS, stringToArray('demo_alias'));
  9. asset.removeSync(query);

asset.batchRemove

Phone26.0.0+PC/2in126.0.0+Tablet26.0.0+TV26.0.0+Wearable26.0.0+

batchRemove(assetsToBeRemoved: Array<AssetMap>): Promise<void>

批量删除符合条件的关键资产。使用Promise异步回调。

批量删除的关键资产必须具有相同的Tag.GROUP_IDTag.REQUIRE_ATTR_ENCRYPTED属性。

批量删除的关键资产数量最大值为100。

起始版本: 26.0.0

系统能力: SystemCapability.Security.Asset

参数:

展开
参数名 类型 必填 说明
assetsToBeRemoved Array<AssetMap> 待删除关键资产的搜索条件数组,如别名、访问控制属性、自定义数据等。数组长度最大值为100。

返回值:

展开
类型 说明
Promise<void> Promise对象,无返回结果。

错误码:

以下错误码的详细介绍请参见关键资产存储服务错误码

展开
错误码ID 错误信息
24000001 The ASSET service is unavailable.
24000006 Insufficient memory.
24000007 The asset is corrupted.
24000008 The database operation failed.
24000010 IPC failed.
24000011 Calling the Bundle Manager service failed.
24000012 Calling the OS Account service failed.
24000013 Calling the Access Token service failed.
24000015 Getting the system time failed.
24000019 Each value of Tag.GROUP_ID and Tag.REQUIRE_ATTR_ENCRYPTED in the array is not consistent.

示例:

收起
自动换行
深色代码主题
复制
  1. import { asset } from '@kit.AssetStoreKit';
  2. import { util } from '@kit.ArkTS';
  3. function stringToArray(str: string): Uint8Array {
  4. let textEncoder = new util.TextEncoder();
  5. return textEncoder.encodeInto(str);
  6. }
  7. let assetsToBeRemoved: Array<asset.AssetMap> = [];
  8. let query1: asset.AssetMap = new Map();
  9. query1.set(asset.Tag.ALIAS, stringToArray('demo_alias1'));
  10. assetsToBeRemoved.push(query1);
  11. let query2: asset.AssetMap = new Map();
  12. query2.set(asset.Tag.ALIAS, stringToArray('demo_alias2'));
  13. assetsToBeRemoved.push(query2);
  14. asset.batchRemove(assetsToBeRemoved).then(() => {
  15. console.info(`Succeeded in batch removing Asset.`);
  16. });

asset.update

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

update(query: AssetMap, attributesToUpdate: AssetMap): Promise<void>

更新符合条件的一条关键资产。使用Promise异步回调。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.Asset

参数:

展开
参数名 类型 必填 说明
query AssetMap 待更新关键资产的搜索条件,如关键资产别名、访问控制属性、自定义数据等。
attributesToUpdate AssetMap 待更新关键资产的属性集合,如关键资产明文、自定义数据等。

返回值:

展开
类型 说明
Promise<void> Promise对象,无返回结果。

错误码:

以下错误码的详细介绍请参见通用错误码关键资产存储服务错误码

展开
错误码ID 错误信息
401

Parameter error. Possible causes:

1. Mandatory parameters are left unspecified.

2. Incorrect parameter types.

3. Parameter verification failed.

24000001 The ASSET service is unavailable.
24000002 The asset is not found.
24000005 The screen lock status does not match.
24000006 Insufficient memory.
24000007 The asset is corrupted.
24000008 The database operation failed.
24000009 The cryptography operation failed.
24000010 IPC failed.
24000011 Calling the Bundle Manager service failed.
24000012 Calling the OS Account service failed.
24000013 Calling the Access Token service failed.
24000015 Getting the system time failed.

示例:

收起
自动换行
深色代码主题
复制
  1. import { asset } from '@kit.AssetStoreKit';
  2. import { util } from '@kit.ArkTS';
  3. function stringToArray(str: string): Uint8Array {
  4. let textEncoder = new util.TextEncoder();
  5. return textEncoder.encodeInto(str);
  6. }
  7. let query: asset.AssetMap = new Map();
  8. query.set(asset.Tag.ALIAS, stringToArray('demo_alias'));
  9. let attrsToUpdate: asset.AssetMap = new Map();
  10. attrsToUpdate.set(asset.Tag.SECRET, stringToArray('demo_pwd_new'));
  11. asset.update(query, attrsToUpdate).then(() => {
  12. console.info(`Succeeded in updating Asset.`);
  13. });

asset.updateSync12+

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

updateSync(query: AssetMap, attributesToUpdate: AssetMap): void

更新符合条件的一条关键资产,使用同步方式返回结果。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.Asset

参数:

展开
参数名 类型 必填 说明
query AssetMap 待更新关键资产的搜索条件,如关键资产别名、访问控制属性、自定义数据等。
attributesToUpdate AssetMap 待更新关键资产的属性集合,如关键资产明文、自定义数据等。

错误码:

以下错误码的详细介绍请参见通用错误码关键资产存储服务错误码

展开
错误码ID 错误信息
401

Parameter error. Possible causes:

1. Mandatory parameters are left unspecified.

2. Incorrect parameter types.

3. Parameter verification failed.

24000001 The ASSET service is unavailable.
24000002 The asset is not found.
24000005 The screen lock status does not match.
24000006 Insufficient memory.
24000007 The asset is corrupted.
24000008 The database operation failed.
24000009 The cryptography operation failed.
24000010 IPC failed.
24000011 Calling the Bundle Manager service failed.
24000012 Calling the OS Account service failed.
24000013 Calling the Access Token service failed.
24000015 Getting the system time failed.

示例:

收起
自动换行
深色代码主题
复制
  1. import { asset } from '@kit.AssetStoreKit';
  2. import { util } from '@kit.ArkTS';
  3. function stringToArray(str: string): Uint8Array {
  4. let textEncoder = new util.TextEncoder();
  5. return textEncoder.encodeInto(str);
  6. }
  7. let query: asset.AssetMap = new Map();
  8. query.set(asset.Tag.ALIAS, stringToArray('demo_alias'));
  9. let attrsToUpdate: asset.AssetMap = new Map();
  10. attrsToUpdate.set(asset.Tag.SECRET, stringToArray('demo_pwd_new'));
  11. asset.updateSync(query, attrsToUpdate);

asset.batchUpdate

Phone26.0.0+PC/2in126.0.0+Tablet26.0.0+TV26.0.0+Wearable26.0.0+

batchUpdate(sourceAttributes: Array<AssetMap>, destAttributes: Array<AssetMap>): Promise<BatchResult>

批量更新符合条件的关键资产。使用Promise异步回调。

批量更新的关键资产必须具有相同的Tag.GROUP_IDTag.REQUIRE_ATTR_ENCRYPTED属性。

批量更新的关键资产数量最大值为100。

起始版本: 26.0.0

系统能力: SystemCapability.Security.Asset

参数:

展开
参数名 类型 必填 说明
sourceAttributes Array<AssetMap> 待更新关键资产的搜索条件数组。数组最大长度为100,数组中所有元素的Tag.GROUP_IDTag.REQUIRE_ATTR_ENCRYPTED属性值必须相同。
destAttributes Array<AssetMap> 待更新关键资产的属性集合数组。数组最大长度为100,且应与sourceAttributes长度保持一致,数组中所有元素的Tag.GROUP_IDTag.REQUIRE_ATTR_ENCRYPTED属性值必须相同。

返回值:

展开
类型 说明
Promise<BatchResult> Promise对象,返回批量操作结果,包含失败关键资产的错误信息。

错误码:

以下错误码的详细介绍请参见关键资产存储服务错误码

展开
错误码ID 错误信息
24000001 The ASSET service is unavailable.
24000006 Insufficient memory.
24000007 The asset is corrupted.
24000008 The database operation failed.
24000010 IPC failed.
24000011 Calling the Bundle Manager service failed.
24000012 Calling the OS Account service failed.
24000013 Calling the Access Token service failed.
24000015 Getting the system time failed.
24000019 Each value of Tag.GROUP_ID and Tag.REQUIRE_ATTR_ENCRYPTED in the array is not consistent.

示例:

收起
自动换行
深色代码主题
复制
  1. import { asset } from '@kit.AssetStoreKit';
  2. import { util } from '@kit.ArkTS';
  3. function stringToArray(str: string): Uint8Array {
  4. let textEncoder = new util.TextEncoder();
  5. return textEncoder.encodeInto(str);
  6. }
  7. let srcAttrs: Array<asset.AssetMap> = [];
  8. let srcAttr1: asset.AssetMap = new Map();
  9. srcAttr1.set(asset.Tag.ALIAS, stringToArray('demo_alias1'));
  10. srcAttrs.push(srcAttr1);
  11. let srcAttr2: asset.AssetMap = new Map();
  12. srcAttr2.set(asset.Tag.ALIAS, stringToArray('demo_alias2'));
  13. srcAttrs.push(srcAttr2);
  14. let destAttrs: Array<asset.AssetMap> = [];
  15. let destAttr1: asset.AssetMap = new Map();
  16. destAttr1.set(asset.Tag.SECRET, stringToArray('demo_pwd_new1'));
  17. destAttrs.push(destAttr1);
  18. let destAttr2: asset.AssetMap = new Map();
  19. destAttr2.set(asset.Tag.SECRET, stringToArray('demo_pwd_new2'));
  20. destAttrs.push(destAttr2);
  21. asset.batchUpdate(srcAttrs, destAttrs).then((res: asset.BatchResult) => {
  22. console.info(`Succeeded in batch updating Asset, failedCount: ${res.failedCount}`);
  23. });

asset.preQuery

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

preQuery(query: AssetMap): Promise<Uint8Array>

查询的预处理,用于需要用户认证的关键资产。在用户认证成功后,应当随后调用asset.queryasset.postQuery接口。使用Promise异步回调。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.Asset

参数:

展开
参数名 类型 必填 说明
query AssetMap 关键资产的查询条件,如别名、访问控制属性、自定义数据等。

返回值:

展开
类型 说明
Promise<Uint8Array>

Promise对象,返回挑战值。

说明: 挑战值用于后续的用户认证。

错误码:

以下错误码的详细介绍请参见通用错误码关键资产存储服务错误码

展开
错误码ID 错误信息
401

Parameter error. Possible causes:

1. Incorrect parameter types.

2. Parameter verification failed.

24000001 The ASSET service is unavailable.
24000002 The asset is not found.
24000005 The screen lock status does not match.
24000006 Insufficient memory.
24000007 The asset is corrupted.
24000008 The database operation failed.
24000009 The cryptography operation failed.
24000010 IPC failed.
24000011 Calling the Bundle Manager service failed.
24000012 Calling the OS Account service failed.
24000013 Calling the Access Token service failed.
24000016 The cache exceeds the limit.
24000017 The capability is not supported.

示例:

收起
自动换行
深色代码主题
复制
  1. import { asset } from '@kit.AssetStoreKit';
  2. import { util } from '@kit.ArkTS';
  3. function stringToArray(str: string): Uint8Array {
  4. let textEncoder = new util.TextEncoder();
  5. return textEncoder.encodeInto(str);
  6. }
  7. let query: asset.AssetMap = new Map();
  8. query.set(asset.Tag.ALIAS, stringToArray('demo_alias'));
  9. asset.preQuery(query).then((challenge: Uint8Array) => {
  10. console.info(`Succeeded in pre-querying Asset, the challenge is: `, challenge);
  11. });

asset.preQuerySync12+

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

preQuerySync(query: AssetMap): Uint8Array

查询的预处理,用于需要用户认证的关键资产。在用户认证成功后,应当随后调用asset.querySyncasset.postQuerySync。使用同步方式返回结果。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.Asset

参数:

展开
参数名 类型 必填 说明
query AssetMap 关键资产的查询条件,如别名、访问控制属性、自定义数据等。

返回值:

展开
类型 说明
Uint8Array

挑战值。

说明: 挑战值用于后续用户认证。

错误码:

以下错误码的详细介绍请参见通用错误码关键资产存储服务错误码

展开
错误码ID 错误信息
401

Parameter error. Possible causes:

1. Incorrect parameter types.

2. Parameter verification failed.

24000001 The ASSET service is unavailable.
24000002 The asset is not found.
24000005 The screen lock status does not match.
24000006 Insufficient memory.
24000007 The asset is corrupted.
24000008 The database operation failed.
24000009 The cryptography operation failed.
24000010 IPC failed.
24000011 Calling the Bundle Manager service failed.
24000012 Calling the OS Account service failed.
24000013 Calling the Access Token service failed.
24000016 The cache exceeds the limit.
24000017 The capability is not supported.

示例:

收起
自动换行
深色代码主题
复制
  1. import { asset } from '@kit.AssetStoreKit';
  2. import { util } from '@kit.ArkTS';
  3. function stringToArray(str: string): Uint8Array {
  4. let textEncoder = new util.TextEncoder();
  5. return textEncoder.encodeInto(str);
  6. }
  7. let query: asset.AssetMap = new Map();
  8. query.set(asset.Tag.ALIAS, stringToArray('demo_alias'));
  9. let challenge: Uint8Array = asset.preQuerySync(query);
  10. console.info(`Succeeded in pre-querying with sync, the challenge is: `, challenge);

asset.query

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

query(query: AssetMap): Promise<Array<AssetMap>>

查询一条或多条符合条件的关键资产。若查询需要用户认证的关键资产,则需要在本函数前调用asset.preQuery接口,在本函数后调用asset.postQuery接口,开发步骤请参考开发指导。使用Promise异步回调。

如果未查询到符合条件的关键资产,将抛出“未找到关键资产”的异常,而非返回空的查询结果列表。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.Asset

参数:

展开
参数名 类型 必填 说明
query AssetMap 关键资产的查询条件,如别名、访问控制属性、自定义数据等。

返回值:

展开
类型 说明
Promise<Array<AssetMap>> Promise对象,返回查询结果列表。

错误码:

以下错误码的详细介绍请参见通用错误码关键资产存储服务错误码

展开
错误码ID 错误信息
401

Parameter error. Possible causes:

1. Incorrect parameter types.

2. Parameter verification failed.

24000001 The ASSET service is unavailable.
24000002 The asset is not found.
24000004 Access denied.
24000005 The screen lock status does not match.
24000006 Insufficient memory.
24000007 The asset is corrupted.
24000008 The database operation failed.
24000009 The cryptography operation failed.
24000010 IPC failed.
24000011 Calling the Bundle Manager service failed.
24000012 Calling the OS Account service failed.
24000013 Calling the Access Token service failed.
24000017 The capability is not supported.

示例:

收起
自动换行
深色代码主题
复制
  1. import { asset } from '@kit.AssetStoreKit';
  2. import { util } from '@kit.ArkTS';
  3. function stringToArray(str: string): Uint8Array {
  4. let textEncoder = new util.TextEncoder();
  5. return textEncoder.encodeInto(str);
  6. }
  7. let query: asset.AssetMap = new Map();
  8. query.set(asset.Tag.ALIAS, stringToArray('demo_alias'));
  9. // 如果只需要返回关键资产的属性,可以将RETURN_TYPE设置为ATTRIBUTES。返回属性不需解密,查询时间较短。
  10. query.set(asset.Tag.RETURN_TYPE, asset.ReturnType.ALL); // 此处表示需要返回关键资产的所有信息,即属性+明文。返回明文需要解密,查询时间较长。
  11. asset.query(query).then((res: Array<asset.AssetMap>) => {
  12. for (let i = 0; i < res.length; i++) {
  13. // 解析属性。
  14. let accessibility: number = res[i].get(asset.Tag.ACCESSIBILITY) as number;
  15. console.info(`Succeeded in getting accessibility, which is: ${accessibility}.`);
  16. }
  17. console.info(`Succeeded in querying Asset.`);
  18. });

asset.querySync12+

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

querySync(query: AssetMap): Array<AssetMap>

查询一条或多条符合条件的关键资产。若查询需要用户认证的关键资产,则需要在本函数前调用asset.preQuerySync,在本函数后调用asset.postQuerySync,开发步骤请参考开发指导。使用同步方式返回结果。

如果未查询到符合条件的关键资产,将抛出“未找到关键资产”的异常,而非返回空的查询结果列表。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.Asset

参数:

展开
参数名 类型 必填 说明
query AssetMap 关键资产的查询条件,如别名、访问控制属性、自定义数据等。

返回值:

展开
类型 说明
Array<AssetMap> 查询结果列表。

错误码:

以下错误码的详细介绍请参见通用错误码关键资产存储服务错误码

展开
错误码ID 错误信息
401

Parameter error. Possible causes:

1. Incorrect parameter types.

2. Parameter verification failed.

24000001 The ASSET service is unavailable.
24000002 The asset is not found.
24000004 Access denied.
24000005 The screen lock status does not match.
24000006 Insufficient memory.
24000007 The asset is corrupted.
24000008 The database operation failed.
24000009 The cryptography operation failed.
24000010 IPC failed.
24000011 Calling the Bundle Manager service failed.
24000012 Calling the OS Account service failed.
24000013 Calling the Access Token service failed.
24000017 The capability is not supported.

示例:

收起
自动换行
深色代码主题
复制
  1. import { asset } from '@kit.AssetStoreKit';
  2. import { util } from '@kit.ArkTS';
  3. function stringToArray(str: string): Uint8Array {
  4. let textEncoder = new util.TextEncoder();
  5. return textEncoder.encodeInto(str);
  6. }
  7. let query: asset.AssetMap = new Map();
  8. query.set(asset.Tag.ALIAS, stringToArray('demo_alias'));
  9. // 如果只需要返回关键资产的属性,可以将RETURN_TYPE设置为ATTRIBUTES。返回属性不需解密,查询时间较短。
  10. query.set(asset.Tag.RETURN_TYPE, asset.ReturnType.ALL); // 此处表示需要返回关键资产的所有信息,即属性+明文。返回明文需要解密,查询时间较长。
  11. let res: Array<asset.AssetMap> = asset.querySync(query);
  12. for (let i = 0; i < res.length; i++) {
  13. // 解析属性。
  14. let accessibility: number = res[i].get(asset.Tag.ACCESSIBILITY) as number;
  15. console.info(`Succeeded in getting accessibility, which is: ${accessibility}.`);
  16. }
  17. console.info(`Succeeded in querying Asset.`);

asset.postQuery

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

postQuery(handle: AssetMap): Promise<void>

查询的后置处理,用于需要用户认证的关键资产(与asset.preQuery函数成对出现)。使用Promise异步回调。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.Asset

参数:

展开
参数名 类型 必填 说明
handle AssetMap 待处理的查询句柄,包含asset.preQuery执行成功返回的挑战值。

返回值:

展开
类型 说明
Promise<void> Promise对象,无返回结果。

错误码:

以下错误码的详细介绍请参见通用错误码关键资产存储服务错误码

展开
错误码ID 错误信息
401

Parameter error. Possible causes:

1. Mandatory parameters are left unspecified.

2. Incorrect parameter types.

3. Parameter verification failed.

24000001 The ASSET service is unavailable.
24000006 Insufficient memory.
24000010 IPC failed.
24000011 Calling the Bundle Manager service failed.
24000012 Calling the OS Account service failed.
24000013 Calling the Access Token service failed.

示例:

收起
自动换行
深色代码主题
复制
  1. import { asset } from '@kit.AssetStoreKit';
  2. let handle: asset.AssetMap = new Map();
  3. // 此处传入的new Uint8Array(32)仅作为示例,实际应传入asset.preQuery执行成功返回的挑战值。
  4. handle.set(asset.Tag.AUTH_CHALLENGE, new Uint8Array(32));
  5. asset.postQuery(handle).then(() => {
  6. console.info(`Succeeded in post-querying Asset.`);
  7. });

asset.postQuerySync12+

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

postQuerySync(handle: AssetMap): void

查询的后置处理,用于需要用户认证的关键资产。需与asset.preQuerySync函数成对出现。使用同步方式返回结果。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.Asset

参数:

展开
参数名 类型 必填 说明
handle AssetMap 待处理的查询句柄,包含asset.preQuerySync执行成功返回的挑战值。

错误码:

以下错误码的详细介绍请参见通用错误码关键资产存储服务错误码

展开
错误码ID 错误信息
401

Parameter error. Possible causes:

1. Mandatory parameters are left unspecified.

2. Incorrect parameter types.

3. Parameter verification failed.

24000001 The ASSET service is unavailable.
24000006 Insufficient memory.
24000010 IPC failed.
24000011 Calling the Bundle Manager service failed.
24000012 Calling the OS Account service failed.
24000013 Calling the Access Token service failed.

示例:

收起
自动换行
深色代码主题
复制
  1. import { asset } from '@kit.AssetStoreKit';
  2. let handle: asset.AssetMap = new Map();
  3. // 此处传入的new Uint8Array(32)仅作为示例,实际应传入asset.preQuerySync执行成功返回的挑战值。
  4. handle.set(asset.Tag.AUTH_CHALLENGE, new Uint8Array(32));
  5. asset.postQuerySync(handle);

asset.querySyncResult20+

Phone20+PC/2in120+Tablet20+TV20+Wearable20+

querySyncResult(query: AssetMap): Promise<SyncResult>

执行同步操作后,查询同步执行结果。使用Promise异步回调。

系统能力: SystemCapability.Security.Asset

参数:

展开
参数名 类型 必填 说明
query AssetMap 同步结果查询条件,如关键资产所属群组、业务自定义属性信息是否加密。

返回值:

展开
类型 说明
Promise<SyncResult> Promise对象,返回同步执行结果。

错误码:

以下错误码的详细介绍请参见关键资产存储服务错误码

展开
错误码ID 错误信息
24000001 The ASSET service is unavailable.
24000006 Insufficient memory.
24000010 IPC failed.
24000011 Calling the Bundle Manager service failed.
24000012 Calling the OS Account service failed.
24000013 Calling the Access Token service failed.
24000014 The file operation failed.
24000018 Parameter verification failed.

示例:

收起
自动换行
深色代码主题
复制
  1. import { asset } from '@kit.AssetStoreKit';
  2. let query: asset.AssetMap = new Map();
  3. asset.querySyncResult(query).then((res: asset.SyncResult) => {
  4. console.info(`Succeeded in querying sync result: ${JSON.stringify(res)}`);
  5. });

TagType

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

枚举,关键资产属性支持的数据类型。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.Asset

展开
名称 说明
BOOL 0x01 << 28 标识关键资产属性对应的数据类型是布尔。
NUMBER 0x02 << 28 标识关键资产属性对应的数据类型是整型。
BYTES 0x03 << 28 标识关键资产属性对应的数据类型是字节数组。

Tag

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

枚举,关键资产支持的属性名称类型,用作AssetMap的键。

系统能力: SystemCapability.Security.Asset

说明

以下为Tag类型的全量枚举值,每个接口可传的Tag枚举及对应的Value取值范围不同,详见各个场景的开发指导

展开
名称 说明
SECRET TagType.BYTES | 0x01

关键资产明文。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

ALIAS TagType.BYTES | 0x02

关键资产别名,每条关键资产的唯一索引。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

ACCESSIBILITY TagType.NUMBER | 0x03

基于锁屏状态的访问控制。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

REQUIRE_PASSWORD_SET TagType.BOOL | 0x04

是否仅在设置了锁屏密码的情况下,可访问关键资产。true表示仅在设置了锁屏密码时可访问,false表示不受锁屏密码限制。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

AUTH_TYPE TagType.NUMBER | 0x05

访问关键资产所需的用户认证类型。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

AUTH_VALIDITY_PERIOD TagType.NUMBER | 0x06

用户认证的有效期,单位为秒。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

AUTH_CHALLENGE TagType.BYTES | 0x07

用户认证的挑战值。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

AUTH_TOKEN TagType.BYTES | 0x08

用户认证通过的授权令牌。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

SYNC_TYPE TagType.NUMBER | 0x10

关键资产支持的同步类型。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

IS_PERSISTENT TagType.BOOL | 0x11 在应用卸载时是否保留关键资产。true表示应用卸载时保留关键资产,false表示不保留关键资产。
DATA_LABEL_CRITICAL_1 TagType.BYTES | 0x20

关键资产附属信息,内容由业务自定义且有完整性保护

元服务API: 从API version 14开始,该接口支持在元服务中使用。

DATA_LABEL_CRITICAL_2 TagType.BYTES | 0x21

关键资产附属信息,内容由业务自定义且有完整性保护

元服务API: 从API version 14开始,该接口支持在元服务中使用。

DATA_LABEL_CRITICAL_3 TagType.BYTES | 0x22

关键资产附属信息,内容由业务自定义且有完整性保护

元服务API: 从API version 14开始,该接口支持在元服务中使用。

DATA_LABEL_CRITICAL_4 TagType.BYTES | 0x23

关键资产附属信息,内容由业务自定义且有完整性保护

元服务API: 从API version 14开始,该接口支持在元服务中使用。

DATA_LABEL_NORMAL_1 TagType.BYTES | 0x30

关键资产附属信息,内容由业务自定义且无完整性保护

元服务API: 从API version 14开始,该接口支持在元服务中使用。

DATA_LABEL_NORMAL_2 TagType.BYTES | 0x31

关键资产附属信息,内容由业务自定义且无完整性保护

元服务API: 从API version 14开始,该接口支持在元服务中使用。

DATA_LABEL_NORMAL_3 TagType.BYTES | 0x32

关键资产附属信息,内容由业务自定义且无完整性保护

元服务API: 从API version 14开始,该接口支持在元服务中使用。

DATA_LABEL_NORMAL_4 TagType.BYTES | 0x33

关键资产附属信息,内容由业务自定义且无完整性保护

元服务API: 从API version 14开始,该接口支持在元服务中使用。

DATA_LABEL_NORMAL_LOCAL_112+ TagType.BYTES | 0x34

关键资产附属的本地信息,内容由业务自定义且无完整性保护,该项信息不会进行同步。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

DATA_LABEL_NORMAL_LOCAL_212+ TagType.BYTES | 0x35

关键资产附属的本地信息,内容由业务自定义且无完整性保护,该项信息不会进行同步。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

DATA_LABEL_NORMAL_LOCAL_312+ TagType.BYTES | 0x36

关键资产附属的本地信息,内容由业务自定义且无完整性保护,该项信息不会进行同步。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

DATA_LABEL_NORMAL_LOCAL_412+ TagType.BYTES | 0x37

关键资产附属的本地信息,内容由业务自定义且无完整性保护,该项信息不会进行同步。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

RETURN_TYPE TagType.NUMBER | 0x40

关键资产查询返回的结果类型。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

RETURN_LIMIT TagType.NUMBER | 0x41

关键资产查询返回的结果的最大数量。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

RETURN_OFFSET TagType.NUMBER | 0x42

关键资产查询返回的结果偏移量。

说明: 用于分批查询场景,指定从第几个开始返回。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

RETURN_ORDERED_BY TagType.NUMBER | 0x43

关键资产查询返回的结果排序依据,仅支持按照附属信息排序。

说明: 默认按照关键资产新增的顺序返回。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

CONFLICT_RESOLUTION TagType.NUMBER | 0x44

新增关键资产时的冲突(如:别名相同)处理策略。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

UPDATE_TIME12+ TagType.BYTES | 0x45

数据的更新时间(时间戳形式)。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

OPERATION_TYPE12+ TagType.NUMBER | 0x46 附加的操作类型。
REQUIRE_ATTR_ENCRYPTED14+ TagType.BOOL | 0x47

是否加密业务自定义附属信息。true表示加密业务自定义附属信息,false表示不加密。

说明: 批量新增、删除、更新关键资产时,数组中的每项必须具有相同的REQUIRE_ATTR_ENCRYPTED属性值。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

GROUP_ID18+ TagType.BYTES | 0x48

关键资产所属群组。

说明: 批量新增、删除、更新关键资产时,数组中的每项必须具有相同的GROUP_ID属性值。

WRAP_TYPE18+ TagType.NUMBER | 0x49

关键资产支持的加密导入导出类型。

Value

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

type Value = boolean | number | Uint8Array

关键资产属性的内容,用作AssetMap的值。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.Asset

展开
类型 说明
boolean 表示值类型为布尔类型,取值范围为true或false。
number 表示值类型为数字,取值范围为Tag对应的枚举值或数值。
Uint8Array 表示值类型为字节数组,内容由业务自定义。

AssetMap

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

type AssetMap = Map<Tag, Value>

关键资产属性的键-值对集合。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.Asset

展开
类型 说明
Map<Tag, Value> 表示值类型是Map,键值对取值范围分别参考TagValue

Accessibility

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

枚举,关键资产基于锁屏状态的访问控制类型。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.Asset

展开
名称 说明
DEVICE_POWERED_ON 0 开机后可访问。
DEVICE_FIRST_UNLOCKED 1

首次解锁后可访问。

说明: 未设置锁屏密码时,等同于开机后可访问。

DEVICE_UNLOCKED 2

解锁状态时可访问。

说明: 未设置锁屏密码时,等同于开机后可访问。

AuthType

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

枚举,关键资产支持的用户认证类型。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.Asset

展开
名称 说明
NONE 0x00 访问关键资产前无需用户认证。
ANY 0xFF 任意一种用户认证方式(PIN码、人脸、指纹等)通过后,均可访问关键资产。

SyncType

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

枚举,关键资产支持的同步类型。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.Asset

展开
名称 说明
NEVER 0 不允许同步关键资产。
THIS_DEVICE 1 << 0

只在本设备进行同步,如仅在本设备还原的备份场景。

说明: 本字段是能力预埋,当前不支持。

TRUSTED_DEVICE 1 << 1 只在可信设备间进行同步,如克隆场景。
TRUSTED_ACCOUNT12+ 1 << 2

只在登录可信账号的设备间进行同步,如云同步场景。

说明: 本字段是能力预埋,当前不支持。

ReturnType

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

枚举,关键资产查询返回的结果类型。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.Asset

展开
名称 说明
ALL 0

返回关键资产明文及属性。

说明: 查询单条关键资产明文时,需设置此类型。

ATTRIBUTES 1

返回关键资产属性,不含关键资产明文。

说明: 批量查询关键资产属性时,需设置此类型。

ConflictResolution

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

枚举,新增关键资产时的冲突(如:别名相同)处理策略。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.Asset

展开
名称 说明
OVERWRITE 0 覆盖原有的关键资产。
THROW_ERROR 1 抛出异常,由业务进行后续处理。

OperationType12+

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

枚举,附属的操作类型。

系统能力: SystemCapability.Security.Asset

展开
名称 说明
NEED_SYNC 0 需要进行同步操作。
NEED_LOGOUT 1 需要进行登出操作。

WrapType18+

Phone18+PC/2in118+Tablet18+TV19+Wearable18+

枚举,关键资产支持的加密导入导出类型。

系统能力: SystemCapability.Security.Asset

展开
名称 说明
NEVER 0 不允许加密导入导出关键资产。
TRUSTED_ACCOUNT 1 只在登录可信账号的设备进行加密导入导出关键资产。

SyncResult20+

Phone20+PC/2in120+Tablet20+TV20+Wearable20+

关键资产同步的结果。

系统能力: SystemCapability.Security.Asset

展开
名称 类型 只读 可选 说明
resultCode number 关键资产同步的结果码。同步成功时结果码为0,同步失败时结果码参考ErrorCode
totalCount number 触发同步的关键资产总数。
failedCount number 关键资产同步失败的数量。

BatchErrInfo

Phone26.0.0+PC/2in126.0.0+Tablet26.0.0+TV26.0.0+Wearable26.0.0+

批量操作中单个关键资产的错误信息。

起始版本: 26.0.0

系统能力: SystemCapability.Security.Asset

展开
名称 类型 只读 可选 说明
index number 关键资产的索引。
errCode number 批量操作的错误码。
message string 批量操作的错误信息。

BatchResult

Phone26.0.0+PC/2in126.0.0+Tablet26.0.0+TV26.0.0+Wearable26.0.0+

batchAddbatchUpdatebatchRemove批量操作的结果。

起始版本: 26.0.0

系统能力: SystemCapability.Security.Asset

展开
名称 类型 只读 可选 说明
failedCount number 批量操作的失败数量,0表示全部成功。
failedErrorInfos Array<BatchErrInfo> 批量操作中失败的关键资产的错误信息数组,全部成功时为空数组。

ErrorCode

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

表示错误码的枚举。

系统能力: SystemCapability.Security.Asset

展开
名称 说明
PERMISSION_DENIED 201 调用方无权限。
NOT_SYSTEM_APPLICATION12+ 202 调用方不是一个系统应用。
INVALID_ARGUMENT 401

参数错误。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

SERVICE_UNAVAILABLE 24000001

关键资产服务不可用。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

NOT_FOUND 24000002

未找到关键资产。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

DUPLICATED 24000003

关键资产已存在。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

ACCESS_DENIED 24000004

访问被拒绝。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

STATUS_MISMATCH 24000005

锁屏状态不匹配。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

OUT_OF_MEMORY 24000006

系统内存不足。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

DATA_CORRUPTED 24000007

关键资产损坏。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

DATABASE_ERROR 24000008

数据库操作失败。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

CRYPTO_ERROR 24000009

算法库操作失败。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

IPC_ERROR 24000010

进程通信错误。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

BMS_ERROR 24000011

包管理服务异常。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

ACCOUNT_ERROR 24000012

账号系统服务异常。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

ACCESS_TOKEN_ERROR 24000013

访问控制服务异常。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

FILE_OPERATION_ERROR 24000014

文件操作失败。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

GET_SYSTEM_TIME_ERROR 24000015

获取系统时间失败。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

LIMIT_EXCEEDED 24000016

缓存数量超限。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

UNSUPPORTED 24000017

该子功能不支持。

元服务API: 从API version 14开始,该接口支持在元服务中使用。

PARAM_VERIFICATION_FAILED20+ 24000018

参数校验失败。

元服务API: 从API version 20开始,该接口支持在元服务中使用。

INCONSISTENT_ATTRIBUTE 24000019

属性值不一致。

起始版本: 26.0.0

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。