From b2b5bdf6f42597e582da96aa56707e1f68d3936e Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 10 五月 2022 11:41:44 +0800
Subject: [PATCH] 优化 费用
---
java110-generator/src/main/java/com/java110/code/DealHtml.java | 382 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 382 insertions(+), 0 deletions(-)
diff --git a/java110-generator/src/main/java/com/java110/code/DealHtml.java b/java110-generator/src/main/java/com/java110/code/DealHtml.java
index 36310bf..19df703 100644
--- a/java110-generator/src/main/java/com/java110/code/DealHtml.java
+++ b/java110-generator/src/main/java/com/java110/code/DealHtml.java
@@ -1,5 +1,16 @@
package com.java110.code;
+import com.alibaba.fastjson.JSONObject;
+
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.FilterWriter;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
/**
* @ClassName DealHtml
* @Description TODO
@@ -9,4 +20,375 @@
* add by wuxw 2022/4/20
**/
public class DealHtml {
+
+ public static void main(String[] args) throws Exception {
+ File file = new File("C:\\Users\\Administrator\\Documents\\project\\hc\\MicroCommunityWeb\\public\\components");
+ JSONObject js = new JSONObject();
+ listFiles(file, js);
+ System.out.println("js = " + js.toJSONString());
+ }
+
+// public static void main(String[] args) throws Exception {
+// String js = "<div id=\"addContractModel\" class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"exampleModalLabel\"\n" +
+// " aria-hidden=\"true\">\n" +
+// " <div class=\"modal-dialog modal-lg\">\n" +
+// " <div class=\"modal-content\">\n" +
+// " <div class=\"modal-body\">\n" +
+// " <h3 class=\"m-t-none m-b \">娣诲姞鍚堝悓</h3>\n" +
+// " <div class=\"ibox-content\">\n" +
+// " <div>\n" +addPrivilege
+// " <div>\n" +
+// " <div class=\"row\">\n" +
+// " <div class=\"col-sm-4\">\n" +
+// " <div class=\"form-group row\">\n" +
+// " <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">鍚堝悓鍚嶇О</label>\n" +
+// " <div class=\"col-sm-9 padding-lr-xs\">\n" +
+// " <input v-model=\"addContractInfo.contractName\" type=\"text\" placeholder=\"蹇呭~锛岃濉啓鍚堝悓鍚嶇О\"\n" +
+// " class=\"form-control\">\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " <div class=\"col-sm-4\">\n" +
+// " <div class=\"form-group row\">\n" +
+// " <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">鍚堝悓缂栧彿</label>\n" +
+// " <div class=\"col-sm-9 padding-lr-xs\">\n" +
+// " <input v-model=\"addContractInfo.contractCode\" type=\"text\" placeholder=\"蹇呭~锛岃濉啓鍚堝悓缂栧彿\"\n" +
+// " class=\"form-control\">\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " <div class=\"col-sm-4\">\n" +
+// " <div class=\"form-group row\">\n" +
+// " <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">鍚堝悓绫诲瀷</label>\n" +
+// " <div class=\"col-sm-9 padding-lr-xs\">\n" +
+// " <select class=\"custom-select\" v-model=\"addContractInfo.contractType\"\n" +
+// " @change=\"_changeContractType()\">\n" +
+// " <option selected disabled value=\"\">蹇呭~锛岃閫夋嫨鍚堝悓绫诲瀷</option>\n" +
+// " <option v-for=\"(item,index) in addContractInfo.contractTypes\" :key=\"index\"\n" +
+// " :value=\"item.contractTypeId\">{{item.typeName}}</option>\n" +
+// " </select>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " <div class=\"row\">\n" +
+// " <div class=\"col-sm-4\">\n" +
+// " <div class=\"form-group row\">\n" +
+// " <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">鐢叉柟</label>\n" +
+// " <div class=\"col-sm-9 padding-lr-xs\">\n" +
+// " <input v-model=\"addContractInfo.partyA\" type=\"text\" placeholder=\"蹇呭~锛岃濉啓鐢叉柟\" class=\"form-control\">\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " <div class=\"col-sm-4\">\n" +
+// " <div class=\"form-group row\">\n" +
+// " <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">鐢叉柟鑱旂郴浜�</label>\n" +
+// " <div class=\"col-sm-9 padding-lr-xs\">\n" +
+// " <input v-model=\"addContractInfo.aContacts\" type=\"text\" placeholder=\"蹇呭~锛岃濉啓鐢叉柟鑱旂郴浜篭"\n" +
+// " class=\"form-control\">\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " <div class=\"col-sm-4\">\n" +
+// " <div class=\"form-group row\">\n" +
+// " <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">鐢叉柟鑱旂郴鐢佃瘽</label>\n" +
+// " <div class=\"col-sm-9 padding-lr-xs\">\n" +
+// " <input v-model=\"addContractInfo.aLink\" type=\"text\" placeholder=\"蹇呭~锛岃濉啓鐢叉柟鑱旂郴鐢佃瘽\"\n" +
+// " class=\"form-control\">\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " <div class=\"row\">\n" +
+// " <div class=\"col-sm-4\">\n" +
+// " <div class=\"form-group row\">\n" +
+// " <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">涔欐柟</label>\n" +
+// " <div class=\"col-sm-9 padding-lr-xs\">\n" +
+// " <input v-model=\"addContractInfo.partyB\" type=\"text\" placeholder=\"蹇呭~锛岃濉啓涔欐柟\" class=\"form-control\">\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " <div class=\"col-sm-4\">\n" +
+// " <div class=\"form-group row\">\n" +
+// " <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">涔欐柟鑱旂郴浜�</label>\n" +
+// " <div class=\"col-sm-9 padding-lr-xs\">\n" +
+// " <input v-model=\"addContractInfo.bContacts\" type=\"text\" placeholder=\"蹇呭~锛岃濉啓涔欐柟鑱旂郴浜篭"\n" +
+// " class=\"form-control\">\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " <div class=\"col-sm-4\">\n" +
+// " <div class=\"form-group row\">\n" +
+// " <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">涔欐柟鑱旂郴鐢佃瘽</label>\n" +
+// " <div class=\"col-sm-9 padding-lr-xs\">\n" +
+// " <input v-model=\"addContractInfo.bLink\" type=\"text\" placeholder=\"蹇呭~锛岃濉啓涔欐柟鑱旂郴鐢佃瘽\"\n" +
+// " class=\"form-control\">\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " <div class=\"row\">\n" +
+// " <div class=\"col-sm-4\">\n" +
+// " <div class=\"form-group row\">\n" +
+// " <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">缁忓姙浜�</label>\n" +
+// " <div class=\"col-sm-9 padding-lr-xs\">\n" +
+// " <input v-model=\"addContractInfo.operator\" type=\"text\" placeholder=\"蹇呭~锛岃濉啓缁忓姙浜篭"\n" +
+// " class=\"form-control\">\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " <div class=\"col-sm-4\">\n" +
+// " <div class=\"form-group row\">\n" +
+// " <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">鑱旂郴鐢佃瘽</label>\n" +
+// " <div class=\"col-sm-9 padding-lr-xs\">\n" +
+// " <input v-model=\"addContractInfo.operatorLink\" type=\"text\" placeholder=\"蹇呭~锛岃濉啓鑱旂郴鐢佃瘽\"\n" +
+// " class=\"form-control\">\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " <div class=\"col-sm-4\">\n" +
+// " <div class=\"form-group row\">\n" +
+// " <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">鍚堝悓閲戦</label>\n" +
+// " <div class=\"col-sm-9 padding-lr-xs\">\n" +
+// " <input v-model=\"addContractInfo.amount\" type=\"text\" placeholder=\"閫夊~锛岃濉啓鍚堝悓閲戦\" class=\"form-control\">\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " <div class=\"row\">\n" +
+// " <div class=\"col-sm-4\">\n" +
+// " <div class=\"form-group row\">\n" +
+// " <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">寮�濮嬫椂闂�</label>\n" +
+// " <div class=\"col-sm-9 padding-lr-xs\">\n" +
+// " <input v-model=\"addContractInfo.startTime\" type=\"text\" placeholder=\"蹇呭~锛岃濉啓寮�濮嬫椂闂碶"\n" +
+// " class=\"form-control addStartTime\">\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " <div class=\"col-sm-4\">\n" +
+// " <div class=\"form-group row\">\n" +
+// " <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">缁撴潫鏃堕棿</label>\n" +
+// " <div class=\"col-sm-9 padding-lr-xs\">\n" +
+// " <input v-model=\"addContractInfo.endTime\" type=\"text\" placeholder=\"蹇呭~锛岃濉啓缁撴潫鏃堕棿\"\n" +
+// " class=\"form-control addEndTime\">\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " <div class=\"col-sm-4\">\n" +
+// " <div class=\"form-group row\">\n" +
+// " <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">绛捐鏃堕棿</label>\n" +
+// " <div class=\"col-sm-9 padding-lr-xs\">\n" +
+// " <input v-model=\"addContractInfo.signingTime\" type=\"text\" placeholder=\"蹇呭~锛岃濉啓绛捐鏃堕棿\"\n" +
+// " class=\"form-control addSigningTime\">\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " <div class=\"row\">\n" +
+// " <div class=\"col-sm-4\">\n" +
+// " <div class=\"form-group row\">\n" +
+// " <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">妤兼爧</label>\n" +
+// " <div class=\"col-sm-9 padding-lr-xs\">\n" +
+// " <input v-model=\"addContractInfo.allNum\" type=\"text\" placeholder=\"閫夊~锛岃濉啓 妤兼爧缂栫爜\" class=\"form-control\" @blur=\"_queryRoom\">\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " <div class=\"col-sm-4\">\n" +
+// " <div class=\"form-group row\">\n" +
+// " <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">涓氫富</label>\n" +
+// " <div class=\"col-sm-9 padding-lr-xs\">\n" +
+// " <input v-model=\"addContractInfo.ownerName\" disabled=\"disabled\" type=\"text\" placeholder=\"蹇呭~锛岃濉啓涓氫富\"\n" +
+// " class=\"form-control\">\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " <div class=\"col-sm-4\">\n" +
+// " <div class=\"form-group row\">\n" +
+// " <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">涓氫富鐢佃瘽</label>\n" +
+// " <div class=\"col-sm-9 padding-lr-xs\">\n" +
+// " <input v-model=\"addContractInfo.link\" disabled=\"disabled\" type=\"text\" placeholder=\"蹇呭~锛岃濉啓涓氫富鐢佃瘽\"\n" +
+// " class=\"form-control\">\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " <div v-for=\"(item,index) in addContractInfo.contractTypeSpecs\">\n" +
+// " <div class=\"row\" v-if=\"index % 3 == 0\">\n" +
+// " <div class=\"col-sm-4\">\n" +
+// " <div class=\"form-group row\">\n" +
+// " <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">{{item.specName}}</label>\n" +
+// " <div class=\"col-sm-9 padding-lr-xs\">\n" +
+// " <input v-model=\"item.value\" type=\"text\" :placeholder=\"item.specHoldplace\" class=\"form-control\">\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " <div class=\"col-sm-4\" v-if=\"index < addContractInfo.contractTypeSpecs.length-1\">\n" +
+// " <div class=\"form-group row\">\n" +
+// " <label\n" +
+// " class=\"col-sm-3 col-form-label padding-lr-sm text-right\">{{addContractInfo.contractTypeSpecs[index+1].specName}}</label>\n" +
+// " <div class=\"col-sm-9 padding-lr-xs\">\n" +
+// " <input v-model=\"addContractInfo.contractTypeSpecs[index+1].value\" type=\"text\"\n" +
+// " :placeholder=\"addContractInfo.contractTypeSpecs[index+1].specHoldplace\" class=\"form-control\">\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " <div class=\"col-sm-4\" v-if=\"index < addContractInfo.contractTypeSpecs.length-2\">\n" +
+// " <div class=\"form-group row\">\n" +
+// " <label\n" +
+// " class=\"col-sm-3 col-form-label padding-lr-sm text-right\">{{addContractInfo.contractTypeSpecs[index+2].specName}}</label>\n" +
+// " <div class=\"col-sm-9 padding-lr-xs\">\n" +
+// " <input v-model=\"addContractInfo.contractTypeSpecs[index+2].value\" type=\"text\"\n" +
+// " :placeholder=\"addContractInfo.contractTypeSpecs[index+2].specHoldplace\" class=\"form-control\">\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " \n" +
+// " <div class=\"row\">\n" +
+// " <div class=\"col-sm-10\">\n" +
+// " <div class=\"form-group row\">\n" +
+// " <label class=\"col-sm-2 col-form-label\">鍚堝悓闄勪欢</label>\n" +
+// " <div class=\"col-sm-10\">\n" +
+// " <div class=\"row \" style=\"margin-left: 0px;\">\n" +
+// " <button type=\"button\" class=\"btn btn-primary\" @click=\"addFileStep()\">娣诲姞闄勪欢</button>\n" +
+// " </div>\n" +
+// " <div v-for=\"(item,index) in addContractInfo.contractFilePo\">\n" +
+// " <div class=\"row margin-0 margin-top\">\n" +
+// " <div class=\"col-sm-1 text-center\">\n" +
+// " <label class=\"col-form-label\">绗瑊{index+1}}涓�</label>\n" +
+// " </div>\n" +
+// " <input type=\"file\"\n" +
+// " class=\"custom-file-input form-control\" name=\"excelTemplate\" style=\"width: 11%;opacity: 1;\"\n" +
+// " v-on:change=\"getFile($event,index)\" accept=\".png,.pdf,.jpg\">\n" +
+// " <label class=\"col-sm-5 col-form-label padding-lr-sm text-right\">{{item.fileRealName}}</label>\n" +
+// " <div>\n" +
+// " <button type=\"button\" class=\"btn btn-link\" @click=\"deleteStep(item)\">鍒犻櫎闄勪欢</button>\n" +
+// " </div>\n" +
+// " \n" +
+// " </div>\n" +
+// " \n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// "\n" +
+// " <div class=\"ibox-content\">\n" +
+// " <button class=\"btn btn-primary float-right\" type=\"button\" v-on:click=\"saveContractInfo()\"><i\n" +
+// " class=\"fa fa-check\"></i> 淇濆瓨</button>\n" +
+// " <button type=\"button\" class=\"btn btn-warning float-right\" style=\"margin-right:20px;\"\n" +
+// " data-dismiss=\"modal\">鍙栨秷</button>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// " </div>\n" +
+// "</div>";
+// Pattern p = Pattern.compile("=\"([\u4e00-\u9fa5]|锛寍,| )+");
+//
+// Matcher m = p.matcher(js);
+//
+// while (m.find()) {
+// String chinese = m.group();//鍖归厤鍑虹殑涓枃
+// chinese = chinese.replace("=\"", "");
+// System.out.println(chinese);
+// }
+// }
+
+ public static void listFiles(File file, JSONObject js) throws Exception {
+ if (file.isFile()) {
+ if (file.getName().endsWith(".html")) {
+ doDealHtml(file, js);
+
+ }
+ return;
+ }
+
+ File[] files = file.listFiles();
+
+ for (File tmpFile : files) {
+ listFiles(tmpFile, js);
+ }
+ }
+
+ private static void doDealHtml(File tmpFile, JSONObject js) throws Exception {
+
+ String fileName = tmpFile.getName().replace(".html", "");
+ System.out.println("fileName=" + fileName + ",dir=" + tmpFile.getPath());
+ BufferedReader in = new BufferedReader(new FileReader(tmpFile));
+ String str;
+ String context = "";
+ JSONObject fileNameObj = new JSONObject();
+ while ((str = in.readLine()) != null) {
+ context += (doDealHtmlNode(str, fileName, fileNameObj) + "\n");
+ //doDealHtmlNode(str,fileName);
+ }
+ js.put(fileName, fileNameObj);
+ System.out.println(context);
+ BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(tmpFile));
+ bufferedWriter.write(context);
+ bufferedWriter.close();
+
+
+ }
+
+ private static String doDealHtmlNode(String str, String fileName, JSONObject fileNameObj) {
+// Pattern p = Pattern.compile("=\"([\u4e00-\u9fa5]|锛�)+");
+//
+// Matcher m = p.matcher(str);
+ Pattern p = Pattern.compile("=\"([\u4e00-\u9fa5]|锛寍,| )+");
+
+ Matcher m = p.matcher(str);
+
+ while (m.find()) {
+ String chinese = m.group();//鍖归厤鍑虹殑涓枃
+ chinese = chinese.replace("=\"", "");
+ fileNameObj.put(chinese, chinese);
+ //m.appendReplacement(buf, "><vc:i18n name=\"" + chinese + "\" namespace=\"" + fileName + "\"></vc:i18n>");
+ str = str.replace(chinese, "vc.i18n('" + chinese + "','" + fileName + "')");
+ str = str.replace("placeholder", ":placeholder");
+ }
+
+ p = Pattern.compile(">[\u4e00-\u9fa5]+");
+
+ m = p.matcher(str);
+
+ while (m.find()) {
+ String chinese = m.group();//鍖归厤鍑虹殑涓枃
+ chinese = chinese.replace(">", "");
+ fileNameObj.put(chinese, chinese);
+ //m.appendReplacement(buf, "><vc:i18n name=\"" + chinese + "\" namespace=\"" + fileName + "\"></vc:i18n>");
+ str = str.replace(chinese, "<vc:i18n name=\"" + chinese + "\" namespace=\"" + fileName + "\"></vc:i18n>");
+ }
+
+ p = Pattern.compile("}}[\u4e00-\u9fa5]+");
+
+ m = p.matcher(str);
+
+ while (m.find()) {
+ String chinese = m.group();//鍖归厤鍑虹殑涓枃
+ chinese = chinese.replace("}}", "");
+ fileNameObj.put(chinese, chinese);
+ //m.appendReplacement(buf, "><vc:i18n name=\"" + chinese + "\" namespace=\"" + fileName + "\"></vc:i18n>");
+ str = str.replace(chinese, "<vc:i18n name=\"" + chinese + "\" namespace=\"" + fileName + "\"></vc:i18n>");
+ }
+
+ p = Pattern.compile("> [\u4e00-\u9fa5]+");
+
+ m = p.matcher(str);
+
+ while (m.find()) {
+ String chinese = m.group();//鍖归厤鍑虹殑涓枃
+ chinese = chinese.replace("> ", "");
+ fileNameObj.put(chinese, chinese);
+ //m.appendReplacement(buf, "><vc:i18n name=\"" + chinese + "\" namespace=\"" + fileName + "\"></vc:i18n>");
+ str = str.replace(chinese, "<vc:i18n name=\"" + chinese + "\" namespace=\"" + fileName + "\"></vc:i18n>");
+ }
+
+
+ return str;
+ }
}
--
Gitblit v1.8.0