From 51ea662e22121f9a0ddb5b40c4a8e93e098b34ec Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Wed, 10 Jan 2024 22:22:44 +0800
Subject: [PATCH] fxi
---
src/main/java/com/xcong/farmer/cms/core/template/TemplateConfiguration.java | 71 +++++++++++++++++------------------
1 files changed, 35 insertions(+), 36 deletions(-)
diff --git a/src/main/java/com/xcong/farmer/cms/core/template/TemplateConfiguration.java b/src/main/java/com/xcong/farmer/cms/core/template/TemplateConfiguration.java
index f6b078a..e4ca7ce 100644
--- a/src/main/java/com/xcong/farmer/cms/core/template/TemplateConfiguration.java
+++ b/src/main/java/com/xcong/farmer/cms/core/template/TemplateConfiguration.java
@@ -1,7 +1,10 @@
package com.xcong.farmer.cms.core.template;
+import com.xcong.farmer.cms.common.exception.GlobalException;
+import com.xcong.farmer.cms.common.utils.FileUtils;
import com.xcong.farmer.cms.core.node.PartNode;
import com.xcong.farmer.cms.core.node.Template;
+import lombok.extern.slf4j.Slf4j;
import org.jsoup.nodes.Document;
import java.io.File;
@@ -14,12 +17,13 @@
* @author wzy
* @date 2022-07-01
**/
-public class TemplateConfiguration extends Configuration{
+@Slf4j
+public class TemplateConfiguration extends Configuration {
private TemplateLoader templateLoader;
- public TemplateConfiguration(String templatePath, String staticPath, String outputPath) {
- super(templatePath, staticPath, outputPath);
+ public TemplateConfiguration(String templatePath, String staticPath, String outputPath, String baseUrl, String staticUrl) {
+ super(templatePath, staticPath, outputPath, baseUrl, staticUrl);
}
public void templateLoader(TemplateLoader templateLoader) {
@@ -30,14 +34,38 @@
if (this.templateLoader == null) {
throw new RuntimeException("TemplateLoader do not able to be null");
}
+ map.put("apiUrl", API_URL);
- this.templateLoader.data(map);
- output(template(templateName));
+ try {
+ String companyCode = (String) map.get("companyCode");
+
+ log.info("解析开始执行--#类型:{}#--#模板名称:{}#--#ID:{}#", map.get("templateType"), templateName, map.get("id"));
+ this.templateLoader.data(map);
+ Template template = template(FileUtils.path(templatePath, companyCode), templateName);
+ template.output(outputPath);
+
+ // 判断是否有分页,有则执行。从第二页开始
+ int i = 2;
+ while (Template.HAS_PAGING) {
+ map.put("page", i);
+ this.templateLoader.data(map);
+ Template pageTemplate = template(FileUtils.path(templatePath, companyCode), templateName);
+ pageTemplate.output(outputPath);
+ i++;
+ }
+ } catch (Exception e) {
+ log.error("页面编译异常", e);
+ }
}
+ public Template template(String templatePath, String templateName) {
+ File file = new File(path(templatePath) + templateName);
+ if (!file.exists()) {
+ log.info("模板文件不存在 : {}", templateName);
+ throw new GlobalException("模板文件不存在:" + templateName);
+ }
- public Template template(String templateName) {
- return template(new File(path(this.templatePath) + templateName));
+ return template(file);
}
public Template template(File file) {
@@ -46,35 +74,6 @@
}
return this.templateLoader.template(file);
- }
-
-// public void columnProcess(Map<String, Object> data, String templateName) {
-// process;
-// }
-//
-//
-// public void articleProcess(Map<String, Object> data, String templateName) {
-// process(data, templateName);
-// }
-
- public void output(Template template) {
- Document document = template.getDocument();
- List<PartNode> partNodes = template.getPartNodes();
- StringBuilder sb = new StringBuilder();
- for (PartNode partNode : partNodes) {
- sb.append(partNode.getHtml());
- }
- document.body().empty().html(sb.toString());
- String outPath = path(this.outputPath);
-
- String html = document.html();
- try {
- FileOutputStream outputStream = new FileOutputStream(outPath + template.getName());
- outputStream.write(html.getBytes());
- outputStream.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
}
private String path(String path) {
--
Gitblit v1.9.1