From cbaee5ffe90f85de9211923689818492b4c40aa4 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期四, 06 六月 2019 00:11:18 +0800
Subject: [PATCH] 业主车辆信息 表模型设计
---
WebService/src/main/java/com/java110/web/core/VueComponentElement.java | 26 +++++++++++++++++++++-----
1 files changed, 21 insertions(+), 5 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 9e5b871..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,21 +102,35 @@
}
String[] tmpType = tmpProTypes.split(",");
+ StringBuffer propsJs = new StringBuffer("\nvar $props = {};\n");
for (String type : tmpType) {
if (StringUtils.isEmpty(type) || !type.contains(":")) {
continue;
}
String[] types = type.split(":");
- String attrKey = types[0].replace(" ", "").replace("\n", "");
+ String attrKey = types[0].replace(" ", "")
+ .replace("\n", "")
+ .replace("\r", "");
if (!element.hasAttribute(attrKey)) {
String componentName = element.getAttributeValue("name");
- logger.error("缁勪欢[%s]鏈厤缃粍浠跺睘鎬� %s", componentName, attrKey);
+ logger.error("缁勪欢" + componentName + "鏈厤缃粍浠跺睘鎬� " + attrKey);
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