From 0675cdc58a1bd1a1f5a8a98b2486139e8c4a1795 Mon Sep 17 00:00:00 2001 From: MiniDay <372403923@qq.com> Date: Wed, 29 Mar 2023 21:16:22 +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 --- .../config/security/DevSecurityConfig.java | 6 +- .../blog/config/security/SecurityConfig.java | 6 +- .../blog/controller/AttachController.java | 5 +- .../blog/controller/BlogController.java | 2 +- .../blog/controller/SettingController.java | 2 +- .../blog/controller/UserController.java | 4 +- .../blog/entity/SettingEntity.java | 2 +- .../blog/entity/repo/SettingRepository.java | 1 + blog-frontend/src/App.vue | 64 ++- blog-frontend/src/api-base/api.ts | 2 +- .../api-base/apis/attach-controller-api.ts | 204 ++++++++ .../src/api-base/apis/blog-controller-api.ts | 271 ++++++++-- .../api-base/apis/setting-controller-api.ts | 460 +++++++++++++++++ .../apis/site-setting-controller-api.ts | 116 ----- .../src/api-base/apis/user-controller-api.ts | 479 ++++++++++++++++-- blog-frontend/src/api-base/base.ts | 2 +- .../src/api-base/models/attach-entity.ts | 8 +- .../models/attach-info-response-vo.ts | 44 ++ .../src/api-base/models/blog-attach-entity.ts | 13 + .../src/api-base/models/blog-entity.ts | 38 +- .../api-base/models/blog-info-response-vo.ts | 100 ++++ .../api-base/models/blog-update-require-vo.ts | 62 +++ blog-frontend/src/api-base/models/index.ts | 26 +- .../pageable-voattach-info-response-vo.ts | 51 ++ .../pageable-voblog-info-response-vo.ts | 51 ++ .../pageable-vosetting-info-response-vo.ts | 51 ++ .../pageable-vouser-info-response-vo.ts | 51 ++ ...ts => response-voblog-info-response-vo.ts} | 16 +- ... response-volist-blog-info-response-vo.ts} | 16 +- ...list-blog-entity.ts => response-volong.ts} | 15 +- ...se-vopageable-voattach-info-response-vo.ts | 39 ++ ...onse-vopageable-voblog-info-response-vo.ts | 39 ++ ...e-vopageable-vosetting-info-response-vo.ts | 39 ++ ...onse-vopageable-vouser-info-response-vo.ts | 39 ++ .../response-vosetting-info-response-vo.ts | 39 ++ ...onse-vo.ts => setting-info-response-vo.ts} | 26 +- ...ire-vo.ts => setting-update-require-vo.ts} | 10 +- ...equire-vo.ts => user-create-require-vo.ts} | 14 +- .../src/api-base/models/user-entity.ts | 28 +- .../api-base/models/user-info-response-vo.ts | 61 +++ .../api-base/models/user-login-require-vo.ts | 32 ++ .../api-base/models/user-update-require-vo.ts | 55 ++ blog-frontend/src/router/index.ts | 5 + blog-frontend/src/views/LoginView.vue | 51 +- blog-frontend/src/views/SettingsView.vue | 13 + 45 files changed, 2357 insertions(+), 301 deletions(-) create mode 100644 blog-frontend/src/api-base/apis/setting-controller-api.ts delete mode 100644 blog-frontend/src/api-base/apis/site-setting-controller-api.ts create mode 100644 blog-frontend/src/api-base/models/attach-info-response-vo.ts create mode 100644 blog-frontend/src/api-base/models/blog-info-response-vo.ts create mode 100644 blog-frontend/src/api-base/models/blog-update-require-vo.ts create mode 100644 blog-frontend/src/api-base/models/pageable-voattach-info-response-vo.ts create mode 100644 blog-frontend/src/api-base/models/pageable-voblog-info-response-vo.ts create mode 100644 blog-frontend/src/api-base/models/pageable-vosetting-info-response-vo.ts create mode 100644 blog-frontend/src/api-base/models/pageable-vouser-info-response-vo.ts rename blog-frontend/src/api-base/models/{response-volist-user-info-response-vo.ts => response-voblog-info-response-vo.ts} (58%) rename blog-frontend/src/api-base/models/{response-vouser-register-response-vo.ts => response-volist-blog-info-response-vo.ts} (58%) rename blog-frontend/src/api-base/models/{response-volist-blog-entity.ts => response-volong.ts} (63%) create mode 100644 blog-frontend/src/api-base/models/response-vopageable-voattach-info-response-vo.ts create mode 100644 blog-frontend/src/api-base/models/response-vopageable-voblog-info-response-vo.ts create mode 100644 blog-frontend/src/api-base/models/response-vopageable-vosetting-info-response-vo.ts create mode 100644 blog-frontend/src/api-base/models/response-vopageable-vouser-info-response-vo.ts create mode 100644 blog-frontend/src/api-base/models/response-vosetting-info-response-vo.ts rename blog-frontend/src/api-base/models/{user-register-response-vo.ts => setting-info-response-vo.ts} (56%) rename blog-frontend/src/api-base/models/{user-modify-require-vo.ts => setting-update-require-vo.ts} (68%) rename blog-frontend/src/api-base/models/{user-register-require-vo.ts => user-create-require-vo.ts} (70%) create mode 100644 blog-frontend/src/api-base/models/user-login-require-vo.ts create mode 100644 blog-frontend/src/api-base/models/user-update-require-vo.ts create mode 100644 blog-frontend/src/views/SettingsView.vue diff --git a/blog-backend/src/main/java/cn/hamster3/application/blog/config/security/DevSecurityConfig.java b/blog-backend/src/main/java/cn/hamster3/application/blog/config/security/DevSecurityConfig.java index 0f93a74..a382ce3 100644 --- a/blog-backend/src/main/java/cn/hamster3/application/blog/config/security/DevSecurityConfig.java +++ b/blog-backend/src/main/java/cn/hamster3/application/blog/config/security/DevSecurityConfig.java @@ -18,10 +18,8 @@ public class DevSecurityConfig { .anyRequest().permitAll()) .cors().and() .csrf().disable() - .formLogin() - .and() - .httpBasic() - .and() + .formLogin().and() + .httpBasic().and() .build(); } diff --git a/blog-backend/src/main/java/cn/hamster3/application/blog/config/security/SecurityConfig.java b/blog-backend/src/main/java/cn/hamster3/application/blog/config/security/SecurityConfig.java index 096130e..a1d118e 100644 --- a/blog-backend/src/main/java/cn/hamster3/application/blog/config/security/SecurityConfig.java +++ b/blog-backend/src/main/java/cn/hamster3/application/blog/config/security/SecurityConfig.java @@ -21,10 +21,8 @@ public class SecurityConfig { .anyRequest().authenticated()) .cors().and() .csrf().disable() - .formLogin() - .and() - .httpBasic() - .and() + .formLogin().and() + .httpBasic().and() .build(); } diff --git a/blog-backend/src/main/java/cn/hamster3/application/blog/controller/AttachController.java b/blog-backend/src/main/java/cn/hamster3/application/blog/controller/AttachController.java index 191d6cb..2f709fa 100644 --- a/blog-backend/src/main/java/cn/hamster3/application/blog/controller/AttachController.java +++ b/blog-backend/src/main/java/cn/hamster3/application/blog/controller/AttachController.java @@ -2,12 +2,13 @@ package cn.hamster3.application.blog.controller; import cn.hamster3.application.blog.vo.ResponseVO; import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -@Tag(name = "附件接口", description = "附件相关接口") +@Tag(name = "AttachController", description = "附件相关接口") @RestController -@RequestMapping("/api/v1/attach") +@RequestMapping(value = "/api/v1/attach",produces = MediaType.APPLICATION_JSON_VALUE) public class AttachController { @PostMapping("/") public ResponseVO createAttach(@RequestBody MultipartFile file) { diff --git a/blog-backend/src/main/java/cn/hamster3/application/blog/controller/BlogController.java b/blog-backend/src/main/java/cn/hamster3/application/blog/controller/BlogController.java index b61f217..6d8ac7f 100644 --- a/blog-backend/src/main/java/cn/hamster3/application/blog/controller/BlogController.java +++ b/blog-backend/src/main/java/cn/hamster3/application/blog/controller/BlogController.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; -@Tag(name = "博文接口", description = "博文相关接口") +@Tag(name = "BlogController", description = "博文相关接口") @RestController @RequestMapping(value = "/api/v1/blog", produces = MediaType.APPLICATION_JSON_VALUE) public class BlogController { diff --git a/blog-backend/src/main/java/cn/hamster3/application/blog/controller/SettingController.java b/blog-backend/src/main/java/cn/hamster3/application/blog/controller/SettingController.java index 9ac87d8..fd64585 100644 --- a/blog-backend/src/main/java/cn/hamster3/application/blog/controller/SettingController.java +++ b/blog-backend/src/main/java/cn/hamster3/application/blog/controller/SettingController.java @@ -14,7 +14,7 @@ import org.springframework.data.domain.PageRequest; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; -@Tag(name = "网站设置接口", description = "网站设置相关接口") +@Tag(name = "SettingController", description = "网站设置相关接口") @RestController @RequestMapping(value = "/api/v1/settings", produces = MediaType.APPLICATION_JSON_VALUE) public class SettingController { diff --git a/blog-backend/src/main/java/cn/hamster3/application/blog/controller/UserController.java b/blog-backend/src/main/java/cn/hamster3/application/blog/controller/UserController.java index 09f1db3..0e65e19 100644 --- a/blog-backend/src/main/java/cn/hamster3/application/blog/controller/UserController.java +++ b/blog-backend/src/main/java/cn/hamster3/application/blog/controller/UserController.java @@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.*; import java.util.UUID; -@Tag(name = "用户接口", description = "用户相关接口") +@Tag(name = "UserController", description = "用户相关接口") @RestController @RequestMapping(value = "/api/v1/user", produces = MediaType.APPLICATION_JSON_VALUE) public class UserController { @@ -41,7 +41,7 @@ public class UserController { @PostMapping("/") @Operation(summary = "注册用户") - public ResponseVO createUser(@RequestBody @Valid UserCreateRequireVO requireVO) { + public ResponseVO register(@RequestBody @Valid UserCreateRequireVO requireVO) { return userService.createUser(requireVO); } diff --git a/blog-backend/src/main/java/cn/hamster3/application/blog/entity/SettingEntity.java b/blog-backend/src/main/java/cn/hamster3/application/blog/entity/SettingEntity.java index 4137d87..45b587c 100644 --- a/blog-backend/src/main/java/cn/hamster3/application/blog/entity/SettingEntity.java +++ b/blog-backend/src/main/java/cn/hamster3/application/blog/entity/SettingEntity.java @@ -22,7 +22,7 @@ public class SettingEntity { @Column(name = "id", nullable = false, updatable = false, length = 64) @NotBlank(message = "网站设置 ID 不能为空!") @Length(message = "网站设置 ID 长度不能超过 64 字符!", max = 64) - @Pattern(message = "网站设置 ID 只能包含字母、数字和下划线!", regexp = "[a-zA-Z0-9-_]+") + @Pattern(message = "网站设置 ID 只能包含字母、数字、点、横线和下划线!", regexp = "[a-zA-Z0-9-_.]+") private String id; @Setter diff --git a/blog-backend/src/main/java/cn/hamster3/application/blog/entity/repo/SettingRepository.java b/blog-backend/src/main/java/cn/hamster3/application/blog/entity/repo/SettingRepository.java index 79e9151..d676d1d 100644 --- a/blog-backend/src/main/java/cn/hamster3/application/blog/entity/repo/SettingRepository.java +++ b/blog-backend/src/main/java/cn/hamster3/application/blog/entity/repo/SettingRepository.java @@ -15,6 +15,7 @@ public interface SettingRepository extends JpaRepository, SettingEntity findByIdIgnoreCase(String id); + @SuppressWarnings("BooleanMethodIsAlwaysInverted") boolean existsByIdIgnoreCase(String id); @Transactional diff --git a/blog-frontend/src/App.vue b/blog-frontend/src/App.vue index c6ff3c8..e3ab6a1 100644 --- a/blog-frontend/src/App.vue +++ b/blog-frontend/src/App.vue @@ -1,38 +1,70 @@