my.ap.open
基础库 2.7.20 或更高版本; 若版本较低,建议采取 兼容处理 。
支小宝客户端 支持
安诊儿客户端 支持
小程序开发者工具: 不支持。
主体: 企业支付宝小程序
相关文档: 、 小程序外跳和内嵌能力导航 、 my.navigatetominiprogram 、 my.ap.openalipayapp
打开指定 url 。
url 为第三方 h5 页面或者支付宝官方给出的链接(以 https:// 或者 alipays:// 开头),且必须在 url 白名单内。
url 白名单包含两部分:
- 默认的全局白名单,包含以
https://render.alipay.com/p/
开头的所有 url(注意:路径https://render.alipay.com/p/s/i开头的不可跳转)。所有小程序都可直接通过 my.ap.openurl 打开此类 url。注意:2024年6月20日起新创建小程序不再支持全局默认白名单。 - 开放范围 内的小程序,可通过开放平台控制台 > openurl 配置 自助申请添加其 url 白名单。申请通过审核以后约 10 分钟生效。
目标 url 可能存在短链接/多次跳转等复杂情况,推荐优先使用 进行检测并生成代码。
开放范围
object object
查看示例
属性 | 类型 | 默认值 | 必填 | 描述 |
---|---|---|---|---|
url | string | - | 是 | 目标地址。以 https:// 或 alipays:// 开头 |
success | function | - | 否 | 调用成功的回调函数 |
fail | function | - | 否 | 调用失败的回调函数 |
complete | function | - | 否 | 调用结束的回调函数(调用成功、失败都会执行) |
fail 回调的参数为 object,error
属性为错误码,errormessage
属性为错误消息。
错误码 | 错误消息 | 凯发app官方网站的解决方案 |
---|---|---|
2 | 参数无效 |
检查传入的 url 格式,必须以 https:// 或 alipays:// 开头。 |
60002 | 跳转目标不在白名单 |
注:基础库 2.8.19 以下版本,目标 url 为网站根目录时,不可省略结尾的 "/"。即 http://a.b.com 应写作 http://a.b.com/。 |
my.ap.openurl({
url: 'https://render.alipay.com/p/404', // 请将 url 替换为有效的页面地址
success: (res) => {
console.log('openurl success', res)
},
fail: (err) => {
console.log('openurl success', err)
}
});
my.ap.openurl({
url: 'https://please.replace.me/page', // 请将 url 替换为后台加白过的跳转地址
success: (res) => {
console.log('openurl success', res)
},
fail: (err) => {
console.log('openurl success', err)
}
});
my.ap.openurl({
url: 'alipays://platformapi/startapp?appid=00000000', // 请将 url 替换为后台加白过的跳转地址
success: (res) => {
console.log('openurl success', res)
},
fail: (err) => {
console.log('openurl success', err)
}
})
-
bug客户端 10.3.0 以下的版本会对传入的 url 先做一次 decode,可能导致 url 的子参数丢失。如果遇到这种情况,可将 url 整体使用 encodeuri 冗余编码一次后再传入。冗余编码的 url 在高版本客户端也能正常打开。
例如:目标链接为 'https://a.com/?c=d' 时, 可使用 my.ap.open }) 打开 -
tip若在后台配置的白名单为 “ https://a.com ” 的形式,则在使用该 api 进行页面跳转且需要带参数时,请把入参 url 传值: “https://a.com/?b=aa”,否则会报错。
q:在 web-view 中如何实现跳转?
在 web-view 中内嵌的 h5 页面本身并不支持 my.ap.openurl ,如果需要调用此 api 实现跳转,可以参考 web-view 示例代码。