首页 > 其他分享 >兼容

兼容

时间:2024-12-28 16:53:33浏览次数:4  
标签:版本号 微信 兼容 v2 开发者 版本 wx

兼容

小程序的功能不断的增加,但是旧版本的微信客户端并不支持新功能,所以在使用这些新能力的时候需要做兼容。

开发者可以通过以下方式进行低版本的兼容:

1. 版本号比较

微信客户端和小程序基础库的版本号风格为 Major.Minor.Patch(主版本号.次版本号.修订版本号)。

文档中会在组件,API等页面描述中带上各个功能所要求的最低基础库版本号。

开发者可以在小程序中通过调用 wx.getAppBaseInfo 获取到当前小程序运行的基础库的版本号。通过版本号比较的方式进行运行低版本兼容逻辑。

版本号比较适用于所有情况。部分场景下也可以使用后面提到的方法完成。

<=2.20.1 的基础库请使用 wx.getSystemInfo]((wx.getSystemInfo)) 或者 wx.getSystemInfoSync 获取基础库版本

注意:不可以直接使用字符串比较的方法进行版本号比较。例如 '2.29.1' > '2.3.0' 是 false 的

版本号比较可以参考以下代码:

function compareVersion(v1, v2) {
  v1 = v1.split('.')
  v2 = v2.split('.')
  const len = Math.max(v1.length, v2.length)

  while (v1.length < len) {
    v1.push('0')
  }
  while (v2.length < len) {
    v2.push('0')
  }

  for (let i = 0; i < len; i++) {
    const num1 = parseInt(v1[i])
    const num2 = parseInt(v2[i])

    if (num1 > num2) {
      return 1
    } else if (num1 < num2) {
      return -1
    }
  }

  return 0
}

compareVersion('1.11.0', '1.9.9') // 1
const version = wx.getAppBaseInfo().SDKVersion

if (compareVersion(version, '1.1.0') >= 0) {
  wx.openBluetoothAdapter()
} else {
  // 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示
  wx.showModal({
    title: '提示',
    content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
  })
}

2. API 存在判断

对于新增的 API,可以通过判断该API是否存在来判断是否支持用户使用的基础库版本。例如:

if (wx.openBluetoothAdapter) {
  wx.openBluetoothAdapter()
} else {
  // 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示
  wx.showModal({
    title: '提示',
    content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
  })
}

3. wx.canIUse

除了直接通过版本号判断,也可以通过 wx.canIUse 来判断是否可以在该基础库版本下直接使用。例如:

API 参数或返回值

对于 API 的参数或者返回值有新增的参数,可以判断用以下代码判断。

wx.showModal({
  success: function(res) {
    if (wx.canIUse('showModal.success.cancel')) {
      console.log(res.cancel)
    }
  }
})

组件

对于组件,新增的组件或属性在旧版本上不会被处理,不过也不会报错。如果特殊场景需要对旧版本做一些降级处理,可以这样子做。

Page({
  data: {
    canIUse: wx.canIUse('cover-view')
  }
})
<video controls="{{!canIUse}}">
  <cover-view wx:if="{{canIUse}}">play</cover-view>
</video>

canIUse 的数据文件随基础库进行更新,新版本中的新功能可能出现遗漏的情况,建议开发者在使用时提前测试。

设置最低基础库版本

需要 iOS 6.5.8 / 安卓 6.5.7 及以上版本微信客户端支持

为便于开发者解决低版本基础库无法兼容小程序的新功能的问题,开发者可设置小程序最低基础库版本要求。

开发者可以登录小程序管理后台,进入「设置 - 基本设置 - 基础库最低版本设置」进行配置。在配置前,开发者可查看近 30 天内访问当前小程序的用户所使用的基础库版本占比,以帮助开发者了解当前用户使用的情况。

img

设置后,若用户基础库版本低于设置值,则无法正常打开小程序,并提示用户更新客户端版本。

img

标签:版本号,微信,兼容,v2,开发者,版本,wx
From: https://www.cnblogs.com/AtlasLapetos/p/18624491

相关文章

  • SY8089 兼容代替 MT3520B SOT23-5 5.5V、2A、2MHz,同步降压转换器
    产品描述SY8089是一种高效的,直流到直流的降压开关调节器,能够提供高达2A的输出电流。该设备的工作电压范围为从2.6V到5.5V的输入电压范围,并提供从0.6V到VIN的输出电压。在2MHz的固定频率下工作,允许使用小的外部组件,如陶瓷输入和输出帽,以及小的电感器,同时仍然提供低输出波纹。这......
  • 想要寻找兼容性强的诱骗取电协议芯片 ? 看这篇文章就可以了
    随着USBType-C接口得普及和快充协议得不断发展,电子设备领域的充电体验需求日益提升,汇铭达XSP15取电协议芯片作为这一领域的佼佼者,凭借着其独特的技术优势和广泛的应用场景,正在逐步改变我们的充电方式。 XSP15芯片简介XSP15可通过UART串口发送电压/电流信息,可供外部芯......
  • Edge浏览器添加网址永久使用ie兼容模式
    参考https://bbs.pcbeta.com/viewthread-1990717-1-1.html实现下载文件解压后运行Install.cmdEdgeToIE.zipInstall.cmd@ECHOOFFSETLOCALEnableDelayedExpansionTITLE强制网站使用InternetExplorer打开PUSHD%~dp0&CD/d"%~dp0"%1%2mshtavbscript:createobject(......
  • 兼容性预览及边框、阴影、背景属性
    兼容性-webkit- :chrome(谷歌) Safari(苹果)-moz- :firefox(火狐)-o- :opera(欧朋)-ms- :IE边框圆角半径:border-radius   一个用于设置所有四个边框-*-半径属性的速记border-top-left-radius :左 上border-top-right-radius :右 上border-b......
  • H5流媒体播放器EasyPlayer.js遇到播放海康RTSP流时客户端连接兼容问题
    在选择好用的播放器时,要确保播放器支持H.265的硬件解码。例如,EasyPlayer.jsH5播放器支持MSEH264和H265硬解码,以及WebCodec、H264和H265硬解码,这有助于提升视频播放的性能和降低CPU使用率。遇到播放海康RTSP流时客户端连接兼容问题时,应该如何处理?问题说明程序兼容性的问题,如......
  • 兼容
    兼容Skyline目前各端的支持情况见下表平台支持版本备注安卓8.0.33+支持iOS8.0.34+支持开发者工具Stable1.06.2307260+支持Windows未支持规划中Mac未支持规划中企业微信未支持开发中可以看出,小程序若不是只跑在最新版本的微信移动端,......
  • 【YashanDB知识库】XMLAGG方法的兼容
    本文内容来自YashanDB官网,原文内容请见https://www.yashandb.com/newsinfo/7802943.html?templateId=1718516【关键字】XMLAGG方法的兼容【问题描述】崖山数据库不支持将XMLAGG相关的函数内容,需要替换成支持的功能函数WM_CONCAT(T.COLUMN_NAME)【问题原因分析】崖山数据库......
  • 国产化生态再升级!鼎捷新一代PLM与人大金仓完成产品兼容性互认证
    兼容性认证是确保不同企业的产品在特定环境下协同工作的关键步骤,对于保障系统的稳定性、可靠性至关重要。对用户而言,兼容性认证不但拥有更加流畅、安全的使用体验,更是代表着服务的连续性和高效性。此外,作为推动国产软硬件生态成熟和自主可控能力的关键环节,企业间的产品兼容互认......
  • 我的世界服务器搭建教程 兼容Paper核心 兼容Spigot核心
    注意:该服务器是基于Paper1.20.1核心进行初始化,默认兼容spigot插件。一、配置JDK环境二、服务器核心配置三、服务器启动四、加入游戏现在搭建出来的是原版生存服务器,接下来需要进行安装各种插件,包含登录认证;经济;商店;圈地;传送;多地图等可玩性插件。具体内容请看下一章。......
  • 电磁兼容(EMC):LVDS接口电路EMC设计详解
    目录1LVDS接口简介2LVDS接口工作原理3LVDS接口EMC优点4PCB设计要点1LVDS接口简介LVDS接口,即LowVoltageDifferentialSignaling,是一种低压差分信号技术接口。它又称为RS-644总线接口,是美国NS公司(美国国家半导体公司)为克服以TTL电平方式传输宽带高码率数据时功耗......