From f8d2c945869ab1b591f69e9c83189ecb49512e69 Mon Sep 17 00:00:00 2001 From: MiniDay <372403923@qq.com> Date: Thu, 6 Apr 2023 09:18:12 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=BC=80=E5=8F=91=E4=B8=AD...?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../application/blog/entity/AttachEntity.java | 4 +- .../blog/service/impl/AttachService.java | 4 +- .../blog/vo/attach/AttachInfoResponseVO.java | 4 ++ .../manage/AttachManageComponent.vue | 20 +++++++ .../components/manage/BlogManageComponent.vue | 9 +-- .../components/manage/SiteManageComponent.vue | 56 ++++++++++--------- .../components/manage/UserManageComponent.vue | 7 +++ blog-frontend/src/views/ManagePaneView.vue | 14 +++-- 8 files changed, 81 insertions(+), 37 deletions(-) create mode 100644 blog-frontend/src/components/manage/AttachManageComponent.vue create mode 100644 blog-frontend/src/components/manage/UserManageComponent.vue diff --git a/blog-backend/src/main/java/cn/hamster3/application/blog/entity/AttachEntity.java b/blog-backend/src/main/java/cn/hamster3/application/blog/entity/AttachEntity.java index e25c5cd..5b521cc 100644 --- a/blog-backend/src/main/java/cn/hamster3/application/blog/entity/AttachEntity.java +++ b/blog-backend/src/main/java/cn/hamster3/application/blog/entity/AttachEntity.java @@ -24,8 +24,8 @@ public class AttachEntity { private Long id; @Setter - @Column(name = "name", nullable = false) - private String name; + @Column(name = "filename", nullable = false) + private String filename; @Setter @Column(name = "content_type", nullable = false) diff --git a/blog-backend/src/main/java/cn/hamster3/application/blog/service/impl/AttachService.java b/blog-backend/src/main/java/cn/hamster3/application/blog/service/impl/AttachService.java index 472392f..c2cb2c2 100644 --- a/blog-backend/src/main/java/cn/hamster3/application/blog/service/impl/AttachService.java +++ b/blog-backend/src/main/java/cn/hamster3/application/blog/service/impl/AttachService.java @@ -50,7 +50,7 @@ public class AttachService implements IAttachService { } log.info("prepare to save file: {}({} bytes)", file.getOriginalFilename(), file.getSize()); AttachEntity attachEntity = new AttachEntity(); - attachEntity.setName(file.getOriginalFilename()); + attachEntity.setFilename(file.getOriginalFilename()); attachEntity.setContentType(file.getContentType()); attachEntity.setData(file.getBytes()); attachEntity = attachRepo.save(attachEntity); @@ -91,7 +91,7 @@ public class AttachService implements IAttachService { return ResponseEntity .ok() .header("Cache-Control", "no-cache, no-store, must-revalidate") - .header("Content-Disposition", String.format("attachment; filename=\"%s\"", entity.getName())) + .header("Content-Disposition", String.format("attachment; filename=\"%s\"", entity.getFilename())) .header("Pragma", "no-cache") .header("Expires", "0") .contentLength(localCacheFile.length()) diff --git a/blog-backend/src/main/java/cn/hamster3/application/blog/vo/attach/AttachInfoResponseVO.java b/blog-backend/src/main/java/cn/hamster3/application/blog/vo/attach/AttachInfoResponseVO.java index 105240f..fafb454 100644 --- a/blog-backend/src/main/java/cn/hamster3/application/blog/vo/attach/AttachInfoResponseVO.java +++ b/blog-backend/src/main/java/cn/hamster3/application/blog/vo/attach/AttachInfoResponseVO.java @@ -15,6 +15,10 @@ public class AttachInfoResponseVO { @NotNull private Long id; @NotNull + private String filename; + @NotNull + private String contentType; + @NotNull private UserInfoResponseVO creator; @NotNull private UserInfoResponseVO updater; diff --git a/blog-frontend/src/components/manage/AttachManageComponent.vue b/blog-frontend/src/components/manage/AttachManageComponent.vue new file mode 100644 index 0000000..57b62a4 --- /dev/null +++ b/blog-frontend/src/components/manage/AttachManageComponent.vue @@ -0,0 +1,20 @@ + + + + + diff --git a/blog-frontend/src/components/manage/BlogManageComponent.vue b/blog-frontend/src/components/manage/BlogManageComponent.vue index f79985b..4df7918 100644 --- a/blog-frontend/src/components/manage/BlogManageComponent.vue +++ b/blog-frontend/src/components/manage/BlogManageComponent.vue @@ -7,13 +7,13 @@ import { api } from "@/api"; import router from "@/router"; import { ElMessage } from "element-plus"; -let pageIndex = ref(0); +let pageIndex = ref(1); let pageSize = 2; let pageCount = 100; const blogs = ref>(); onMounted(() => { - changePage(1); + loadPage(1); }); function editBlog(blogID: number) { @@ -28,6 +28,7 @@ function deleteBlog(blogID: number) { type: "success", message: "删除博客成功!", }); + loadPage(pageIndex.value); } else { ElMessage({ type: "error", @@ -53,7 +54,7 @@ function showUpdater() { console.log("showUpdater"); } -function changePage(newPage: number) { +function loadPage(newPage: number) { api.BlogController.getBlogInfoList(newPage - 1, pageSize).then((resp) => { const vo = resp.data; const page = vo.content; @@ -140,7 +141,7 @@ function changePage(newPage: number) { :hide-on-single-page="false" :current-page="pageIndex" :page-count="pageCount" - @update:current-page="changePage" + @update:current-page="loadPage" />
diff --git a/blog-frontend/src/components/manage/SiteManageComponent.vue b/blog-frontend/src/components/manage/SiteManageComponent.vue index 4a245a4..1b96ecc 100644 --- a/blog-frontend/src/components/manage/SiteManageComponent.vue +++ b/blog-frontend/src/components/manage/SiteManageComponent.vue @@ -34,34 +34,40 @@ function changeCustomCSS(cssText: string) { diff --git a/blog-frontend/src/views/ManagePaneView.vue b/blog-frontend/src/views/ManagePaneView.vue index 5cda837..e089251 100644 --- a/blog-frontend/src/views/ManagePaneView.vue +++ b/blog-frontend/src/views/ManagePaneView.vue @@ -2,8 +2,10 @@ import { onMounted, ref } from "vue"; import { globalStore } from "@/api"; -import SiteManageComponent from "@/components/manage/SiteManageComponent.vue"; +import AttachManageComponent from "@/components/manage/AttachManageComponent.vue"; import BlogManageComponent from "@/components/manage/BlogManageComponent.vue"; +import SiteManageComponent from "@/components/manage/SiteManageComponent.vue"; +import UserManageComponent from "@/components/manage/UserManageComponent.vue"; const activeName = ref("site"); @@ -25,11 +27,15 @@ onMounted(() => { - + - Config - Role + + + + + +