diff --git a/README.md b/README.md index a4aec9089..4c8ab04fd 100755 --- a/README.md +++ b/README.md @@ -26,6 +26,8 @@ Fast,simple,powerful blog system powered by Java. **Halo** [ˈheɪloʊ],意为光环。当然,你也可以当成拼音读(哈喽)。
轻快,简洁,功能强大,使用Java开发的博客系统。 +**Halo交流群:** 162747721 + ## Quickstart 快速开始 ```bash diff --git a/src/main/java/cc/ryanc/halo/repository/PostRepository.java b/src/main/java/cc/ryanc/halo/repository/PostRepository.java index e220817cf..40b4c1600 100644 --- a/src/main/java/cc/ryanc/halo/repository/PostRepository.java +++ b/src/main/java/cc/ryanc/halo/repository/PostRepository.java @@ -76,10 +76,11 @@ public interface PostRepository extends JpaRepository{ /** * 根据路径查询文章 * - * @param postUrl postUrl + * @param postUrl 路径 + * @param postType post or page * @return Post */ - Post findPostByPostUrl(String postUrl); + Post findPostByPostUrlAndPostType(String postUrl,String postType); /** * 查询之后文章 diff --git a/src/main/java/cc/ryanc/halo/service/PostService.java b/src/main/java/cc/ryanc/halo/service/PostService.java index 128ebeb02..50bec4b28 100755 --- a/src/main/java/cc/ryanc/halo/service/PostService.java +++ b/src/main/java/cc/ryanc/halo/service/PostService.java @@ -107,10 +107,11 @@ public interface PostService { /** * 根据文章路径查询 * - * @param postUrl postUrl - * @return post + * @param postUrl 路径 + * @param postType post or page + * @return Post */ - Post findByPostUrl(String postUrl); + Post findByPostUrl(String postUrl,String postType); /** * 查询前五条数据 diff --git a/src/main/java/cc/ryanc/halo/service/impl/PostServiceImpl.java b/src/main/java/cc/ryanc/halo/service/impl/PostServiceImpl.java index 6ae26bf24..ca806e83f 100755 --- a/src/main/java/cc/ryanc/halo/service/impl/PostServiceImpl.java +++ b/src/main/java/cc/ryanc/halo/service/impl/PostServiceImpl.java @@ -158,12 +158,13 @@ public class PostServiceImpl implements PostService { /** * 根据文章路径查询 * - * @param postUrl postUrl - * @return post + * @param postUrl 路径 + * @param postType post or page + * @return Post */ @Override - public Post findByPostUrl(String postUrl) { - return postRepository.findPostByPostUrl(postUrl); + public Post findByPostUrl(String postUrl,String postType) { + return postRepository.findPostByPostUrlAndPostType(postUrl,postType); } /** diff --git a/src/main/java/cc/ryanc/halo/web/controller/admin/PageController.java b/src/main/java/cc/ryanc/halo/web/controller/admin/PageController.java index 36257a112..44895b784 100755 --- a/src/main/java/cc/ryanc/halo/web/controller/admin/PageController.java +++ b/src/main/java/cc/ryanc/halo/web/controller/admin/PageController.java @@ -203,7 +203,7 @@ public class PageController { /** * 跳转到新建页面 * - * @return 模板路径 + * @return 模板路径admin/admin_page_md_editor */ @GetMapping(value = "/new") public String newPage(Model model){ @@ -230,4 +230,35 @@ public class PageController { log.error("未知错误:{0}",e.getMessage()); } } + + /** + * 跳转到修改页面 + * + * @param pageId 页面编号 + * @param model model + * @return admin/admin_page_md_editor + */ + @GetMapping(value = "/edit") + public String editPage(@PathParam("pageId") Long pageId,Model model){ + Optional post = postService.findByPostId(pageId); + model.addAttribute("post",post.get()); + return "admin/admin_page_md_editor"; + } + + /** + * 检查该路径是否已经存在 + * + * @param postUrl postUrl + * @return true or false + */ + @GetMapping(value = "/checkUrl") + @ResponseBody + public boolean checkUrlExists(@PathParam("postUrl") String postUrl){ + Post post = postService.findByPostUrl(postUrl,HaloConst.POST_TYPE_PAGE); + // TODO 还没写完 + if(null!=post || StringUtils.equals("archives",postUrl) || StringUtils.equals("galleries",postUrl)){ + return true; + } + return false; + } } diff --git a/src/main/java/cc/ryanc/halo/web/controller/admin/PostController.java b/src/main/java/cc/ryanc/halo/web/controller/admin/PostController.java index 01c06bb84..13d9e248c 100755 --- a/src/main/java/cc/ryanc/halo/web/controller/admin/PostController.java +++ b/src/main/java/cc/ryanc/halo/web/controller/admin/PostController.java @@ -211,7 +211,7 @@ public class PostController extends BaseController{ * @return 重定向到/admin/posts */ @GetMapping(value = "/remove") - public String removePost(@PathParam("postId") Long postId){ + public String removePost(@PathParam("postId") Long postId,@PathParam("postType") String postType){ try{ Optional post = postService.findByPostId(postId); postService.removeByPostId(postId); @@ -219,7 +219,10 @@ public class PostController extends BaseController{ }catch (Exception e){ log.error("未知错误:{0}",e.getMessage()); } - return "redirect:/admin/posts?status=2"; + if(StringUtils.equals(HaloConst.POST_TYPE_POST,postType)){ + return "redirect:/admin/posts?status=2"; + } + return "redirect:/admin/page"; } /** @@ -231,14 +234,10 @@ public class PostController extends BaseController{ */ @GetMapping(value = "/edit") public String editPost(@PathParam("postId") Long postId, Model model){ - try { - Optional post = postService.findByPostId(postId); - model.addAttribute("post",post.get()); - List categories = categoryService.findAllCategories(); - model.addAttribute("categories",categories); - }catch (Exception e){ - log.error("未知错误:{0}",e.getMessage()); - } + Optional post = postService.findByPostId(postId); + model.addAttribute("post",post.get()); + List categories = categoryService.findAllCategories(); + model.addAttribute("categories",categories); return "admin/admin_post_md_editor"; } @@ -269,7 +268,7 @@ public class PostController extends BaseController{ @GetMapping(value = "/checkUrl") @ResponseBody public boolean checkUrlExists(@PathParam("postUrl") String postUrl){ - Post post = postService.findByPostUrl(postUrl); + Post post = postService.findByPostUrl(postUrl,HaloConst.POST_TYPE_POST); if(null!=post){ return true; }else{ diff --git a/src/main/java/cc/ryanc/halo/web/controller/front/ArchivesController.java b/src/main/java/cc/ryanc/halo/web/controller/front/ArchivesController.java index 7475c54c1..6e1a603b8 100644 --- a/src/main/java/cc/ryanc/halo/web/controller/front/ArchivesController.java +++ b/src/main/java/cc/ryanc/halo/web/controller/front/ArchivesController.java @@ -88,7 +88,7 @@ public class ArchivesController extends BaseController { */ @GetMapping(value = "{postUrl}") public String getPost(@PathVariable String postUrl, Model model){ - Post post = postService.findByPostUrl(postUrl); + Post post = postService.findByPostUrl(postUrl,HaloConst.POST_TYPE_POST); //获得当前文章的发布日期 Date postDate = post.getPostDate(); try { diff --git a/src/main/java/cc/ryanc/halo/web/controller/front/PagesController.java b/src/main/java/cc/ryanc/halo/web/controller/front/PagesController.java index b6d30ed66..2372ea8eb 100644 --- a/src/main/java/cc/ryanc/halo/web/controller/front/PagesController.java +++ b/src/main/java/cc/ryanc/halo/web/controller/front/PagesController.java @@ -3,6 +3,7 @@ package cc.ryanc.halo.web.controller.front; import cc.ryanc.halo.model.domain.Gallery; import cc.ryanc.halo.model.domain.Link; import cc.ryanc.halo.model.domain.Post; +import cc.ryanc.halo.model.dto.HaloConst; import cc.ryanc.halo.service.GalleryService; import cc.ryanc.halo.service.LinkService; import cc.ryanc.halo.service.PostService; @@ -32,19 +33,6 @@ public class PagesController extends BaseController { @Autowired private LinkService linkService; - - /** - * 渲染关于页面 - * - * @param model model - * @return 模板路径/themes/{theme}/about - */ - @GetMapping(value = "/about") - public String about(Model model){ - model.addAttribute("about","709831589"); - return this.render("about"); - } - /** * 跳转到图库页面 * @@ -78,9 +66,9 @@ public class PagesController extends BaseController { * @param model model * @return 模板路径/themes/{theme}/post */ - @GetMapping(value = "/{postUrl}") - public String getPage(@PathVariable String postUrl,Model model){ - Post post = postService.findByPostUrl(postUrl); + @GetMapping(value = "/p/{postUrl}") + public String getPage(@PathVariable(value = "postUrl") String postUrl,Model model){ + Post post = postService.findByPostUrl(postUrl,HaloConst.POST_TYPE_PAGE); model.addAttribute("post",post); return this.render("post"); } diff --git a/src/main/resources/templates/admin/admin_page.ftl b/src/main/resources/templates/admin/admin_page.ftl index e8aa3a249..8ab7bd649 100755 --- a/src/main/resources/templates/admin/admin_page.ftl +++ b/src/main/resources/templates/admin/admin_page.ftl @@ -84,6 +84,8 @@ 标题 路径 + 评论 + 日期 操作 @@ -92,10 +94,13 @@ <#list pages as page> ${page.postTitle} - ${page.postUrl} + /p/${page.postUrl} + ${page.comments?size} + ${page.postDate?string("yyyy-MM-dd HH:mm")} - 预览 - 编辑 + 预览 + 编辑 + @@ -113,6 +118,36 @@ + + + <#include "module/_footer.ftl"> diff --git a/src/main/resources/templates/admin/admin_page_md_editor.ftl b/src/main/resources/templates/admin/admin_page_md_editor.ftl index 9749a579e..26af9ec31 100755 --- a/src/main/resources/templates/admin/admin_page_md_editor.ftl +++ b/src/main/resources/templates/admin/admin_page_md_editor.ftl @@ -40,7 +40,7 @@
永久链接: - ${options.blog_url}/<#if post??>${post.postUrl}/ + ${options.blog_url}/p/<#if post??>${post.postUrl}/ @@ -152,7 +152,7 @@ } $.ajax({ type: 'GET', - url: '/admin/posts/checkUrl', + url: '/admin/page/checkUrl', async: false, data: { 'postUrl': $('#newPostUrl').val() diff --git a/src/main/resources/templates/admin/admin_post.ftl b/src/main/resources/templates/admin/admin_post.ftl index 52db347ef..27d6c6ab4 100755 --- a/src/main/resources/templates/admin/admin_post.ftl +++ b/src/main/resources/templates/admin/admin_post.ftl @@ -80,9 +80,7 @@ - <#if post.getComments()??> - ${post.getComments()?size} - + ${post.getComments()?size} ${post.postDate?if_exists?string("yyyy-MM-dd HH:mm")} @@ -99,7 +97,7 @@ <#break > <#case 2> 还原 - + <#break >