From 8999395dedec629685c9caa107843de2efc0f3eb Mon Sep 17 00:00:00 2001 From: zt147369 Date: Sat, 1 Apr 2023 08:05:28 +0000 Subject: [PATCH] =?UTF-8?q?string=E5=90=8C=E6=AD=A5=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zt147369 --- .../apis/js-apis-resource-manager.md | 149 ++++++++++++++++++ .../errorcodes/errorcode-resource-manager.md | 46 +++++- 2 files changed, 194 insertions(+), 1 deletion(-) diff --git a/zh-cn/application-dev/reference/apis/js-apis-resource-manager.md b/zh-cn/application-dev/reference/apis/js-apis-resource-manager.md index 6a30bba2bd..0dd9e4b010 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-resource-manager.md +++ b/zh-cn/application-dev/reference/apis/js-apis-resource-manager.md @@ -2057,6 +2057,54 @@ getStringSync(resId: number): string } ``` +### getStringSync10+ + +getStringSync(resId: number, ...args): string + +用户获取指定资源ID对应的字符串,根据args参数判断是否进行格式化,使用同步方式返回相应字符串。 + +**系统能力**:SystemCapability.Global.ResourceManager + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----- | ------ | ---- | ----- | +| resId | number | 是 | 资源ID值 | +| args | ... | 否 | 格式化字符串资源参数
支持参数类型:
-%d、%f、%s、%%
说明:%%转译符,转译%
举例:%%d格式化后为%d字符串| + +**返回值:** + +|前提| 类型 | 说明 | +|----| ------ | ---------------------------- | +|args不传参| string | 资源ID值对应的字符串| +|args传参| string | 资源ID值对应的格式化字符串| + +以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 + +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ----------------------------------------------- | +| 9001001 | If the resId invalid. | +| 9001002 | If the resource not found by resId. | +| 9001006 | If the resource re-ref too much. | +| 9001007 | If the resource obtained by resId formatting error. | + +**示例:** + ```ts + try { + this.context.resourceManager.getStringSync($r('app.string.test').id); + } catch (error) { + console.error(`getStringSync failed, error code: ${error.code}, message: ${error.message}.`) + } + + try { + this.context.resourceManager.getStringSync($r('app.string.test').id, "format string", 10, 98.78); + } catch (error) { + console.error(`getStringSync failed, error code: ${error.code}, message: ${error.message}.`) + } + ``` + ### getStringSync9+ getStringSync(resource: Resource): string @@ -2101,6 +2149,59 @@ getStringSync(resource: Resource): string } ``` +### getStringSync10+ + +getStringSync(resource: Resource, ...args): string + +用户获取指定resource对象对应的字符串,根据args参数判断是否进行格式化,使用同步方式返回相应字符串。 + +**系统能力**:SystemCapability.Global.ResourceManager + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ---------------------- | ---- | ---- | +| resource | [Resource](#resource9) | 是 | 资源信息 | +| args | ... | 否 | 格式化字符串资源参数
支持参数类型:
-%d、%f、%s、%%
说明:%%转译符,转译%
举例:%%d格式化后为%d字符串| + +**返回值:** + +|前提| 类型 | 说明 | +|----| ------ | ---------------------------- | +|args不传参| string | resource对象对应的字符串| +|args传参| string | resource对象对应的格式化字符串| + +以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 + +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ---------------------------------------- | +| 9001001 | If the resId invalid. | +| 9001002 | If the resource not found by resId. | +| 9001006 | If the resource re-ref too much. | +| 9001007 | If the resource obtained by resId formatting error. | + +**示例:** + ```ts + let resource = { + bundleName: "com.example.myapplication", + moduleName: "entry", + id: $r('app.string.test').id + }; + try { + this.context.resourceManager.getStringSync(resource); + } catch (error) { + console.error(`getStringSync failed, error code: ${error.code}, message: ${error.message}.`) + } + + try { + this.context.resourceManager.getStringSync(resource, "format string", 10, 98.78); + } catch (error) { + console.error(`getStringSync failed, error code: ${error.code}, message: ${error.message}.`) + } + ``` + ### getStringByNameSync9+ getStringByNameSync(resName: string): string @@ -2140,6 +2241,54 @@ getStringByNameSync(resName: string): string } ``` +### getStringByNameSync10+ + +getStringByNameSync(resName: string, ...args): string + +用户获取指定资源名称对应的字符串,根据args参数判断是否进行格式化,使用同步方式返回相应字符串。 + +**系统能力**:SystemCapability.Global.ResourceManager + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------- | ------ | ---- | ---- | +| resName | string | 是 | 资源名称 | +| args | ... | 否 | 格式化字符串资源参数
支持参数类型:
-%d、%f、%s、%%
说明:%%转译符,转译%
举例:%%d格式化后为%d字符串| + +**返回值:** + +|前提| 类型 | 说明 | +|----| ------ | ---------------------------- | +|args不传参| string | 资源名称对应的字符串| +|args传参| string | 资源名称对应的格式化字符串| + +以下错误码的详细介绍请参见[资源管理错误码](../errorcodes/errorcode-resource-manager.md)。 + +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ---------------------------------------- | +| 9001003 | If the resName invalid. | +| 9001004 | If the resource not found by resName. | +| 9001006 | If the resource re-ref too much. | +| 9001008 | If the resource obtained by resName formatting error. | + +**示例:** + ```ts + try { + this.context.resourceManager.getStringByNameSync("test"); + } catch (error) { + console.error(`getStringByNameSync failed, error code: ${error.code}, message: ${error.message}.`) + } + + try { + this.context.resourceManager.getStringByNameSync("test", "format string", 10, 98.78); + } catch (error) { + console.error(`getStringSync failed, error code: ${error.code}, message: ${error.message}.`) + } + ``` + ### getBoolean9+ getBoolean(resId: number): boolean diff --git a/zh-cn/application-dev/reference/errorcodes/errorcode-resource-manager.md b/zh-cn/application-dev/reference/errorcodes/errorcode-resource-manager.md index e18d833d80..b77e345cc9 100644 --- a/zh-cn/application-dev/reference/errorcodes/errorcode-resource-manager.md +++ b/zh-cn/application-dev/reference/errorcodes/errorcode-resource-manager.md @@ -114,4 +114,48 @@ the resource re-ref too much. **处理步骤** -查看资源$引用的地方,去除循环引用的情况。 \ No newline at end of file +查看资源$引用的地方,去除循环引用的情况。 + +## 9001007 根据当前id获取的资源格式化失败 + +**错误信息** + +The resource obtained by resId formatting error. + +**错误描述** + +resId获取的字符串资源格式化失败。 + +**可能原因** + +1、参数类型不在支持范围内。 + +2、参数与占位符个数不等。 + +3、参数与占位符类型不匹配。 + +**处理步骤** + +查看args参数类型与占位符的个数、类型是否一致。 + +## 9001008 根据当前名称获取的资源格式化失败 + +**错误信息** + +The resource obtained by resName formatting error. + +**错误描述** + +resName获取的字符串资源格式化失败。 + +**可能原因** + +1、参数类型不在支持范围内。 + +2、参数与占位符个数不等。 + +3、参数与占位符类型不匹配。 + +**处理步骤** + +查看args参数类型与占位符的个数、类型是否一致。 \ No newline at end of file -- GitLab