From 7bc2620c0c89b9eb9419b1be63fcde504ff730ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=B9=E8=80=80=E5=BE=B7?= Date: Thu, 28 Mar 2024 11:54:39 +0800 Subject: [PATCH 1/3] modify asset change sample code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 尹耀德 --- .../apis-asset-store-kit/js-apis-asset.md | 78 ++++++++++--------- .../security/AssetStoreKit/asset-js-add.md | 9 ++- .../AssetStoreKit/asset-js-query-auth.md | 17 ++-- .../security/AssetStoreKit/asset-js-query.md | 27 ++++--- .../security/AssetStoreKit/asset-js-remove.md | 9 ++- .../security/AssetStoreKit/asset-js-update.md | 9 ++- .../AssetStoreKit/asset-native-add.md | 6 ++ .../AssetStoreKit/asset-native-query.md | 18 +++++ .../AssetStoreKit/asset-native-remove.md | 6 ++ .../AssetStoreKit/asset-native-update.md | 6 ++ 10 files changed, 117 insertions(+), 68 deletions(-) diff --git a/zh-cn/application-dev/reference/apis-asset-store-kit/js-apis-asset.md b/zh-cn/application-dev/reference/apis-asset-store-kit/js-apis-asset.md index b63506988e..19ab8ded8f 100755 --- a/zh-cn/application-dev/reference/apis-asset-store-kit/js-apis-asset.md +++ b/zh-cn/application-dev/reference/apis-asset-store-kit/js-apis-asset.md @@ -57,6 +57,7 @@ add(attributes: AssetMap): Promise\ ```typescript import { asset } from '@kit.AssetStoreKit'; import { util } from '@kit.ArkTS'; +import { BusinessError } from '@kit.BasicServicesKit'; function stringToArray(str: string): Uint8Array { let textEncoder = new util.TextEncoder(); @@ -71,11 +72,11 @@ attr.set(asset.Tag.DATA_LABEL_NORMAL_1, stringToArray('demo_label')); try { asset.add(attr).then(() => { console.info(`Asset added successfully.`); - }).catch(() => { - console.error(`Failed to add Asset.`); + }).catch((err: BusinessError) => { + console.error(`Failed to add Asset. Code is ${err.code}, message is ${err.message}`); }) -} catch (error) { - console.error(`Failed to add Asset.`); +} catch (err) { + console.error(`Failed to add Asset. Code is ${err.code}, message is ${err.message}`); } ``` @@ -131,8 +132,8 @@ attr.set(asset.Tag.ACCESSIBILITY, asset.Accessibility.DEVICE_FIRST_UNLOCKED); attr.set(asset.Tag.DATA_LABEL_NORMAL_1, stringToArray('demo_label')); try { asset.addSync(attr); -} catch (error) { - console.error(`Failed to add Asset.`); +} catch (err) { + console.error(`Failed to add Asset. Code is ${err.code}, message is ${err.message}`); } ``` @@ -177,6 +178,7 @@ remove(query: AssetMap): Promise\ ```typescript import { asset } from '@kit.AssetStoreKit'; import { util } from '@kit.ArkTS'; +import { BusinessError } from '@kit.BasicServicesKit'; function stringToArray(str: string): Uint8Array { let textEncoder = new util.TextEncoder(); @@ -188,11 +190,11 @@ query.set(asset.Tag.ALIAS, stringToArray('demo_alias')); try { asset.remove(query).then(() => { console.info(`Asset removed successfully.`); - }).catch(() => { - console.error(`Failed to remove Asset.`); + }).catch((err: BusinessError) => { + console.error(`Failed to remove Asset. Code is ${err.code}, message is ${err.message}`); }); -} catch (error) { - console.error(`Failed to remove Asset.`); +} catch (err) { + console.error(`Failed to remove Asset. Code is ${err.code}, message is ${err.message}`); } ``` @@ -241,8 +243,8 @@ let query: asset.AssetMap = new Map(); query.set(asset.Tag.ALIAS, stringToArray('demo_alias')); try { asset.removeSync(query); -} catch (error) { - console.error(`Failed to remove Asset.`); +} catch (err) { + console.error(`Failed to remove Asset. Code is ${err.code}, message is ${err.message}`); } ``` @@ -290,6 +292,7 @@ update(query: AssetMap, attributesToUpdate: AssetMap): Promise\ ```typescript import { asset } from '@kit.AssetStoreKit'; import { util } from '@kit.ArkTS'; +import { BusinessError } from '@kit.BasicServicesKit'; function stringToArray(str: string): Uint8Array { let textEncoder = new util.TextEncoder(); @@ -303,11 +306,11 @@ attrsToUpdate.set(asset.Tag.SECRET, stringToArray('demo_pwd_new')); try { asset.update(query, attrsToUpdate).then(() => { console.info(`Asset updated successfully.`); - }).catch(() => { - console.error(`Failed to update Asset.`); + }).catch((err: BusinessError) => { + console.error(`Failed to update Asset. Code is ${err.code}, message is ${err.message}`); }); -} catch (error) { - console.error(`Failed to update Asset.`); +} catch (err) { + console.error(`Failed to update Asset. Code is ${err.code}, message is ${err.message}`); } ``` @@ -361,8 +364,8 @@ let attrsToUpdate: asset.AssetMap = new Map(); attrsToUpdate.set(asset.Tag.SECRET, stringToArray('demo_pwd_new')); try { asset.updateSync(query, attrsToUpdate); -} catch (error) { - console.error(`Failed to update Asset.`); +} catch (err) { + console.error(`Failed to update Asset. Code is ${err.code}, message is ${err.message}`); } ``` @@ -410,6 +413,7 @@ preQuery(query: AssetMap): Promise\ ```typescript import { asset } from '@kit.AssetStoreKit'; import { util } from '@kit.ArkTS'; +import { BusinessError } from '@kit.BasicServicesKit'; function stringToArray(str: string): Uint8Array { let textEncoder = new util.TextEncoder(); @@ -421,11 +425,11 @@ query.set(asset.Tag.ALIAS, stringToArray('demo_alias')); try { asset.preQuery(query).then((challenge: Uint8Array) => { console.info(`Succeeded in pre-querying Asset.`); - }).catch (() => { - console.error(`Failed to pre-query Asset.`); + }).catch ((err: BusinessError) => { + console.error(`Failed to pre-query Asset. Code is ${err.code}, message is ${err.message}`); }); -} catch (error) { - console.error(`Failed to pre-query Asset.`); +} catch (err) { + console.error(`Failed to pre-query Asset. Code is ${err.code}, message is ${err.message}`); } ``` @@ -483,8 +487,8 @@ let query: asset.AssetMap = new Map(); query.set(asset.Tag.ALIAS, stringToArray('demo_alias')); try { let challenge: Uint8Array = asset.preQuerySync(query); -} catch (error) { - console.error(`Failed to pre-query Asset.`); +} catch (err) { + console.error(`Failed to pre-query Asset. Code is ${err.code}, message is ${err.message}`); } ``` @@ -532,6 +536,7 @@ query(query: AssetMap): Promise\> ```typescript import { asset } from '@kit.AssetStoreKit'; import { util } from '@kit.ArkTS'; +import { BusinessError } from '@kit.BasicServicesKit'; function stringToArray(str: string): Uint8Array { let textEncoder = new util.TextEncoder(); @@ -547,11 +552,11 @@ try { let accessibility: number = res[i].get(asset.Tag.ACCESSIBILITY) as number; } console.info(`Asset query succeeded.`); - }).catch (() => { - console.error(`Failed to query Asset.`); + }).catch ((err: BusinessError) => { + console.error(`Failed to query Asset. Code is ${err.code}, message is ${err.message}`); }); -} catch (error) { - console.error(`Failed to query Asset.`); +} catch (err) { + console.error(`Failed to query Asset. Code is ${err.code}, message is ${err.message}`); } ``` @@ -616,8 +621,8 @@ try { accessibility = res[i].get(asset.Tag.ACCESSIBILITY) as number; } } -} catch (error) { - console.error(`Failed to query Asset.`); +} catch (err) { + console.error(`Failed to query Asset. Code is ${err.code}, message is ${err.message}`); } ``` @@ -657,6 +662,7 @@ postQuery(handle: AssetMap): Promise\ ```typescript import { asset } from '@kit.AssetStoreKit'; +import { BusinessError } from '@kit.BasicServicesKit'; let handle: asset.AssetMap = new Map(); // 此处传入的new Uint8Array(32)仅作为示例,实际应传入asset.preQuery执行成功返回的挑战值 @@ -664,11 +670,11 @@ handle.set(asset.Tag.AUTH_CHALLENGE, new Uint8Array(32)); try { asset.postQuery(handle).then(() => { console.info(`Succeeded in post-querying Asset.`); - }).catch (() => { - console.error(`Failed to post-query Asset.`); + }).catch ((err: BusinessError) => { + console.error(`Failed to post-query Asset. Code is ${err.code}, message is ${err.message}`); }); -} catch (error) { - console.error(`Failed to post-query Asset.`); +} catch (err) { + console.error(`Failed to post-query Asset. Code is ${err.code}, message is ${err.message}`); } ``` @@ -708,8 +714,8 @@ let handle: asset.AssetMap = new Map(); handle.set(asset.Tag.AUTH_CHALLENGE, new Uint8Array(32)); try { asset.postQuerySync(handle) -} catch (error) { - console.error(`Failed to post-query Asset.`); +} catch (err) { + console.error(`Failed to post-query Asset. Code is ${err.code}, message is ${err.message}`); } ``` diff --git a/zh-cn/application-dev/security/AssetStoreKit/asset-js-add.md b/zh-cn/application-dev/security/AssetStoreKit/asset-js-add.md index 4a862fdc27..494d1ee7e7 100755 --- a/zh-cn/application-dev/security/AssetStoreKit/asset-js-add.md +++ b/zh-cn/application-dev/security/AssetStoreKit/asset-js-add.md @@ -49,6 +49,7 @@ ```typescript import { asset } from '@kit.AssetStoreKit'; import { util } from '@kit.ArkTS'; +import { BusinessError } from '@kit.BasicServicesKit'; function stringToArray(str: string): Uint8Array { let textEncoder = new util.TextEncoder(); @@ -63,10 +64,10 @@ attr.set(asset.Tag.DATA_LABEL_NORMAL_1, stringToArray('demo_label')); try { asset.add(attr).then(() => { console.info(`Asset added successfully.`); - }).catch(() => { - console.error(`Failed to add Asset.`); + }).catch((err: BusinessError) => { + console.error(`Failed to add Asset. Code is ${err.code}, message is ${err.message}`); }) -} catch (error) { - console.error(`Failed to add Asset.`); +} catch (err) { + console.error(`Failed to add Asset. Code is ${err.code}, message is ${err.message}`); } ``` diff --git a/zh-cn/application-dev/security/AssetStoreKit/asset-js-query-auth.md b/zh-cn/application-dev/security/AssetStoreKit/asset-js-query-auth.md index 72934c0aa4..45cccdab06 100755 --- a/zh-cn/application-dev/security/AssetStoreKit/asset-js-query-auth.md +++ b/zh-cn/application-dev/security/AssetStoreKit/asset-js-query-auth.md @@ -72,6 +72,7 @@ import { asset } from '@kit.AssetStoreKit'; import { util } from '@kit.ArkTS'; import userAuth from '@ohos.userIAM.userAuth'; +import { BusinessError } from '@kit.BasicServicesKit'; function stringToArray(str: string): Uint8Array { let textEncoder = new util.TextEncoder(); @@ -106,8 +107,8 @@ async function userAuthenticate(challenge: Uint8Array): Promise { } }); userAuthInstance.start(); - } catch (error) { - console.error(`User identity authentication failed.`); + } catch (err) { + console.error(`User identity authentication failed. Code is ${err.code}, message is ${err.message}`); reject(); } }) @@ -123,8 +124,8 @@ function preQueryAsset(): Promise { }).catch(() => { reject(); }) - } catch (error) { - console.error(`Failed to pre-query Asset.`); + } catch (err) { + console.error(`Failed to pre-query Asset. Code is ${err.code}, message is ${err.message}`); reject(); } }); @@ -136,8 +137,8 @@ async function postQueryAsset(challenge: Uint8Array) { try { await asset.postQuery(handle); console.info(`Succeeded in post-querying Asset.`); - } catch (error) { - console.error(`Failed to post-query Asset.`); + } catch (err) { + console.error(`Failed to post-query Asset. Code is ${err.code}, message is ${err.message}`); } } @@ -166,8 +167,8 @@ async function queryAsset() { // step5. preQuery成功,后续操作失败,也需要调用asset.postQuery进行查询的后置处理。 postQueryAsset(challenge); } - }).catch (() => { - console.error(`Failed to pre-query Asset.`); + }).catch ((err: BusinessError) => { + console.error(`Failed to pre-query Asset. Code is ${err.code}, message is ${err.message}`); }) } ``` diff --git a/zh-cn/application-dev/security/AssetStoreKit/asset-js-query.md b/zh-cn/application-dev/security/AssetStoreKit/asset-js-query.md index c6536c9637..bcefca14a2 100755 --- a/zh-cn/application-dev/security/AssetStoreKit/asset-js-query.md +++ b/zh-cn/application-dev/security/AssetStoreKit/asset-js-query.md @@ -44,6 +44,7 @@ ```typescript import { asset } from '@kit.AssetStoreKit'; import { util } from '@kit.ArkTS'; +import { BusinessError } from '@kit.BasicServicesKit'; function stringToArray(str: string): Uint8Array { let textEncoder = new util.TextEncoder(); @@ -67,11 +68,11 @@ try { // parse uint8array to string let secretStr: string = arrayToString(secret); } - }).catch (() => { - console.error(`Failed to query Asset.`); + }).catch ((err: BusinessError) => { + console.error(`Failed to query Asset. Code is ${err.code}, message is ${err.message}`); }); -} catch (error) { - console.error(`Failed to query Asset.`); +} catch (err) { + console.error(`Failed to query Asset. Code is ${err.code}, message is ${err.message}`); } ``` @@ -82,6 +83,7 @@ try { ```typescript import { asset } from '@kit.AssetStoreKit'; import { util } from '@kit.ArkTS'; +import { BusinessError } from '@kit.BasicServicesKit'; function stringToArray(str: string): Uint8Array { let textEncoder = new util.TextEncoder(); @@ -97,11 +99,11 @@ try { // parse the attribute. let accessibility: number = res[i].get(asset.Tag.ACCESSIBILITY) as number; } - }).catch (() => { - console.error(`Failed to query Asset.`); + }).catch ((err: BusinessError) => { + console.error(`Failed to query Asset. Code is ${err.code}, message is ${err.message}`); }); -} catch (error) { - console.error(`Failed to query Asset.`); +} catch (err) { + console.error(`Failed to query Asset. Code is ${err.code}, message is ${err.message}`); } ``` @@ -112,6 +114,7 @@ try { ```typescript import { asset } from '@kit.AssetStoreKit'; import { util } from '@kit.ArkTS'; +import { BusinessError } from '@kit.BasicServicesKit'; function stringToArray(str: string): Uint8Array { let textEncoder = new util.TextEncoder(); @@ -130,10 +133,10 @@ try { // parse the attribute. let accessibility: number = res[i].get(asset.Tag.ACCESSIBILITY) as number; } - }).catch (() => { - console.error(`Failed to query Asset.`); + }).catch ((err: BusinessError) => { + console.error(`Failed to query Asset. Code is ${err.code}, message is ${err.message}`); }); -} catch (error) { - console.error(`Failed to query Asset.`); +} catch (err) { + console.error(`Failed to query Asset. Code is ${err.code}, message is ${err.message}`); } ``` diff --git a/zh-cn/application-dev/security/AssetStoreKit/asset-js-remove.md b/zh-cn/application-dev/security/AssetStoreKit/asset-js-remove.md index a92f55ab35..47f20ddf17 100755 --- a/zh-cn/application-dev/security/AssetStoreKit/asset-js-remove.md +++ b/zh-cn/application-dev/security/AssetStoreKit/asset-js-remove.md @@ -34,6 +34,7 @@ ```typescript import { asset } from '@kit.AssetStoreKit'; import { util } from '@kit.ArkTS'; +import { BusinessError } from '@kit.BasicServicesKit'; function stringToArray(str: string): Uint8Array { let textEncoder = new util.TextEncoder(); @@ -45,10 +46,10 @@ query.set(asset.Tag.ALIAS, stringToArray('demo_alias')); // 此处指定别名 try { asset.remove(query).then(() => { console.info(`Asset removed successfully.`); - }).catch(() => { - console.error(`Failed to remove Asset.`); + }).catch((err: BusinessError) => { + console.error(`Failed to remove Asset. Code is ${err.code}, message is ${err.message}`); }); -} catch (error) { - console.error(`Failed to remove Asset.`); +} catch (err) { + console.error(`Failed to remove Asset. Code is ${err.code}, message is ${err.message}`); } ``` diff --git a/zh-cn/application-dev/security/AssetStoreKit/asset-js-update.md b/zh-cn/application-dev/security/AssetStoreKit/asset-js-update.md index 6493657711..6b4d1fc37d 100755 --- a/zh-cn/application-dev/security/AssetStoreKit/asset-js-update.md +++ b/zh-cn/application-dev/security/AssetStoreKit/asset-js-update.md @@ -46,6 +46,7 @@ ```typescript import { asset } from '@kit.AssetStoreKit'; import { util } from '@kit.ArkTS'; +import { BusinessError } from '@kit.BasicServicesKit'; function stringToArray(str: string): Uint8Array { let textEncoder = new util.TextEncoder(); @@ -60,10 +61,10 @@ attrsToUpdate.set(asset.Tag.DATA_LABEL_NORMAL_1, stringToArray('demo_label_new') try { asset.update(query, attrsToUpdate).then(() => { console.info(`Asset updated successfully.`); - }).catch(() => { - console.error(`Failed to update Asset.`); + }).catch((err: BusinessError) => { + console.error(`Failed to update Asset. Code is ${err.code}, message is ${err.message}`); }); -} catch (error) { - console.error(`Failed to update Asset.`); +} catch (err) { + console.error(`Failed to update Asset. Code is ${err.code}, message is ${err.message}`); } ``` diff --git a/zh-cn/application-dev/security/AssetStoreKit/asset-native-add.md b/zh-cn/application-dev/security/AssetStoreKit/asset-native-add.md index 0c21857abb..49782345cc 100755 --- a/zh-cn/application-dev/security/AssetStoreKit/asset-native-add.md +++ b/zh-cn/application-dev/security/AssetStoreKit/asset-native-add.md @@ -41,6 +41,12 @@ 新增一条密码是demo_pwd,别名是demo_alias,附属信息是demo_label的数据,该数据在用户首次解锁设备后可被访问。 +1. 在CMake脚本中链接相关动态库 +```typescript +target_link_libraries(entry PUBLIC libasset_ndk.z.so) +``` + +2. 在cpp文件添加业务代码 ```c #include diff --git a/zh-cn/application-dev/security/AssetStoreKit/asset-native-query.md b/zh-cn/application-dev/security/AssetStoreKit/asset-native-query.md index aa9cba6e4b..3c8b0979be 100755 --- a/zh-cn/application-dev/security/AssetStoreKit/asset-native-query.md +++ b/zh-cn/application-dev/security/AssetStoreKit/asset-native-query.md @@ -38,6 +38,12 @@ 查询别名是demo_alias的关键资产明文。 +1. 在CMake脚本中链接相关动态库 +```typescript +target_link_libraries(entry PUBLIC libasset_ndk.z.so) +``` + +2. 在cpp文件添加业务代码 ```c #include @@ -68,6 +74,12 @@ void QueryAsset() { 查询别名是demo_alias的关键资产属性。 +1. 在CMake脚本中链接相关动态库 +```typescript +target_link_libraries(entry PUBLIC libasset_ndk.z.so) +``` + +2. 在cpp文件添加业务代码 ```c #include @@ -98,6 +110,12 @@ void QueryAttributes() { 批量查询附属信息是demo_label的关键资产属性,从第5条满足条件的结果开始返回,一共返回10条,且返回结果以DATA_LABEL_NORMAL_1属性内容排序。 +1. 在CMake脚本中链接相关动态库 +```typescript +target_link_libraries(entry PUBLIC libasset_ndk.z.so) +``` + +2. 在cpp文件添加业务代码 ```c #include diff --git a/zh-cn/application-dev/security/AssetStoreKit/asset-native-remove.md b/zh-cn/application-dev/security/AssetStoreKit/asset-native-remove.md index 32ae47a5e3..6dfd4f9a92 100755 --- a/zh-cn/application-dev/security/AssetStoreKit/asset-native-remove.md +++ b/zh-cn/application-dev/security/AssetStoreKit/asset-native-remove.md @@ -27,6 +27,12 @@ 删除别名是demo_alias的关键资产。 +1. 在CMake脚本中链接相关动态库 +```typescript +target_link_libraries(entry PUBLIC libasset_ndk.z.so) +``` + +2. 在cpp文件添加业务代码 ```c #include diff --git a/zh-cn/application-dev/security/AssetStoreKit/asset-native-update.md b/zh-cn/application-dev/security/AssetStoreKit/asset-native-update.md index fcef9d4c34..3bc3ab2104 100755 --- a/zh-cn/application-dev/security/AssetStoreKit/asset-native-update.md +++ b/zh-cn/application-dev/security/AssetStoreKit/asset-native-update.md @@ -41,6 +41,12 @@ 更新别名是demo_alias的关键资产,将关键资产明文更新为demo_pwd_new,附属信息更新成demo_label_new。 +1. 在CMake脚本中链接相关动态库 +```typescript +target_link_libraries(entry PUBLIC libasset_ndk.z.so) +``` + +2. 在cpp文件添加业务代码 ```c #include -- Gitee From 3b78df2a36e38397df3563c3ff36aa916cb27e14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=B9=E8=80=80=E5=BE=B7?= Date: Thu, 28 Mar 2024 14:43:57 +0800 Subject: [PATCH 2/3] modify asset change sample code2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 尹耀德 --- .../apis-asset-store-kit/js-apis-asset.md | 42 +++++++++++++------ .../security/AssetStoreKit/asset-js-add.md | 3 +- .../AssetStoreKit/asset-js-query-auth.md | 9 ++-- .../security/AssetStoreKit/asset-js-query.md | 9 ++-- .../security/AssetStoreKit/asset-js-remove.md | 3 +- .../security/AssetStoreKit/asset-js-update.md | 3 +- .../AssetStoreKit/asset-native-add.md | 4 +- .../AssetStoreKit/asset-native-query.md | 12 +++--- .../AssetStoreKit/asset-native-remove.md | 4 +- .../AssetStoreKit/asset-native-update.md | 4 +- 10 files changed, 60 insertions(+), 33 deletions(-) diff --git a/zh-cn/application-dev/reference/apis-asset-store-kit/js-apis-asset.md b/zh-cn/application-dev/reference/apis-asset-store-kit/js-apis-asset.md index 19ab8ded8f..a3fbcfefa5 100755 --- a/zh-cn/application-dev/reference/apis-asset-store-kit/js-apis-asset.md +++ b/zh-cn/application-dev/reference/apis-asset-store-kit/js-apis-asset.md @@ -75,7 +75,8 @@ try { }).catch((err: BusinessError) => { console.error(`Failed to add Asset. Code is ${err.code}, message is ${err.message}`); }) -} catch (err) { +} catch (error) { + let err = error as BusinessError; console.error(`Failed to add Asset. Code is ${err.code}, message is ${err.message}`); } ``` @@ -119,6 +120,7 @@ addSync(attributes: AssetMap): void ```typescript import { asset } from '@kit.AssetStoreKit'; import { util } from '@kit.ArkTS'; +import { BusinessError } from '@kit.BasicServicesKit'; function stringToArray(str: string): Uint8Array { let textEncoder = new util.TextEncoder(); @@ -132,7 +134,8 @@ attr.set(asset.Tag.ACCESSIBILITY, asset.Accessibility.DEVICE_FIRST_UNLOCKED); attr.set(asset.Tag.DATA_LABEL_NORMAL_1, stringToArray('demo_label')); try { asset.addSync(attr); -} catch (err) { +} catch (error) { + let err = error as BusinessError; console.error(`Failed to add Asset. Code is ${err.code}, message is ${err.message}`); } ``` @@ -193,7 +196,8 @@ try { }).catch((err: BusinessError) => { console.error(`Failed to remove Asset. Code is ${err.code}, message is ${err.message}`); }); -} catch (err) { +} catch (error) { + let err = error as BusinessError; console.error(`Failed to remove Asset. Code is ${err.code}, message is ${err.message}`); } ``` @@ -233,6 +237,7 @@ removeSync(query: AssetMap): void ```typescript import { asset } from '@kit.AssetStoreKit'; import { util } from '@kit.ArkTS'; +import { BusinessError } from '@kit.BasicServicesKit'; function stringToArray(str: string): Uint8Array { let textEncoder = new util.TextEncoder(); @@ -243,7 +248,8 @@ let query: asset.AssetMap = new Map(); query.set(asset.Tag.ALIAS, stringToArray('demo_alias')); try { asset.removeSync(query); -} catch (err) { +} catch (error) { + let err = error as BusinessError; console.error(`Failed to remove Asset. Code is ${err.code}, message is ${err.message}`); } ``` @@ -309,7 +315,8 @@ try { }).catch((err: BusinessError) => { console.error(`Failed to update Asset. Code is ${err.code}, message is ${err.message}`); }); -} catch (err) { +} catch (error) { + let err = error as BusinessError; console.error(`Failed to update Asset. Code is ${err.code}, message is ${err.message}`); } ``` @@ -352,6 +359,7 @@ updateSync(query: AssetMap, attributesToUpdate: AssetMap): void ```typescript import { asset } from '@kit.AssetStoreKit'; import { util } from '@kit.ArkTS'; +import { BusinessError } from '@kit.BasicServicesKit'; function stringToArray(str: string): Uint8Array { let textEncoder = new util.TextEncoder(); @@ -364,7 +372,8 @@ let attrsToUpdate: asset.AssetMap = new Map(); attrsToUpdate.set(asset.Tag.SECRET, stringToArray('demo_pwd_new')); try { asset.updateSync(query, attrsToUpdate); -} catch (err) { +} catch (error) { + let err = error as BusinessError; console.error(`Failed to update Asset. Code is ${err.code}, message is ${err.message}`); } ``` @@ -428,7 +437,8 @@ try { }).catch ((err: BusinessError) => { console.error(`Failed to pre-query Asset. Code is ${err.code}, message is ${err.message}`); }); -} catch (err) { +} catch (error) { + let err = error as BusinessError; console.error(`Failed to pre-query Asset. Code is ${err.code}, message is ${err.message}`); } ``` @@ -477,6 +487,7 @@ preQuerySync(query: AssetMap): Uint8Array ```typescript import { asset } from '@kit.AssetStoreKit'; import { util } from '@kit.ArkTS'; +import { BusinessError } from '@kit.BasicServicesKit'; function stringToArray(str: string): Uint8Array { let textEncoder = new util.TextEncoder(); @@ -487,7 +498,8 @@ let query: asset.AssetMap = new Map(); query.set(asset.Tag.ALIAS, stringToArray('demo_alias')); try { let challenge: Uint8Array = asset.preQuerySync(query); -} catch (err) { +} catch (error) { + let err = error as BusinessError; console.error(`Failed to pre-query Asset. Code is ${err.code}, message is ${err.message}`); } ``` @@ -555,7 +567,8 @@ try { }).catch ((err: BusinessError) => { console.error(`Failed to query Asset. Code is ${err.code}, message is ${err.message}`); }); -} catch (err) { +} catch (error) { + let err = error as BusinessError; console.error(`Failed to query Asset. Code is ${err.code}, message is ${err.message}`); } ``` @@ -604,6 +617,7 @@ querySync(query: AssetMap): Array\ ```typescript import { asset } from '@kit.AssetStoreKit'; import { util } from '@kit.ArkTS'; +import { BusinessError } from '@kit.BasicServicesKit'; function stringToArray(str: string): Uint8Array { let textEncoder = new util.TextEncoder(); @@ -621,7 +635,8 @@ try { accessibility = res[i].get(asset.Tag.ACCESSIBILITY) as number; } } -} catch (err) { +} catch (error) { + let err = error as BusinessError; console.error(`Failed to query Asset. Code is ${err.code}, message is ${err.message}`); } ``` @@ -673,7 +688,8 @@ try { }).catch ((err: BusinessError) => { console.error(`Failed to post-query Asset. Code is ${err.code}, message is ${err.message}`); }); -} catch (err) { +} catch (error) { + let err = error as BusinessError; console.error(`Failed to post-query Asset. Code is ${err.code}, message is ${err.message}`); } ``` @@ -708,13 +724,15 @@ postQuerySync(handle: AssetMap): void ```typescript import { asset } from '@kit.AssetStoreKit'; +import { BusinessError } from '@kit.BasicServicesKit'; let handle: asset.AssetMap = new Map(); // 此处传入的new Uint8Array(32)仅作为示例,实际应传入asset.preQuerySync执行成功返回的挑战值 handle.set(asset.Tag.AUTH_CHALLENGE, new Uint8Array(32)); try { asset.postQuerySync(handle) -} catch (err) { +} catch (error) { + let err = error as BusinessError; console.error(`Failed to post-query Asset. Code is ${err.code}, message is ${err.message}`); } ``` diff --git a/zh-cn/application-dev/security/AssetStoreKit/asset-js-add.md b/zh-cn/application-dev/security/AssetStoreKit/asset-js-add.md index 494d1ee7e7..c1d652e164 100755 --- a/zh-cn/application-dev/security/AssetStoreKit/asset-js-add.md +++ b/zh-cn/application-dev/security/AssetStoreKit/asset-js-add.md @@ -67,7 +67,8 @@ try { }).catch((err: BusinessError) => { console.error(`Failed to add Asset. Code is ${err.code}, message is ${err.message}`); }) -} catch (err) { +} catch (error) { + let err = error as BusinessError; console.error(`Failed to add Asset. Code is ${err.code}, message is ${err.message}`); } ``` diff --git a/zh-cn/application-dev/security/AssetStoreKit/asset-js-query-auth.md b/zh-cn/application-dev/security/AssetStoreKit/asset-js-query-auth.md index 45cccdab06..52bf779b1f 100755 --- a/zh-cn/application-dev/security/AssetStoreKit/asset-js-query-auth.md +++ b/zh-cn/application-dev/security/AssetStoreKit/asset-js-query-auth.md @@ -107,7 +107,8 @@ async function userAuthenticate(challenge: Uint8Array): Promise { } }); userAuthInstance.start(); - } catch (err) { + } catch (error) { + let err = error as BusinessError; console.error(`User identity authentication failed. Code is ${err.code}, message is ${err.message}`); reject(); } @@ -124,7 +125,8 @@ function preQueryAsset(): Promise { }).catch(() => { reject(); }) - } catch (err) { + } catch (error) { + let err = error as BusinessError; console.error(`Failed to pre-query Asset. Code is ${err.code}, message is ${err.message}`); reject(); } @@ -137,7 +139,8 @@ async function postQueryAsset(challenge: Uint8Array) { try { await asset.postQuery(handle); console.info(`Succeeded in post-querying Asset.`); - } catch (err) { + } catch (error) { + let err = error as BusinessError; console.error(`Failed to post-query Asset. Code is ${err.code}, message is ${err.message}`); } } diff --git a/zh-cn/application-dev/security/AssetStoreKit/asset-js-query.md b/zh-cn/application-dev/security/AssetStoreKit/asset-js-query.md index bcefca14a2..278fb0b11e 100755 --- a/zh-cn/application-dev/security/AssetStoreKit/asset-js-query.md +++ b/zh-cn/application-dev/security/AssetStoreKit/asset-js-query.md @@ -71,7 +71,8 @@ try { }).catch ((err: BusinessError) => { console.error(`Failed to query Asset. Code is ${err.code}, message is ${err.message}`); }); -} catch (err) { +} catch (error) { + let err = error as BusinessError; console.error(`Failed to query Asset. Code is ${err.code}, message is ${err.message}`); } ``` @@ -102,7 +103,8 @@ try { }).catch ((err: BusinessError) => { console.error(`Failed to query Asset. Code is ${err.code}, message is ${err.message}`); }); -} catch (err) { +} catch (error) { + let err = error as BusinessError; console.error(`Failed to query Asset. Code is ${err.code}, message is ${err.message}`); } ``` @@ -136,7 +138,8 @@ try { }).catch ((err: BusinessError) => { console.error(`Failed to query Asset. Code is ${err.code}, message is ${err.message}`); }); -} catch (err) { +} catch (error) { + let err = error as BusinessError; console.error(`Failed to query Asset. Code is ${err.code}, message is ${err.message}`); } ``` diff --git a/zh-cn/application-dev/security/AssetStoreKit/asset-js-remove.md b/zh-cn/application-dev/security/AssetStoreKit/asset-js-remove.md index 47f20ddf17..345e43fc50 100755 --- a/zh-cn/application-dev/security/AssetStoreKit/asset-js-remove.md +++ b/zh-cn/application-dev/security/AssetStoreKit/asset-js-remove.md @@ -49,7 +49,8 @@ try { }).catch((err: BusinessError) => { console.error(`Failed to remove Asset. Code is ${err.code}, message is ${err.message}`); }); -} catch (err) { +} catch (error) { + let err = error as BusinessError; console.error(`Failed to remove Asset. Code is ${err.code}, message is ${err.message}`); } ``` diff --git a/zh-cn/application-dev/security/AssetStoreKit/asset-js-update.md b/zh-cn/application-dev/security/AssetStoreKit/asset-js-update.md index 6b4d1fc37d..7a2e30c408 100755 --- a/zh-cn/application-dev/security/AssetStoreKit/asset-js-update.md +++ b/zh-cn/application-dev/security/AssetStoreKit/asset-js-update.md @@ -64,7 +64,8 @@ try { }).catch((err: BusinessError) => { console.error(`Failed to update Asset. Code is ${err.code}, message is ${err.message}`); }); -} catch (err) { +} catch (error) { + let err = error as BusinessError; console.error(`Failed to update Asset. Code is ${err.code}, message is ${err.message}`); } ``` diff --git a/zh-cn/application-dev/security/AssetStoreKit/asset-native-add.md b/zh-cn/application-dev/security/AssetStoreKit/asset-native-add.md index 49782345cc..dc7f465ec7 100755 --- a/zh-cn/application-dev/security/AssetStoreKit/asset-native-add.md +++ b/zh-cn/application-dev/security/AssetStoreKit/asset-native-add.md @@ -42,11 +42,11 @@ 新增一条密码是demo_pwd,别名是demo_alias,附属信息是demo_label的数据,该数据在用户首次解锁设备后可被访问。 1. 在CMake脚本中链接相关动态库 -```typescript +```txt target_link_libraries(entry PUBLIC libasset_ndk.z.so) ``` -2. 在cpp文件添加业务代码 +2. 参考如下示例代码,进行业务功能开发 ```c #include diff --git a/zh-cn/application-dev/security/AssetStoreKit/asset-native-query.md b/zh-cn/application-dev/security/AssetStoreKit/asset-native-query.md index 3c8b0979be..9d79850783 100755 --- a/zh-cn/application-dev/security/AssetStoreKit/asset-native-query.md +++ b/zh-cn/application-dev/security/AssetStoreKit/asset-native-query.md @@ -39,11 +39,11 @@ 查询别名是demo_alias的关键资产明文。 1. 在CMake脚本中链接相关动态库 -```typescript +```txt target_link_libraries(entry PUBLIC libasset_ndk.z.so) ``` -2. 在cpp文件添加业务代码 +2. 参考如下示例代码,进行业务功能开发 ```c #include @@ -75,11 +75,11 @@ void QueryAsset() { 查询别名是demo_alias的关键资产属性。 1. 在CMake脚本中链接相关动态库 -```typescript +```txt target_link_libraries(entry PUBLIC libasset_ndk.z.so) ``` -2. 在cpp文件添加业务代码 +2. 参考如下示例代码,进行业务功能开发 ```c #include @@ -111,11 +111,11 @@ void QueryAttributes() { 批量查询附属信息是demo_label的关键资产属性,从第5条满足条件的结果开始返回,一共返回10条,且返回结果以DATA_LABEL_NORMAL_1属性内容排序。 1. 在CMake脚本中链接相关动态库 -```typescript +```txt target_link_libraries(entry PUBLIC libasset_ndk.z.so) ``` -2. 在cpp文件添加业务代码 +2. 参考如下示例代码,进行业务功能开发 ```c #include diff --git a/zh-cn/application-dev/security/AssetStoreKit/asset-native-remove.md b/zh-cn/application-dev/security/AssetStoreKit/asset-native-remove.md index 6dfd4f9a92..a34859a93b 100755 --- a/zh-cn/application-dev/security/AssetStoreKit/asset-native-remove.md +++ b/zh-cn/application-dev/security/AssetStoreKit/asset-native-remove.md @@ -28,11 +28,11 @@ 删除别名是demo_alias的关键资产。 1. 在CMake脚本中链接相关动态库 -```typescript +```txt target_link_libraries(entry PUBLIC libasset_ndk.z.so) ``` -2. 在cpp文件添加业务代码 +2. 参考如下示例代码,进行业务功能开发 ```c #include diff --git a/zh-cn/application-dev/security/AssetStoreKit/asset-native-update.md b/zh-cn/application-dev/security/AssetStoreKit/asset-native-update.md index 3bc3ab2104..0443e02bf2 100755 --- a/zh-cn/application-dev/security/AssetStoreKit/asset-native-update.md +++ b/zh-cn/application-dev/security/AssetStoreKit/asset-native-update.md @@ -42,11 +42,11 @@ 更新别名是demo_alias的关键资产,将关键资产明文更新为demo_pwd_new,附属信息更新成demo_label_new。 1. 在CMake脚本中链接相关动态库 -```typescript +```txt target_link_libraries(entry PUBLIC libasset_ndk.z.so) ``` -2. 在cpp文件添加业务代码 +2. 参考如下示例代码,进行业务功能开发 ```c #include -- Gitee From ae72983f4a63e40115ea62a8d2de146485b7e47e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=B9=E8=80=80=E5=BE=B7?= Date: Thu, 28 Mar 2024 16:34:23 +0800 Subject: [PATCH 3/3] modify asset doc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 尹耀德 --- .../AssetStoreKit/asset-native-add.md | 62 +++--- .../AssetStoreKit/asset-native-query.md | 176 +++++++++--------- .../AssetStoreKit/asset-native-remove.md | 48 ++--- .../AssetStoreKit/asset-native-update.md | 62 +++--- 4 files changed, 174 insertions(+), 174 deletions(-) diff --git a/zh-cn/application-dev/security/AssetStoreKit/asset-native-add.md b/zh-cn/application-dev/security/AssetStoreKit/asset-native-add.md index dc7f465ec7..6b47674f35 100755 --- a/zh-cn/application-dev/security/AssetStoreKit/asset-native-add.md +++ b/zh-cn/application-dev/security/AssetStoreKit/asset-native-add.md @@ -42,36 +42,36 @@ 新增一条密码是demo_pwd,别名是demo_alias,附属信息是demo_label的数据,该数据在用户首次解锁设备后可被访问。 1. 在CMake脚本中链接相关动态库 -```txt -target_link_libraries(entry PUBLIC libasset_ndk.z.so) -``` + ```txt + target_link_libraries(entry PUBLIC libasset_ndk.z.so) + ``` 2. 参考如下示例代码,进行业务功能开发 -```c -#include - -#include "asset/asset_api.h" - -void AddAsset() { - static const char *SECRET = "demo_pwd"; - static const char *ALIAS = "demo_alias"; - static const char *LABEL = "demo_label"; - - Asset_Blob secret = { (uint32_t)(strlen(SECRET)), (uint8_t *)SECRET }; - Asset_Blob alias = { (uint32_t)(strlen(ALIAS)), (uint8_t *)ALIAS }; - Asset_Blob label = { (uint32_t)(strlen(LABEL)), (uint8_t *)LABEL }; - Asset_Attr attr[] = { - { .tag = ASSET_TAG_ACCESSIBILITY, .value.u32 = ASSET_ACCESSIBILITY_DEVICE_FIRST_UNLOCKED }, - { .tag = ASSET_TAG_SECRET, .value.blob = secret }, - { .tag = ASSET_TAG_ALIAS, .value.blob = alias }, - { .tag = ASSET_TAG_DATA_LABEL_NORMAL_1, .value.blob = label }, - }; - - int32_t ret = OH_Asset_Add(attr, sizeof(attr) / sizeof(attr[0])); - if (ret == ASSET_SUCCESS) { - // Asset added successfully. - } else { - // Failed to add Asset. - } -} -``` + ```c + #include + + #include "asset/asset_api.h" + + void AddAsset() { + static const char *SECRET = "demo_pwd"; + static const char *ALIAS = "demo_alias"; + static const char *LABEL = "demo_label"; + + Asset_Blob secret = { (uint32_t)(strlen(SECRET)), (uint8_t *)SECRET }; + Asset_Blob alias = { (uint32_t)(strlen(ALIAS)), (uint8_t *)ALIAS }; + Asset_Blob label = { (uint32_t)(strlen(LABEL)), (uint8_t *)LABEL }; + Asset_Attr attr[] = { + { .tag = ASSET_TAG_ACCESSIBILITY, .value.u32 = ASSET_ACCESSIBILITY_DEVICE_FIRST_UNLOCKED }, + { .tag = ASSET_TAG_SECRET, .value.blob = secret }, + { .tag = ASSET_TAG_ALIAS, .value.blob = alias }, + { .tag = ASSET_TAG_DATA_LABEL_NORMAL_1, .value.blob = label }, + }; + + int32_t ret = OH_Asset_Add(attr, sizeof(attr) / sizeof(attr[0])); + if (ret == ASSET_SUCCESS) { + // Asset added successfully. + } else { + // Failed to add Asset. + } + } + ``` diff --git a/zh-cn/application-dev/security/AssetStoreKit/asset-native-query.md b/zh-cn/application-dev/security/AssetStoreKit/asset-native-query.md index 9d79850783..1470767689 100755 --- a/zh-cn/application-dev/security/AssetStoreKit/asset-native-query.md +++ b/zh-cn/application-dev/security/AssetStoreKit/asset-native-query.md @@ -39,109 +39,109 @@ 查询别名是demo_alias的关键资产明文。 1. 在CMake脚本中链接相关动态库 -```txt -target_link_libraries(entry PUBLIC libasset_ndk.z.so) -``` + ```txt + target_link_libraries(entry PUBLIC libasset_ndk.z.so) + ``` 2. 参考如下示例代码,进行业务功能开发 -```c -#include - -#include "asset/asset_api.h" - -void QueryAsset() { - static const char *ALIAS = "demo_alias"; - Asset_Blob alias = { (uint32_t)(strlen(ALIAS)), (uint8_t *)ALIAS }; - Asset_Attr attr[] = { - { .tag = ASSET_TAG_ALIAS, .value.blob = alias }, // 指定了关键资产别名,最多查询到一条满足条件的关键资产 - { .tag = ASSET_TAG_RETURN_TYPE, .value.u32 = ASSET_RETURN_ALL }, // 此处表示需要返回关键资产的所有信息,即属性+明文 - }; - - Asset_ResultSet resultSet = {0}; - int32_t ret = OH_Asset_Query(attr, sizeof(attr) / sizeof(attr[0]), &resultSet); - if (ret == ASSET_SUCCESS) { - // Parse the resultSet. - for (uint32_t i = 0; i < resultSet.count; i++) { - // Parse the secret: the data is secret->blob.data, the size is secret->blob.size. - Asset_Attr *secret = OH_Asset_ParseAttr(resultSet.results + i, ASSET_TAG_SECRET); - } - } - OH_Asset_FreeResultSet(&resultSet); -} -``` + ```c + #include + + #include "asset/asset_api.h" + + void QueryAsset() { + static const char *ALIAS = "demo_alias"; + Asset_Blob alias = { (uint32_t)(strlen(ALIAS)), (uint8_t *)ALIAS }; + Asset_Attr attr[] = { + { .tag = ASSET_TAG_ALIAS, .value.blob = alias }, // 指定了关键资产别名,最多查询到一条满足条件的关键资产 + { .tag = ASSET_TAG_RETURN_TYPE, .value.u32 = ASSET_RETURN_ALL }, // 此处表示需要返回关键资产的所有信息,即属性+明文 + }; + + Asset_ResultSet resultSet = {0}; + int32_t ret = OH_Asset_Query(attr, sizeof(attr) / sizeof(attr[0]), &resultSet); + if (ret == ASSET_SUCCESS) { + // Parse the resultSet. + for (uint32_t i = 0; i < resultSet.count; i++) { + // Parse the secret: the data is secret->blob.data, the size is secret->blob.size. + Asset_Attr *secret = OH_Asset_ParseAttr(resultSet.results + i, ASSET_TAG_SECRET); + } + } + OH_Asset_FreeResultSet(&resultSet); + } + ``` ### 查询单条关键资产属性 查询别名是demo_alias的关键资产属性。 1. 在CMake脚本中链接相关动态库 -```txt -target_link_libraries(entry PUBLIC libasset_ndk.z.so) -``` + ```txt + target_link_libraries(entry PUBLIC libasset_ndk.z.so) + ``` 2. 参考如下示例代码,进行业务功能开发 -```c -#include - -#include "asset/asset_api.h" - -void QueryAttributes() { - static const char *ALIAS = "demo_alias"; - Asset_Blob alias = { (uint32_t)(strlen(ALIAS)), (uint8_t *)ALIAS }; - Asset_Attr attr[] = { - { .tag = ASSET_TAG_ALIAS, .value.blob = alias }, // 指定了关键资产别名,最多查询到一条满足条件的关键资产 - { .tag = ASSET_TAG_RETURN_TYPE, .value.u32 = ASSET_RETURN_ATTRIBUTES }, // 此处表示仅返回关键资产属性,不包含关键资产明文 - }; - - Asset_ResultSet resultSet = {0}; - int32_t ret = OH_Asset_Query(attr, sizeof(attr) / sizeof(attr[0]), &resultSet); - if (ret == ASSET_SUCCESS) { - // Parse the result. - for (uint32_t i = 0; i < resultSet.count; i++) { - // Parse the data label: the data is label->blob.data, the size is label->blob.size. - Asset_Attr *label = OH_Asset_ParseAttr(resultSet.results + i, ASSET_TAG_DATA_LABEL_NORMAL_1); - } - } - OH_Asset_FreeResultSet(&resultSet); -} -``` + ```c + #include + + #include "asset/asset_api.h" + + void QueryAttributes() { + static const char *ALIAS = "demo_alias"; + Asset_Blob alias = { (uint32_t)(strlen(ALIAS)), (uint8_t *)ALIAS }; + Asset_Attr attr[] = { + { .tag = ASSET_TAG_ALIAS, .value.blob = alias }, // 指定了关键资产别名,最多查询到一条满足条件的关键资产 + { .tag = ASSET_TAG_RETURN_TYPE, .value.u32 = ASSET_RETURN_ATTRIBUTES }, // 此处表示仅返回关键资产属性,不包含关键资产明文 + }; + + Asset_ResultSet resultSet = {0}; + int32_t ret = OH_Asset_Query(attr, sizeof(attr) / sizeof(attr[0]), &resultSet); + if (ret == ASSET_SUCCESS) { + // Parse the result. + for (uint32_t i = 0; i < resultSet.count; i++) { + // Parse the data label: the data is label->blob.data, the size is label->blob.size. + Asset_Attr *label = OH_Asset_ParseAttr(resultSet.results + i, ASSET_TAG_DATA_LABEL_NORMAL_1); + } + } + OH_Asset_FreeResultSet(&resultSet); + } + ``` ### 批量查询关键资产属性 批量查询附属信息是demo_label的关键资产属性,从第5条满足条件的结果开始返回,一共返回10条,且返回结果以DATA_LABEL_NORMAL_1属性内容排序。 1. 在CMake脚本中链接相关动态库 -```txt -target_link_libraries(entry PUBLIC libasset_ndk.z.so) -``` + ```txt + target_link_libraries(entry PUBLIC libasset_ndk.z.so) + ``` 2. 参考如下示例代码,进行业务功能开发 -```c -#include - -#include "asset/asset_api.h" - -void BatchQuery() { - static const char *LABEL = "demo_label"; - Asset_Blob label = { (uint32_t)(strlen(LABEL)), (uint8_t *)LABEL }; - - Asset_Attr attr[] = { - { .tag = ASSET_TAG_RETURN_TYPE, .value.u32 = ASSET_RETURN_ATTRIBUTES }, - { .tag = ASSET_TAG_DATA_LABEL_NORMAL_1, .value.blob = label }, - { .tag = ASSET_TAG_RETURN_OFFSET, .value.u32 = 5 }, - { .tag = ASSET_TAG_RETURN_LIMIT, .value.u32 = 10 }, - { .tag = ASSET_TAG_RETURN_ORDERED_BY, .value.u32 = ASSET_TAG_DATA_LABEL_NORMAL_1 }, - }; - - Asset_ResultSet resultSet = { 0 }; - int32_t ret = OH_Asset_Query(attr, sizeof(attr) / sizeof(attr[0]), &resultSet); - if (ret == ASSET_SUCCESS) { - // Parse the result. - for (uint32_t i = 0; i < resultSet.count; i++) { - // Parse the data alias: the data is alias->blob.data, the size is alias->blob.size.. - Asset_Attr *alias = OH_Asset_ParseAttr(resultSet.results + i, ASSET_TAG_ALIAS); - } - } - OH_Asset_FreeResultSet(&resultSet); -} -``` + ```c + #include + + #include "asset/asset_api.h" + + void BatchQuery() { + static const char *LABEL = "demo_label"; + Asset_Blob label = { (uint32_t)(strlen(LABEL)), (uint8_t *)LABEL }; + + Asset_Attr attr[] = { + { .tag = ASSET_TAG_RETURN_TYPE, .value.u32 = ASSET_RETURN_ATTRIBUTES }, + { .tag = ASSET_TAG_DATA_LABEL_NORMAL_1, .value.blob = label }, + { .tag = ASSET_TAG_RETURN_OFFSET, .value.u32 = 5 }, + { .tag = ASSET_TAG_RETURN_LIMIT, .value.u32 = 10 }, + { .tag = ASSET_TAG_RETURN_ORDERED_BY, .value.u32 = ASSET_TAG_DATA_LABEL_NORMAL_1 }, + }; + + Asset_ResultSet resultSet = { 0 }; + int32_t ret = OH_Asset_Query(attr, sizeof(attr) / sizeof(attr[0]), &resultSet); + if (ret == ASSET_SUCCESS) { + // Parse the result. + for (uint32_t i = 0; i < resultSet.count; i++) { + // Parse the data alias: the data is alias->blob.data, the size is alias->blob.size.. + Asset_Attr *alias = OH_Asset_ParseAttr(resultSet.results + i, ASSET_TAG_ALIAS); + } + } + OH_Asset_FreeResultSet(&resultSet); + } + ``` diff --git a/zh-cn/application-dev/security/AssetStoreKit/asset-native-remove.md b/zh-cn/application-dev/security/AssetStoreKit/asset-native-remove.md index a34859a93b..057c4ba89f 100755 --- a/zh-cn/application-dev/security/AssetStoreKit/asset-native-remove.md +++ b/zh-cn/application-dev/security/AssetStoreKit/asset-native-remove.md @@ -28,29 +28,29 @@ 删除别名是demo_alias的关键资产。 1. 在CMake脚本中链接相关动态库 -```txt -target_link_libraries(entry PUBLIC libasset_ndk.z.so) -``` + ```txt + target_link_libraries(entry PUBLIC libasset_ndk.z.so) + ``` 2. 参考如下示例代码,进行业务功能开发 -```c -#include - -#include "asset/asset_api.h" - -void RemoveAsset() { - static const char *ALIAS = "demo_alias"; - Asset_Blob alias = { (uint32_t)(strlen(ALIAS)), (uint8_t *)ALIAS }; - - Asset_Attr attr[] = { - { .tag = ASSET_TAG_ALIAS, .value.blob = alias }, // 此处指定别名删除,也可不指定别名删除多条数据 - }; - - int32_t ret = OH_Asset_Remove(attr, sizeof(attr) / sizeof(attr[0])); - if (ret == ASSET_SUCCESS) { - // Asset removed successfully. - } else { - // Failed to remove Asset. - } -} -``` + ```c + #include + + #include "asset/asset_api.h" + + void RemoveAsset() { + static const char *ALIAS = "demo_alias"; + Asset_Blob alias = { (uint32_t)(strlen(ALIAS)), (uint8_t *)ALIAS }; + + Asset_Attr attr[] = { + { .tag = ASSET_TAG_ALIAS, .value.blob = alias }, // 此处指定别名删除,也可不指定别名删除多条数据 + }; + + int32_t ret = OH_Asset_Remove(attr, sizeof(attr) / sizeof(attr[0])); + if (ret == ASSET_SUCCESS) { + // Asset removed successfully. + } else { + // Failed to remove Asset. + } + } + ``` diff --git a/zh-cn/application-dev/security/AssetStoreKit/asset-native-update.md b/zh-cn/application-dev/security/AssetStoreKit/asset-native-update.md index 0443e02bf2..ce34dac4cd 100755 --- a/zh-cn/application-dev/security/AssetStoreKit/asset-native-update.md +++ b/zh-cn/application-dev/security/AssetStoreKit/asset-native-update.md @@ -42,36 +42,36 @@ 更新别名是demo_alias的关键资产,将关键资产明文更新为demo_pwd_new,附属信息更新成demo_label_new。 1. 在CMake脚本中链接相关动态库 -```txt -target_link_libraries(entry PUBLIC libasset_ndk.z.so) -``` + ```txt + target_link_libraries(entry PUBLIC libasset_ndk.z.so) + ``` 2. 参考如下示例代码,进行业务功能开发 -```c -#include - -#include "asset/asset_api.h" - -void UpdateAsset() { - static const char *ALIAS = "demo_alias"; - static const char *SECRET = "demo_pwd_new"; - static const char *LABEL = "demo_label_new"; - - Asset_Blob alias = { (uint32_t)(strlen(ALIAS)), (uint8_t *)ALIAS }; - Asset_Blob new_secret = { (uint32_t)(strlen(SECRET)), (uint8_t *)SECRET }; - Asset_Blob new_label = { (uint32_t)(strlen(LABEL)), (uint8_t *)LABEL }; - Asset_Attr query[] = { { .tag = ASSET_TAG_ALIAS, .value.blob = alias } }; - Asset_Attr attributesToUpdate[] = { - { .tag = ASSET_TAG_SECRET, .value.blob = new_secret }, - { .tag = ASSET_TAG_DATA_LABEL_NORMAL_1, .value.blob = new_label }, - }; - - int32_t ret = OH_Asset_Update(query, sizeof(query) / sizeof(query[0]), attributesToUpdate, - sizeof(attributesToUpdate) / sizeof(attributesToUpdate[0])); - if (ret == ASSET_SUCCESS) { - // Asset updated successfully. - } else { - // Failed to update Asset. - } -} -``` + ```c + #include + + #include "asset/asset_api.h" + + void UpdateAsset() { + static const char *ALIAS = "demo_alias"; + static const char *SECRET = "demo_pwd_new"; + static const char *LABEL = "demo_label_new"; + + Asset_Blob alias = { (uint32_t)(strlen(ALIAS)), (uint8_t *)ALIAS }; + Asset_Blob new_secret = { (uint32_t)(strlen(SECRET)), (uint8_t *)SECRET }; + Asset_Blob new_label = { (uint32_t)(strlen(LABEL)), (uint8_t *)LABEL }; + Asset_Attr query[] = { { .tag = ASSET_TAG_ALIAS, .value.blob = alias } }; + Asset_Attr attributesToUpdate[] = { + { .tag = ASSET_TAG_SECRET, .value.blob = new_secret }, + { .tag = ASSET_TAG_DATA_LABEL_NORMAL_1, .value.blob = new_label }, + }; + + int32_t ret = OH_Asset_Update(query, sizeof(query) / sizeof(query[0]), attributesToUpdate, + sizeof(attributesToUpdate) / sizeof(attributesToUpdate[0])); + if (ret == ASSET_SUCCESS) { + // Asset updated successfully. + } else { + // Failed to update Asset. + } + } + ``` -- Gitee