# 兼容性表格导读

uni-app x 在不同平台(Android、iOS、鸿蒙、微信小程序、web)、在不同os版本、在不同模式(vdom或蒸汽)、在不同运行环境(uvue页面或uts原生插件环境),存在某些功能的差异。 由此产生兼容性表格。

# 表格内容

内容 含义
√ 支持,未单独限定起始版本
x 不支持
版本号,如 4.25 从该 HBuilder 版本开始支持
系统版本号,如 15.0 从该操作系统版本开始支持,位于“系统版本”行
空白 未标注,不能据此确定支持或不支持

因老版红色图标的 HBuilder 已于 2019 年下线,本文档网站中的 HBuilder 泛指 HBuilderX 和 HBuilderV。两者的版本号一致,IDE 与 uni 引擎的版本号保持一致。

版本号末尾的 + 在表格中会被省略。例如 4.25+ 显示为 4.25,仍表示从该版本开始支持。未填写的版本显示空白,不使用 -;旧配置中的 - 也按未标注处理。

# 平台分列,运行环境分行

表头按平台组织,包括 Web、微信小程序、支付宝小程序、Android、iOS、HarmonyOS。具体显示哪些平台,取决于当前功能的配置。Vapor、VDOM 等环境放在表格行中,不再为每个平台分别增加模式列或二级表头。

以下是展示形式示例,版本仅用于说明布局:

运行环境 Web 微信小程序 支付宝小程序 Android iOS HarmonyOS
Vapor 5.32 5.32 5.21 5.11 5.0
VDOM 4.0 4.41 5.31 4.25 4.11 4.61

环境行的顺序和含义如下,未配置整行内容时不显示该行:

运行环境 含义
Vapor 页面中的蒸汽渲染模式
VDOM 页面中的虚拟 DOM 渲染模式
Vapor UTS 插件 Vapor 模式对应的 UTS 插件原生运行环境
VDOM UTS 插件 VDOM 模式对应的 UTS 插件原生运行环境
系统版本 需要单独说明的操作系统版本要求

Web 和小程序也可以分别标注 Vapor 与 VDOM。某个平台的两个模式值相同,也会在两行中分别填写,不用空白表示“已合并”。仅配置 VDOM 时,不自动将该版本填入 Vapor 行。

# 多个 API 或属性的汇总表

一张表格包含多个 API、属性或合法值时,每个条目分别列出运行环境,名称、描述等公共信息纵向合并。例如:

名称运行环境WebAndroidiOS
h()Vapor5.32xx
VDOM4.03.994.11
mergeProps()Vapor5.32xx
VDOM4.04.04.11

名称只显示一次,跨行数量由该条目实际展示的环境行数决定。若汇总中的某条目未填写任何兼容性信息,仍保留名称和空白版本,不因缺少信息而丢失整个条目。

# 小程序文档链接

微信、支付宝小程序的文档链接放在对应平台的表头上。有明确对应文档时,点击跳转到该文档;未配置具体地址时,按 API 或组件名称搜索。微信搜索地址形式为:

https://developers.weixin.qq.com/doc/search?q=getCurrentPage&sector=miniprogram

没有具体功能名称的汇总表格使用对应平台的文档首页。

# 直接展示与悬浮展示

功能本身的兼容性一般直接显示完整表格;参数、属性或合法值中的兼容性通常显示状态图标,鼠标悬停后展开。两种方式使用相同的平台列和环境行结构。

鼠标可以从图标移入展开的表格,查看内容或点击链接;离开图标和表格后关闭。较宽的直接展示表格可以横向滚动。

# 版本展示规则

# 保留 Vapor 和 VDOM 的实际版本

Vapor 与 VDOM 分别展示,不再按照默认 Vapor 起始版本合并,也不因两个模式版本相同而只留下一个值。

例如,Android 配置的 VDOM 为 4.25、Vapor 为 5.21,两个值都会保留。iOS 的 5.11,HarmonyOS 的 5.0、5.01 也按配置显示,不再因为是原先用于合并的默认版本而隐藏。

# UTS 插件

页面环境与 UTS 插件 utssdk 原生运行环境可能不同,需要分别说明时会增加插件行:

运行环境 Android iOS
Vapor 5.22 5.11
VDOM 4.25 4.11
Vapor UTS 插件 5.23 5.11
VDOM UTS 插件 4.26 4.11

插件行按以下规则简化:

  • 某条目的插件行与对应页面模式在各相关平台均完全一致时,隐藏该重复插件行。
  • 只要插件行需要保留,其中与页面相同的版本也会显示,不以空白代替。
  • 仅配置 VDOM 插件时,不自动推断 Vapor 插件支持情况。
  • Vapor 插件和 VDOM 插件分别判断,不再将两者合并为一行。

编译 UTS 内置对象文档时,插件版本未单独标注则沿用对应页面版本的既有规则;这是该类文档的数据兜底规则,并非表格显示时将所有空版本自动补齐。

# 操作系统版本

需要单独说明系统要求时,会增加“系统版本”行。例如,iOS 的 VDOM 版本为 4.25,系统版本为 15.0,表示需要同时满足 HBuilder 4.25 及以上、iOS 15.0 及以上。

系统版本仍使用以下默认值进行简化:

平台 默认系统版本
Android 6.0
iOS 14.0
HarmonyOS 6.0

某平台的系统版本整列为空、仅标注支持,或所有值均不高于默认系统版本且无需额外说明时,不显示相应的系统要求。低于默认系统版本的值不单独展示;仍需说明的值保留在“系统版本”行中。

# 空白与总体支持状态

某个平台在所有条目和环境中均未配置版本时,其平台列会被隐藏;某条目的环境行全部未标注时,也会隐藏该空行。删除空行、空列只是展示上的简化,不意味着支持或不支持。

总体支持状态从原始兼容性数据计算,不根据名称、运行环境文字或删除空行、空列后的可见值推断:

图标状态 含义
绿色对勾 所有参与判断的平台和环境均已标注支持
红色叉号 所有参与判断的平台和环境均为 x
部分支持图标 存在支持、不支持或未标注的混合情况,或信息不足以判断全部支持

状态计算沿用以下约定:

  • 系统版本、Vapor、UTS 插件允许不单独配置,整列为空时不参与判断;有配置时结合各条目内容判断。
  • Web、App 等基础平台的页面版本缺失时,即使平台列最终隐藏,也不能据此判为全部支持。空白与 x 混合时也不能判为全部不支持。
  • CSS 表格的小程序兼容性按需填写:整列未填写时不影响总体状态,填写后参与判断。
  • 没有有效兼容性信息时,可能只显示占位或不生成表格,不代表支持。

旧文档数据在重新生成前可能仍使用二级表头,含义以其模式标签为准。