diff --git a/blog-backend/src/main/java/cn/hamster3/application/blog/service/impl/UserService.java b/blog-backend/src/main/java/cn/hamster3/application/blog/service/impl/UserService.java index f10d1ff..22c7c71 100644 --- a/blog-backend/src/main/java/cn/hamster3/application/blog/service/impl/UserService.java +++ b/blog-backend/src/main/java/cn/hamster3/application/blog/service/impl/UserService.java @@ -56,7 +56,8 @@ public class UserService implements IUserService { private AuthenticationManager authenticationManager; @Override - public @NotNull ResponseVO registerUser(@NotNull HttpServletRequest request, @NotNull UserCreateRequireVO requireVO) { + public @NotNull ResponseVO registerUser(@NotNull HttpServletRequest request, + @NotNull UserCreateRequireVO requireVO) { UserEntity entity = userMapper.voToEntity(requireVO); entity.setEmail(entity.getEmail().toLowerCase()); @@ -77,7 +78,8 @@ public class UserService implements IUserService { } @Override - public @NotNull ResponseVO loginUser(@NotNull HttpServletRequest request, @NotNull UserLoginRequireVO requireVO) { + public @NotNull ResponseVO loginUser(@NotNull HttpServletRequest request, + @NotNull UserLoginRequireVO requireVO) { Authentication authenticate = authenticationManager.authenticate( new UsernamePasswordAuthenticationToken(requireVO.getEmail(), requireVO.getPassword()) ); @@ -159,16 +161,19 @@ public class UserService implements IUserService { } @Override - public @NotNull ResponseVO> getUserBlogList(@NotNull UUID userID, @NotNull Pageable pageable) { + public @NotNull ResponseVO> getUserBlogList(@NotNull UUID userID, + @NotNull Pageable pageable) { return PageableVO.success(blogRepo.findByCreator_IdOrderByCreateTimeDesc(userID, pageable) .map(o -> blogMapper.entityToInfoVO(o)) ); } @Override - public @NotNull ResponseVO> getUserAttachList(@NotNull UUID userID, @NotNull Pageable pageable) { + public @NotNull ResponseVO> getUserAttachList(@NotNull UUID userID, + @NotNull Pageable pageable) { return PageableVO.success(attachRepo.findByCreator_IdOrderByCreateTimeDesc(userID, pageable) .map(o -> attachMapper.entityToInfoVO(o)) ); } + } diff --git a/blog-frontend/src/components/HeaderComponent.vue b/blog-frontend/src/components/HeaderComponent.vue index b9b89a7..740d19e 100644 --- a/blog-frontend/src/components/HeaderComponent.vue +++ b/blog-frontend/src/components/HeaderComponent.vue @@ -5,10 +5,23 @@ import { api, globalStore, siteSetting } from "@/api"; import router from "@/router"; import { UserInfoResponseVORoleEnum } from "@/swagger"; -const menuIndex = ref(document.location.pathname); +const menuIndex = ref("/"); +switch (document.location.pathname) { + case "/manage": { + menuIndex.value = "/manage"; + } + case "/login": { + menuIndex.value = "/login"; + } + case "/register": { + menuIndex.value = "/register"; + } + default: { + menuIndex.value = "/"; + } +} onMounted(() => { - menuIndex.value = document.location.pathname; // 获取站点标题 api.SettingController.getSettingContent(siteSetting.keys.site.title).then( (response) => { diff --git a/blog-frontend/src/components/manage/AttachManageComponent.vue b/blog-frontend/src/components/manage/AttachManageComponent.vue index 2e67de7..11f48c6 100644 --- a/blog-frontend/src/components/manage/AttachManageComponent.vue +++ b/blog-frontend/src/components/manage/AttachManageComponent.vue @@ -31,7 +31,7 @@ function loadPage(newPage: number) { }); } -function uploadAttach(options: UploadRequestOptions) { +function createAttach(options: UploadRequestOptions) { return api.AttachController.createAttachForm(options.file).then((resp) => { const vo = resp.data; if (vo.code === 200) { @@ -142,7 +142,7 @@ function deleteAttach(id: number) {

- + 上传新附件

diff --git a/blog-frontend/src/components/manage/BlogManageComponent.vue b/blog-frontend/src/components/manage/BlogManageComponent.vue index d21c469..07bb09a 100644 --- a/blog-frontend/src/components/manage/BlogManageComponent.vue +++ b/blog-frontend/src/components/manage/BlogManageComponent.vue @@ -132,6 +132,11 @@ function loadPage(newPage: number) { +

+ + 发表博文 + +

import("@/views/TagsView.vue"), }, { - path: "/blog/:id", + path: "/blog", name: "blog", children: [ { - path: "read", - name: "read", - component: () => import("@/views/BlogReadView.vue"), + path: "create", + name: "create", + component: () => import("@/views/BlogCreateView.vue"), }, { - path: "edit", - name: "edit", - component: () => import("@/views/BlogEditView.vue"), + path: ":id", + name: "blogID", + children: [ + { + path: "read", + name: "read", + component: () => import("@/views/BlogReadView.vue"), + }, + { + path: "edit", + name: "edit", + component: () => import("@/views/BlogEditView.vue"), + }, + ], }, ], }, diff --git a/blog-frontend/src/views/BlogCreateView.vue b/blog-frontend/src/views/BlogCreateView.vue new file mode 100644 index 0000000..2d0629b --- /dev/null +++ b/blog-frontend/src/views/BlogCreateView.vue @@ -0,0 +1,175 @@ + + + + + diff --git a/blog-frontend/src/views/BlogEditView.vue b/blog-frontend/src/views/BlogEditView.vue index dd940b4..4133cff 100644 --- a/blog-frontend/src/views/BlogEditView.vue +++ b/blog-frontend/src/views/BlogEditView.vue @@ -133,7 +133,7 @@ function handleCreated(editor: IDomEditor) { diff --git a/blog-frontend/src/views/BlogReadView.vue b/blog-frontend/src/views/BlogReadView.vue index 8a83a09..6f8f661 100644 --- a/blog-frontend/src/views/BlogReadView.vue +++ b/blog-frontend/src/views/BlogReadView.vue @@ -109,8 +109,7 @@ function deleteBlog() { margin: 0 auto; } -.blog-content > p, -img { +.blog-content img { width: 100%; }