marinofaggiana 4 年之前
父节点
当前提交
309c7a0aa0
共有 1 个文件被更改,包括 23 次插入5 次删除
  1. 23 5
      iOSClient/Login/NCLoginWeb.swift

+ 23 - 5
iOSClient/Login/NCLoginWeb.swift

@@ -125,7 +125,7 @@ class NCLoginWeb: UIViewController {
 
 extension NCLoginWeb: WKNavigationDelegate {
     
-    public func webView(_ webView: WKWebView, didReceiveServerRedirectForProvisionalNavigation navigation: WKNavigation!) {
+    func webView(_ webView: WKWebView, didReceiveServerRedirectForProvisionalNavigation navigation: WKNavigation!) {
         
         guard let url = webView.url else { return }
         
@@ -155,7 +155,20 @@ extension NCLoginWeb: WKNavigationDelegate {
         }
     }
     
-    public func webView(_ webView: WKWebView, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
+    func webView(_ webView: WKWebView, didCommit navigation: WKNavigation!) {
+        
+    }
+    
+    func webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: Error) {
+        
+        let alertController = UIAlertController(title: NSLocalizedString("_error_", comment: ""), message: error.localizedDescription, preferredStyle: .alert)
+                    
+        alertController.addAction(UIAlertAction(title: NSLocalizedString("_yes_", comment: ""), style: .default, handler: { action in }))
+        
+        self.present(alertController, animated: true)
+    }
+    
+    func webView(_ webView: WKWebView, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
         if let serverTrust = challenge.protectionSpace.serverTrust {
             completionHandler(Foundation.URLSession.AuthChallengeDisposition.useCredential, URLCredential(trust: serverTrust))
         } else {
@@ -163,7 +176,12 @@ extension NCLoginWeb: WKNavigationDelegate {
         }
     }
     
-    public func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
+    func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
+        
+        if let data = navigationAction.request.httpBody {
+            let str = String(decoding: data, as: UTF8.self)
+            print(str)
+        }
         
         decisionHandler(.allow)
 
@@ -194,11 +212,11 @@ extension NCLoginWeb: WKNavigationDelegate {
         */
     }
     
-    public func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
+    func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
         print("didStartProvisionalNavigation");
     }
     
-    public func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
+    func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
         activityIndicator.stopAnimating()
         print("didFinishProvisionalNavigation");