当前位置:首页 » 《休闲阅读》 » 正文

支付宝跳转

0 人参与  2024年03月28日 13:25  分类 : 《休闲阅读》  评论

点击全文阅读


基础API跳转
web-view
支付宝小程序想要跳转H5页面,之前只用过 web-view,内嵌H5,这种方式需要配置域名白名单,并且在外链域名的根目录放置校验文件,H5不是自有页面的话,就不能这样去实现。

<web-view    src="https://render.alipay.com/p/s/web-view/index"    onMessage="onmessage"> </web-view>

my.ap.openURL
相对于 web-view,还有一种跳转H5的方式, my.ap.openURL,不需要配置域名,但是非支付宝官网页面只有部分符合开放类目的小程序可以使用,且需要到开放平台配置 openURL 白名单。已知目标页面的 URL 或 scheme,可以使用 my.ap.openURL。
跳转到支付宝官方 H5 页面是不需要配置白名单的。

https://render.alipay.com/p/ 开头的 URL。https://ds.alipay.com/?scheme= 开头的 URL。my.ap.openURL({  // 请将 url 替换为后台加白过的跳转地址  url: 'https://please.replace.me/page',  success: (res) => console.log('openURL success'),  fail: (err) => my.alert({ title: 'openURL fail: ' + JSON.stringify(err) })});

web-view 和 my.ap.openURL 两者比较
两者都有不同的权限要求,下面是从文档拷过来的优劣对比表格,可以对照着选用合适的方式。

跳转方式 优势 劣势
内嵌H5页面,使用 web-view 内嵌H5 流量归属于小程序本身。不限行业,无需审批。可以在H5页面上调用部分小程序的接口能力。 需要完成 H5域名配置
外跳H5页面,使用 my.ap.openURL 外跳H5 无需H5域名配置。可以免审跳转支付宝官方H5运营页面。 流量不再归属于小程序本身。跳转到非支付宝官方页面只针对部分行业开放,并且需要完成平台侧审批流程(官方H5运营页面无此限制)。
my.ap.navigateToAlipayPage
my.ap.navigateToAlipayPage 是用于跳转到支付宝官方业务或运营活动页面的 API。这里利用不需要配置白名单的域名和scheme语法可以实现跳转。

// 支付宝客户端的标准scheme为:alipays://platformapi/startapp?appId=H5App自身的appId// 但如果是某些运营页之类的单独页面,没有自己的appId,// 可以使用Nebula容器的通用浏览器模式appId=20000067 来启动,// 同时将需要打开的H5页面url经过encode编码后设置到url参数内const url = 'https://www.baidu.com';// https://render.alipay.com/p/ 不需要配置白名单// 开了个后门,在不需要配置白名单的链接后面拼上自己的链接const link = 'https://render.alipay.com/p/s/i/?scheme=' + encodeURIComponent('alipays://platformapi/startapp?appId=20000067&url=' + encodeURIComponent(url));my.ap.navigateToAlipayPage({  path: link});

JSAPI跳转
JSAPI 是支付宝钱包提供的丰富的原生API功能,开发者可以使用它们方便调用支付宝提供的各种能力,达到媲美原生应用的体验,如页面跳转,支付功能等。
其中有一个跳转页面的API,pushWindow,用来打开一个新的页面,系统自带转场动画。

注意点
scheme 跳转请尽量使用 location.href 而不是 pushWindow。用 schema 的方式打开页面已经禁止使用,仅用于向下兼容老业务。
与 location.href 的区别,pushWindow 类同于 PC 浏览器的新开标签页,每个 window 都是一个新的标签页,因此原页面仅仅是被压到后台,状态始终保持,JS 也会继续运行。location.href 则是在当前标签页直接跳转。
JSAPI是给H5使用的,而不是支付宝小程序。
现有的功能代码这样使用,应该是因为白名单限制,基础API中的前两种方式都不适合,才被迫使用JSAPI和禁止使用的scheme的。navigateToAlipayPage 是最近新发的文章里才看到可以支持支付宝小程序跳转H5连接(无需添加白名单) 。但是 navigateToAlipayPage 也已经不维护,而是用 openURL 替代。

my.call('pushWindow', {  url: `alipays://platformapi/startapp?appId=20000067&url=${encodeURIComponent(   'https://xxxx')}`});

在小程序直接使用https链接会导致页面访问受限,无法打开,用scheme的方式可以跳过限制。但是不应该这么做,只是单纯的记录一下有这种操作。

startApp
需要申请startApp权限,可以跳转任意URL

my.call('startApp', {  appId: '20000067',  param: {    url: 'https://xxx'  }});

总结
综上,跳转方式需具体情况具体分析,选择能力范围内最适合的方式,尽量不要选择禁用和停止维护的方法。这里不讨论支付宝官方页面,对自己人并没有太多限制。

跳转方式 适用范围
web-view 方便在H5根目录下放置校验文件
my.ap.openURL 在限制类目范围内
my.ap.navigateToAlipayPage 无限制,但是此API已停止维护
pushWindow 无限制,但是pushWindow 禁止使用scheme的方式打开页面
startApp 可以申请到支付宝的startApp权限,很难


点击全文阅读


本文链接:http://zhangshiyu.com/post/87116.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 祖母寿宴,侯府冒牌嫡女被打脸了(沈屿安秦秀婉)阅读 -
  • 《雕花锦年,昭都旧梦》(裴辞鹤昭都)完结版小说全文免费阅读_最新热门小说《雕花锦年,昭都旧梦》(裴辞鹤昭都) -
  • 郊区41号(许洛竹王云云)完整版免费阅读_最新全本小说郊区41号(许洛竹王云云) -
  • 负我情深几许(白诗茵陆司宴)完结版小说阅读_最热门小说排行榜负我情深几许白诗茵陆司宴 -
  • 九胞胎孕妇赖上我萱萱蓉蓉免费阅读全文_免费小说在线看九胞胎孕妇赖上我萱萱蓉蓉 -
  • 为保白月光,侯爷拿我抵了债(谢景安花田)小说完结版_完结版小说全文免费阅读为保白月光,侯爷拿我抵了债谢景安花田 -
  • 陆望程映川上官硕《我的阿爹是带攻略系统的替身》最新章节阅读_(我的阿爹是带攻略系统的替身)全章节免费在线阅读陆望程映川上官硕
  • 郑雅琴魏旭明免费阅读_郑雅琴魏旭明小说全文阅读笔趣阁
  • 头条热门小说《乔书意贺宴临(乔书意贺宴临)》乔书意贺宴临(全集完整小说大结局)全文阅读笔趣阁
  • 完结好看小说跨年夜,老婆初恋送儿子故意出车祸_沈月柔林瀚枫完结的小说免费阅读推荐
  • 热推《郑雅琴魏旭明》郑雅琴魏旭明~小说全文阅读~完本【已完结】笔趣阁
  • 《你的遗憾与我无关》宋怀川冯洛洛无弹窗小说免费阅读_免费小说大全《你的遗憾与我无关》宋怀川冯洛洛 -

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1