• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.app.form.formProvider (FormProvider)
2
3FormProvider模块提供了卡片提供方相关接口的能力,开发者在开发卡片时,可通过该模块提供接口实现更新卡片,设置卡片更新时间,获取卡片信息,请求发布卡片等。
4
5> **说明:**
6> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
7
8## 导入模块
9
10```ts
11import formProvider from '@ohos.app.form.formProvider';
12```
13
14## setFormNextRefreshTime
15
16setFormNextRefreshTime(formId: string, minute: number, callback: AsyncCallback<void>): void
17
18设置指定卡片的下一次更新时间,使用callback异步回调。
19
20**系统能力:** SystemCapability.Ability.Form
21
22**参数:**
23
24| 参数名 | 类型    | 必填 | 说明                                   |
25| ------ | ------ | ---- | ------------------------------------- |
26| formId | string | 是   | 卡片标识。                               |
27| minute | number | 是   | 指定多久之后更新,单位分钟,大于等于5。     |
28| callback | AsyncCallback<void> | 是 | 回调函数。 |
29
30**错误码:**
31
32| 错误码ID | 错误信息 |
33| -------- | -------- |
34| 401 | If the input parameter is not valid parameter. |
35以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)。
36
37**示例:**
38
39```ts
40var formId = '12400633174999288';
41try {
42  formProvider.setFormNextRefreshTime(formId, 5, (error, data) => {
43    if (error) {
44      console.log('formProvider setFormNextRefreshTime, error:' + JSON.stringify(error));
45    } else {
46      console.log(`formProvider setFormNextRefreshTime success`);
47    }
48  });
49} catch (error) {
50    console.log('error' + JSON.stringify(error))
51}
52```
53
54## setFormNextRefreshTime
55
56setFormNextRefreshTime(formId: string, minute: number): Promise<void>
57
58设置指定卡片的下一次更新时间,使用Promise异步回调。
59
60**系统能力:** SystemCapability.Ability.Form
61
62**参数:**
63
64| 参数名 | 类型    | 必填 | 说明                                   |
65| ------ | ------ | ---- | ------------------------------------- |
66| formId | string | 是   | 卡片标识。                               |
67| minute | number | 是   | 指定多久之后更新,单位分钟,大于等于5。     |
68
69**返回值:**
70
71| 类型          | 说明                              |
72| ------------- | ---------------------------------- |
73| Promise\<void> | 无返回结果的Promise对象。      |
74
75**错误码:**
76
77| 错误码ID | 错误信息 |
78| -------- | -------- |
79| 401 | If the input parameter is not valid parameter. |
80以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)。
81
82**示例:**
83
84```ts
85var formId = '12400633174999288';
86try {
87  formProvider.setFormNextRefreshTime(formId, 5).then(() => {
88  console.log('formProvider setFormNextRefreshTime success');
89  }).catch((error) => {
90    console.log('formProvider setFormNextRefreshTime, error:' + JSON.stringify(error));
91  });
92} catch (error) {
93  console.log(`catch err->${JSON.stringify(error)}`);
94}
95```
96
97## updateForm
98
99updateForm(formId: string, formBindingData: formBindingData.FormBindingData,callback: AsyncCallback&lt;void&gt;): void
100
101更新指定的卡片,使用callback异步回调。
102
103**系统能力:** SystemCapability.Ability.Form
104
105**参数:**
106
107| 参数名 | 类型                                                                    | 必填 | 说明             |
108| ------ | ---------------------------------------------------------------------- | ---- | ---------------- |
109| formId | string                                                                 | 是   | 请求更新的卡片标识。 |
110| formBindingData.FormBindingData | [FormBindingData](js-apis-app-form-formBindingData.md#formbindingdata) | 是   | 用于更新的数据。    |
111| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
112
113**错误码:**
114
115| 错误码ID | 错误信息 |
116| -------- | -------- |
117| 401 | If the input parameter is not valid parameter. |
118以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)。
119
120**示例:**
121
122```ts
123import formBindingData from '@ohos.application.formBindingData';
124var formId = '12400633174999288';
125try {
126  let obj = formBindingData.createFormBindingData({temperature:'22c', time:'22:00'});
127  formProvider.updateForm(formId, obj, (error, data) => {
128    if (error) {
129      console.log('formProvider updateForm, error:' + JSON.stringify(error));
130    } else {
131      console.log(`formProvider updateForm success`);
132    }
133  });
134} catch (error) {
135  console.log(`catch err->${JSON.stringify(error)}`);
136}
137```
138
139## updateForm
140
141updateForm(formId: string, formBindingData: formBindingData.FormBindingData): Promise&lt;void&gt;
142
143更新指定的卡片,使用Promise异步回调。
144
145**系统能力:** SystemCapability.Ability.Form
146
147**参数:**
148
149| 参数名 | 类型                                                                    | 必填 | 说明             |
150| ------ | ---------------------------------------------------------------------- | ---- | ---------------- |
151| formId | string                                                                 | 是   | 请求更新的卡片标识。 |
152| formBindingData.FormBindingData | [FormBindingData](js-apis-app-form-formBindingData.md#formbindingdata) | 是   | 用于更新的数据。    |
153
154**返回值:**
155
156| 类型           | 说明                                |
157| -------------- | ----------------------------------- |
158| Promise\<void> | 无返回结果的Promise对象。 |
159
160**错误码:**
161
162| 错误码ID | 错误信息 |
163| -------- | -------- |
164| 401 | If the input parameter is not valid parameter. |
165以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)。
166
167**示例:**
168
169```ts
170import formBindingData from '@ohos.application.formBindingData';
171var formId = '12400633174999288';
172let obj = formBindingData.createFormBindingData({temperature:'22c', time:'22:00'});
173try {
174  formProvider.updateForm(formId, obj).then(() => {
175      console.log('formProvider updateForm success');
176  }).catch((error) => {
177      console.log('formProvider updateForm, error:' + JSON.stringify(error));
178  });
179} catch (error) {
180  console.log(`catch err->${JSON.stringify(error)}`);
181}
182```
183
184## getFormsInfo
185
186getFormsInfo(callback: AsyncCallback&lt;Array&lt;formInfo.FormInfo&gt;&gt;): void
187
188获取设备上当前应用程序的卡片信息,使用callback异步回调。
189
190**系统能力:** SystemCapability.Ability.Form
191
192**参数:**
193
194| 参数名 | 类型    | 必填 | 说明    |
195| ------ | ------ | ---- | ------- |
196| callback | AsyncCallback&lt;Array&lt;[FormInfo](js-apis-app-form-formInfo.md)&gt;&gt; | 是 | 回调函数。返回查询到的卡片信息。 |
197
198**错误码:**
199
200| 错误码ID | 错误信息 |
201| -------- | -------- |
202| 401 | If the input parameter is not valid parameter. |
203以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)。
204
205
206**示例:**
207
208```ts
209try {
210  formProvider.getFormsInfo((error, data) => {
211    if (error) {
212      console.log('formProvider getFormsInfo, error:' + JSON.stringify(error));
213    } else {
214      console.log('formProvider getFormsInfo, data:' + JSON.stringify(data));
215    }
216  });
217} catch (error) {
218    console.log(`catch err->${JSON.stringify(error)}`);
219}
220```
221## getFormsInfo
222
223getFormsInfo(filter: formInfo.FormInfoFilter, callback: AsyncCallback&lt;Array&lt;formInfo.FormInfo&gt;&gt;): void
224
225获取设备上当前应用程序的卡片信息,并筛选符合条件的信息,使用callback异步回调。
226
227**系统能力:** SystemCapability.Ability.Form
228
229**参数:**
230
231| 参数名 | 类型    | 必填 | 说明    |
232| ------ | ------ | ---- | ------- |
233| filter | [formInfo.FormInfoFilter](js-apis-app-form-formInfo.md#forminfofilter) | 是 | 卡片信息过滤器。 |
234| callback | AsyncCallback&lt;Array&lt;[FormInfo](js-apis-app-form-formInfo.md)&gt;&gt; | 是 | 回调函数。返回查询到符合条件的卡片信息。 |
235
236**错误码:**
237
238| 错误码ID | 错误信息 |
239| -------- | -------- |
240| 401 | If the input parameter is not valid parameter. |
241以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)。
242
243**示例:**
244
245```ts
246import formInfo from '@ohos.app.form.formInfo';
247
248const filter : formInfo.FormInfoFilter = {
249    // get info of forms belong to module entry.
250    moduleName : 'entry'
251};
252try {
253  formProvider.getFormsInfo(filter, (error, data) => {
254    if (error) {
255      console.log('formProvider getFormsInfo, error:' + JSON.stringify(error));
256    } else {
257      console.log('formProvider getFormsInfo, data:' + JSON.stringify(data));
258    }
259  });
260} catch(error) {
261  console.log(`catch err->${JSON.stringify(error)}`);
262}
263```
264
265## getFormsInfo
266
267getFormsInfo(filter?: formInfo.FormInfoFilter): Promise&lt;Array&lt;formInfo.FormInfo&gt;&gt;
268
269获取设备上当前应用程序的卡片信息,使用Promise异步回调。
270
271**系统能力:** SystemCapability.Ability.Form
272
273**参数:**
274
275| 参数名 | 类型    | 必填 | 说明    |
276| ------ | ------ | ---- | ------- |
277| filter | [formInfo.FormInfoFilter](js-apis-app-form-formInfo.md#forminfofilter) | 否 | 卡片信息过滤器。 |
278
279**返回值:**
280
281| 类型          | 说明                                |
282| :------------ | :---------------------------------- |
283| Promise&lt;Array&lt;[FormInfo](js-apis-app-form-formInfo.md)&gt;&gt; | Promise对象。返回查询到符合条件的卡片信息。 |
284
285**错误码:**
286
287| 错误码ID | 错误信息 |
288| -------- | -------- |
289| 401 | If the input parameter is not valid parameter. |
290以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)。
291
292**示例:**
293
294```ts
295import formInfo from '@ohos.app.form.formInfo';
296
297const filter : formInfo.FormInfoFilter = {
298    // get info of forms belong to module entry.
299    moduleName : 'entry'
300};
301try {
302  formProvider.getFormsInfo(filter).then((data) => {
303    console.log('formProvider getFormsInfo, data:' + JSON.stringify(data));
304  }).catch((error) => {
305    console.log('formProvider getFormsInfo, error:' + JSON.stringify(error));
306  });
307} catch (error) {
308  console.log(`catch err->${JSON.stringify(error)}`);
309}
310```
311
312## requestPublishForm
313
314requestPublishForm(want: Want, formBindingData: formBindingData.FormBindingData, callback: AsyncCallback\<string>): void
315
316请求发布一张卡片到使用方。使用方通常为桌面。
317
318**系统能力:** SystemCapability.Ability.Form
319
320**系统接口**: 此接口为系统接口。
321
322**参数:**
323
324| 参数名 | 类型                                                                    | 必填 | 说明             |
325| ------ | ---------------------------------------------------------------------- | ---- | ---------------- |
326| 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' |
327| formBindingData.FormBindingData | [FormBindingData](js-apis-app-form-formBindingData.md#formbindingdata) | 是   | 创建卡片的数据。 |
328| callback | AsyncCallback&lt;string&gt; | 是 | 回调函数。返回卡片标识。 |
329
330**错误码:**
331
332| 错误码ID | 错误信息 |
333| -------- | -------- |
334| 401 | If the input parameter is not valid parameter. |
335以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)。
336
337**示例:**
338
339```ts
340import formBindingData from '@ohos.application.formBindingData';
341var want = {
342  abilityName: 'FormAbility',
343  parameters: {
344    'ohos.extra.param.key.form_dimension': 2,
345    'ohos.extra.param.key.form_name': 'widget',
346    'ohos.extra.param.key.module_name': 'entry'
347  }
348};
349try {
350  let obj = formBindingData.createFormBindingData({temperature:'22c', time:'22:00'});
351  formProvider.requestPublishForm(want, obj, (error, data) => {
352    if (error) {
353      console.log('formProvider requestPublishForm, error: ' + JSON.stringify(error));
354    } else {
355      console.log('formProvider requestPublishForm, form ID is: ' + JSON.stringify(data));
356    }
357  });
358} catch (error) {
359  console.log(`catch err->${JSON.stringify(error)}`);
360}
361```
362
363## requestPublishForm
364
365requestPublishForm(want: Want, callback: AsyncCallback&lt;string&gt;): void
366
367请求发布一张卡片到使用方。使用方通常为桌面。
368
369**系统能力:** SystemCapability.Ability.Form
370
371**系统接口**: 此接口为系统接口。
372
373**参数:**
374
375| 参数名   | 类型                                | 必填 | 说明                                                         |
376| -------- | ----------------------------------- | ---- | ------------------------------------------------------------ |
377| 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' |
378| callback | AsyncCallback&lt;string&gt;         | 是   |  回调函数。返回卡片标识。 |
379
380**错误码:**
381
382| 错误码ID | 错误信息 |
383| -------- | -------- |
384| 401 | If the input parameter is not valid parameter. |
385以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)。
386
387**示例:**
388
389```ts
390var want = {
391  abilityName: 'FormAbility',
392  parameters: {
393    'ohos.extra.param.key.form_dimension': 2,
394    'ohos.extra.param.key.form_name': 'widget',
395    'ohos.extra.param.key.module_name': 'entry'
396  }
397};
398try {
399  formProvider.requestPublishForm(want, (error, data) => {
400    if (error) {
401      console.log('formProvider requestPublishForm, error: ' + JSON.stringify(error));
402    } else {
403      console.log('formProvider requestPublishForm, form ID is: ' + JSON.stringify(data));
404    }
405  });
406} catch (error) {
407  console.log(`catch err->${JSON.stringify(error)}`);
408}
409
410```
411
412## requestPublishForm
413
414requestPublishForm(want: Want, formBindingData?: formBindingData.FormBindingData): Promise&lt;string&gt;
415
416请求发布一张卡片到使用方。使用方通常为桌面。
417
418**系统能力:** SystemCapability.Ability.Form
419
420**系统接口**: 此接口为系统接口。
421
422**参数:**
423
424| 参数名          | 类型                                                         | 必填 | 说明                                                         |
425| --------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
426| 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' |
427| formBindingData.FormBindingData | [FormBindingData](js-apis-app-form-formBindingData.md#formbindingdata) | 否   | 创建卡片的数据。                                           |
428
429**返回值:**
430
431| 类型          | 说明                                |
432| :------------ | :---------------------------------- |
433| Promise&lt;string&gt; | Promise对象。返回卡片标识。 |
434
435**错误码:**
436
437| 错误码ID | 错误信息 |
438| -------- | -------- |
439| 401 | If the input parameter is not valid parameter. |
440以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)。
441
442**示例:**
443
444```ts
445var want = {
446  abilityName: 'FormAbility',
447  parameters: {
448    'ohos.extra.param.key.form_dimension': 2,
449    'ohos.extra.param.key.form_name': 'widget',
450    'ohos.extra.param.key.module_name': 'entry'
451  }
452};
453try {
454  formProvider.requestPublishForm(want).then((data) => {
455    console.log('formProvider requestPublishForm success, form ID is :' + JSON.stringify(data));
456  }).catch((error) => {
457    console.log('formProvider requestPublishForm, error: ' + JSON.stringify(error));
458  });
459} catch (error) {
460  console.log(`catch err->${JSON.stringify(error)}`);
461}
462```
463
464## isRequestPublishFormSupported
465
466isRequestPublishFormSupported(callback: AsyncCallback&lt;boolean&gt;): void
467
468查询是否支持发布一张卡片到使用方。
469
470**系统接口**: 此接口为系统接口。
471
472**系统能力:** SystemCapability.Ability.Form
473
474**参数:**
475
476| 参数名 | 类型    | 必填 | 说明    |
477| ------ | ------ | ---- | ------- |
478| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数。返回是否支持发布一张卡片到使用方。|
479
480**示例:**
481
482```ts
483try {
484  formProvider.isRequestPublishFormSupported((error, isSupported) => {
485  if (error) {
486    console.log('formProvider isRequestPublishFormSupported, error:' + JSON.stringify(error));
487  } else {
488    if (isSupported) {
489      var want = {
490      abilityName: 'FormAbility',
491      parameters: {
492        'ohos.extra.param.key.form_dimension': 2,
493        'ohos.extra.param.key.form_name': 'widget',
494        'ohos.extra.param.key.module_name': 'entry'
495      }
496      };
497      try {
498        formProvider.requestPublishForm(want, (error, data) => {
499          if (error) {
500            console.log('formProvider requestPublishForm, error: ' + JSON.stringify(error));
501          } else {
502            console.log('formProvider requestPublishForm, form ID is: ' + JSON.stringify(data));
503          }
504      });
505      } catch (error) {
506        console.log(`catch err->${JSON.stringify(error)}`);
507      }
508
509    }
510  }
511});
512} catch (error) {
513  console.log(`catch err->${JSON.stringify(error)}`);
514}
515```
516
517## isRequestPublishFormSupported
518
519isRequestPublishFormSupported(): Promise&lt;boolean&gt;
520
521查询是否支持发布一张卡片到使用方。
522
523**系统接口**: 此接口为系统接口。
524
525**系统能力:** SystemCapability.Ability.Form
526
527**返回值:**
528
529| 类型          | 说明                                |
530| :------------ | :---------------------------------- |
531| Promise&lt;boolean&gt; | Promise对象。返回是否支持发布一张卡片到使用方。 |
532
533**示例:**
534
535```ts
536try {
537  formProvider.isRequestPublishFormSupported().then((isSupported) => {
538    if (isSupported) {
539      var want = {
540      abilityName: 'FormAbility',
541      parameters: {
542        'ohos.extra.param.key.form_dimension': 2,
543        'ohos.extra.param.key.form_name': 'widget',
544        'ohos.extra.param.key.module_name': 'entry'
545      }
546      };
547      try {
548        formProvider.requestPublishForm(want).then((data) => {
549          console.log('formProvider requestPublishForm success, form ID is :' + JSON.stringify(data));
550        }).catch((error) => {
551          console.log('formProvider requestPublishForm, error: ' + JSON.stringify(error));
552        });
553      } catch (error) {
554        console.log(`catch err->${JSON.stringify(error)}`);
555      }
556
557    }
558  }).catch((error) => {
559    console.log('formProvider isRequestPublishFormSupported, error:' + JSON.stringify(error));
560  });
561} catch (error) {
562  console.log(`catch err->${JSON.stringify(error)}`);
563}
564```