跳到主要内容

万能卡片生成

基于AI大模型理解开发者的卡片需求信息,通过对话式的交互智能生成HarmonyOS万能卡片工程。

从DevEco Studio 6.0.1 Beta1开始,在输入框新增卡片生成的入口。

从DevEco Studio 6.1.0 Beta2开始,不支持在对话区域输入"/"调出命令,选择Service Widget进入卡片生成窗口的功能。

使用约束

  1. 建议从以下维度描述卡片需求:

    序号建议描述维度说明举例
    1卡片用途卡片的用途/业务场景,比如电商购物、娱乐、生活服务类等。例如“电商购物卡片”、“娱乐类卡片”。
    2卡片功能卡片包含的组件,如图标、标题、按钮等。 组件的状态信息,如图标主题、标题内容、按钮显示的文字等。例如“新品上市主标题”、“商品搜索按钮”、“热门电影子板块入口”等。
    3卡片尺寸HarmonyOS官网提供的四种卡片尺寸:1*2(微卡片)、2*2(小卡片)、2*4(中卡片)、4*4(大卡片)。 卡片尺寸为非必选项,AI会根据前两个维度描述的信息,智能选择效果最佳的尺寸。例如“2*2尺寸的卡片”、“中卡片”等。
  2. 当前不支持在生成卡片预览图后,继续描述需求进行增量修改。

万能卡片生成

  1. 点击页面右侧菜单栏CodeGenie图标完成登录后,可以通过如下两种方式进入卡片生成窗口。在窗口输入万能卡片的需求,并点击发送,根据模型提示进行多轮交互,不断完善需求。

    • 在对话区域输入"/"调出命令,选择Service Widget。从DevEco Studio 6.1.0 Beta2开始不支持。
    • 在输入框左下角的下拉框选择Service Widget

  2. 需求描述完成后,可以根据提示信息进一步细化卡片尺寸、用途、展示元素等,以及预览卡片效果图。生成效果示例****:****

万能卡片保存

  1. 点击,可查看生成卡片的UI代码、配置信息和下载静态资源文件。

  2. 保存卡片工程有两种方式:

    方式一:使用代码/配置查看窗口的“复制”、“插入”或“创建文件”等按钮,手动保存卡片代码和配置信息。

    方式二:点击“保存工程”按钮,自动保存卡片工程,卡片代码、配置、静态资源文件等会自动保存到工程对应目录中。默认勾选保存逻辑代码,逻辑代码用于配置卡片事件及卡片数据等信息,具体请参考自定义配置逻辑代码

    流程示例:

    工程保存完成后,工程中会新增如下卡片相关文件:

自定义配置逻辑代码

逻辑代码包含实现卡片数据交互和卡片事件两类。

  • 卡片数据交互:触发卡片页面刷新。应用工程生成的卡片数据交互,可通过数据库或网络请求两种方式来触发卡片页面刷新;对于元服务工程生成的卡片,数据交互为通过网络请求方式触发卡片页面刷新。
  • 卡片事件:使用router事件跳转到指定的UIAbility、使用call事件拉起UIAbility到后台、使用message事件刷新卡片内容。

目录结构

在module > src > main > ets 路径下, formcommon目录用于存放生成卡片的逻辑代码。

  • formsetting:存放用户可配置的文件。
    • formsetting > formdbsetting:自定义配置以数据库方式进行卡片刷新的相关参数。

      • formdbsetting > formdbinfo:存放包含卡片信息的Info.ets文件,可在Info.ets文件中,添加卡片刷新所需要的具体的数据,后续会读取该文件并将数据存入数据库中。
      • UserSettings.ets:可以自定义卡片刷新时从数据库获取数据的规则、数据解析规则、message内容刷新规则。
    • formsetting > formhttpsetting:自定义配置以网络请求方式进行卡片刷新的相关参数。

      • formhttpsetting > formhttpinfo:存放包含卡片信息的Info.ets文件,可在Info.ets文件中添加获取卡片刷新数据的URL。
      • UserSettings.ets:可以自定义卡片刷新时从URL获取数据的规则、数据解析规则、message内容刷新规则。

      如需使用网络请求方式刷新卡片页面,需在EntryFormAbility.ets文件中将FormDbUpdate的接口注释掉,并将启用FormHttpUpdate接口。

    • formsetting > FormAction.ets:配置卡片事件。

  • utils:存放工具类的目录,用户不可修改,如果修改再次生成逻辑代码时utils目录会被刷新。

自定义配置卡片事件

  1. 在FormAction.ets文件中,配置触发卡片router事件时具体的页面分发规则。

  2. 在EntryAbility.ets文件的onWindowStageCreate方法中,会插入页面分发接口的调用,示例如下:

此接口默认插入到方法开头,开发者可根据当前工程onWindowStageCreate逻辑来将此接口移动至合适的位置,保证页面能正常跳转。