wuxw
2019-08-13 9e29441646434d9f54a2c3e855a724633885d8a4
WebService/src/main/java/com/java110/web/core/VcCreateProcessor.java
@@ -72,9 +72,8 @@
            js = dealJs(js, tag);
            js = dealJsAddComponentCode(js, tag);
            js = "<script type=\"text/javascript\">//<![CDATA[ \n" + js + "//]]>\n</script>";
            js = "<script type=\"text/javascript\" "+DIV_PROPERTY_COMPONENT+"=\""+componentName+"\">//<![CDATA[ \n" + js + "//]]>\n</script>";
            htmlModel.add(modelFactory.createText(js));
        }
        logger.debug("解析完成组件{},{}", componentName, new Date().getTime());
@@ -135,13 +134,15 @@
            attrKey = types[0].replace(" ", "")
                    .replace("\n", "")
                    .replace("\r", "");
            if (!tag.hasAttribute(attrKey)) {
            if (!tag.hasAttribute(attrKey) && !types[1].contains("=")) {
                String componentName = tag.getAttributeValue("name");
                logger.error("组件" + componentName + "未配置组件属性 " + attrKey);
                throw new TemplateProcessingException("组件[" + componentName + "]未配置组件属性" + attrKey);
            }
            String vcType = tag.getAttributeValue(attrKey);
            if (types[1].contains("vc.propTypes.string")) {
            if(!tag.hasAttribute(attrKey) && types[1].contains("=")) {
                vcType = dealJsPropTypesDefault(types[1]);
            }else if (types[1].contains("vc.propTypes.string")) {
                vcType = "'" + vcType + "'";
            }
            propsJs.append("$props." + attrKey + "=" + vcType + ";\n");
@@ -158,6 +159,19 @@
        return js;
    }
    private String dealJsPropTypesDefault(String typeValue){
         int startPos = typeValue.indexOf("=") + 1;
         int endPos = typeValue.length();
         if(typeValue.contains(",")){
             endPos = typeValue.indexOf(",");
         }else if(typeValue.contains("//")){
             endPos = typeValue.indexOf("//");
         }
         return typeValue.substring(startPos,endPos);
    }
    /**
     * 处理js 变量和 方法都加入 组件编码
     *