mirror of
				https://github.com/continew-org/continew-admin.git
				synced 2025-10-31 22:57:17 +08:00 
			
		
		
		
	refactor: 优化部分接口响应格式为 kv 格式
This commit is contained in:
		| @@ -0,0 +1,45 @@ | |||||||
|  | /* | ||||||
|  |  * Copyright (c) 2022-present Charles7c Authors. All Rights Reserved. | ||||||
|  |  * | ||||||
|  |  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
|  |  * you may not use this file except in compliance with the License. | ||||||
|  |  * You may obtain a copy of the License at | ||||||
|  |  * | ||||||
|  |  *     http://www.apache.org/licenses/LICENSE-2.0 | ||||||
|  |  * | ||||||
|  |  * Unless required by applicable law or agreed to in writing, software | ||||||
|  |  * distributed under the License is distributed on an "AS IS" BASIS, | ||||||
|  |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||||
|  |  * See the License for the specific language governing permissions and | ||||||
|  |  * limitations under the License. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | package top.charles7c.continew.admin.auth.model.resp; | ||||||
|  |  | ||||||
|  | import io.swagger.v3.oas.annotations.media.Schema; | ||||||
|  | import lombok.Builder; | ||||||
|  | import lombok.Data; | ||||||
|  |  | ||||||
|  | import java.io.Serial; | ||||||
|  | import java.io.Serializable; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 三方账号授权认证响应信息 | ||||||
|  |  * | ||||||
|  |  * @author Charles7c | ||||||
|  |  * @since 2024/3/6 22:26 | ||||||
|  |  */ | ||||||
|  | @Data | ||||||
|  | @Builder | ||||||
|  | @Schema(description = "三方账号授权认证响应信息") | ||||||
|  | public class SocialAuthAuthorizeResp implements Serializable { | ||||||
|  |  | ||||||
|  |     @Serial | ||||||
|  |     private static final long serialVersionUID = 1L; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 授权 URL | ||||||
|  |      */ | ||||||
|  |     @Schema(description = "授权 URL", example = "https://gitee.com/oauth/authorize?response_type=code&client_id=5d271b7f638941812aaf8bfc2e2f08f06d6235ef934e0e39537e2364eb8452c4&redirect_uri=http://localhost:5173/social/callback?source=gitee&state=d4ea7129e2531050210e9c918cc007d7&scope=user_info") | ||||||
|  |     private String authorizeUrl; | ||||||
|  | } | ||||||
| @@ -0,0 +1,45 @@ | |||||||
|  | /* | ||||||
|  |  * Copyright (c) 2022-present Charles7c Authors. All Rights Reserved. | ||||||
|  |  * | ||||||
|  |  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
|  |  * you may not use this file except in compliance with the License. | ||||||
|  |  * You may obtain a copy of the License at | ||||||
|  |  * | ||||||
|  |  *     http://www.apache.org/licenses/LICENSE-2.0 | ||||||
|  |  * | ||||||
|  |  * Unless required by applicable law or agreed to in writing, software | ||||||
|  |  * distributed under the License is distributed on an "AS IS" BASIS, | ||||||
|  |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||||
|  |  * See the License for the specific language governing permissions and | ||||||
|  |  * limitations under the License. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | package top.charles7c.continew.admin.system.model.resp; | ||||||
|  |  | ||||||
|  | import io.swagger.v3.oas.annotations.media.Schema; | ||||||
|  | import lombok.Builder; | ||||||
|  | import lombok.Data; | ||||||
|  |  | ||||||
|  | import java.io.Serial; | ||||||
|  | import java.io.Serializable; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 文件上传响应信息 | ||||||
|  |  * | ||||||
|  |  * @author Charles7c | ||||||
|  |  * @since 2024/3/6 22:26 | ||||||
|  |  */ | ||||||
|  | @Data | ||||||
|  | @Builder | ||||||
|  | @Schema(description = "文件上传响应信息") | ||||||
|  | public class FileUploadResp implements Serializable { | ||||||
|  |  | ||||||
|  |     @Serial | ||||||
|  |     private static final long serialVersionUID = 1L; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 文件 URL | ||||||
|  |      */ | ||||||
|  |     @Schema(description = "文件 URL", example = "http://localhost:8000/file/65e87dc3fb377a6fb58bdece.jpg") | ||||||
|  |     private String url; | ||||||
|  | } | ||||||
| @@ -16,32 +16,27 @@ | |||||||
|  |  | ||||||
| package top.charles7c.continew.admin.webapi.auth; | package top.charles7c.continew.admin.webapi.auth; | ||||||
|  |  | ||||||
| import lombok.RequiredArgsConstructor; | import cn.dev33.satoken.annotation.SaIgnore; | ||||||
|  | import cn.dev33.satoken.stp.StpUtil; | ||||||
|  | import com.xkcoding.justauth.AuthRequestFactory; | ||||||
| import io.swagger.v3.oas.annotations.Operation; | import io.swagger.v3.oas.annotations.Operation; | ||||||
| import io.swagger.v3.oas.annotations.Parameter; | import io.swagger.v3.oas.annotations.Parameter; | ||||||
| import io.swagger.v3.oas.annotations.enums.ParameterIn; | import io.swagger.v3.oas.annotations.enums.ParameterIn; | ||||||
| import io.swagger.v3.oas.annotations.tags.Tag; | import io.swagger.v3.oas.annotations.tags.Tag; | ||||||
|  | import lombok.RequiredArgsConstructor; | ||||||
| import org.springframework.web.bind.annotation.*; |  | ||||||
|  |  | ||||||
| import com.xkcoding.justauth.AuthRequestFactory; |  | ||||||
|  |  | ||||||
| import cn.dev33.satoken.annotation.SaIgnore; |  | ||||||
| import cn.dev33.satoken.stp.StpUtil; |  | ||||||
|  |  | ||||||
| import top.charles7c.continew.admin.auth.model.resp.LoginResp; |  | ||||||
| import top.charles7c.continew.admin.auth.service.LoginService; |  | ||||||
| import top.charles7c.continew.starter.core.exception.BadRequestException; |  | ||||||
| import top.charles7c.continew.starter.core.util.validate.ValidationUtils; |  | ||||||
| import top.charles7c.continew.starter.web.model.R; |  | ||||||
| import top.charles7c.continew.starter.log.core.annotation.Log; |  | ||||||
|  |  | ||||||
| import me.zhyd.oauth.model.AuthCallback; | import me.zhyd.oauth.model.AuthCallback; | ||||||
| import me.zhyd.oauth.model.AuthResponse; | import me.zhyd.oauth.model.AuthResponse; | ||||||
| import me.zhyd.oauth.model.AuthUser; | import me.zhyd.oauth.model.AuthUser; | ||||||
| import me.zhyd.oauth.request.AuthRequest; | import me.zhyd.oauth.request.AuthRequest; | ||||||
| import me.zhyd.oauth.utils.AuthStateUtils; | import me.zhyd.oauth.utils.AuthStateUtils; | ||||||
|  | import org.springframework.web.bind.annotation.*; | ||||||
|  | import top.charles7c.continew.admin.auth.model.resp.LoginResp; | ||||||
|  | import top.charles7c.continew.admin.auth.model.resp.SocialAuthAuthorizeResp; | ||||||
|  | import top.charles7c.continew.admin.auth.service.LoginService; | ||||||
|  | import top.charles7c.continew.starter.core.exception.BadRequestException; | ||||||
|  | import top.charles7c.continew.starter.core.util.validate.ValidationUtils; | ||||||
|  | import top.charles7c.continew.starter.log.core.annotation.Log; | ||||||
|  | import top.charles7c.continew.starter.web.model.R; | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * 三方账号认证 API |  * 三方账号认证 API | ||||||
| @@ -63,9 +58,11 @@ public class SocialAuthController { | |||||||
|     @Operation(summary = "三方账号登录授权", description = "三方账号登录授权") |     @Operation(summary = "三方账号登录授权", description = "三方账号登录授权") | ||||||
|     @Parameter(name = "source", description = "来源", example = "gitee", in = ParameterIn.PATH) |     @Parameter(name = "source", description = "来源", example = "gitee", in = ParameterIn.PATH) | ||||||
|     @GetMapping("/{source}") |     @GetMapping("/{source}") | ||||||
|     public R<String> authorize(@PathVariable String source) { |     public R<SocialAuthAuthorizeResp> authorize(@PathVariable String source) { | ||||||
|         AuthRequest authRequest = this.getAuthRequest(source); |         AuthRequest authRequest = this.getAuthRequest(source); | ||||||
|         return R.ok("操作成功", authRequest.authorize(AuthStateUtils.createState())); |         return R.ok(SocialAuthAuthorizeResp.builder() | ||||||
|  |             .authorizeUrl(authRequest.authorize(AuthStateUtils.createState())) | ||||||
|  |             .build()); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Operation(summary = "三方账号登录", description = "三方账号登录") |     @Operation(summary = "三方账号登录", description = "三方账号登录") | ||||||
|   | |||||||
| @@ -39,6 +39,7 @@ import top.charles7c.continew.admin.system.model.query.DeptQuery; | |||||||
| import top.charles7c.continew.admin.system.model.query.MenuQuery; | import top.charles7c.continew.admin.system.model.query.MenuQuery; | ||||||
| import top.charles7c.continew.admin.system.model.query.OptionQuery; | import top.charles7c.continew.admin.system.model.query.OptionQuery; | ||||||
| import top.charles7c.continew.admin.system.model.query.RoleQuery; | import top.charles7c.continew.admin.system.model.query.RoleQuery; | ||||||
|  | import top.charles7c.continew.admin.system.model.resp.FileUploadResp; | ||||||
| import top.charles7c.continew.admin.system.service.*; | import top.charles7c.continew.admin.system.service.*; | ||||||
| import top.charles7c.continew.starter.core.autoconfigure.project.ProjectProperties; | import top.charles7c.continew.starter.core.autoconfigure.project.ProjectProperties; | ||||||
| import top.charles7c.continew.starter.core.util.validate.ValidationUtils; | import top.charles7c.continew.starter.core.util.validate.ValidationUtils; | ||||||
| @@ -77,11 +78,11 @@ public class CommonController { | |||||||
|  |  | ||||||
|     @Operation(summary = "上传文件", description = "上传文件") |     @Operation(summary = "上传文件", description = "上传文件") | ||||||
|     @PostMapping("/file") |     @PostMapping("/file") | ||||||
|     public R<String> upload(@NotNull(message = "文件不能为空") MultipartFile file) { |     public R<FileUploadResp> upload(@NotNull(message = "文件不能为空") MultipartFile file) { | ||||||
|         ValidationUtils.throwIf(projectProperties.isProduction(), "演示环境不支持上传文件"); |         ValidationUtils.throwIf(projectProperties.isProduction(), "演示环境不支持上传文件"); | ||||||
|         ValidationUtils.throwIf(file::isEmpty, "文件不能为空"); |         ValidationUtils.throwIf(file::isEmpty, "文件不能为空"); | ||||||
|         FileInfo fileInfo = fileService.upload(file); |         FileInfo fileInfo = fileService.upload(file); | ||||||
|         return R.ok("上传成功", fileInfo.getUrl()); |         return R.ok(FileUploadResp.builder().url(fileInfo.getUrl()).build()); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Operation(summary = "查询部门树", description = "查询树结构的部门列表") |     @Operation(summary = "查询部门树", description = "查询树结构的部门列表") | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user