为降低多平台间的兼容性差异,助力开发者实现小程序生态下的高效迁移与开发,ASCF框架制定了增强版本管理策略。随着ASCF运行时能力的持续迭代,部分API可能存在版本间差异,建议开发者在集成过程中注意做好兼容性处理。现有旧版本功能将维持稳定,新版本则在兼容既有能力的基础上,提供功能增强与优化。
开发者可以参考下文方式进行兼容性处理。
为便于开发者解决低版本运行时和高版本功能差异问题,开发者可以设置运行时最低版本要求。

在设置完最低运行时版本后,需要对部分接口差异进行适配。如下示例:has.chooseMedia接口返回值属性duration在ASCF运行时2.0.1版本之前单位为毫秒,2.0.1及以后版本单位为秒。
has.chooseMedia({
count: 1,
mediaType: ['video'],
sourceType: ['album'],
success: (res) => {
// 如果设置最低运行时版本为^2.0.0,则选择视频的时长单位是秒
const videoDuration = res.tempFiles[0].duration;
console.info('chooseMedia success, videoDuration:', videoDuration);
}
}); | 差异点 | 2.0.1以前版本 | 2.0.1及以后版本 | 影响范围 |
|---|---|---|---|
| 选定视频的时间长度:duration。 | 单位:毫秒。 | 单位:秒。 | |
| MapContext.toScreenLocation返回值。 | 单位:px。 | 单位:vp。 | MapContext.toScreenLocation |
| 自定义设置请求的请求头:header。 | 以第一个content-type值解析处理data数据。 | 按最后一个content-type值解析处理data数据。 | has.request |
| TLS加密协议。 | 不支持TLS 1.2加密协议。 | 支持TLS 1.2加密协议。 | has.request |
| 监听隐私协议变化事件的返回值。 | 为JSON格式的string,需反序列化。 | 为Object类型。 | has.onPrivacyStateChanged |
| 在设备竖屏正方向下的安全区域:safeArea。 | safeArea安全区域包括底部导航栏区域,如果需要计算底部导航栏的避让高度,可以使用indicatorHeight字段。 | safeArea安全区域不包括底部导航栏区域。 | |
| Marker的iconPath属性。 | 图片默认以原图尺寸显示。 | 图片默认基于当前屏幕密度计算缩放尺寸显示。 | map组件 |
| 默认padding样式。 | 左右内边距为0。 | 若size=mini,则左右内边距为8px,若size=default,则左右内边距为14px。 | Button组件(当open-type等于getPhoneNumber、share、liveActivity和getPhoneNumberAndRiskLevel时)。 |