From e460dff7a88747dcb66d08b2ed9d7280f94294ee Mon Sep 17 00:00:00 2001
From: 吴学文 <wuxuewen@wuxuewendeMacBook-Pro.local>
Date: 星期二, 04 六月 2019 00:50:09 +0800
Subject: [PATCH] 修改String转date处理方式

---
 WebService/src/main/java/com/java110/web/core/VueComponentElement.java |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/WebService/src/main/java/com/java110/web/core/VueComponentElement.java b/WebService/src/main/java/com/java110/web/core/VueComponentElement.java
index d8c025d..89443da 100644
--- a/WebService/src/main/java/com/java110/web/core/VueComponentElement.java
+++ b/WebService/src/main/java/com/java110/web/core/VueComponentElement.java
@@ -14,6 +14,7 @@
 
 import java.io.StringReader;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -41,7 +42,7 @@
         //鑾峰彇妯℃澘鍚嶇О
         String componentName = element.getAttributeValue("name");
 
-        logger.debug("姝e湪瑙f瀽缁勪欢{}", componentName);
+        logger.debug("姝e湪瑙f瀽缁勪欢{},{}", componentName, new Date().getTime());
         String html = VueComponentTemplate.findTemplateByComponentCode(componentName + "." + VueComponentTemplate.COMPONENT_HTML);
         if (html == null) {
             throw new RuntimeException("鍦ㄧ紦瀛樹腑鏈壘鍒扮粍浠躲��" + componentName + "銆�");
@@ -73,6 +74,7 @@
             nodes.add(nodeJs);
         }
 
+        logger.debug("瑙f瀽瀹屾垚缁勪欢{},{}", componentName, new Date().getTime());
 
         return nodes;
     }
@@ -100,6 +102,7 @@
         }
 
         String[] tmpType = tmpProTypes.split(",");
+        StringBuffer propsJs = new StringBuffer("\nvar $props = {};\n");
         for (String type : tmpType) {
             if (StringUtils.isEmpty(type) || !type.contains(":")) {
                 continue;
@@ -114,9 +117,20 @@
                 throw new TemplateProcessingException("缁勪欢[" + componentName + "]鏈厤缃粍浠跺睘鎬�" + attrKey);
             }
             String vcType = element.getAttributeValue(attrKey);
-            js = js.replace(attrKey, "'" + vcType + "'");
-
+            if (types[1].equals("vc.propTypes.string")) {
+                vcType = "'" + vcType + "'";
+            }
+            propsJs.append("$props." + attrKey + "=" + vcType + ";\n");
         }
+
+        //灏唒ropsJs 鎻掑叆鍒� 绗竴涓� { 涔嬪悗
+        int position = js.indexOf("{");
+        if (position < 0) {
+            String componentName = element.getAttributeValue("name");
+            logger.error("缁勪欢" + componentName + "瀵瑰簲js 鏈寘鍚� {}  ");
+            throw new TemplateProcessingException("缁勪欢" + componentName + "瀵瑰簲js 鏈寘鍚� {}  ");
+        }
+        js = new StringBuffer(js).insert(position + 1, propsJs).toString();
         return js;
     }
 

--
Gitblit v1.8.0