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

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

Y
yuyaozhi 已提交
5
> **说明:**
Z
zengyawen 已提交
6
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Z
zhongjianfei 已提交
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
Z
zengyawen 已提交
34 35
  var formId = "12400633174999288";
  formProvider.setFormNextRefreshTime(formId, 5, (error, data) => {
L
liweifeng 已提交
36 37
      if (error.code) {
          console.log('formProvider setFormNextRefreshTime, error:' + JSON.stringify(error));
Z
zengyawen 已提交
38 39 40 41 42 43
      }
  });
  ```

## setFormNextRefreshTime

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

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

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

**参数:**

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

R
RayShih 已提交
57 58 59 60
**返回值:**

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

Z
zengyawen 已提交
63 64
**示例:**

M
m00512953 已提交
65
  ```ts
Z
zengyawen 已提交
66
  var formId = "12400633174999288";
L
liweifeng 已提交
67 68 69
  formProvider.setFormNextRefreshTime(formId, 5).then(() => {
      console.log('formProvider setFormNextRefreshTime success');
  }).catch((error) => {
Z
zengyawen 已提交
70 71 72 73 74 75
      console.log('formProvider setFormNextRefreshTime, error:' + JSON.stringify(error));
  });
  ```

## updateForm

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

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

80
**系统能力:** SystemCapability.Ability.Form
Z
zengyawen 已提交
81 82 83 84 85

**参数:**

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

**示例:**

M
m00512953 已提交
92
  ```ts
Z
zengyawen 已提交
93 94 95 96
  import formBindingData from '@ohos.application.formBindingData';
  var formId = "12400633174999288";
  let obj = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});
  formProvider.updateForm(formId, obj, (error, data) => {
L
liweifeng 已提交
97 98
      if (error.code) {
          console.log('formProvider updateForm, error:' + JSON.stringify(error));
Z
zengyawen 已提交
99 100 101 102 103 104
      }
  });
  ```

## updateForm

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

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

109
**系统能力:** SystemCapability.Ability.Form
Z
zengyawen 已提交
110 111 112 113 114

**参数:**

  | 参数名 | 类型                                                                    | 必填 | 说明             |
  | ------ | ---------------------------------------------------------------------- | ---- | ---------------- |
115
  | formId | string                                                                 | 是   | 请求更新的卡片标识。 |
D
merge  
donglin 已提交
116
  | formBindingData.FormBindingData | [FormBindingData](js-apis-application-formBindingData.md#formbindingdat) | 是   | 用于更新的数据。    |
Z
zengyawen 已提交
117

R
RayShih 已提交
118 119 120 121
**返回值:**

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

Z
zengyawen 已提交
124 125
**示例:**

M
m00512953 已提交
126
  ```ts
Z
zengyawen 已提交
127 128 129
  import formBindingData from '@ohos.application.formBindingData';
  var formId = "12400633174999288";
  let obj = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});
L
liweifeng 已提交
130 131 132
  formProvider.updateForm(formId, obj).then(() => {
      console.log('formProvider updateForm success');
  }).catch((error) => {
Z
zengyawen 已提交
133 134
      console.log('formProvider updateForm, error:' + JSON.stringify(error));
  });
135 136
  ```

Y
yanwenhao 已提交
137
## getFormsInfo<sup>9+</sup>
138

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

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

Y
yanwenhao 已提交
143
**系统能力:** SystemCapability.Ability.Form
144 145 146 147 148

**参数:**

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

**示例:**

M
m00512953 已提交
153
```ts
154 155 156 157 158 159 160 161
formProvider.getFormsInfo((error, data) => {
    if (error.code) {
        console.log('formProvider getFormsInfo, error:' + JSON.stringify(error));
    } else {
        console.log('formProvider getFormsInfo, data:' + JSON.stringify(data));
    }
});
```
Y
yanwenhao 已提交
162
## getFormsInfo<sup>9+</sup>
163

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

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

Y
yanwenhao 已提交
168
**系统能力:** SystemCapability.Ability.Form
169 170 171 172 173

**参数:**

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

**示例:**

M
m00512953 已提交
179
```ts
Y
yuyaozhi 已提交
180
import formInfo from '@ohos.application.formInfo';
181
const filter : formInfo.FormInfoFilter = {
182
    // get info of forms belong to module entry.
183 184 185 186 187 188 189 190 191 192 193
    moduleName : "entry"
};
formProvider.getFormsInfo(filter, (error, data) => {
    if (error.code) {
        console.log('formProvider getFormsInfo, error:' + JSON.stringify(error));
    } else {
        console.log('formProvider getFormsInfo, data:' + JSON.stringify(data));
    }
});
```

Y
yanwenhao 已提交
194
## getFormsInfo<sup>9+</sup>
195

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

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

Y
yanwenhao 已提交
200
**系统能力:** SystemCapability.Ability.Form
201 202 203 204 205

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
M
m00512953 已提交
206
| filter | [formInfo.FormInfoFilter](./js-apis-application-formInfo.md) | 否 | 卡片信息过滤器。 |
207 208 209 210 211

**返回值:**

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

**示例:**

M
m00512953 已提交
216
```ts
Y
yuyaozhi 已提交
217
import formInfo from '@ohos.application.formInfo';
218
const filter : formInfo.FormInfoFilter = {
219
    // get info of forms belong to module entry.
220 221 222 223 224 225 226
    moduleName : "entry"
};
formProvider.getFormsInfo(filter).then((data) => {
    console.log('formProvider getFormsInfo, data:' + JSON.stringify(data));
}).catch((error) => {
    console.log('formProvider getFormsInfo, error:' + JSON.stringify(error));
});
L
liweifeng 已提交
227 228 229 230
```

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

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

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

235
**系统能力:** SystemCapability.Ability.Form
L
liweifeng 已提交
236

237
**系统接口**: 此接口为系统接口。
L
liweifeng 已提交
238 239 240 241 242

**参数:**

| 参数名 | 类型                                                                    | 必填 | 说明             |
| ------ | ---------------------------------------------------------------------- | ---- | ---------------- |
M
m00512953 已提交
243
| 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" |
D
merge  
donglin 已提交
244
| formBindingData.FormBindingData | [FormBindingData](js-apis-application-formBindingData.md#formbindingdata) | 是   | 创建卡片的数据。 |
245
| callback | AsyncCallback&lt;string&gt; | 是 | 回调函数。返回卡片标识。 |
L
liweifeng 已提交
246 247 248

**示例:**

M
m00512953 已提交
249
  ```ts
L
liweifeng 已提交
250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270
  import formBindingData from '@ohos.application.formBindingData';
  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"
      }
  };
  let obj = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});
  formProvider.requestPublishForm(want, obj, (error, data) => {
      if (error.code) {
          console.log('formProvider requestPublishForm, error: ' + JSON.stringify(error));
      } else {
          console.log('formProvider requestPublishForm, form ID is: ' + JSON.stringify(data));
      }
  });
  ```

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

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

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

275
**系统能力:** SystemCapability.Ability.Form
L
liweifeng 已提交
276

277
**系统接口**: 此接口为系统接口。
L
liweifeng 已提交
278 279 280 281 282

**参数:**

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

**示例:**

M
m00512953 已提交
288
  ```ts
L
liweifeng 已提交
289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307
  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"
      }
  };
  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));
      }
  });
  ```

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

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

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

312
**系统能力:** SystemCapability.Ability.Form
L
liweifeng 已提交
313

314
**系统接口**: 此接口为系统接口。
L
liweifeng 已提交
315 316 317 318 319

**参数:**

| 参数名          | 类型                                                         | 必填 | 说明                                                         |
| --------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
M
m00512953 已提交
320
| 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" |
D
merge  
donglin 已提交
321
| formBindingData.FormBindingData | [FormBindingData](js-apis-application-formBindingData.md#formbindingdata) | 否   | 创建卡片的数据。                                           |
322 323 324 325 326

**返回值:**

| 类型          | 说明                                |
| :------------ | :---------------------------------- |
327
| Promise&lt;string&gt; | Promise对象。返回卡片标识。 |
L
liweifeng 已提交
328 329 330

**示例:**

M
m00512953 已提交
331
  ```ts
L
liweifeng 已提交
332 333 334 335 336 337 338 339 340 341 342 343 344 345
  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"
      }
  };
  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));
  });
  ```
346 347 348

## isRequestPublishFormSupported<sup>9+<sup>

349
isRequestPublishFormSupported(callback: AsyncCallback&lt;boolean&gt;): void
350 351 352

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

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

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

357 358 359 360
**参数:**

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

**示例:**

M
m00512953 已提交
365
```ts
366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392
formProvider.isRequestPublishFormSupported((error, isSupported) => {
  if (error.code) {
    console.log('formProvider isRequestPublishFormSupported, error:' + JSON.stringify(error));
  } 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"
      }
      };
      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>

393
isRequestPublishFormSupported(): Promise&lt;boolean&gt;
394 395 396

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

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

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

401 402 403 404
**返回值:**

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

**示例:**

M
m00512953 已提交
409
```ts
410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429
formProvider.isRequestPublishFormSupported().then((isSupported) => {
  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"
    }
    };
    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));
});
```