js-apis-app-form-formProvider.md 19.6 KB
Newer Older
Z
zengyawen 已提交
1
# @ohos.app.form.formProvider (FormProvider)
Y
yanwenhao 已提交
2

Y
yangzk 已提交
3
FormProvider模块提供了卡片提供方相关接口的能力,开发者在开发卡片时,可通过该模块提供接口实现更新卡片、设置卡片更新时间、获取卡片信息、请求发布卡片等。
Y
yanwenhao 已提交
4 5 6 7 8 9

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

## 导入模块

M
m00512953 已提交
10
```ts
Y
yanwenhao 已提交
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
import formProvider from '@ohos.app.form.formProvider';
```

## setFormNextRefreshTime

setFormNextRefreshTime(formId: string, minute: number, callback: AsyncCallback<void>): void

设置指定卡片的下一次更新时间,使用callback异步回调。

**系统能力:** SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明                                   |
| ------ | ------ | ---- | ------------------------------------- |
| formId | string | 是   | 卡片标识。                               |
| minute | number | 是   | 指定多久之后更新,单位分钟,大于等于5。     |
| callback | AsyncCallback<void> | 是 | 回调函数。 |

30 31
**错误码:**

Y
yanwenhao 已提交
32 33
| 错误码ID | 错误信息 |
| -------- | -------- |
Y
yangzk 已提交
34 35
| 401 | 调用接口入参错误。 |
|以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)。||
Y
yanwenhao 已提交
36 37 38

**示例:**

M
m00512953 已提交
39
```ts
Y
yangzk 已提交
40 41 42
import formProvider from '@ohos.app.form.formProvider';

let formId = "12400633174999288";
Y
yanwenhao 已提交
43 44 45
try {
  formProvider.setFormNextRefreshTime(formId, 5, (error, data) => {
    if (error) {
Y
yangzk 已提交
46
      console.log(`callback error, code: ${error.code}, message: ${error.message})`);
Y
yanwenhao 已提交
47 48 49 50 51
    } else {
      console.log(`formProvider setFormNextRefreshTime success`);
    }
  });
} catch (error) {
Y
yangzk 已提交
52
  console.log(`catch error, code: ${error.code}, message: ${error.message})`);
Y
yanwenhao 已提交
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
}
```

## setFormNextRefreshTime

setFormNextRefreshTime(formId: string, minute: number): Promise<void>

设置指定卡片的下一次更新时间,使用Promise异步回调。

**系统能力:** SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明                                   |
| ------ | ------ | ---- | ------------------------------------- |
| formId | string | 是   | 卡片标识。                               |
| minute | number | 是   | 指定多久之后更新,单位分钟,大于等于5。     |

**返回值:**

| 类型          | 说明                              |
| ------------- | ---------------------------------- |
| Promise\<void> | 无返回结果的Promise对象。      |

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
Y
yangzk 已提交
81 82
| 401 | 调用接口入参错误。 |
|以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)。||
Y
yanwenhao 已提交
83 84 85

**示例:**

M
m00512953 已提交
86
```ts
Y
yangzk 已提交
87 88 89
import formProvider from '@ohos.app.form.formProvider';

let formId = "12400633174999288";
Y
yanwenhao 已提交
90 91
try {
  formProvider.setFormNextRefreshTime(formId, 5).then(() => {
Y
yangzk 已提交
92
    console.log(`formProvider setFormNextRefreshTime success`);
Y
yanwenhao 已提交
93
  }).catch((error) => {
Y
yangzk 已提交
94
    console.log(`promise error, code: ${error.code}, message: ${error.message})`);
Y
yanwenhao 已提交
95 96
  });
} catch (error) {
Y
yangzk 已提交
97
  console.log(`catch error, code: ${error.code}, message: ${error.message})`);
Y
yanwenhao 已提交
98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
}
```

## updateForm

updateForm(formId: string, formBindingData: formBindingData.FormBindingData,callback: AsyncCallback&lt;void&gt;): void

更新指定的卡片,使用callback异步回调。

**系统能力:** SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型                                                                    | 必填 | 说明             |
| ------ | ---------------------------------------------------------------------- | ---- | ---------------- |
| formId | string                                                                 | 是   | 请求更新的卡片标识。 |
Z
zhongjianfei 已提交
114
| formBindingData.FormBindingData | [FormBindingData](js-apis-app-form-formBindingData.md#formbindingdata) | 是   | 用于更新的数据。    |
Y
yanwenhao 已提交
115 116 117 118 119 120
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
Y
yangzk 已提交
121 122
| 401 | 调用接口入参错误。 |
|以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)。||
Y
yanwenhao 已提交
123 124 125

**示例:**

M
m00512953 已提交
126
```ts
Y
yanwenhao 已提交
127
import formBindingData from '@ohos.application.formBindingData';
Y
yangzk 已提交
128 129 130
import formProvider from '@ohos.app.form.formProvider';

let formId = "12400633174999288";
Y
yanwenhao 已提交
131 132 133 134
try {
  let obj = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});
  formProvider.updateForm(formId, obj, (error, data) => {
    if (error) {
Y
yangzk 已提交
135
      console.log(`callback error, code: ${error.code}, message: ${error.message})`);
Y
yanwenhao 已提交
136 137 138 139 140
    } else {
      console.log(`formProvider updateForm success`);
    }
  });
} catch (error) {
Y
yangzk 已提交
141
  console.log(`catch error, code: ${error.code}, message: ${error.message})`);
Y
yanwenhao 已提交
142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
}
```

## updateForm

updateForm(formId: string, formBindingData: formBindingData.FormBindingData): Promise&lt;void&gt;

更新指定的卡片,使用Promise异步回调。

**系统能力:** SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型                                                                    | 必填 | 说明             |
| ------ | ---------------------------------------------------------------------- | ---- | ---------------- |
| formId | string                                                                 | 是   | 请求更新的卡片标识。 |
Z
zhongjianfei 已提交
158
| formBindingData.FormBindingData | [FormBindingData](js-apis-app-form-formBindingData.md#formbindingdata) | 是   | 用于更新的数据。    |
Y
yanwenhao 已提交
159 160 161 162 163 164 165 166 167 168 169

**返回值:**

| 类型           | 说明                                |
| -------------- | ----------------------------------- |
| Promise\<void> | 无返回结果的Promise对象。 |

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
Y
yangzk 已提交
170 171
| 401 | 调用接口入参错误。 |
|以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)。||
Y
yanwenhao 已提交
172 173 174

**示例:**

M
m00512953 已提交
175
```ts
Y
yanwenhao 已提交
176
import formBindingData from '@ohos.application.formBindingData';
Y
yangzk 已提交
177 178 179 180
import formProvider from '@ohos.app.form.formProvider';

let formId = "12400633174999288";
let obj = formBindingData.createFormBindingData({ temperature: "22c", time: "22:00" });
Y
yanwenhao 已提交
181 182
try {
  formProvider.updateForm(formId, obj).then(() => {
Y
yangzk 已提交
183
    console.log(`formProvider updateForm success`);
Y
yanwenhao 已提交
184
  }).catch((error) => {
Y
yangzk 已提交
185
    console.log(`promise error, code: ${error.code}, message: ${error.message})`);
Y
yanwenhao 已提交
186 187
  });
} catch (error) {
Y
yangzk 已提交
188
  console.log(`catch error, code: ${error.code}, message: ${error.message})`);
Y
yanwenhao 已提交
189 190 191 192 193 194 195 196 197 198 199 200 201 202 203
}
```

## getFormsInfo

getFormsInfo(callback: AsyncCallback&lt;Array&lt;formInfo.FormInfo&gt;&gt;): void

获取设备上当前应用程序的卡片信息,使用callback异步回调。

**系统能力:** SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
Y
yangzk 已提交
204
| callback | AsyncCallback&lt;Array&lt;[formInfo.FormInfo](js-apis-app-form-formInfo.md)&gt;&gt; | 是 | 回调函数。返回查询到的卡片信息。 |
Y
yanwenhao 已提交
205 206 207 208 209

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
Y
yangzk 已提交
210 211
| 401 | 调用接口入参错误。 |
|以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)。||
Y
yanwenhao 已提交
212 213 214 215


**示例:**

M
m00512953 已提交
216
```ts
Y
yangzk 已提交
217 218
import formProvider from '@ohos.app.form.formProvider';

Y
yanwenhao 已提交
219 220 221
try {
  formProvider.getFormsInfo((error, data) => {
    if (error) {
Y
yangzk 已提交
222
      console.log(`callback error, code: ${error.code}, message: ${error.message})`);
Y
yanwenhao 已提交
223
    } else {
Y
yangzk 已提交
224
      console.log('formProvider getFormsInfo, data: ' + JSON.stringify(data));
Y
yanwenhao 已提交
225 226 227
    }
  });
} catch (error) {
Y
yangzk 已提交
228
  console.log(`catch error, code: ${error.code}, message: ${error.message})`);
Y
yanwenhao 已提交
229 230 231 232 233 234 235 236 237 238 239 240 241 242
}
```
## getFormsInfo

getFormsInfo(filter: formInfo.FormInfoFilter, callback: AsyncCallback&lt;Array&lt;formInfo.FormInfo&gt;&gt;): void

获取设备上当前应用程序的卡片信息,并筛选符合条件的信息,使用callback异步回调。

**系统能力:** SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
Z
zhongjianfei 已提交
243
| filter | [formInfo.FormInfoFilter](js-apis-app-form-formInfo.md#forminfofilter) | 是 | 卡片信息过滤器。 |
Y
yangzk 已提交
244
| callback | AsyncCallback&lt;Array&lt;[formInfo.FormInfo](js-apis-app-form-formInfo.md)&gt;&gt; | 是 | 回调函数。返回查询到符合条件的卡片信息。 |
Y
yanwenhao 已提交
245 246 247 248 249

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
Y
yangzk 已提交
250 251
| 401 | 调用接口入参错误。 |
|以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)。||
Y
yanwenhao 已提交
252 253 254

**示例:**

M
m00512953 已提交
255
```ts
Y
yangzk 已提交
256 257 258 259 260 261
import formInfo from '@ohos.app.form.formInfo';
import formProvider from '@ohos.app.form.formProvider';

const filter: formInfo.FormInfoFilter = {
  // get info of forms belong to module entry.
  moduleName: "entry"
Y
yanwenhao 已提交
262 263 264 265
};
try {
  formProvider.getFormsInfo(filter, (error, data) => {
    if (error) {
Y
yangzk 已提交
266
      console.log(`callback error, code: ${error.code}, message: ${error.message})`);
Y
yanwenhao 已提交
267
    } else {
Y
yangzk 已提交
268
      console.log('formProvider getFormsInfo, data: ' + JSON.stringify(data));
Y
yanwenhao 已提交
269 270
    }
  });
Y
yangzk 已提交
271 272
} catch (error) {
  console.log(`catch error, code: ${error.code}, message: ${error.message})`);
Y
yanwenhao 已提交
273 274 275 276 277 278 279 280 281 282 283 284 285 286 287
}
```

## getFormsInfo

getFormsInfo(filter?: formInfo.FormInfoFilter): Promise&lt;Array&lt;formInfo.FormInfo&gt;&gt;

获取设备上当前应用程序的卡片信息,使用Promise异步回调。

**系统能力:** SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
Z
zhongjianfei 已提交
288
| filter | [formInfo.FormInfoFilter](js-apis-app-form-formInfo.md#forminfofilter) | 否 | 卡片信息过滤器。 |
Y
yanwenhao 已提交
289 290 291 292 293

**返回值:**

| 类型          | 说明                                |
| :------------ | :---------------------------------- |
Y
yangzk 已提交
294
| Promise&lt;Array&lt;[formInfo.FormInfo](js-apis-app-form-formInfo.md)&gt;&gt; | Promise对象。返回查询到符合条件的卡片信息。 |
Y
yanwenhao 已提交
295 296 297 298 299

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
Y
yangzk 已提交
300 301
| 401 | 调用接口入参错误。 |
|以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)。||
Y
yanwenhao 已提交
302 303 304

**示例:**

M
m00512953 已提交
305
```ts
Y
yangzk 已提交
306 307 308 309 310 311
import formInfo from '@ohos.app.form.formInfo';
import formProvider from '@ohos.app.form.formProvider';

const filter: formInfo.FormInfoFilter = {
  // get info of forms belong to module entry.
  moduleName: "entry"
Y
yanwenhao 已提交
312 313 314 315 316
};
try {
  formProvider.getFormsInfo(filter).then((data) => {
    console.log('formProvider getFormsInfo, data:' + JSON.stringify(data));
  }).catch((error) => {
Y
yangzk 已提交
317
    console.log(`promise error, code: ${error.code}, message: ${error.message})`);
Y
yanwenhao 已提交
318 319
  });
} catch (error) {
Y
yangzk 已提交
320
  console.log(`catch error, code: ${error.code}, message: ${error.message})`);
Y
yanwenhao 已提交
321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337
}
```

## requestPublishForm

requestPublishForm(want: Want, formBindingData: formBindingData.FormBindingData, callback: AsyncCallback\<string>): void

请求发布一张卡片到使用方。使用方通常为桌面。

**系统能力:** SystemCapability.Ability.Form

**系统接口**: 此接口为系统接口。

**参数:**

| 参数名 | 类型                                                                    | 必填 | 说明             |
| ------ | ---------------------------------------------------------------------- | ---- | ---------------- |
M
m00512953 已提交
338
| want | [Want](js-apis-application-want.md)                           | 是   | 发布请求。需包含以下字段。<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" |
Y
yangzk 已提交
339
| formBindingData | [formBindingData.FormBindingData](js-apis-app-form-formBindingData.md#formbindingdata) | 是   | 创建卡片的数据。 |
Y
yanwenhao 已提交
340 341
| callback | AsyncCallback&lt;string&gt; | 是 | 回调函数。返回卡片标识。 |

342 343
**错误码:**

Y
yanwenhao 已提交
344 345
| 错误码ID | 错误信息 |
| -------- | -------- |
Y
yangzk 已提交
346 347
| 401 | 调用接口入参错误。 |
|以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)。||
Y
yanwenhao 已提交
348 349 350

**示例:**

M
m00512953 已提交
351
```ts
Y
yanwenhao 已提交
352
import formBindingData from '@ohos.application.formBindingData';
Y
yangzk 已提交
353 354 355
import formProvider from '@ohos.app.form.formProvider';

let want = {
Y
yanwenhao 已提交
356 357 358 359 360 361 362 363
  abilityName: "FormAbility",
  parameters: {
    "ohos.extra.param.key.form_dimension": 2,
    "ohos.extra.param.key.form_name": "widget",
    "ohos.extra.param.key.module_name": "entry"
  }
};
try {
Y
yangzk 已提交
364
  let obj = formBindingData.createFormBindingData({ temperature: "22c", time: "22:00" });
Y
yanwenhao 已提交
365 366
  formProvider.requestPublishForm(want, obj, (error, data) => {
    if (error) {
Y
yangzk 已提交
367
      console.log(`callback error, code: ${error.code}, message: ${error.message})`);
Y
yanwenhao 已提交
368 369 370 371 372
    } else {
      console.log('formProvider requestPublishForm, form ID is: ' + JSON.stringify(data));
    }
  });
} catch (error) {
Y
yangzk 已提交
373
  console.log(`catch error, code: ${error.code}, message: ${error.message})`);
Y
yanwenhao 已提交
374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390
}
```

## requestPublishForm

requestPublishForm(want: Want, callback: AsyncCallback&lt;string&gt;): void

请求发布一张卡片到使用方。使用方通常为桌面。

**系统能力:** SystemCapability.Ability.Form

**系统接口**: 此接口为系统接口。

**参数:**

| 参数名   | 类型                                | 必填 | 说明                                                         |
| -------- | ----------------------------------- | ---- | ------------------------------------------------------------ |
M
m00512953 已提交
391
| want     | [Want](js-apis-application-want.md) | 是   | 发布请求。需包含以下字段。<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" |
Y
yanwenhao 已提交
392 393
| callback | AsyncCallback&lt;string&gt;         | 是   |  回调函数。返回卡片标识。 |

394 395
**错误码:**

Y
yanwenhao 已提交
396 397
| 错误码ID | 错误信息 |
| -------- | -------- |
Y
yangzk 已提交
398 399
| 401 | 调用接口入参错误。 |
|以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)。||
Y
yanwenhao 已提交
400 401 402

**示例:**

M
m00512953 已提交
403
```ts
Y
yangzk 已提交
404 405 406
import formProvider from '@ohos.app.form.formProvider';

let want = {
Y
yanwenhao 已提交
407 408 409 410 411 412 413 414 415 416
  abilityName: "FormAbility",
  parameters: {
    "ohos.extra.param.key.form_dimension": 2,
    "ohos.extra.param.key.form_name": "widget",
    "ohos.extra.param.key.module_name": "entry"
  }
};
try {
  formProvider.requestPublishForm(want, (error, data) => {
    if (error) {
Y
yangzk 已提交
417
      console.log(`callback error, code: ${error.code}, message: ${error.message})`);
Y
yanwenhao 已提交
418 419 420 421 422
    } else {
      console.log('formProvider requestPublishForm, form ID is: ' + JSON.stringify(data));
    }
  });
} catch (error) {
Y
yangzk 已提交
423
  console.log(`catch error, code: ${error.code}, message: ${error.message})`);
Y
yanwenhao 已提交
424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440
}
```

## requestPublishForm

requestPublishForm(want: Want, formBindingData?: formBindingData.FormBindingData): Promise&lt;string&gt;

请求发布一张卡片到使用方。使用方通常为桌面。

**系统能力:** SystemCapability.Ability.Form

**系统接口**: 此接口为系统接口。

**参数:**

| 参数名          | 类型                                                         | 必填 | 说明                                                         |
| --------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
M
m00512953 已提交
441
| want            | [Want](js-apis-application-want.md)                          | 是   | 发布请求。需包含以下字段。<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" |
Y
yangzk 已提交
442
| formBindingData | [formBindingData.FormBindingData](js-apis-app-form-formBindingData.md#formbindingdata) | 否   | 创建卡片的数据。                                           |
Y
yanwenhao 已提交
443 444 445 446 447 448 449

**返回值:**

| 类型          | 说明                                |
| :------------ | :---------------------------------- |
| Promise&lt;string&gt; | Promise对象。返回卡片标识。 |

450 451
**错误码:**

Y
yanwenhao 已提交
452 453
| 错误码ID | 错误信息 |
| -------- | -------- |
Y
yangzk 已提交
454 455
| 401 | 调用接口入参错误。 |
|以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)。||
Y
yanwenhao 已提交
456 457 458

**示例:**

M
m00512953 已提交
459
```ts
Y
yangzk 已提交
460 461 462
import formProvider from '@ohos.app.form.formProvider';

let want = {
Y
yanwenhao 已提交
463 464 465 466 467 468 469 470 471 472 473
  abilityName: "FormAbility",
  parameters: {
    "ohos.extra.param.key.form_dimension": 2,
    "ohos.extra.param.key.form_name": "widget",
    "ohos.extra.param.key.module_name": "entry"
  }
};
try {
  formProvider.requestPublishForm(want).then((data) => {
    console.log('formProvider requestPublishForm success, form ID is :' + JSON.stringify(data));
  }).catch((error) => {
Y
yangzk 已提交
474
    console.log(`promise error, code: ${error.code}, message: ${error.message})`);
Y
yanwenhao 已提交
475 476
  });
} catch (error) {
Y
yangzk 已提交
477
  console.log(`catch error, code: ${error.code}, message: ${error.message})`);
Y
yanwenhao 已提交
478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498
}
```

## isRequestPublishFormSupported

isRequestPublishFormSupported(callback: AsyncCallback&lt;boolean&gt;): void

查询是否支持发布一张卡片到使用方。

**系统接口**: 此接口为系统接口。

**系统能力:** SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数。返回是否支持发布一张卡片到使用方。|

**示例:**

M
m00512953 已提交
499
```ts
Y
yangzk 已提交
500 501
import formProvider from '@ohos.app.form.formProvider';

Y
yanwenhao 已提交
502 503
try {
  formProvider.isRequestPublishFormSupported((error, isSupported) => {
Y
yangzk 已提交
504 505 506 507 508 509 510 511 512 513
    if (error) {
      console.log(`callback error, code: ${error.code}, message: ${error.message})`);
    } else {
      if (isSupported) {
        var want = {
          abilityName: "FormAbility",
          parameters: {
            "ohos.extra.param.key.form_dimension": 2,
            "ohos.extra.param.key.form_name": "widget",
            "ohos.extra.param.key.module_name": "entry"
Y
yanwenhao 已提交
514
          }
Y
yangzk 已提交
515 516 517 518 519 520 521 522 523 524 525 526
        };
        try {
          formProvider.requestPublishForm(want, (error, data) => {
            if (error) {
              console.log(`callback error, code: ${error.code}, message: ${error.message})`);
            } else {
              console.log('formProvider requestPublishForm, form ID is: ' + JSON.stringify(data));
            }
          });
        } catch (error) {
          console.log(`catch error, code: ${error.code}, message: ${error.message})`);
        }
Y
yanwenhao 已提交
527 528
      }
    }
Y
yangzk 已提交
529
  });
Y
yanwenhao 已提交
530
} catch (error) {
Y
yangzk 已提交
531
  console.log(`catch error, code: ${error.code}, message: ${error.message})`);
Y
yanwenhao 已提交
532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552
}
```

## isRequestPublishFormSupported

isRequestPublishFormSupported(): Promise&lt;boolean&gt;

查询是否支持发布一张卡片到使用方。

**系统接口**: 此接口为系统接口。

**系统能力:** SystemCapability.Ability.Form

**返回值:**

| 类型          | 说明                                |
| :------------ | :---------------------------------- |
| Promise&lt;boolean&gt; | Promise对象。返回是否支持发布一张卡片到使用方。 |

**示例:**

M
m00512953 已提交
553
```ts
Y
yangzk 已提交
554 555
import formProvider from '@ohos.app.form.formProvider';

Y
yanwenhao 已提交
556 557 558 559
try {
  formProvider.isRequestPublishFormSupported().then((isSupported) => {
    if (isSupported) {
      var want = {
Y
yangzk 已提交
560 561 562 563 564 565
        abilityName: "FormAbility",
        parameters: {
          "ohos.extra.param.key.form_dimension": 2,
          "ohos.extra.param.key.form_name": "widget",
          "ohos.extra.param.key.module_name": "entry"
        }
Y
yanwenhao 已提交
566 567 568 569 570
      };
      try {
        formProvider.requestPublishForm(want).then((data) => {
          console.log('formProvider requestPublishForm success, form ID is :' + JSON.stringify(data));
        }).catch((error) => {
Y
yangzk 已提交
571
          console.log(`promise error, code: ${error.code}, message: ${error.message})`);
Y
yanwenhao 已提交
572 573
        });
      } catch (error) {
Y
yangzk 已提交
574
        console.log(`catch error, code: ${error.code}, message: ${error.message})`);
Y
yanwenhao 已提交
575 576 577
      }
    }
  }).catch((error) => {
Y
yangzk 已提交
578
    console.log(`promise error, code: ${error.code}, message: ${error.message})`);
Y
yanwenhao 已提交
579 580
  });
} catch (error) {
Y
yangzk 已提交
581
  console.log(`catch error, code: ${error.code}, message: ${error.message})`);
Y
yanwenhao 已提交
582 583
}
```