日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

支付宝跳转

發布時間:2024/1/18 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 支付宝跳转 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基礎API跳轉
web-view
支付寶小程序想要跳轉H5頁面,之前只用過 web-view,內嵌H5,這種方式需要配置域名白名單,并且在外鏈域名的根目錄放置校驗文件,H5不是自有頁面的話,就不能這樣去實現。

<web-viewsrc="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 流量歸屬于小程序本身。不限行業,無需審批??梢栽贖5頁面上調用部分小程序的接口能力。 需要完成 H5域名配置
外跳H5頁面,使用 my.ap.openURL 外跳H5 無需H5域名配置??梢悦鈱徧D支付寶官方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權限,很難

總結

以上是生活随笔為你收集整理的支付宝跳转的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。