兼容

现阶段,小程序的组件和API能力正在逐步完善和丰富,但是老版本的支付宝客户端并不支持这些新增的能力。对此,我们建议开发者在使用新增能力的同时做对应的兼容性处理。

兼容性通过 canIUse 接口判断:我们提供了 my.canIUse 详情 接口里实现兼容性的判断,以下是具体的兼容办法:

兼容新增API

对于新增的 API,可以使用下面的代码来判断当前基础库是否支持该API:

  1. if (my.getLocation) {
  2. my.getLocation();
  3. } else {
  4. // 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示
  5. my.alert({
  6. title: '提示',
  7. content: '当前支付宝版本过低,无法使用此功能,请升级最新版本的支付宝'
  8. });
  9. }

兼容API新增参数和返回值

对于API新增的参数和返回值

  1. if (my.canIUse('getSystemInfo.return.storage')) {
  2. } else {
  3. console.log('当前版本不支持该参数')
  4. }

兼容组件的新增属性

对于组件,新增的属性在旧版本上不会被处理,不过也不会报错。如果希望对属性做降级处理可以使用如下代码。

  1. Page({
  2. data: {
  3. canIUse: my.canIUse('button.open-type.share')
  4. }
  5. })
  1. <button a:if="{{canIUse}}" open-type="share">分享小程序</button>
  2. <button a:else onTap="shareApp">分享小程序</button>

原文: https://docs.alipay.com/mini/framework/compatibility