1# 卡片管理
2
3## 简介
4
5卡片是一种界面展示形式,可以将应用的重要信息或操作前置到卡片,以达到服务直达的目的。
6
7卡片常用于嵌入到其他应用(当前只支持系统应用)中作为其界面的一部分显示,并支持拉起页面,发送消息等基础的交互功能。
8
9卡片的基本概念:
10
11- 卡片提供方
12提供卡片显示内容原子化服务,定义卡片的显示内容、控件布局以及控件点击事件。
13- 卡片使用方
14显示卡片内容的应用,可自由配置应用中卡片展示的位置。
15- 卡片管理服务
16用于管理系统中所添加卡片的常驻代理服务,包括卡片对象的管理与使用,以及卡片周期性刷新等。
17
18开发者仅需作为卡片提供方进行卡片内容的开发,卡片使用方和卡片管理服务由系统自动处理。
19
20> ![icon-note.gif](figures/icon-note.gif) **说明:**
21> 卡片使用方和提供方不要求常驻运行,在需要添加/删除/请求更新卡片时,卡片管理服务会拉起卡片提供方获取卡片信息。
22
23**部件内子模块职责**
24
25| 子模块名称       | 职责                                                         |
26| ---------------- | ------------------------------------------------------------|
27| 卡片JS_Napikit模块| 提供外部接口,与卡片管理服务交互,负责事件通知的调度,通过ArkUI更新卡片视图。           |
28| 卡片管理服务模块   | 管理系统中所添加卡片的常驻代理服务,管理卡片的生命周期,并维护卡片信息以及卡片事件的调度。 |
29
30## 目录
31
32```
33foundation/ability/form_fwk
34├── frameworks
35│   └── js
36│       └── napi                    # form_fwk的napi代码实现
37├── interfaces
38│   ├── inner_api                   # form_fwk的系统内部件间接口 
39│   └── kits
40│       └── native                  # form_fwk的对外接口  
41├── services                        # form管理服务框架代码
42│   ├── config                      # form 管理服务配置文件及解析实现
43│   ├── form_render_service         # form_render_service.hap(FRS)实现
44│   ├── include                     # form 管理服务依赖头文件
45│   └── src                         # form 管理服务业务实现
46└── test                            # 测试目录
47```
48
49## 使用说明
50​ 卡片框架模型具有两种形态:
51-   第一种形态为FA模型。API 8及其更早版本的应用程序只能使用FA模型进行开发,卡片使用FormAbility开发。
52-   第二种形态为Stage模型。从API 9开始,Ability框架引入了Stage模型作为第二种应用框架形态,卡片使用FormExtensionAbility开发。
53
54**FA卡片开发**
55基于[FA模型](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/application-models/fa-model-development-overview.md)的卡片提供方开发,主要涉及如下功能逻辑:
56
57-   开发卡片生命周期回调函数LifecycleForm。
58-   创建卡片数据FormBindingData对象。
59-   通过FormProvider更新卡片。
60-   开发卡片页面。
61
62开发步骤可参考[开发指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/form/widget-development-fa.md)
63
64**Stage卡片开发**
65基于[Stage模型](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/application-models/stage-model-development-overview.md)的卡片提供方开发,主要涉及如下功能逻辑:
66
67- 卡片生命周期回调函数FormExtension开发。
68- 创建卡片数据FormBindingData对象。
69- 通过FormProvider更新卡片。
70- 卡片页面开发。
71
72开发步骤可参考[开发指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/form/Readme-CN.md)
73
74## 相关仓
75
76ArkTS API 接口
77
78[interface_sdk-js](https://gitee.com/openharmony/interface_sdk-js)
79
80元能力子系统
81
82[ability_base](https://gitee.com/openharmony/ability_ability_base)
83
84[ability_runtime](https://gitee.com/openharmony/ability_ability_runtime)
85
86[dmsfwk](https://gitee.com/openharmony/ability_dmsfwk)
87
88[**form_fwk**](https://gitee.com/openharmony/ability_form_fwk)
89
90[idl_tool](https://gitee.com/openharmony/ability_idl_tool)
91
92ArkUI框架
93
94[arkui_ace_engine](https://gitee.com/openharmony/arkui_ace_engine)
95