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
+
+
+
+
+
+