目录

ASCF接口兼容性指南

兼容性说明

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

开发者可以参考下文方式进行兼容性处理。

[h2]设置最低运行时版本

为便于开发者解决低版本运行时和高版本功能差异问题,开发者可以设置运行时最低版本要求。

  1. 在项目entry目录下打开oh-package.json5文件。

  2. 修改ASCF运行时最低依赖版本。

  3. 工程根目录下打开命令终端,使用如下命令更新依赖。

    ohpm i

在设置完最低运行时版本后,需要对部分接口差异进行适配。如下示例: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);
    }
  });

[h2]版本兼容性差异对比

差异点 2.0.1以前版本 2.0.1及以后版本 影响范围
选定视频的时间长度:duration。 单位:毫秒。 单位:秒。

has.chooseMedia

has.chooseVideo

has.getVideoInfo

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安全区域不包括底部导航栏区域。

has.getWindowInfo

has.getSystemInfoSync

has.getSystemInfo

Marker的iconPath属性。 图片默认以原图尺寸显示。 图片默认基于当前屏幕密度计算缩放尺寸显示。 map组件
默认padding样式。 左右内边距为0。 若size=mini,则左右内边距为8px,若size=default,则左右内边距为14px。 Button组件(当open-type等于getPhoneNumber、share、liveActivity和getPhoneNumberAndRiskLevel时)。