Bladeren bron

完成弹出框与网页的交互。

Ray Zhang 7 jaren geleden
bovenliggende
commit
ee88cfb6aa

+ 27 - 10
RedAnt CRM/APEX CRM/APEX CRM/RAWKWebView.m

@@ -8,6 +8,7 @@
 
 #import "RAWKWebView.h"
 #import "RAConvertor.h"
+#import "RAUtils.h"
 
 @interface RAWKWebView ()
 @property (strong, nonatomic)   WKWebView                   *wkwebView;
@@ -123,16 +124,16 @@
 //    UIViewController* vc=[self getViewController];
 //    [vc presentViewController:alert animated:YES completion:nil];
 }
--(UIViewController*) getViewController
-{
-    for (UIView* next = [self superview]; next; next = next.superview) {
-        UIResponder* nextResponder = [next nextResponder];
-        if ([nextResponder isKindOfClass:[UIViewController class]]) {
-            return (UIViewController*)nextResponder;
-        }
-    }
-    return nil;
-}
+//-(UIViewController*) getViewController
+//{
+//    for (UIView* next = [self superview]; next; next = next.superview) {
+//        UIResponder* nextResponder = [next nextResponder];
+//        if ([nextResponder isKindOfClass:[UIViewController class]]) {
+//            return (UIViewController*)nextResponder;
+//        }
+//    }
+//    return nil;
+//}
 
 
 #pragma mark - WKScriptMessageHandler
@@ -205,6 +206,22 @@
 }
 - (void)handlePostDialog:(NSDictionary *)params
 {
+    UIAlertController *alert = [UIAlertController alertControllerWithTitle:params[@"title"] message:params[@"message"] preferredStyle:UIAlertControllerStyleAlert];
+    
+    NSArray* arr_btns=params[@"buttons"];
+    for(int i=0;i<arr_btns.count;i++)
+    {
+        NSDictionary* button = arr_btns[i];
+        [alert addAction:[UIAlertAction actionWithTitle:button[@"text"] style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
+            NSString *jsStr = [NSString stringWithFormat:params[@"callback"],button[@"id"]];
+            [self.wkwebView evaluateJavaScript:jsStr completionHandler:^(id _Nullable result, NSError * _Nullable error) {
+                NSLog(@"%@----%@",result, error);
+            }];
+        }]];
+    }
+        UIViewController* vc=[RAUtils getViewController:self];
+        [vc presentViewController:alert animated:YES completion:nil];
+    
 }
 - (void)handlePhoto:(NSDictionary *)params
 {

BIN
RedAnt CRM/RedAnt CRM.xcworkspace/xcuserdata/ray.xcuserdatad/UserInterfaceState.xcuserstate


+ 134 - 38
RedAnt CRM/RedAnt CRM.xcworkspace/xcuserdata/ray.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -10,11 +10,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "APEX CRM/APEX CRM/RAWKWebView.m"
-            timestampString = "564994508.035634"
+            timestampString = "564995844.42844"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "275"
-            endingLineNumber = "275">
+            startingLineNumber = "292"
+            endingLineNumber = "292">
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
@@ -24,11 +24,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "APEX CRM/APEX CRM/RAWKWebView.m"
-            timestampString = "564994508.03631"
+            timestampString = "564995844.429003"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "275"
-            endingLineNumber = "275">
+            startingLineNumber = "292"
+            endingLineNumber = "292">
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
@@ -38,11 +38,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "APEX CRM/APEX CRM/RAWKWebView.m"
-            timestampString = "564994508.036733"
+            timestampString = "564995844.429391"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "275"
-            endingLineNumber = "275">
+            startingLineNumber = "292"
+            endingLineNumber = "292">
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
@@ -52,11 +52,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "APEX CRM/APEX CRM/RAWKWebView.m"
-            timestampString = "564994508.037232"
+            timestampString = "564995844.429754"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "275"
-            endingLineNumber = "275">
+            startingLineNumber = "292"
+            endingLineNumber = "292">
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
@@ -66,11 +66,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "APEX CRM/APEX CRM/RAWKWebView.m"
-            timestampString = "564994508.037836"
+            timestampString = "564995844.4301111"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "275"
-            endingLineNumber = "275">
+            startingLineNumber = "292"
+            endingLineNumber = "292">
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
@@ -80,7 +80,7 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "APEX CRM/APEX CRM/WKWebTestViewController.m"
-            timestampString = "564994508.038339"
+            timestampString = "564995844.430552"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "28"
@@ -96,7 +96,7 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "APEX CRM/APEX CRM/WKWebTestViewController.m"
-            timestampString = "564994508.038427"
+            timestampString = "564995844.430612"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "22"
@@ -112,11 +112,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "APEX CRM/APEX CRM/RAWKWebView.m"
-            timestampString = "564994508.038548"
+            timestampString = "564995844.430666"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "236"
-            endingLineNumber = "236"
+            startingLineNumber = "253"
+            endingLineNumber = "253"
             landmarkName = "-webView:didFinishNavigation:"
             landmarkType = "7">
          </BreakpointContent>
@@ -128,11 +128,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "APEX CRM/APEX CRM/RAWKWebView.m"
-            timestampString = "564994508.039088"
+            timestampString = "564995844.431003"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "251"
-            endingLineNumber = "251"
+            startingLineNumber = "268"
+            endingLineNumber = "268"
             landmarkName = "-webView:didFailNavigation:withError:"
             landmarkType = "7">
          </BreakpointContent>
@@ -144,11 +144,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "APEX CRM/APEX CRM/RAWKWebView.m"
-            timestampString = "564994508.039415"
+            timestampString = "564995844.431322"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "66"
-            endingLineNumber = "66"
+            startingLineNumber = "67"
+            endingLineNumber = "67"
             landmarkName = "-LoadFromURL:"
             landmarkType = "7">
          </BreakpointContent>
@@ -160,11 +160,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "APEX CRM/APEX CRM/RAWKWebView.m"
-            timestampString = "564994508.0397871"
+            timestampString = "564995844.4316241"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "256"
-            endingLineNumber = "256"
+            startingLineNumber = "273"
+            endingLineNumber = "273"
             landmarkName = "-webView:decidePolicyForNavigationAction:decisionHandler:"
             landmarkType = "7">
          </BreakpointContent>
@@ -176,11 +176,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "APEX CRM/APEX CRM/RAWKWebView.m"
-            timestampString = "564994508.040217"
+            timestampString = "564995844.4319299"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "258"
-            endingLineNumber = "258"
+            startingLineNumber = "275"
+            endingLineNumber = "275"
             landmarkName = "-webView:decidePolicyForNavigationAction:decisionHandler:"
             landmarkType = "7">
          </BreakpointContent>
@@ -192,11 +192,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "APEX CRM/APEX CRM/RAWKWebView.m"
-            timestampString = "564994508.04062"
+            timestampString = "564995844.432236"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "272"
-            endingLineNumber = "272"
+            startingLineNumber = "289"
+            endingLineNumber = "289"
             landmarkName = "-webView:decidePolicyForNavigationResponse:decisionHandler:"
             landmarkType = "7">
          </BreakpointContent>
@@ -208,14 +208,110 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "APEX CRM/APEX CRM/RAWKWebView.m"
-            timestampString = "564994541.6262079"
+            timestampString = "564995844.432531"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "219"
-            endingLineNumber = "219"
+            startingLineNumber = "236"
+            endingLineNumber = "236"
             landmarkName = "-handleNavigation:"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "APEX CRM/APEX CRM/RAWKWebView.m"
+            timestampString = "564995844.4329"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "209"
+            endingLineNumber = "209"
+            landmarkName = "-handlePostDialog:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "APEX CRM/APEX CRM/RAWKWebView.m"
+            timestampString = "564995844.433329"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "217"
+            endingLineNumber = "217"
+            landmarkName = "-handlePostDialog:"
+            landmarkType = "7">
+            <Locations>
+               <Location
+                  shouldBeEnabled = "No"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "__32-[RAWKWebView handlePostDialog:]_block_invoke"
+                  moduleName = "APEX CRM"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Users/ray/Documents/CODE_ERPSuiteIOS/RedAnt%20CRM/APEX%20CRM/APEX%20CRM/RAWKWebView.m"
+                  timestampString = "564995866.552096"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "217"
+                  endingLineNumber = "217"
+                  offsetFromSymbolStart = "222">
+               </Location>
+               <Location
+                  shouldBeEnabled = "No"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "__32-[RAWKWebView handlePostDialog:]_block_invoke_2"
+                  moduleName = "APEX CRM"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Users/ray/Documents/CODE_ERPSuiteIOS/RedAnt%20CRM/APEX%20CRM/APEX%20CRM/RAWKWebView.m"
+                  timestampString = "564995866.555303"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "218"
+                  endingLineNumber = "218"
+                  offsetFromSymbolStart = "82">
+               </Location>
+            </Locations>
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "APEX CRM/APEX CRM/RAWKWebView.m"
+            timestampString = "564995844.43371"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "216"
+            endingLineNumber = "216"
+            landmarkName = "-handlePostDialog:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "APEX CRM/APEX CRM/RAWKWebView.m"
+            timestampString = "564995844.434081"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "218"
+            endingLineNumber = "218"
+            landmarkName = "-handlePostDialog:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
    </Breakpoints>
 </Bucket>