簡介
服務卡片框架提供了FormExtensionAbility基類,通過繼承此基類,實現調用服務卡片的生命周期函數,來實現具體卡片的功能。
開放了屬性動畫和顯式動畫,增加了自定義繪制的能力,可以使用Canvas畫布組件自定義繪制和構建更多樣的顯示和交互效果。允許卡片中運行邏輯代碼,業務邏輯可以在卡片內部自閉環。
不支持功能
- 不支持導入共享包。
- 不支持native語言,僅支持聲明式范式的部分組件、事件、動效、數據管理、狀態管理和API能力。
- 暫不支持極速預覽。
- 暫不支持setTimeOut。
工程目錄

新建流程
選擇靜態服務窗口

選擇項目模板

設置卡片名稱、簡介、模塊大小等

根據選擇的樣板,自動添加卡片項目相關文件

默認的預覽視圖

卡片事件(靜態卡片)
需要使用FromLink容器來實現服務卡片和App之間的交互,支持router、message和call三種類型的事件。
參數名 | 參數類型 | 必填 | 參數描述 |
action | string | 是 | action的類型,支持三種預定義的類型: - router:跳轉到提供方應用的指定UIAbility。 - message:自定義消息,觸發后會調用提供方FormExtensionAbility的 onFormEvent()生命周期回調。 - call:后臺啟動提供方應用。觸發后會拉起提供方應用的指定UIAbility(僅支持launchType為 singleton的UIAbility,即啟動模式為單實例的UIAbility),但不會調度到前臺。提供方應用需要具備后臺運行權限( ohos.permission.KEEP_BACKGROUND_RUNNING)。 說明: 不推薦使用router事件刷新卡片UI。 |
moduleName | string | 否 | action為router / call 類型時跳轉的模塊名。 |
bundleName | string | 否 | action為router / call 類型時跳轉的包名。 |
abilityName | string | 否 | action為router / call 類型時跳轉的UIAbility名。 |
uri | string | 否 | action為router 類型時跳轉的UIAbility的統一資源標識符。uri和abilityName同時存在時,abilityName優先。 |
params | Object | 否 | 當前action攜帶的額外參數,內容使用JSON格式的鍵值對形式。call 類型時需填入參數'method',且類型需要為string類型,用于觸發UIAbility中對應的方法。 說明: 不推薦通過params傳遞卡片內部的狀態變量。 |
案例代碼
實現效果

項目架構

DateUtil.ets
Ticket_WidgetCard.ets
TicketShow_view.ets
TicketShow_ViewModel.ets
注意
里面的圖片是需要自己去下載的,暫未實現數據和程序聯動
浙公網安備 33010602011771號