func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
print("scheme -------------- :\(navigationAction.request.url?.scheme)")
print("schemeurl -------------- :\(navigationAction.request.url)")
//獲取當前的url
let curUrl = navigationAction.request.url
let newcUrUrl = curUrl?.absoluteString ?? ""
// 去除原有的URL回調地址,換成自己的配置
if (newcUrUrl.hasPrefix("https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb")) {
let dic = navigationAction.request.allHTTPHeaderFields
let refer = dic?["Referer"] ?? ""
if refer != "dev.maas.chelaile.net.cn://"{
decisionHandler(WKNavigationActionPolicy.cancel)
//對微信的url 進行處理 拼接 App 的標識
var lastURL = curUrl?.absoluteString ?? ""
let req = NSMutableURLRequest(url: URL(string: lastURL)!)
req.httpMethod = "GET"
req.setValue("dev.maas.chelaile.net.cn://", forHTTPHeaderField: "Referer")
self._webView?.load(req as URLRequest)
return;
}
decisionHandler(WKNavigationActionPolicy.allow)
}else{
decisionHandler(WKNavigationActionPolicy.allow)
}
if navigationAction.request.url?.scheme == "tel" {
//吊起撥打電話
UIApplication.shared.openURL(navigationAction.request.url!);
decisionHandler(WKNavigationActionPolicy.cancel)
}
let scheme = navigationAction.request.url?.scheme ?? ""
if (scheme != "https" && scheme != "http") {
if scheme == "weixin" {
//調用微信
UIApplication.shared.open(navigationAction.request.url!, options: [UIApplication.OpenExternalURLOptionsKey.universalLinksOnly:false]) { flag in }
return
}
return
}
}
Swift H5 中 調起微信支付
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
推薦閱讀更多精彩內容
- 今天公司產品過來交了個需求,App內部加載第三方的H5頁面需要調起微信和支付寶進行支付,但是不是調起原生中集成的,...
- 由于公司的業務需要,為了節省申請開通微信支付的時間和人力,公司決定使用微信h5支付。這樣即節省了時間,同時以后所有...
- 最近碰到一個需要用H5支付的商城,痛苦了一整天,查找了N多的資料,終于還是苦盡甘來了。話不多說,干貨來了。我用的是...
- 項目開發遇到web頁調起支付的功能,參考了網上很多資料,在此做個筆記,便于記憶,同時也希望幫助到遇到相同問題的小伙...