1e41f4b71Sopenharmony_ci# @ohos.data.uniformDataStruct (标准化数据结构) 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci本模块为统一数据管理框架(Unified Data Management Framework,UDMF)的组成部分,针对多对多跨应用数据共享的不同业务场景提供了部分标准化数据类型[UniformDataType](js-apis-data-uniformTypeDescriptor.md#uniformdatatype)对应的数据结构,方便不同应用间进行数据交互,减少数据类型适配的工作量。 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci> **说明:** 6e41f4b71Sopenharmony_ci> 7e41f4b71Sopenharmony_ci> 本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ci## 导入模块 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ci```js 12e41f4b71Sopenharmony_ciimport { uniformDataStruct } from '@kit.ArkData'; 13e41f4b71Sopenharmony_ci``` 14e41f4b71Sopenharmony_ci 15e41f4b71Sopenharmony_ci## PlainText 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ci纯文本类型数据,用于描述纯文本类型数据。 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedDataManager.UDMF.Core 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci| 名称 | 类型 | 只读 | 可选 | 说明 | 22e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | ---- |-----------------------| 23e41f4b71Sopenharmony_ci| uniformDataType | 'general.plain-text'| 是 | 否 | 统一数据类型标识,标识为纯文本类型数据,固定为“general.plain-text”,数据类型描述信息见[UniformDataType](js-apis-data-uniformTypeDescriptor.md#uniformdatatype)。 | 24e41f4b71Sopenharmony_ci| textContent | string | 否 | 否 | 纯文本内容。 | 25e41f4b71Sopenharmony_ci| abstract | string | 否 | 是 | 纯文本摘要,非必填字段,默认值为空字符串。 | 26e41f4b71Sopenharmony_ci| details | Record<string, string> | 否 | 是 | 是一个字典类型对象,key和value都是string类型,用于描述文本内容详细属性。例如,可生成一个details内容为<br />{<br />"title":"标题",<br />"content":"内容"<br />}<br />的数据对象,用于描述一篇文章的详细属性。非必填字段,默认值为空字典对象。 | 27e41f4b71Sopenharmony_ci 28e41f4b71Sopenharmony_ci**示例:** 29e41f4b71Sopenharmony_ci 30e41f4b71Sopenharmony_ci```ts 31e41f4b71Sopenharmony_cilet plainTextDetails : Record<string, string> = { 32e41f4b71Sopenharmony_ci 'attr1': 'value1', 33e41f4b71Sopenharmony_ci 'attr2': 'value2', 34e41f4b71Sopenharmony_ci} 35e41f4b71Sopenharmony_cilet plainText : uniformDataStruct.PlainText = { 36e41f4b71Sopenharmony_ci uniformDataType: 'general.plain-text', 37e41f4b71Sopenharmony_ci textContent : 'This is plainText textContent example', 38e41f4b71Sopenharmony_ci abstract : 'this is abstract', 39e41f4b71Sopenharmony_ci details : plainTextDetails, 40e41f4b71Sopenharmony_ci} 41e41f4b71Sopenharmony_ciconsole.info('plainText.uniformDataType: ' + plainText.uniformDataType); 42e41f4b71Sopenharmony_ciif(plainText.details != undefined){ 43e41f4b71Sopenharmony_ci let plainTextDetailsObj : Record<string, string> = plainText.details; 44e41f4b71Sopenharmony_ci for(let kv of Object.entries(plainTextDetailsObj)) { 45e41f4b71Sopenharmony_ci console.info('plainText.details.attr: ' + kv[0] + ', value:' + kv[1]); 46e41f4b71Sopenharmony_ci } 47e41f4b71Sopenharmony_ci} 48e41f4b71Sopenharmony_ci``` 49e41f4b71Sopenharmony_ci 50e41f4b71Sopenharmony_ci## Hyperlink 51e41f4b71Sopenharmony_ci 52e41f4b71Sopenharmony_ci超链接类型数据,用于描述超链接类型数据。 53e41f4b71Sopenharmony_ci 54e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedDataManager.UDMF.Core 55e41f4b71Sopenharmony_ci 56e41f4b71Sopenharmony_ci| 名称 | 类型 | 只读 | 可选 | 说明 | 57e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | ---- |--------------| 58e41f4b71Sopenharmony_ci| uniformDataType | 'general.hyperlink'| 是 | 否 | 统一数据类型标识为超链接类型数据,固定为“general.hyperlink”,数据类型描述信息见[UniformDataType](js-apis-data-uniformTypeDescriptor.md#uniformdatatype)。 59e41f4b71Sopenharmony_ci| url | string | 否 | 否 | 链接url。 | 60e41f4b71Sopenharmony_ci| description | string | 否 | 是 | 链接内容描述,非必填字段,默认值为空字符串。 | 61e41f4b71Sopenharmony_ci| details | Record<string, string> | 否 | 是 | 是一个字典类型对象,key和value都是string类型,用于描述Hyperlink的详细属性内容。例如,可生成一个details内容为<br />{<br />"title":"标题",<br />"content":"内容"<br />}<br />的数据对象。非必填字段,默认值为空字典对象。 | 62e41f4b71Sopenharmony_ci 63e41f4b71Sopenharmony_ci**示例:** 64e41f4b71Sopenharmony_ci 65e41f4b71Sopenharmony_ci```ts 66e41f4b71Sopenharmony_cilet hyperlinkDetails : Record<string, string> = { 67e41f4b71Sopenharmony_ci 'attr1': 'value1', 68e41f4b71Sopenharmony_ci 'attr2': 'value2', 69e41f4b71Sopenharmony_ci} 70e41f4b71Sopenharmony_cilet hyperlink : uniformDataStruct.Hyperlink = { 71e41f4b71Sopenharmony_ci uniformDataType:'general.hyperlink', 72e41f4b71Sopenharmony_ci url : 'www.XXX.com', 73e41f4b71Sopenharmony_ci description : 'This is the description of this hyperlink', 74e41f4b71Sopenharmony_ci details : hyperlinkDetails, 75e41f4b71Sopenharmony_ci} 76e41f4b71Sopenharmony_ciconsole.info('hyperlink.uniformDataType: ' + hyperlink.uniformDataType); 77e41f4b71Sopenharmony_ci``` 78e41f4b71Sopenharmony_ci 79e41f4b71Sopenharmony_ci## HTML 80e41f4b71Sopenharmony_ci 81e41f4b71Sopenharmony_ciHTML类型数据,用于描述超文本标记语言数据。 82e41f4b71Sopenharmony_ci 83e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedDataManager.UDMF.Core 84e41f4b71Sopenharmony_ci 85e41f4b71Sopenharmony_ci| 名称 | 类型 | 只读 | 可选 | 说明 | 86e41f4b71Sopenharmony_ci| ------------ | ------ | ---- | ---- |-----------------------| 87e41f4b71Sopenharmony_ci| uniformDataType | 'general.html'| 是 | 否 | 统一数据类型标识为html类型数据,固定为“general.html”,数据类型描述信息见[UniformDataType](js-apis-data-uniformTypeDescriptor.md#uniformdatatype)。 88e41f4b71Sopenharmony_ci| htmlContent | string | 否 | 否 | html格式内容。 | 89e41f4b71Sopenharmony_ci| plainContent | string | 否 | 是 | 去除html标签后的纯文本内容,非必填字段,默认值为空字符串。 | 90e41f4b71Sopenharmony_ci| details | Record<string, string> | 否 | 是 | 是一个字典类型对象,key和value都是string类型,用于描述HTML的详细属性内容。例如,可生成一个details内容为<br />{<br />"title":"标题",<br />"content":"内容"<br />}<br />的数据对象。非必填字段,默认值为空字典对象。 | 91e41f4b71Sopenharmony_ci 92e41f4b71Sopenharmony_ci**示例:** 93e41f4b71Sopenharmony_ci 94e41f4b71Sopenharmony_ci```ts 95e41f4b71Sopenharmony_cilet htmlObjDetails : Record<string, string> = { 96e41f4b71Sopenharmony_ci 'attr1': 'value1', 97e41f4b71Sopenharmony_ci 'attr2': 'value2', 98e41f4b71Sopenharmony_ci} 99e41f4b71Sopenharmony_cilet htmlObj : uniformDataStruct.HTML = { 100e41f4b71Sopenharmony_ci uniformDataType :'general.html', 101e41f4b71Sopenharmony_ci htmlContent : '<div><p>标题</p></div>', 102e41f4b71Sopenharmony_ci plainContent : 'this is plainContent', 103e41f4b71Sopenharmony_ci details : htmlObjDetails, 104e41f4b71Sopenharmony_ci} 105e41f4b71Sopenharmony_ciconsole.info('htmlObj.uniformDataType: ' + htmlObj.uniformDataType); 106e41f4b71Sopenharmony_ci``` 107e41f4b71Sopenharmony_ci 108e41f4b71Sopenharmony_ci## OpenHarmonyAppItem 109e41f4b71Sopenharmony_ci 110e41f4b71Sopenharmony_ci系统定义的桌面图标类型数据。 111e41f4b71Sopenharmony_ci 112e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedDataManager.UDMF.Core 113e41f4b71Sopenharmony_ci 114e41f4b71Sopenharmony_ci| 名称 | 类型 | 只读 | 可选 | 说明 | 115e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | ---- |-----------------| 116e41f4b71Sopenharmony_ci| uniformDataType | 'openharmony.app-item'| 是 | 否 | 统一数据类型标识为桌面图标类型数据,固定为“openharmony.app-item”,数据类型描述信息见[UniformDataType](js-apis-data-uniformTypeDescriptor.md#uniformdatatype)。 117e41f4b71Sopenharmony_ci| appId | string | 否 | 否 | 图标对应的应用id。 | 118e41f4b71Sopenharmony_ci| appName | string | 否 | 否 | 图标对应的应用名。 | 119e41f4b71Sopenharmony_ci| appIconId | string | 否 | 否 | 图标的图片id。 | 120e41f4b71Sopenharmony_ci| appLabelId | string | 否 | 否 | 图标名称对应的标签id。 | 121e41f4b71Sopenharmony_ci| bundleName | string | 否 | 否 | 图标对应的应用bundle名。 | 122e41f4b71Sopenharmony_ci| abilityName | string | 否 | 否 | 图标对应的应用ability名。 | 123e41f4b71Sopenharmony_ci| details | Record<string, number \| string \| Uint8Array> | 否 | 是 | 是一个字典类型对象,key是string类型,value可以写入number(数值类型)、string(字符串类型)、Uint8Array(二进制字节数组)类型数据。非必填字段,默认值为空字典对象。| 124e41f4b71Sopenharmony_ci 125e41f4b71Sopenharmony_ci 126e41f4b71Sopenharmony_ci**示例:** 127e41f4b71Sopenharmony_ci 128e41f4b71Sopenharmony_ci```ts 129e41f4b71Sopenharmony_cilet u8Array = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]); 130e41f4b71Sopenharmony_cilet appItemDetails : Record<string, number | string | Uint8Array> = { 131e41f4b71Sopenharmony_ci 'appItemKey1': 123, 132e41f4b71Sopenharmony_ci 'appItemKey2': 'appItemValue', 133e41f4b71Sopenharmony_ci 'appItemKey3': u8Array, 134e41f4b71Sopenharmony_ci} 135e41f4b71Sopenharmony_cilet appItem : uniformDataStruct.OpenHarmonyAppItem = { 136e41f4b71Sopenharmony_ci uniformDataType:'openharmony.app-item', 137e41f4b71Sopenharmony_ci appId : 'MyAppId', 138e41f4b71Sopenharmony_ci appName : 'MyAppName', 139e41f4b71Sopenharmony_ci appIconId : 'MyAppIconId', 140e41f4b71Sopenharmony_ci appLabelId : 'MyAppLabelId', 141e41f4b71Sopenharmony_ci bundleName : 'MyBundleName', 142e41f4b71Sopenharmony_ci abilityName : 'MyAbilityName', 143e41f4b71Sopenharmony_ci details : appItemDetails, 144e41f4b71Sopenharmony_ci} 145e41f4b71Sopenharmony_ciconsole.info('appItem.uniformDataType: ' + appItem.uniformDataType); 146e41f4b71Sopenharmony_ci``` 147