From 0db6d07bcd26e6e40af45a6896e8d2e327a0f576 Mon Sep 17 00:00:00 2001 From: yangzk Date: Thu, 16 Jun 2022 14:57:47 +0800 Subject: [PATCH] =?UTF-8?q?IssueNo:=20#I5CDA7=20Description:=20=E8=A1=A5?= =?UTF-8?q?=E5=85=85=E5=92=8C=E5=8D=A1=E7=89=87=E4=BA=A4=E4=BA=92=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E7=9A=84=E5=BC=80=E5=8F=91=E6=AD=A5=E9=AA=A4=20Sig:?= =?UTF-8?q?=20SIG=5FApplicationFramework=20Feature=20or=20Bugfix:=20Bugfix?= =?UTF-8?q?=20Binary=20Source:=20No?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangzk Change-Id: Ia3e236318f05fdd42fd965901cbb51a0c61776d5 --- .../application-dev/ability/fa-formability.md | 21 +++++++++++++++++++ .../ability/stage-formextension.md | 21 +++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/zh-cn/application-dev/ability/fa-formability.md b/zh-cn/application-dev/ability/fa-formability.md index 2cfba0d06c..4a3c2285d4 100644 --- a/zh-cn/application-dev/ability/fa-formability.md +++ b/zh-cn/application-dev/ability/fa-formability.md @@ -241,7 +241,28 @@ Form需要在应用配置文件config.json中进行配置。 由于临时卡片的数据具有非持久化的特殊性,某些场景比如卡片服务框架死亡重启,此时临时卡片数据在卡片管理服务中已经删除,且对应的卡片ID不会通知到提供方,所以卡片提供方需要自己负责清理长时间未删除的临时卡片数据。同时对应的卡片使用方可能会将之前请求的临时卡片转换为常态卡片。如果转换成功,卡片提供方也需要对对应的临时卡片ID进行处理,把卡片提供方记录的临时卡片数据转换为常态卡片数据,防止提供方在清理长时间未删除的临时卡片时,把已经转换为常态卡片的临时卡片信息删除,导致卡片信息丢失。 +### 卡片数据交互 + +当卡片应用需要更新数据时(如触发了定时更新或定点更新),卡片应用获取最新数据,并调用updateForm接口更新卡片。示例如下: + +```javascript +onUpdate(formId) { + // 若卡片支持定时更新/定点更新/卡片使用方主动请求更新功能,则提供方需要重写该方法以支持数据更新 + console.log('FormAbility onUpdate'); + let obj = { + "title": "titleOnUpdate", + "detail": "detailOnUpdate" + }; + let formData = formBindingData.createFormBindingData(obj); + // 调用updateForm接口去更新对应的卡片,仅更新入参中携带的数据信息,其他信息保持不变 + formProvider.updateForm(formId, formData).catch((error) => { + console.log('FormAbility updateForm, error:' + JSON.stringify(error)); + }); +} +``` + ### 开发卡片页面 + 开发者可以使用hml+css+json开发JS卡片页面: > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** diff --git a/zh-cn/application-dev/ability/stage-formextension.md b/zh-cn/application-dev/ability/stage-formextension.md index b9b095df6c..b7c72b11c4 100644 --- a/zh-cn/application-dev/ability/stage-formextension.md +++ b/zh-cn/application-dev/ability/stage-formextension.md @@ -254,7 +254,28 @@ Form需要在应用配置文件module.json中进行配置。 由于临时卡片的数据具有非持久化的特殊性,某些场景比如卡片服务框架死亡重启,此时临时卡片数据在卡片管理服务中已经删除,且对应的卡片ID不会通知到提供方,所以卡片提供方需要自己负责清理长时间未删除的临时卡片数据。同时对应的卡片使用方可能会将之前请求的临时卡片转换为常态卡片。如果转换成功,卡片提供方也需要对对应的临时卡片ID进行处理,把卡片提供方记录的临时卡片数据转换为常态卡片数据,防止提供方在清理长时间未删除的临时卡片时,把已经转换为常态卡片的临时卡片信息删除,导致卡片信息丢失。 +### 卡片数据交互 + +当卡片应用需要更新数据时(如触发了定时更新或定点更新),卡片应用获取最新数据,并调用updateForm接口更新卡片。示例如下: + +```javascript +onUpdate(formId) { + // 若卡片支持定时更新/定点更新/卡片使用方主动请求更新功能,则提供方需要重写该方法以支持数据更新 + console.log('FormAbility onUpdate'); + let obj = { + "title": "titleOnUpdate", + "detail": "detailOnUpdate" + }; + let formData = formBindingData.createFormBindingData(obj); + // 调用updateForm接口去更新对应的卡片,仅更新入参中携带的数据信息,其他信息保持不变 + formProvider.updateForm(formId, formData).catch((error) => { + console.log('FormAbility updateForm, error:' + JSON.stringify(error)); + }); +} +``` + ### 开发卡片页面 + 开发者可以使用hml+css+json开发JS卡片页面: > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** -- GitLab