支付宝小程序API 小程序跳转
my.navigateBackMiniProgram
跳转回上一个小程序,只有当另一个小程序跳转到当前小程序时才会能调用成功。 相关问题请参见下文 小程序跳转 FAQ。
示例代码
my.navigateBackMiniProgram({
extraData:{
"data1":"test"
},
success: (res) => {
console.log(JSON.stringify(res))
},
fail: (res) => {
console.log(JSON.stringify(res))
}
});
入参
Object 类型,属性如下:
属性 | 类型 | 必填 | 描述 |
---|---|---|---|
extraData | Object | 否 | 需要传递给目标小程序的数据,目标小程序可在 App.onLaunch()、App.onShow() 中获取到这份数据。 |
success | Function | 否 | 调用成功的回调函数。 |
fail | Function | 否 | 调用失败的回调函数。 |
complete | Function | 否 | 调用结束的回调函数(调用成功、失败都会执行)。 |
my.navigateToMiniProgram
跳转到其他小程序。
相关问题请参见下文 小程序跳转 FAQ。
示例代码
my.navigateToMiniProgram({
appId: 'xxxx',
path: 'pages/index/index',
extraData:{
"data1":"test"
},
success: (res) => {
console.log(JSON.stringify(res))
},
fail: (res) => {
console.log(JSON.stringify(res))
}
});
入参
Object 类型,属性如下:
属性 | 类型 | 必填 | 描述 |
---|---|---|---|
appId | String | 是 | 要跳转的目标小程序 appId。 |
path | String | 否 | 打开的页面路径,如果为空则打开首页。 |
extraData | Object | 否 | 需要传递给目标小程序的数据,为键值对的格式,数值的类型为字符串。目标小程序可在 App.onLaunch() 、 App.onShow() 中获取到这份数据。 |
success | Function | 否 | 调用成功的回调函数。 |
fail | Function | 否 | 调用失败的回调函数。 |
complete | Function | 否 | 调用结束的回调函数(调用成功、失败都会执行)。 |
常见问题 FAQ
my.navigateToMiniProgram 的 extraData 的参数在哪里获取? extraData 是否可以添加多个参数?自定义参数中间使用的什么符号进行拼接?
目标小程序可在 App.onLaunch( )、App.onShow( ) 中获取到这份数据。
extraData 可以添加多个参数,自定义参数都是从这里传入的。
自定义参数中间使用 & 符号进行拼接。
小程序如何跳转收藏有礼页面?
可参考如下代码。
my.navigateToMiniProgram({
appId: '2018122562686742',//收藏有礼小程序的appid,固定值请勿修改
path: 'pages/index/index?originAppId=2017082508366123&newUserTemplate=20190130000000119123',//收藏有礼跳转地址和参数
success: (res) => {
// 跳转成功
my.alert({ content: 'success' });
},
fail: (error) => {
// 跳转失败
my.alert({ content: 'fail' });
}
});
小程序跳转 FAQ
小程序如何跳转到 H5、其他小程序、已关联的生活号、生活号文章、部分支付宝官方业务页面?
小程序之间支持互相跳转。小程序支持跳转到内嵌型 H5 、关联的生活号、生活号文章页面及部分支付宝官方业务页面。小程序不支持跳转到其他 App(例如淘宝、钉钉、高德等 App)。如下图所示。
小程序A跳转 | 是否支持 | 使用限制 | 实现方法 |
---|---|---|---|
H5 | 是 | web-view 内嵌式跳转 H5,仅限企业账号小程序使用。 | 跳转小程序内嵌式 H5 页面可通过 web-view H5页面承载组件实现在小程序内打开 H5页面。(仅限企业账号小程序使用)。 |
小程序B(小程序A、小程序B由同一主体账户创建) | 是 | 同主体小程序可直接互跳。支付宝客户端 10.1.10 及以上版本支持。 | 使用 my.navigateToMiniProgramAPI 实现跳转。 |
小程序C(小程序A、小程序C由不同一主体账户创建) | 是 | 不同主体小程序互跳,需对方在 小程序管理后台,设置 > 基础设置 > 小程序相互跳转 中设置为“允许所有小程序跳转”或“指定小程序跳转”支付宝客户端 10.1.25 及以上版本支持。 | 使用 my.navigateToMiniProgramAPI 实现跳转。 |
关联的生活号 | 是 | 小程序需与生活号进行关联绑定。 | 使用 life-follow 组件和 lifestyle 组件,可跳转至已和当前小程序关联的生活号。 |
生活号文章页面/部分支付宝官方业务页面 | 是 | 仅支持跳转到部分支付宝官方业务或运营活动页面。可跳转域名以 https://render.alipay.com/p 开头的生活号文章页面。 |
请参见:my.ap.navigateToAlipayPage |
其他 APP | 否 | - | - |
H5、小程序、生活号、其他 App 如何跳转到小程序?
小程序之间可以互相跳转。关联的生活号也可以跳转到小程序。生活号文章页面、支付宝内的 H5 页面、其他 App 可通过 scheme 拼接的方式,打开支付宝小程序页面。如下图所示。
跳转到小程序A | 是否支持 | 使用限制 | 实现方法 |
---|---|---|---|
小程序B | 是 | 当小程序A跳转至小程序B,小程序B再跳转到当前小程序A时才会调用成功。 | my.navigateBackMiniProgram |
关联的生活号 | 是 | 小程序需与生活号进行关联绑定。 | |
其他 App 或 外部 H5 | 是 | 支付宝小程序不限制来自 H5 页面或者其他 APP 的跳转,只要 H5 页面或者其他 App 支持外跳小程序即可跳转。至少需要上架一次小程序,才能使用该跳转方式测试。没有上架的小程序无法被跳转。(即体验版小程序不能使用该方式跳转。) | 其他 APP 或 外部 H5 跳转小程序目前有两种方式可以跳转:Scheme 拼接方式: 前缀https://ds.alipay.com/?scheme= 后拼接 Scheme alipays://platformapi/startapp?appId=xxx&page=x/y/z&query=xx%3dxx 具体实现方式请参考 从 Scheme 传参唤起小程序。2. 小程序二维码 方式:生成小程序二维码,获取二维码包含的内容链接,使用该内容链接跳转。例如 小程序官方示例 的二维码链接为: https://qr.alipay.com/s6x09210ka4u33onnn3sud0 |
生活号文章页面 | 是 | 支付宝小程序不限制来自生活号文章 H5 页面的跳转。 | 可在生活号文章 H5页面内嵌入小程序跳转链接,实现方式与上方“其他 App 或外部 H5”完全相同。 |
商户会员卡/支付宝卡包与小程序之间如何相互跳转?
商户会员卡/支付宝卡包 如何跳转小程序?
从 商户会员卡/支付宝卡包 跳转至小程序可使用 Scheme 页面内跳转协议, alipays://platformapi/startApp?appId=xxx&page=x/yz
,对应相应的 appId
和 page
名称即可。
小程序如何跳转至商户会员卡/支付宝卡包?
小程序跳转商户会员卡/支付宝卡包可使用以下接口:
接口名称 | 接口描述 |
---|---|
my.openCardList | 打开支付宝卡包中的“卡”列表 |
my.openMerchantCardList | 打开当前用户领取某个商户的“卡”列表 |
my.openCardDetail | 打开当前用户领取某张卡的详情页 |
my.openVoucherList | 打开支付宝卡包中的“券”列表 |
my.openMerchantVoucherList | 打开当前用户领取某个商户的“券”列表 |
my.openVoucherDetail | 打开当前用户领取某张券的详情页(非口碑券) |
my.openKBVoucherDetail | 打开当前用户领取某张券的详情页(口碑券) |
my.openTicketList | 打开支付宝卡包中的“票”列表 |
my.openMerchantTicketList | 打开当前用户领取某个商户的“票”列表 |
my.openTicketDetail | 打开当前用户领取某张票的详情页 |
支付宝小程序相互跳转有个数限制吗?
支付宝小程序相互跳转无个数限制,只要满足条件是允许跳转的就可以进行跳转。
小程序跳转其他页面为何报 query string length is more than %d,please do not use query string?
此错误是由于页面 query 字段过长导致,建议将数据设置到全局或者缓存中。
小程序如何跳转收藏有礼页面?
可参考如下代码。
my.navigateToMiniProgram({
appId: '2018122562686742',//收藏有礼小程序的appid,固定值请勿修改
path: 'pages/index/index?originAppId=2017082508366123&newUserTemplate=20190130000000119123',//收藏有礼跳转地址和参数
success: (res) => {
// 跳转成功
my.alert({ content: 'success' });
},
fail: (error) => {
// 跳转失败
my.alert({ content: 'fail' });
}
});