You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by so...@apache.org on 2017/03/17 07:11:11 UTC

[07/40] incubator-weex git commit: + [ios] add debug support for validation

+ [ios] add debug support for validation


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/2d3c75eb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/2d3c75eb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/2d3c75eb

Branch: refs/heads/0.12-dev
Commit: 2d3c75eb685192f8ebb22a2063e65a01698976e2
Parents: d00c55c
Author: \u516e\u74dc <xi...@alibaba-inc.com>
Authored: Tue Mar 14 12:09:55 2017 +0800
Committer: \u516e\u74dc <xi...@alibaba-inc.com>
Committed: Tue Mar 14 12:09:55 2017 +0800

----------------------------------------------------------------------
 ios/sdk/WeexSDK/Sources/Bridge/WXModuleMethod.m      | 15 +++++++++++----
 ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.m |  1 +
 2 files changed, 12 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2d3c75eb/ios/sdk/WeexSDK/Sources/Bridge/WXModuleMethod.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Bridge/WXModuleMethod.m b/ios/sdk/WeexSDK/Sources/Bridge/WXModuleMethod.m
index 4e0d6ae..ccb0bc4 100644
--- a/ios/sdk/WeexSDK/Sources/Bridge/WXModuleMethod.m
+++ b/ios/sdk/WeexSDK/Sources/Bridge/WXModuleMethod.m
@@ -36,11 +36,18 @@
     if (self.instance.needValidate) {
         id<WXValidateProtocol> validateHandler = [WXHandlerFactory handlerForProtocol:@protocol(WXValidateProtocol)];
         if (validateHandler) {
-            BOOL result =  [validateHandler validateWithWXSDKInstance:self.instance module:self.moduleName method:self.methodName args:self.arguments];
-            if (!result) {
-                NSString *errorMessage = [NSString stringWithFormat:@"Invalid module\uff1a%@ method: %@ , please check the authority", self.moduleName,self.methodName];
+            WXModuleValidateResult* result =  [validateHandler validateWithWXSDKInstance:self.instance module:self.moduleName method:self.methodName args:self.arguments];
+            if (result && !result.isSuccess) {
+                NSString *errorMessage = [result.error.userInfo  objectForKey:@"errorMsg"];
+                WXLogError(@"%@", errorMessage);
                 WX_MONITOR_FAIL(WXMTJSBridge, WX_ERR_INVOKE_NATIVE, errorMessage);
-                return nil;
+                if ([result.error respondsToSelector:@selector(userInfo)]) {
+                    NSInvocation *invocation = [self invocationWithTarget:result.error selector:@selector(userInfo)];
+                    [invocation invoke];
+                    return invocation;
+                }else{
+                    return nil;
+                }
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2d3c75eb/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.m b/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.m
index 850c7e5..f08c985 100644
--- a/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.m
+++ b/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.m
@@ -327,6 +327,7 @@ static css_node_t * rootNodeGetChild(void *context, int i)
             WXComponentValidateResult* validateResult =  [validateHandler validateWithWXSDKInstance:self.weexInstance component:type];
             if (validateResult && !validateResult.isSuccess) {
                 type = validateResult.replacedComponent? validateResult.replacedComponent : @"div";
+                WXLogError(@"%@",[validateResult.error.userInfo objectForKey:@"errorMsg"]);
             }
         }
     }