• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 卡片定点刷新
2
3当前卡片框架提供了如下两种定点刷新卡片的方式:
4
5- 单定点刷新:表示在每天的某个特定时间点自动刷新卡片内容。可以在form_config.json配置文件中的`scheduledUpdateTime`字段中进行设置。例如,可以将刷新时间设置为每天的上午10点30分。
6
7
8  ```json
9  {
10    "forms": [
11      {
12        "name": "ScheduledUpdateTime",
13        "description": "$string:widget_scheupdatetime_desc",
14        "src": "./ets/scheduledupdatetime/pages/ScheduledUpdateTimeCard.ets",
15        "uiSyntax": "arkts",
16        "window": {
17          "designWidth": 720,
18          "autoDesignWidth": true
19        },
20        "colorMode": "auto",
21        "isDefault": true,
22        "updateEnabled": true,
23        "scheduledUpdateTime": "10:30",
24        "updateDuration": 0,
25        "defaultDimension": "2*2",
26        "supportDimensions": [
27          "2*2"
28        ]
29      }
30    ]
31  }
32  ```
33
34- 多定点刷新:表示在每天的多个特定时间点自动刷新卡片内容。可以在form_config.json配置文件中的`multiScheduledUpdateTime`字段中进行设置,例如,可以将刷新时间设置为每天的上午11点30分和下午4点30分。
35  ```json
36  {
37    "forms": [
38    {
39        "name": "ScheduledUpdateTime",
40        "description": "$string:widget_scheupdatetime_desc",
41        "src": "./ets/scheduledupdatetime/pages/ScheduledUpdateTimeCard.ets",
42        "uiSyntax": "arkts",
43        "window": {
44          "designWidth": 720,
45          "autoDesignWidth": true
46        },
47        "colorMode": "auto",
48        "isDefault": true,
49        "updateEnabled": true,
50        "scheduledUpdateTime": "10:30",
51        "multiScheduledUpdateTime": "11:30,16:30,",
52        "updateDuration": 0,
53        "defaultDimension": "2*2",
54        "supportDimensions": [
55          "2*2"
56        ]
57      }
58    ]
59  }
60  ```
61
62在触发定点刷新后,系统会调用FormExtensionAbility的[onUpdateForm](../reference/apis-form-kit/js-apis-app-form-formExtensionAbility.md#onupdateform)生命周期回调,在回调中,可以使用[updateForm](../reference/apis-form-kit/js-apis-app-form-formProvider.md#updateform)进行提供方刷新卡片。`onUpdateForm`生命周期回调的使用请参见[卡片生命周期管理](./arkts-ui-widget-lifecycle.md)。
63
64> **说明:**
65> 1. 当同时配置了定时刷新`updateDuration`和定点刷新`scheduledUpdateTime`时,定时刷新的优先级更高且定点刷新不会执行。如果想要配置定点刷新,则需要将`updateDuration`配置为0。
66> 2. `multiScheduledUpdateTime`的配置最多可设置24个时间。
67> 3. 同时配置了单定点和多定点刷新,多定点刷新配置生效,单定点刷新配置不生效。
68> 4. 考虑到向前兼容的问题,尽量保留`scheduledUpdateTime`字段,不要直接删除。
69
70**约束限制:**
711. 定点刷新在卡片可见情况下才会触发,在卡片不可见时仅会记录刷新动作和刷新数据,待可见时统一刷新布局。