兼容
现阶段,小程序的组件和API能力正在逐步完善和丰富,但是老版本的支付宝客户端并不支持这些新增的能力。对此,我们建议开发者在使用新增能力的同时做对应的兼容性处理。
兼容性通过 canIUse 接口判断:我们提供了 my.canIUse
详情 接口里实现兼容性的判断,以下是具体的兼容办法:
兼容新增API
对于新增的 API,可以使用下面的代码来判断当前基础库是否支持该API:
if (my.getLocation) {
my.getLocation();
} else {
// 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示
my.alert({
title: '提示',
content: '当前支付宝版本过低,无法使用此功能,请升级最新版本的支付宝'
});
}
兼容API新增参数和返回值
对于API新增的参数和返回值
if (my.canIUse('getSystemInfo.return.storage')) {
} else {
console.log('当前版本不支持该参数')
}
兼容组件的新增属性
对于组件,新增的属性在旧版本上不会被处理,不过也不会报错。如果希望对属性做降级处理可以使用如下代码。
Page({
data: {
canIUse: my.canIUse('button.open-type.share')
}
})
<button a:if="{{canIUse}}" open-type="share">分享小程序</button>
<button a:else onTap="shareApp">分享小程序</button>