# manifest 文件

手机 手表

manifest.json 文件中包含了应用描述、接口声明、页面路由信息

# manifest

属性 类型 默认值 必填 描述
package String - 应用包名,确认与原生应用的包名不一致,推荐采用 com.company.module 的格式,如:com.example.demo
name String - 应用名称,6 个汉字以内,与应用商店保存的名称一致,用于在桌面图标、弹窗等处显示应用名称
icon String - 应用图标,提供 192x192 大小的即可
versionName String - 应用版本名称,如:"1.0"
versionCode Integer - 应用版本号,从1自增,推荐每次重新上传包时versionCode+1
minPlatformVersion Integer - 快应用支持的最小平台版本号,兼容性检查,避免上线后在低版本平台运行并导致不兼容;如果不填按照内测版本处理。注意:此配置是快应用,不是卡片的平台版本号。卡片平台版本号配置参见下面router.widgets说明
features Array - 接口列表,绝大部分接口都需要在这里声明,否则不能调用,详见每个接口的文档说明
config Object - 系统配置信息,详见下面说明
router Object - 路由信息,详见下面说明
display Object - UI 显示相关配置,详见下面说明

# config

用于定义系统配置和全局数据。

属性 类型 默认值 描述
designWidth Integer 750 页面设计基准宽度,根据实际设备宽度来缩放元素大小

# router

用于定义快应用和卡片页面的组成和相关配置信息,如果页面没有配置路由信息,则在编译打包时跳过。

属性 类型 默认值 必填 描述
entry String - 首页名称;使用分包功能时,建议将首页定义在基础包中
pages Object - 页面配置列表,key 值为页面名称(对应页面目录名,例如 Hello 对应'Hello'目录),value 为页面详细配置 page,详见下面说明

示例代码:

"router": {
  "entry": "Demo",
  "errorPage": "ErrorPage",
  "pages": {
    "Demo": {
      "component": "index"
    },
    "ErrorPage": {
      "component": "index"
     },
  }
}
1
2
3
4
5
6
7
8
9
10
11
12

# router.pages

用于定义单个页面路由信息。

属性 类型 默认值 必填 描述
component String - 页面对应的组件名,与 ux 文件名保持一致,例如'hello' 对应 'hello.ux'
path String /<页面名称> 页面路径,例如“/user”,不填则默认为/<页面名称>。
path 必须唯一,不能和其他 page 的 path 相同。
下面 page 的 path 因为缺失,会被设置为“/Index”:
"Index": {"component": "index"}
launchMode 1050+ String standard 声明页面的启动模式,支持"singleTask","standard"两种页面启动模式。
标识为"singleTask"模式时每次打开目标页面都会打开已有的目标页面并回调 onRefresh 生命周期函数,清除该页面上打开的其他页面,没有打开过此页面时会创建新的目标页面实例。
标识为"standard"模式时会每次打开新的目标页面(多次打开目标页面地址时会存在多个相同页面)

# router.widgets

用于定义卡片的路由信息。

属性 类型 必填 说明
widgets Object 卡片列表,key 值为卡片名称(对应卡片目录名,例如 cards/Card 对应cards/Card目录,/<key 值>为卡片访问路径,是卡片的唯一标识),value 为卡片详细配置 widget,详见下面说明
# widget 详细说明
属性 类型 必填 描述
name String 卡片名称(需谨慎填写此字段,可能会被展示,比如通知栏)
description String 卡片描述(需谨慎填写此字段,可能会被展示)
component String 卡片对应的组件名,与 ux 文件名保持一致,例如'card' 对应 'card.ux'
features Array 本卡片使用的接口列表,卡片的接口列表单独定义,在某些场景下可以做提前申请(例如负一屏)
minCardPlatformVersion Integer 支持的最小卡片平台版本号注意:卡片minCardPlatformVersion版本号字段有别于快应用的minPlatformVersion,具体支持的卡片平台版本号请参考本文档所列
targetManufacturers Array 目标厂商,字段可选,若配置此字段,则需要指定对应厂商,如不指定,可能不能在对应的厂商上架,当前支持厂商字段:"vivo", "OPPO", "xiaomi", "honor"
sizes Array 卡片支持的外观尺寸选项,每个尺寸选项表示该组件在布局网格中的占位大小(宽度和高度,以栅格个数为单位),支持 "FULL"(全宽/全高)、"AUTO" (宽度/高度自适应)与具体数值的组合,并通过格式如 "2*2"、"FULL*4"、"1*FULL"、"4*AUTO"来定义。参考各厂商入口支持情况进行设置。
deviceTypeList Array 可选值有:phone,watch, 默认为 phone

widgets 字段定义在 router 字段中,如卡片源文件在 src/cards/card/index.ux 中,则 widgets 定义如下

{
  "router": {
    "widgets": {
      "cards/card": {
        "name": "卡片",
        "description": "这是一个快应用卡片",
        "component": "index",
        "minCardPlatformVersion": 2000, 
        "path": "/cards/card",
        "features": [
          {
            "name": "system.network"
          },
          {
            "name": "system.router"
          }
        ],
        "sizes":["2x4","4x4","2xAUTO","FULLx4"],
        "deviceTypeList": ["phone", "watch"]
      }
    }
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# widget.sizes详细说明
  1. 尺寸格式说明
  • 卡片尺寸格式为 "宽度*高度",宽度和高度可以使用具体数值、"FULL"或"AUTO" 表示,也可以组合使用。

    • 具体数值:定义卡片在布局网格中占据的固定栅格数。
    • "FULL":表示卡片宽度或高度填充卡片容器的整个可用空间。
    • "AUTO":表示卡片宽度或高度根据内容的大小自适应调整,不会固定在特定栅格数,也不会填满卡片容器。
    • 举例:
      • "2x2" 表示卡片占用2个单位的栅格宽度和2个单位的栅格高度。
      • "FULLx4" 表示卡片宽度为屏幕的整个宽度,高度为4个栅格单位。
      • "4xAUTO" 表示卡片宽度占据4个栅格单位,而高度根据卡片内容的大小自动调整。
  • 配置示例:

      {
        "router": {
          "widgets": {
            "cards/card": {
              "sizes": ["4x2","4x4"]
            }
          }
        }
      }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9

    上述配置说明该卡片支持两种尺寸:"4x2","4x4",开发者需确保页面布局能够正确适配这两种尺寸,并确保卡片在不同屏幕上均能正常显示。

  • 尺寸示意图: card_sizes

    注意:屏幕栅格划分因厂商和设备不同,需根据实际设备情况参考具体的栅格布局。上图展示了常见的网格划分及卡片尺寸示例,其他尺寸可按相同逻辑理解和应用。请根据您的实际需求进行调整,以确保最佳适配效果。

  1. 不同设备类型下支持的卡片尺寸

    设备类型 支持卡片尺寸
    手机 "2x1" ,"2x2" ,"4x2" ,"4x4"
    折叠屏 "2x1" ,"2x2" ,"4x2" ,"4x4"
    平板 "2x2" ,"4x2" ,"4x4","8x4"

    开发者在为特定设备配置卡片时,需根据设备类型选择合适的尺寸,以确保布局的美观性与功能性。

  2. 适配建议

    由于不同厂商对卡片尺寸的支持情况有所不同,为了确保卡片配置适应各类设备,建议开发者参考以下适配建议:

    1. 根据具体平台的要求,灵活设置卡片尺寸。
    2. 为不同尺寸的屏幕提供响应式设计,使布局能够自适应调整,兼顾用户体验。

    这有助于卡片在手机、折叠屏和平板设备上均有良好的显示效果,并确保布局一致性。