• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 版本兼容适配
2
3
4卡片特性不断增加,使用了新特性的卡片,在不支持这些新特性的老系统上可能显示异常。可以在卡片工程中指定最小SDK版本,防止使用新特性的卡片推送安装在老的系统上。也可以参考本章节的内容,在卡片开发阶段做前向兼容适配。
5
6开发者可以通过JSON配置文件配置前向兼容能力。该文件提供了apiVersion属性用于兼容版本,该字段和卡片配置文件的数据字段data、事件字段actions同级。在apiVersion标签下定义的内容会基于当前运行版本信息,覆盖原始的data标签内容。
7
8
9示例如下:
10
11假设JS服务卡片框架从API Version 9开始,支持设置webp格式的图源(仅用于举例,不代表实际情况),则可以按照如下的方式,做前向兼容。
12
13```html
14<!-- xxx.hml -->
15<div>
16    <image src="{{imageSrc}}" style="width: 100px;height: 100px;"></image>
17</div>
18```
19
20JSON配置文件:
21
22```json
23{
24  "data": {
25    "imageSrc": "defaultSrc.png"
26  },
27  "apiVersion": {
28    "9": {
29      "imageSrc": "newSrc.webp"
30    }
31  }
32}
33```
34
35JS服务卡片开发框架会根据应用中的配置及当前系统运行版本,选取最合适的数据。
36
37假设系统运行版本在8及以下,则实际解析的imageSrc值为defaultSrc.png38
39假设系统运行版本为9,则实际解析的imageSrc值为newSrc.webp40