1e41f4b71Sopenharmony_ci# @ohos.app.form.formAgent (FormAgent)(系统接口) 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ciFormAgent模块提供了卡片代理相关接口的能力,目前仅包括请求发布卡片。 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci> **说明:** 6e41f4b71Sopenharmony_ci> 7e41f4b71Sopenharmony_ci> 本模块首批接口从API version 11开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8e41f4b71Sopenharmony_ci> 本模块接口为系统接口。 9e41f4b71Sopenharmony_ci 10e41f4b71Sopenharmony_ci## 导入模块 11e41f4b71Sopenharmony_ci 12e41f4b71Sopenharmony_ci```ts 13e41f4b71Sopenharmony_ciimport { formAgent } from '@kit.FormKit'; 14e41f4b71Sopenharmony_ci``` 15e41f4b71Sopenharmony_ci 16e41f4b71Sopenharmony_ci## requestPublishForm 17e41f4b71Sopenharmony_ci 18e41f4b71Sopenharmony_cirequestPublishForm(want: Want, callback: AsyncCallback<string>): void 19e41f4b71Sopenharmony_ci 20e41f4b71Sopenharmony_ci请求发布一张卡片到使用方,使用callbck异步回调。使用方通常为桌面。 21e41f4b71Sopenharmony_ci 22e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.AGENT_REQUIRE_FORM 23e41f4b71Sopenharmony_ci 24e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Ability.Form 25e41f4b71Sopenharmony_ci 26e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 27e41f4b71Sopenharmony_ci 28e41f4b71Sopenharmony_ci**参数:** 29e41f4b71Sopenharmony_ci 30e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 31e41f4b71Sopenharmony_ci| -------- | ----------------------------------- | ---- | ------------------------------------------------------------ | 32e41f4b71Sopenharmony_ci| want | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 发布请求,需包含以下字段。<br>bundleName: 目标卡片bundleName<br>abilityName: 目标卡片ability<br>parameters:<br>- ohos.extra.param.key.form_dimension: 目标卡片规格<br>- ohos.extra.param.key.form_name: 目标卡片名<br>- ohos.extra.param.key.module_name: 目标卡片moduleName| 33e41f4b71Sopenharmony_ci| callback | AsyncCallback<string> | 是 | 回调函数,返回卡片标识。 | 34e41f4b71Sopenharmony_ci 35e41f4b71Sopenharmony_ci**错误码:** 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 38e41f4b71Sopenharmony_ci| -------- | -------- | 39e41f4b71Sopenharmony_ci| 202 | The application is not a system application. | 40e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 41e41f4b71Sopenharmony_ci| 16500050 | IPC connection error. | 42e41f4b71Sopenharmony_ci| 16500100 | Failed to obtain the configuration information. | 43e41f4b71Sopenharmony_ci| 16501000 | An internal functional error occurred. | 44e41f4b71Sopenharmony_ci| 16501008 | Waiting for the form addition to the desktop timed out. | 45e41f4b71Sopenharmony_ci 46e41f4b71Sopenharmony_ci以上错误码的详细介绍请参见[卡片错误码](errorcode-form.md)。 47e41f4b71Sopenharmony_ci 48e41f4b71Sopenharmony_ci**示例:** 49e41f4b71Sopenharmony_ci 50e41f4b71Sopenharmony_ci```ts 51e41f4b71Sopenharmony_ciimport { formAgent } from '@kit.FormKit'; 52e41f4b71Sopenharmony_ciimport { Want } from '@kit.AbilityKit'; 53e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 54e41f4b71Sopenharmony_ci 55e41f4b71Sopenharmony_cilet want: Want = { 56e41f4b71Sopenharmony_ci bundleName: 'com.ohos.exampledemo', 57e41f4b71Sopenharmony_ci abilityName: 'FormAbility', 58e41f4b71Sopenharmony_ci parameters: { 59e41f4b71Sopenharmony_ci 'ohos.extra.param.key.form_dimension': 2, 60e41f4b71Sopenharmony_ci 'ohos.extra.param.key.form_name': 'widget', 61e41f4b71Sopenharmony_ci 'ohos.extra.param.key.module_name': 'entry' 62e41f4b71Sopenharmony_ci } 63e41f4b71Sopenharmony_ci}; 64e41f4b71Sopenharmony_citry { 65e41f4b71Sopenharmony_ci formAgent.requestPublishForm(want, (error: BusinessError, data: string) => { 66e41f4b71Sopenharmony_ci if (error) { 67e41f4b71Sopenharmony_ci console.error(`callback error, code: ${error.code}, message: ${error.message})`); 68e41f4b71Sopenharmony_ci return; 69e41f4b71Sopenharmony_ci } 70e41f4b71Sopenharmony_ci console.log(`formAgent requestPublishForm, form ID is: ${JSON.stringify(data)}`); 71e41f4b71Sopenharmony_ci }); 72e41f4b71Sopenharmony_ci} catch (error) { 73e41f4b71Sopenharmony_ci console.error(`catch error, code: ${(error as BusinessError).code}, message: ${(error as BusinessError).message})`); 74e41f4b71Sopenharmony_ci} 75e41f4b71Sopenharmony_ci``` 76e41f4b71Sopenharmony_ci 77e41f4b71Sopenharmony_ci## requestPublishForm 78e41f4b71Sopenharmony_ci 79e41f4b71Sopenharmony_cirequestPublishForm(want: Want): Promise<string> 80e41f4b71Sopenharmony_ci 81e41f4b71Sopenharmony_ci请求发布一张卡片到使用方,使用Promise异步回调。使用方通常为桌面。 82e41f4b71Sopenharmony_ci 83e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.AGENT_REQUIRE_FORM 84e41f4b71Sopenharmony_ci 85e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Ability.Form 86e41f4b71Sopenharmony_ci 87e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 88e41f4b71Sopenharmony_ci 89e41f4b71Sopenharmony_ci**参数:** 90e41f4b71Sopenharmony_ci 91e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 92e41f4b71Sopenharmony_ci| --------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 93e41f4b71Sopenharmony_ci| want | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 发布请求,需包含以下字段。<br>bundleName: 目标卡片bundleName<br>abilityName: 目标卡片ability<br>parameters:<br>- ohos.extra.param.key.form_dimension: 目标卡片规格<br>- ohos.extra.param.key.form_name: 目标卡片名<br>- ohos.extra.param.key.module_name: 目标卡片moduleName | 94e41f4b71Sopenharmony_ci 95e41f4b71Sopenharmony_ci**返回值:** 96e41f4b71Sopenharmony_ci 97e41f4b71Sopenharmony_ci| 类型 | 说明 | 98e41f4b71Sopenharmony_ci| :------------ | :---------------------------------- | 99e41f4b71Sopenharmony_ci| Promise<string> | Promise对象。返回卡片标识。 | 100e41f4b71Sopenharmony_ci 101e41f4b71Sopenharmony_ci**错误码:** 102e41f4b71Sopenharmony_ci 103e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 104e41f4b71Sopenharmony_ci| -------- | -------- | 105e41f4b71Sopenharmony_ci| 202 | The application is not a system application. | 106e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 107e41f4b71Sopenharmony_ci| 16500050 | IPC connection error. | 108e41f4b71Sopenharmony_ci| 16500100 | Failed to obtain the configuration information. | 109e41f4b71Sopenharmony_ci| 16501000 | An internal functional error occurred. | 110e41f4b71Sopenharmony_ci| 16501008 | Waiting for the form addition to the desktop timed out. | 111e41f4b71Sopenharmony_ci 112e41f4b71Sopenharmony_ci以上错误码的详细介绍请参见[卡片错误码](errorcode-form.md)。 113e41f4b71Sopenharmony_ci 114e41f4b71Sopenharmony_ci**示例:** 115e41f4b71Sopenharmony_ci 116e41f4b71Sopenharmony_ci```ts 117e41f4b71Sopenharmony_ciimport { formAgent } from '@kit.FormKit'; 118e41f4b71Sopenharmony_ciimport { Want } from '@kit.AbilityKit'; 119e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 120e41f4b71Sopenharmony_ci 121e41f4b71Sopenharmony_cilet want: Want = { 122e41f4b71Sopenharmony_ci bundleName: 'com.ohos.exampledemo', 123e41f4b71Sopenharmony_ci abilityName: 'FormAbility', 124e41f4b71Sopenharmony_ci parameters: { 125e41f4b71Sopenharmony_ci 'ohos.extra.param.key.form_dimension': 2, 126e41f4b71Sopenharmony_ci 'ohos.extra.param.key.form_name': 'widget', 127e41f4b71Sopenharmony_ci 'ohos.extra.param.key.module_name': 'entry' 128e41f4b71Sopenharmony_ci } 129e41f4b71Sopenharmony_ci}; 130e41f4b71Sopenharmony_citry { 131e41f4b71Sopenharmony_ci formAgent.requestPublishForm(want).then((data: string) => { 132e41f4b71Sopenharmony_ci console.log(`formAgent requestPublishForm success, form ID is : ${JSON.stringify(data)}`); 133e41f4b71Sopenharmony_ci }).catch((error: BusinessError) => { 134e41f4b71Sopenharmony_ci console.error(`promise error, code: ${error.code}, message: ${error.message})`); 135e41f4b71Sopenharmony_ci }); 136e41f4b71Sopenharmony_ci} catch (error) { 137e41f4b71Sopenharmony_ci console.error(`catch error, code: ${(error as BusinessError).code}, message: ${(error as BusinessError).message})`); 138e41f4b71Sopenharmony_ci} 139e41f4b71Sopenharmony_ci```