支付宝小程序添加到支付宝首页应用列表
我们访问支付宝小程序开发官方文档时,可以发现官方给出的解释:
1.只能在10.1.95以上,小程序自带的导航栏菜单里,进行操作。
2.目前还没有提供对应的API进行监听触发行为。
对于第一点:我们以蚂蚁庄园为例
当我们的蚂蚁庄园为添加到首页小程序列表时,导航栏上会多出添加到首页的图标入口。
点击后会拉起添加首页到抽屉,我们点击确认即可。
以上都是支付宝小程序自带的功能。
关于第二点,没有相关API判断,其实也是有的,只不过还未对外透出
相关方法可参考以下代码
// 判断小程序是否在首页小程序列表
static isInHome() {
return new Promise((resolve) => {
//判断是否有添加到首页的api 返回1是已经添加首页或者报错,返回2是没有添加到首页 返回3是报错
if (my.canIUse("ap.isAppInMyApps")) {
my.ap.isAppInMyApps({
appId: "xxxxxxx", //自己小程序对应的appId
success: (res) => {
resolve(res.isAppInMyApps);
},
fail: (res) => {
resolve(true);
},
});
} else {
resolve(true);
}
})
}
//判断是否有添加到首页小程序列表的条件
static handleCanAddAppToMyApps() {
return new Promise((resolve, reject) => {
if (my.canIUse('ap.canAddAppToMyApps')) {
my.ap.canAddAppToMyApps({
appId: 'xxxxxxxx',
success: resolve,
fail: reject
})
} else {
reject();
}
});
}
// 拉起小程序添加到首页的抽屉(自带的抽屉有疲劳度设置)
static handleAddAppToMyApps() {
return new Promise((resolve, reject) => {
if (my.canIUse('ap.addAppToMyApps')) {
my.ap.addAppToMyApps({
appId: 'xxxxxxxxx',
success: resolve,
fail: res => {
if (res.error !== 60003) {
reject();
}
resolve();
}
})
} else {
reject();
}
});
}
// 先判断能不能使用,在拉起添加到抽屉
static async doAlipayFollow() {
try {
await AlipayDoFollow.handleCanAddAppToMyApps();
await AlipayDoFollow.handleAddAppToMyApps();
return true;
} catch (err) {
throw err;
}
}