Browse Source

路径参数路径修改

yusm 5 months ago
parent
commit
c769d21c55

+ 151 - 0
fhKeeper/formulahousekeeper/webttkuaiban/src/main/java/com/firerock/webttkuaiban/demos/controller/ArticleTemplateNewController.java

@@ -0,0 +1,151 @@
+package com.firerock.webttkuaiban.demos.controller;
+
+import com.firerock.webttkuaiban.demos.pojo.Article;
+import com.firerock.webttkuaiban.demos.service.ArticleService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.*;
+
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.Base64;
+import java.util.HashMap;
+import java.util.List;
+
+@Controller
+public class ArticleTemplateNewController {
+
+    private static final Logger log = LoggerFactory.getLogger(ArticleTemplateNewController.class);
+    @Autowired
+    ArticleService articleService;
+
+    @GetMapping("/page-list-{pageIndex}.html")  // 这里的 PageBean 是事先定义好的实体类
+    public Object PageList(Model model, @PathVariable("pageIndex") Integer pageIndex, @RequestParam(required = false) String info) {
+        Integer pageSize = 10;
+        // 定义格式化器
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        List<Article> articleList = articleService.PageList(pageIndex, pageSize, info);
+        Integer total = articleService.getTotal(info);
+        if (!articleList.isEmpty()) {
+            for (Article article : articleList) {
+                byte[] imageData = article.getCoverImg();
+                if (imageData != null) {
+                    String base64Image = Base64.getEncoder().encodeToString(imageData);
+                    article.setBaseImage(base64Image);
+                } else {
+                    article.setBaseImage("");
+                }
+                article.setCreateTimeStr(article.getCreateTime().format(formatter));
+            }
+        }
+        model.addAttribute("knowledgeFieldTableList", articleList);
+        model.addAttribute("total", total);
+        return "knowledge";
+    }
+
+    @RequestMapping(value = "/articleList", method = RequestMethod.GET)
+    public String articleList(Model model) {
+        List<HashMap> articles = new ArrayList<>();
+        for (int i = 0; i < 10; i++) {
+            HashMap<String, String> article = new HashMap<>();
+            article.put("id", "" + (i + 1));
+            article.put("title", "Article Title " + i);
+            article.put("content", "Article Content " + i);
+            articles.add(article);
+        }
+        model.addAttribute("articles", articles);
+        return "articleList";
+    }
+
+    @GetMapping("/article-{id}.html")  // 这里的 PageBean 是事先定义好的实体类
+    public Object articleDetail(Model model, @PathVariable("id") Integer id) {
+        // 定义格式化器
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+
+        long l = System.currentTimeMillis();
+        List<Article> latestList = articleService.latestList();
+        if (!latestList.isEmpty()) {
+            for (Article article : latestList) {
+                byte[] imageData = article.getCoverImg();
+                if (imageData != null) {
+                    String base64Image = Base64.getEncoder().encodeToString(imageData);
+                    article.setBaseImage(base64Image);
+                } else {
+                    article.setBaseImage("");
+                }
+                article.setCreateTimeStr(article.getCreateTime().format(formatter));
+            }
+        }
+        List<Article> relatedList = articleService.relatedList(id);
+        if (!relatedList.isEmpty()) {
+            for (Article article : relatedList) {
+                byte[] imageData = article.getCoverImg();
+                if (imageData != null) {
+                    String base64Image = Base64.getEncoder().encodeToString(imageData);
+                    article.setBaseImage(base64Image);
+                } else {
+                    article.setBaseImage("");
+                }
+                article.setCreateTimeStr(article.getCreateTime().format(formatter));
+            }
+        }
+        Article article = articleService.getArticleById(id);
+        article.setCreateTimeStr(article.getCreateTime().format(formatter));
+
+        articleService.updateViewCountById(id);
+
+        model.addAttribute("latestList", latestList);
+        model.addAttribute("relatedList", relatedList);
+        model.addAttribute("article", article);
+        model.addAttribute("categoryNameList", article.getCategoryNameList() == null ? new ArrayList<String>() : article.getCategoryNameList());
+        return "knowledgeDetails";
+    }
+
+
+    @GetMapping("/articleDetail")  // 这里的 PageBean 是事先定义好的实体类
+    public Object articleDetailById(Model model, @RequestParam Integer id) {
+        // 定义格式化器
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+
+        long l = System.currentTimeMillis();
+        List<Article> latestList = articleService.latestList();
+        if (!latestList.isEmpty()) {
+            for (Article article : latestList) {
+                byte[] imageData = article.getCoverImg();
+                if (imageData != null) {
+                    String base64Image = Base64.getEncoder().encodeToString(imageData);
+                    article.setBaseImage(base64Image);
+                } else {
+                    article.setBaseImage("");
+                }
+                article.setCreateTimeStr(article.getCreateTime().format(formatter));
+            }
+        }
+        List<Article> relatedList = articleService.relatedList(id);
+        if (!relatedList.isEmpty()) {
+            for (Article article : relatedList) {
+                byte[] imageData = article.getCoverImg();
+                if (imageData != null) {
+                    String base64Image = Base64.getEncoder().encodeToString(imageData);
+                    article.setBaseImage(base64Image);
+                } else {
+                    article.setBaseImage("");
+                }
+                article.setCreateTimeStr(article.getCreateTime().format(formatter));
+            }
+        }
+        Article article = articleService.getArticleById(id);
+        article.setCreateTimeStr(article.getCreateTime().format(formatter));
+
+        articleService.updateViewCountById(id);
+
+        model.addAttribute("latestList", latestList);
+        model.addAttribute("relatedList", relatedList);
+        model.addAttribute("article", article);
+        model.addAttribute("categoryNameList", article.getCategoryNameList() == null ? new ArrayList<String>() : article.getCategoryNameList());
+        return "knowledgeDetails";
+    }
+}

+ 6 - 6
fhKeeper/formulahousekeeper/webttkuaiban/src/main/resources/static/knowledge.ftl

@@ -46,7 +46,7 @@
             <div>
             <div>
               <!-- <div class="knowledgeField-content-item" onclick="triggerButtonClick(${item.id})"> -->
               <!-- <div class="knowledgeField-content-item" onclick="triggerButtonClick(${item.id})"> -->
               <div class="knowledgeField-content-item">
               <div class="knowledgeField-content-item">
-              <a href="/articleTemplate/articleDetail/${item.id}.html">
+              <a href="/article-${item.id}.html">
                 <div class="image"><img src="${item.coverImgUrl}" class="wh100" class="wh100"></img>
                 <div class="image"><img src="${item.coverImgUrl}" class="wh100" class="wh100"></img>
                   </div>
                   </div>
                   <div class="textContent">
                   <div class="textContent">
@@ -58,7 +58,7 @@
                         ${item.viewCount}
                         ${item.viewCount}
                       </div>
                       </div>
                       <!-- <button class="linkButtonss" onclick="learnMore(${item.id})">了解详情></button> -->
                       <!-- <button class="linkButtonss" onclick="learnMore(${item.id})">了解详情></button> -->
-                      <a class="linkButtonss" href="/articleTemplate/articleDetail/${item.id}.html">查看详情></a>
+                      <a class="linkButtonss" href="/article-${item.id}.html">查看详情></a>
                     </div>
                     </div>
                   </div>
                   </div>
               </a>
               </a>
@@ -114,11 +114,11 @@
   let currentPage = pageIndex; // 当前页
   let currentPage = pageIndex; // 当前页
   const knowledgeUrl = '/articleTemplate/pageList'
   const knowledgeUrl = '/articleTemplate/pageList'
   const knowledgeDetails = '/articleTemplate/articleDetail'
   const knowledgeDetails = '/articleTemplate/articleDetail'
-  const fixedParameters = '/' + currentPage
+  const fixedParameters = '/page-list-' + currentPage
 
 
   function search() {
   function search() {
     const inputVal = document.getElementById("knowledgeInput").value;
     const inputVal = document.getElementById("knowledgeInput").value;
-    window.location.href = knowledgeUrl + fixedParameters + '?&info=' + inputVal
+    window.location.href = fixedParameters + '?&info=' + inputVal
   }
   }
   function learnMore(id) {
   function learnMore(id) {
     window.location.href = knowledgeDetails + `/` + id
     window.location.href = knowledgeDetails + `/` + id
@@ -141,7 +141,7 @@
     if(!inputVal) {
     if(!inputVal) {
       return
       return
     }
     }
-    window.location.href = knowledgeUrl + '/' + inputVal
+    window.location.href ='/page-list-' + inputVal
   }
   }
 
 
   // 初始化分页组件
   // 初始化分页组件
@@ -164,7 +164,7 @@
 
 
   // 跳转到指定页面
   // 跳转到指定页面
   function goToPage(page) {
   function goToPage(page) {
-    window.location.href = knowledgeUrl + '/' + page
+    window.location.href = '/page-list-' + page
   }
   }
 
 
   // 初始化分页
   // 初始化分页

+ 5 - 5
fhKeeper/formulahousekeeper/webttkuaiban/src/main/resources/static/knowledgeDetails.ftl

@@ -86,12 +86,12 @@
         <div class="latestArticles">
         <div class="latestArticles">
           <div class="knowledgeDetails-right-title">
           <div class="knowledgeDetails-right-title">
             <div>最新文章</div>
             <div>最新文章</div>
-            <a href="/articleTemplate/pageList/1" class="linkButton">查看更多></a>
+            <a href="/page-list-${1}" class="linkButton">查看更多></a>
           </div>
           </div>
           <div class="line"></div>
           <div class="line"></div>
           <div class="latestList">
           <div class="latestList">
             <#list latestList as item>
             <#list latestList as item>
-              <a href="/articleTemplate/articleDetail/${item.id}.html">
+              <a href="/article-${item.id}.html">
                 <div class="latestList-item" data-item='${item.id}'>
                 <div class="latestList-item" data-item='${item.id}'>
                   <div class="latestList-item-image">
                   <div class="latestList-item-image">
                     <img src="${item.coverImgUrl}" class="wh100"></img>
                     <img src="${item.coverImgUrl}" class="wh100"></img>
@@ -108,12 +108,12 @@
         <div class="relatedRecommendations">
         <div class="relatedRecommendations">
           <div class="knowledgeDetails-right-title">
           <div class="knowledgeDetails-right-title">
             <div>相关推荐</div>
             <div>相关推荐</div>
-            <a href="/articleTemplate/pageList/1" class="linkButton">查看更多></a>
+            <a href="/page-list-${1}" class="linkButton">查看更多></a>
           </div>
           </div>
           <div class="line"></div>
           <div class="line"></div>
           <div class="latestList">
           <div class="latestList">
             <#list relatedList as item>
             <#list relatedList as item>
-              <a href="/articleTemplate/articleDetail/${item.id}.html">
+              <a href="/article-${item.id}.html">
                 <div class="latestList-item" data-item='${item.id}'>
                 <div class="latestList-item" data-item='${item.id}'>
                   <div class="latestList-item-image">
                   <div class="latestList-item-image">
                     <img src="${item.coverImgUrl}" class="wh100"></img>
                     <img src="${item.coverImgUrl}" class="wh100"></img>
@@ -197,7 +197,7 @@
   
   
   const knowledgeDetails = '/articleTemplate/articleDetail'
   const knowledgeDetails = '/articleTemplate/articleDetail'
   function toKnowledge() {
   function toKnowledge() {
-    window.location.href = `/articleTemplate/pageList/1`
+    window.location.href = `/page-list-${1}`
   }
   }
   
   
   $('#returnIcon').click(function () {
   $('#returnIcon').click(function () {

+ 1 - 1
fhKeeper/formulahousekeeper/webttkuaiban/src/main/resources/static/moduleView/header.html

@@ -68,7 +68,7 @@
             { label: '产品定价', value: '../index.html#pricing', class: 'header-item' },
             { label: '产品定价', value: '../index.html#pricing', class: 'header-item' },
             { label: '关于我们', value: '../about.html', class: 'header-item' },
             { label: '关于我们', value: '../about.html', class: 'header-item' },
             { label: '企业动态', value: '../dynamic.html', class: 'header-item' },
             { label: '企业动态', value: '../dynamic.html', class: 'header-item' },
-            { label: '知识园地', value: '/articleTemplate/pageList/1.html', class: 'header-item' },
+            { label: '知识园地', value: '/page-list-1.html', class: 'header-item' },
           ],
           ],
           otherList: [
           otherList: [
             { label: '工时管家', path: '../index.html', icon: './image/icon/workHour.png', hoverIcon: './image/icon/workHourHover.png' },
             { label: '工时管家', path: '../index.html', icon: './image/icon/workHour.png', hoverIcon: './image/icon/workHourHover.png' },

+ 7 - 7
fhKeeper/formulahousekeeper/webttkuaiban/src/main/resources/templates/knowledge.ftl

@@ -46,7 +46,7 @@
             <div>
             <div>
               <!-- <div class="knowledgeField-content-item" onclick="triggerButtonClick(${item.id})"> -->
               <!-- <div class="knowledgeField-content-item" onclick="triggerButtonClick(${item.id})"> -->
               <div class="knowledgeField-content-item">
               <div class="knowledgeField-content-item">
-              <a href="/articleTemplate/articleDetail/${item.id}.html">
+              <a href="/article-${item.id}.html">
                 <div class="image"><img src="${item.coverImgUrl}" class="wh100" class="wh100"></img>
                 <div class="image"><img src="${item.coverImgUrl}" class="wh100" class="wh100"></img>
                   </div>
                   </div>
                   <div class="textContent">
                   <div class="textContent">
@@ -58,7 +58,7 @@
                         ${item.viewCount}
                         ${item.viewCount}
                       </div>
                       </div>
                       <!-- <button class="linkButtonss" onclick="learnMore(${item.id})">了解详情></button> -->
                       <!-- <button class="linkButtonss" onclick="learnMore(${item.id})">了解详情></button> -->
-                      <a class="linkButtonss" href="/articleTemplate/articleDetail/${item.id}.html">查看详情></a>
+                      <a class="linkButtonss" href="/article-${item.id}.html">查看详情></a>
                     </div>
                     </div>
                   </div>
                   </div>
               </a>
               </a>
@@ -114,14 +114,14 @@
   let currentPage = pageIndex; // 当前页
   let currentPage = pageIndex; // 当前页
   const knowledgeUrl = '/articleTemplate/pageList'
   const knowledgeUrl = '/articleTemplate/pageList'
   const knowledgeDetails = '/articleTemplate/articleDetail'
   const knowledgeDetails = '/articleTemplate/articleDetail'
-  const fixedParameters = '/' + currentPage
+  const fixedParameters = '/page-list-' + currentPage
 
 
   function search() {
   function search() {
     const inputVal = document.getElementById("knowledgeInput").value;
     const inputVal = document.getElementById("knowledgeInput").value;
-    window.location.href = knowledgeUrl + fixedParameters + '.html?&info=' + inputVal
+    window.location.href = fixedParameters + '.html?&info=' + inputVal
   }
   }
   function learnMore(id) {
   function learnMore(id) {
-    window.location.href = knowledgeDetails + `/` + id + '.html';
+    window.location.href = `/article-` + id + '.html';
   }
   }
   function triggerButtonClick(itemId) {
   function triggerButtonClick(itemId) {
     // 找到该 item 对应的按钮并触发点击事件
     // 找到该 item 对应的按钮并触发点击事件
@@ -141,7 +141,7 @@
     if(!inputVal) {
     if(!inputVal) {
       return
       return
     }
     }
-    window.location.href = knowledgeUrl + '/' + inputVal + '.html';
+    window.location.href = '/page-list-' + inputVal + '.html';
   }
   }
 
 
   // 初始化分页组件
   // 初始化分页组件
@@ -164,7 +164,7 @@
 
 
   // 跳转到指定页面
   // 跳转到指定页面
   function goToPage(page) {
   function goToPage(page) {
-    window.location.href = knowledgeUrl + '/' + page + '.html';
+    window.location.href = '/page-list-' + page + '.html';
   }
   }
 
 
   // 初始化分页
   // 初始化分页

+ 6 - 5
fhKeeper/formulahousekeeper/webttkuaiban/src/main/resources/templates/knowledgeDetails.ftl

@@ -86,12 +86,12 @@
         <div class="latestArticles">
         <div class="latestArticles">
           <div class="knowledgeDetails-right-title">
           <div class="knowledgeDetails-right-title">
             <div>最新文章</div>
             <div>最新文章</div>
-            <a href="/articleTemplate/pageList/1.html" class="linkButton">查看更多></a>
+            <a href="/page-list-${1}.html" class="linkButton">查看更多></a>
           </div>
           </div>
           <div class="line"></div>
           <div class="line"></div>
           <div class="latestList">
           <div class="latestList">
             <#list latestList as item>
             <#list latestList as item>
-              <a href="/articleTemplate/articleDetail/${item.id}.html">
+              <a href="/article-${item.id}.html">
                 <div class="latestList-item" data-item='${item.id}'>
                 <div class="latestList-item" data-item='${item.id}'>
                   <div class="latestList-item-image">
                   <div class="latestList-item-image">
                     <img src="${item.coverImgUrl}" class="wh100"></img>
                     <img src="${item.coverImgUrl}" class="wh100"></img>
@@ -108,12 +108,13 @@
         <div class="relatedRecommendations">
         <div class="relatedRecommendations">
           <div class="knowledgeDetails-right-title">
           <div class="knowledgeDetails-right-title">
             <div>相关推荐</div>
             <div>相关推荐</div>
-            <a href="/articleTemplate/pageList/1.html" class="linkButton">查看更多></a>
+
+            <a href="/page-list-${1}.html" class="linkButton">查看更多></a>
           </div>
           </div>
           <div class="line"></div>
           <div class="line"></div>
           <div class="latestList">
           <div class="latestList">
             <#list relatedList as item>
             <#list relatedList as item>
-              <a href="/articleTemplate/articleDetail/${item.id}.html">
+              <a href="/article-${item.id}.html">
                 <div class="latestList-item" data-item='${item.id}'>
                 <div class="latestList-item" data-item='${item.id}'>
                   <div class="latestList-item-image">
                   <div class="latestList-item-image">
                     <img src="${item.coverImgUrl}" class="wh100"></img>
                     <img src="${item.coverImgUrl}" class="wh100"></img>
@@ -197,7 +198,7 @@
   
   
   const knowledgeDetails = '/articleTemplate/articleDetail'
   const knowledgeDetails = '/articleTemplate/articleDetail'
   function toKnowledge() {
   function toKnowledge() {
-    window.location.href = `/articleTemplate/pageList/1.html`
+    window.location.href = `/page-list-${1}.html`
   }
   }
   
   
   $('#returnIcon').click(function () {
   $('#returnIcon').click(function () {

+ 1 - 1
fhKeeper/formulahousekeeper/webttkuaiban/src/main/resources/templates/moduleView/header.html

@@ -68,7 +68,7 @@
             { label: '产品定价', value: '../index.html#pricing', class: 'header-item' },
             { label: '产品定价', value: '../index.html#pricing', class: 'header-item' },
             { label: '关于我们', value: '../about.html', class: 'header-item' },
             { label: '关于我们', value: '../about.html', class: 'header-item' },
             { label: '企业动态', value: '../dynamic.html', class: 'header-item' },
             { label: '企业动态', value: '../dynamic.html', class: 'header-item' },
-            { label: '知识园地', value: '/articleTemplate/pageList/1.html', class: 'header-item' },
+            { label: '知识园地', value: '/page-list-1.html', class: 'header-item' },
           ],
           ],
           otherList: [
           otherList: [
             { label: '工时管家', path: '../index.html', icon: './image/icon/workHour.png', hoverIcon: './image/icon/workHourHover.png' },
             { label: '工时管家', path: '../index.html', icon: './image/icon/workHour.png', hoverIcon: './image/icon/workHourHover.png' },