js-apis-application-formProvider.md 16.1 KB
Newer Older
C
chenyuyan 已提交
1
# @ohos.application.formProvider (formProvider)
Z
zengyawen 已提交
2

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

Y
yuyaozhi 已提交
5
> **说明:**
Z
zengyawen 已提交
6
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
C
chenyuyan 已提交
7
> 从API version 9 开始不再维护,建议使用[formProvider](js-apis-app-form-formProvider.md)替代。
Z
zengyawen 已提交
8 9 10

## 导入模块

M
m00512953 已提交
11
```ts
Z
zengyawen 已提交
12 13 14 15 16
import formProvider from '@ohos.application.formProvider';
```

## setFormNextRefreshTime

17
setFormNextRefreshTime(formId: string, minute: number, callback: AsyncCallback<void>): void
Z
zengyawen 已提交
18

19
设置指定卡片的下一次更新时间,使用callback异步回调。
Z
zengyawen 已提交
20

21
**系统能力:** SystemCapability.Ability.Form
Z
zengyawen 已提交
22 23 24 25 26

**参数:**

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

**示例:**

M
m00512953 已提交
33
  ```ts
C
chenyuyan 已提交
34 35 36
  import formProvider from '@ohos.app.form.formProvider';

  let formId = "12400633174999288";
Z
zengyawen 已提交
37
  formProvider.setFormNextRefreshTime(formId, 5, (error, data) => {
C
chenyuyan 已提交
38 39 40
    if (error.code) {
      console.log('formProvider setFormNextRefreshTime, error:' + JSON.stringify(error));
    }
Z
zengyawen 已提交
41 42 43 44 45
  });
  ```

## setFormNextRefreshTime

46
setFormNextRefreshTime(formId: string, minute: number): Promise<void>
Z
zengyawen 已提交
47

48
设置指定卡片的下一次更新时间,使用Promise异步回调。
Z
zengyawen 已提交
49

50
**系统能力:** SystemCapability.Ability.Form
Z
zengyawen 已提交
51 52 53 54 55

**参数:**

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

R
RayShih 已提交
59 60 61 62
**返回值:**

  | 类型          | 说明                              |
  | ------------- | ---------------------------------- |
63
  | Promise\<void> | 无返回结果的Promise对象。      |
R
RayShih 已提交
64

Z
zengyawen 已提交
65 66
**示例:**

M
m00512953 已提交
67
  ```ts
C
chenyuyan 已提交
68 69 70
  import formProvider from '@ohos.app.form.formProvider';

  let formId = "12400633174999288";
L
liweifeng 已提交
71
  formProvider.setFormNextRefreshTime(formId, 5).then(() => {
C
chenyuyan 已提交
72
    console.log('formProvider setFormNextRefreshTime success');
L
liweifeng 已提交
73
  }).catch((error) => {
C
chenyuyan 已提交
74
    console.log('formProvider setFormNextRefreshTime, error:' + JSON.stringify(error));
Z
zengyawen 已提交
75 76 77 78 79
  });
  ```

## updateForm

80
updateForm(formId: string, formBindingData: formBindingData.FormBindingData,callback: AsyncCallback&lt;void&gt;): void
Z
zengyawen 已提交
81

82
更新指定的卡片,使用callback异步回调。
Z
zengyawen 已提交
83

84
**系统能力:** SystemCapability.Ability.Form
Z
zengyawen 已提交
85 86 87 88 89

**参数:**

  | 参数名 | 类型                                                                    | 必填 | 说明             |
  | ------ | ---------------------------------------------------------------------- | ---- | ---------------- |
90
  | formId | string                                                                 | 是   | 请求更新的卡片标识。 |
C
chenyuyan 已提交
91
  | formBindingData | [formBindingData.FormBindingData](js-apis-application-formBindingData.md#formbindingdata) | 是   | 用于更新的数据。    |
92
  | callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
Z
zengyawen 已提交
93 94 95

**示例:**

M
m00512953 已提交
96
  ```ts
Z
zengyawen 已提交
97
  import formBindingData from '@ohos.application.formBindingData';
C
chenyuyan 已提交
98 99 100
  import formProvider from '@ohos.app.form.formProvider';

  let formId = "12400633174999288";
Z
zengyawen 已提交
101 102
  let obj = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});
  formProvider.updateForm(formId, obj, (error, data) => {
C
chenyuyan 已提交
103 104 105
    if (error.code) {
      console.log('formProvider updateForm, error:' + JSON.stringify(error));
    }
Z
zengyawen 已提交
106 107 108 109 110
  });
  ```

## updateForm

111
updateForm(formId: string, formBindingData: formBindingData.FormBindingData): Promise&lt;void&gt;
Z
zengyawen 已提交
112

113
更新指定的卡片,使用Promise异步回调。
Z
zengyawen 已提交
114

115
**系统能力:** SystemCapability.Ability.Form
Z
zengyawen 已提交
116 117 118 119 120

**参数:**

  | 参数名 | 类型                                                                    | 必填 | 说明             |
  | ------ | ---------------------------------------------------------------------- | ---- | ---------------- |
121
  | formId | string                                                                 | 是   | 请求更新的卡片标识。 |
C
chenyuyan 已提交
122
  | formBindingData | [formBindingData.FormBindingData](js-apis-application-formBindingData.md#formbindingdata)  | 是   | 用于更新的数据。    |
Z
zengyawen 已提交
123

R
RayShih 已提交
124 125 126 127
**返回值:**

| 类型           | 说明                                |
| -------------- | ----------------------------------- |
128
| Promise\<void> | 无返回结果的Promise对象。 |
R
RayShih 已提交
129

Z
zengyawen 已提交
130 131
**示例:**

M
m00512953 已提交
132
  ```ts
Z
zengyawen 已提交
133
  import formBindingData from '@ohos.application.formBindingData';
C
chenyuyan 已提交
134 135 136
  import formProvider from '@ohos.app.form.formProvider';

  let formId = "12400633174999288";
Z
zengyawen 已提交
137
  let obj = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});
L
liweifeng 已提交
138
  formProvider.updateForm(formId, obj).then(() => {
C
chenyuyan 已提交
139
    console.log('formProvider updateForm success');
L
liweifeng 已提交
140
  }).catch((error) => {
C
chenyuyan 已提交
141
    console.log('formProvider updateForm, error:' + JSON.stringify(error));
Z
zengyawen 已提交
142
  });
143 144
  ```

Y
yanwenhao 已提交
145
## getFormsInfo<sup>9+</sup>
146

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

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

Y
yanwenhao 已提交
151
**系统能力:** SystemCapability.Ability.Form
152 153 154 155 156

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
C
chenyuyan 已提交
157
| callback | AsyncCallback&lt;Array&lt;[formInfo.FormInfo](./js-apis-application-formInfo.md#forminfo-1)&gt;&gt; | 是 | 回调函数。返回查询到的卡片信息。 |
158 159 160

**示例:**

M
m00512953 已提交
161
```ts
C
chenyuyan 已提交
162 163
import formProvider from '@ohos.app.form.formProvider';

164
formProvider.getFormsInfo((error, data) => {
C
chenyuyan 已提交
165 166 167 168 169
  if (error.code) {
    console.log('formProvider getFormsInfo, error:' + JSON.stringify(error));
  } else {
    console.log('formProvider getFormsInfo, data:' + JSON.stringify(data));
  }
170 171
});
```
Y
yanwenhao 已提交
172
## getFormsInfo<sup>9+</sup>
173

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

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

Y
yanwenhao 已提交
178
**系统能力:** SystemCapability.Ability.Form
179 180 181 182 183

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
M
m00512953 已提交
184
| filter | [formInfo.FormInfoFilter](./js-apis-application-formInfo.md#forminfofilter) | 是 | 卡片信息过滤器。 |
C
chenyuyan 已提交
185
| callback | AsyncCallback&lt;Array&lt;[formInfo.FormInfo](./js-apis-application-formInfo.md#forminfo-1)&gt;&gt; | 是 | 回调函数。返回查询到符合条件的卡片信息。 |
186 187 188

**示例:**

M
m00512953 已提交
189
```ts
Y
yuyaozhi 已提交
190
import formInfo from '@ohos.application.formInfo';
C
chenyuyan 已提交
191 192
import formProvider from '@ohos.app.form.formProvider';

193
const filter : formInfo.FormInfoFilter = {
C
chenyuyan 已提交
194 195
  // get info of forms belong to module entry.
  moduleName : "entry"
196 197
};
formProvider.getFormsInfo(filter, (error, data) => {
C
chenyuyan 已提交
198 199 200 201 202
  if (error.code) {
    console.log('formProvider getFormsInfo, error:' + JSON.stringify(error));
  } else {
    console.log('formProvider getFormsInfo, data:' + JSON.stringify(data));
  }
203 204 205
});
```

Y
yanwenhao 已提交
206
## getFormsInfo<sup>9+</sup>
207

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

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

Y
yanwenhao 已提交
212
**系统能力:** SystemCapability.Ability.Form
213 214 215 216 217

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
M
m00512953 已提交
218
| filter | [formInfo.FormInfoFilter](./js-apis-application-formInfo.md) | 否 | 卡片信息过滤器。 |
219 220 221 222 223

**返回值:**

| 类型          | 说明                                |
| :------------ | :---------------------------------- |
C
chenyuyan 已提交
224
| Promise&lt;Array&lt;[formInfo.FormInfo](./js-apis-application-formInfo.md#forminfo-1)&gt;&gt; | Promise对象。返回查询到符合条件的卡片信息。 |
225 226 227

**示例:**

M
m00512953 已提交
228
```ts
Y
yuyaozhi 已提交
229
import formInfo from '@ohos.application.formInfo';
C
chenyuyan 已提交
230 231
import formProvider from '@ohos.app.form.formProvider';

232
const filter : formInfo.FormInfoFilter = {
C
chenyuyan 已提交
233 234
  // get info of forms belong to module entry.
  moduleName : "entry"
235 236
};
formProvider.getFormsInfo(filter).then((data) => {
C
chenyuyan 已提交
237
  console.log('formProvider getFormsInfo, data:' + JSON.stringify(data));
238
}).catch((error) => {
C
chenyuyan 已提交
239
  console.log('formProvider getFormsInfo, error:' + JSON.stringify(error));
240
});
L
liweifeng 已提交
241 242 243 244
```

## requestPublishForm<sup>9+</sup>

245
requestPublishForm(want: Want, formBindingData: formBindingData.FormBindingData, callback: AsyncCallback\<string>): void
L
liweifeng 已提交
246

247
请求发布一张卡片到使用方。使用方通常为桌面。
L
liweifeng 已提交
248

249
**系统能力:** SystemCapability.Ability.Form
L
liweifeng 已提交
250

251
**系统接口**: 此接口为系统接口。
L
liweifeng 已提交
252 253 254 255 256

**参数:**

| 参数名 | 类型                                                                    | 必填 | 说明             |
| ------ | ---------------------------------------------------------------------- | ---- | ---------------- |
M
m00512953 已提交
257
| 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" |
C
chenyuyan 已提交
258
| formBindingData | [formBindingData.FormBindingData](js-apis-application-formBindingData.md#formbindingdata) | 是   | 创建卡片的数据。 |
259
| callback | AsyncCallback&lt;string&gt; | 是 | 回调函数。返回卡片标识。 |
L
liweifeng 已提交
260 261 262

**示例:**

M
m00512953 已提交
263
  ```ts
L
liweifeng 已提交
264
  import formBindingData from '@ohos.application.formBindingData';
C
chenyuyan 已提交
265 266 267 268 269 270 271 272
  import formProvider from '@ohos.app.form.formProvider';
  let 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"
    }
L
liweifeng 已提交
273 274 275
  };
  let obj = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});
  formProvider.requestPublishForm(want, obj, (error, data) => {
C
chenyuyan 已提交
276 277 278 279 280
    if (error.code) {
      console.log('formProvider requestPublishForm, error: ' + JSON.stringify(error));
    } else {
      console.log('formProvider requestPublishForm, form ID is: ' + JSON.stringify(data));
    }
L
liweifeng 已提交
281 282 283 284 285
  });
  ```

## requestPublishForm<sup>9+</sup>

286
requestPublishForm(want: Want, callback: AsyncCallback&lt;string&gt;): void
L
liweifeng 已提交
287

288
请求发布一张卡片到使用方。使用方通常为桌面。
L
liweifeng 已提交
289

290
**系统能力:** SystemCapability.Ability.Form
L
liweifeng 已提交
291

292
**系统接口**: 此接口为系统接口。
L
liweifeng 已提交
293 294 295 296 297

**参数:**

| 参数名   | 类型                                | 必填 | 说明                                                         |
| -------- | ----------------------------------- | ---- | ------------------------------------------------------------ |
M
m00512953 已提交
298
| 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" |
299
| callback | AsyncCallback&lt;string&gt;         | 是   |  回调函数。返回卡片标识。 |
L
liweifeng 已提交
300 301 302

**示例:**

M
m00512953 已提交
303
  ```ts
C
chenyuyan 已提交
304 305 306 307 308 309 310 311 312
  import formProvider from '@ohos.app.form.formProvider';

  let 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"
    }
L
liweifeng 已提交
313 314
  };
  formProvider.requestPublishForm(want, (error, data) => {
C
chenyuyan 已提交
315 316 317 318 319
    if (error.code) {
      console.log('formProvider requestPublishForm, error: ' + JSON.stringify(error));
    } else {
      console.log('formProvider requestPublishForm, form ID is: ' + JSON.stringify(data));
    }
L
liweifeng 已提交
320 321 322 323 324
  });
  ```

## requestPublishForm<sup>9+</sup>

325
requestPublishForm(want: Want, formBindingData?: formBindingData.FormBindingData): Promise&lt;string&gt;
L
liweifeng 已提交
326

327
请求发布一张卡片到使用方。使用方通常为桌面。
L
liweifeng 已提交
328

329
**系统能力:** SystemCapability.Ability.Form
L
liweifeng 已提交
330

331
**系统接口**: 此接口为系统接口。
L
liweifeng 已提交
332 333 334 335 336

**参数:**

| 参数名          | 类型                                                         | 必填 | 说明                                                         |
| --------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
M
m00512953 已提交
337
| 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" |
C
chenyuyan 已提交
338
| formBindingData | [formBindingData.FormBindingData](js-apis-application-formBindingData.md#formbindingdata) | 是   | 创建卡片的数据。 |
339 340 341 342 343

**返回值:**

| 类型          | 说明                                |
| :------------ | :---------------------------------- |
344
| Promise&lt;string&gt; | Promise对象。返回卡片标识。 |
L
liweifeng 已提交
345 346 347

**示例:**

M
m00512953 已提交
348
  ```ts
C
chenyuyan 已提交
349 350 351 352 353 354 355 356 357
  import formProvider from '@ohos.app.form.formProvider';

  let 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"
    }
L
liweifeng 已提交
358 359
  };
  formProvider.requestPublishForm(want).then((data) => {
C
chenyuyan 已提交
360
    console.log('formProvider requestPublishForm success, form ID is :' + JSON.stringify(data));
L
liweifeng 已提交
361
  }).catch((error) => {
C
chenyuyan 已提交
362
    console.log('formProvider requestPublishForm, error: ' + JSON.stringify(error));
L
liweifeng 已提交
363 364
  });
  ```
365 366 367

## isRequestPublishFormSupported<sup>9+<sup>

368
isRequestPublishFormSupported(callback: AsyncCallback&lt;boolean&gt;): void
369 370 371

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

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

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

376 377 378 379
**参数:**

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

**示例:**

M
m00512953 已提交
384
```ts
385 386 387 388 389
formProvider.isRequestPublishFormSupported((error, isSupported) => {
  if (error.code) {
    console.log('formProvider isRequestPublishFormSupported, error:' + JSON.stringify(error));
  } else {
    if (isSupported) {
C
chenyuyan 已提交
390 391 392 393 394 395 396
      let 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"
        }
397 398 399 400 401 402 403 404 405 406 407 408 409 410 411
      };
      formProvider.requestPublishForm(want, (error, data) => {
        if (error.code) {
          console.log('formProvider requestPublishForm, error: ' + JSON.stringify(error));
        } else {
          console.log('formProvider requestPublishForm, form ID is: ' + JSON.stringify(data));
        }
      });
    }
  }
});
```

## isRequestPublishFormSupported<sup>9+</sup>

412
isRequestPublishFormSupported(): Promise&lt;boolean&gt;
413 414 415

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

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

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

420 421 422 423
**返回值:**

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

**示例:**

M
m00512953 已提交
428
```ts
429 430
formProvider.isRequestPublishFormSupported().then((isSupported) => {
  if (isSupported) {
C
chenyuyan 已提交
431 432 433
    let want = {
      abilityName: "FormAbility",
      parameters: {
434 435 436
        "ohos.extra.param.key.form_dimension": 2,
        "ohos.extra.param.key.form_name": "widget",
        "ohos.extra.param.key.module_name": "entry"
C
chenyuyan 已提交
437
      }
438 439 440 441 442 443 444 445 446 447 448
    };
    formProvider.requestPublishForm(want).then((data) => {
      console.log('formProvider requestPublishForm success, form ID is :' + JSON.stringify(data));
    }).catch((error) => {
      console.log('formProvider requestPublishForm, error: ' + JSON.stringify(error));
    });
  }
}).catch((error) => {
  console.log('formProvider isRequestPublishFormSupported, error:' + JSON.stringify(error));
});
```