支付宝小程序框架 兼容
小程序组件和 API 能力正在逐步完善和丰富,但是老版本支付宝客户端并不支持这些新增能力,因此建议开发者做对应的兼容性处理。
可调用接口 my.canIUse(String) 判断当前小程序的 API、入参或返回值、组件、属性等在当前版本、当前系统是否支持。
新增 API 兼容性处理
对于新增 API,可以参照下面的代码来判断当前基础库是否支持该 API:
if (my.getLocation) {
my.getLocation();
} else {
// 如果希望用户在最新版本的客户端上体验您的小程序,可以这样提示
my.alert({
title: '提示',
content: '当前支付宝版本过低,无法使用此功能,请升级最新版本支付宝'
});
}
API 新增参数兼容性处理
if (my.canIUse('getLocation.object.type')) {
// ...
} else {
console.log('当前版本不支持该参数')
}
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>
设置最低基础库版本
为解决低版本基础库无法兼容小程序新功能的问题,开发者可设置小程序最低基础库版本要求。
从 开发中心 > 小程序应用 > 我的小程序,进入小程序详情页,点击左侧栏 设置,在 基础设置 栏,可设置小程序的最低基础库版本。若小程序用户使用的基础库版本低于设置的最低版本要求,则无法正常使用小程序,并将提示用户更新支付宝版本;设置版本号后,小程序需重新发版才会生效。
点击 最低基础库版本, 对应的 设置 按钮,可看到不同的最低基础库版本对应的受影响用户 UV 占比,即近 30 天内访问小程序的用户的基础库版本小于所选版本的占比。开发者可据此设置小程序的最低基础库版本。
选中需设置为最低基础库版本的版本号,点击 确定 按钮,即设置成功。
此时,最低基础库版本 设置项对应的 状态 变为 已设置。
常见问题
Q:小程序 API 如果不兼容该怎么处理?
A:可以使用 my.canIUse(String) 做兼容判断,如果需要可以使用 my.ap.updateAlipayClient 对支付宝端进行提示升级。