From 053d562157ba722f9599c113c692ef10192a9ef6 Mon Sep 17 00:00:00 2001 From: zhuoda Date: Thu, 17 Oct 2024 21:55:56 +0800 Subject: [PATCH] =?UTF-8?q?v3.8.0=E3=80=90=E4=BC=98=E5=8C=96=E3=80=91?= =?UTF-8?q?=E7=AE=80=E4=BB=8B=E6=98=8E=E4=BA=86=E7=9A=84=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E8=8C=83=E5=9B=B4=E8=AF=B4=E6=98=8E=E6=96=87=E6=A1=A3;?= =?UTF-8?q?=E3=80=90=E4=BC=98=E5=8C=96=E3=80=91Long=E5=BA=8F=E5=88=97?= =?UTF-8?q?=E5=8C=96;=E3=80=90=E4=BC=98=E5=8C=96=E3=80=91=E6=A0=87?= =?UTF-8?q?=E7=AD=BE=E9=A1=B5=E5=8F=B3=E9=94=AE=E5=85=B3=E9=97=AD;?= =?UTF-8?q?=E3=80=90=E4=BC=98=E5=8C=96=E3=80=91=E8=A1=A8=E6=A0=BC=E6=8E=92?= =?UTF-8?q?=E5=BA=8FDemo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../goods/domain/form/GoodsQueryForm.java | 3 + .../notice/service/NoticeEmployeeService.java | 1 - .../controller/EmployeeController.java | 4 +- .../system/employee/dao/EmployeeDao.java | 2 +- .../employee/service/EmployeeService.java | 4 +- .../role/manager/RoleEmployeeManager.java | 2 +- .../support/AdminProtectController.java | 2 +- .../business/oa/notice/NoticeMapper.xml | 24 +- .../src/main/resources/test/application.yaml | 2 +- .../json/serializer/LongJsonSerializer.java | 19 +- .../{DateConfig.java => JsonConfig.java} | 8 +- .../lab1024/sa/base/config/SwaggerConfig.java | 44 ++- .../net/lab1024/sa/base/config/UrlConfig.java | 2 +- .../sa/base/listener/WebServerListener.java | 16 +- .../advice/EncryptResponseAdvice.java | 12 +- .../service/ApiEncryptServiceSmImpl.java | 8 - .../service/CodeGeneratorTemplateService.java | 2 +- .../CodeGenerateBaseVariableService.java | 2 +- .../domain/AddFormVariableService.java | 1 - .../backend/domain/MapperVariableService.java | 2 +- .../domain/QueryFormVariableService.java | 2 +- .../backend/domain/VOVariableService.java | 2 +- .../support/file/service/FileService.java | 2 +- .../src/main/resources/dev/sa-base.yaml | 4 +- .../src/main/resources/pre/sa-base.yaml | 2 +- .../src/main/resources/prod/sa-base.yaml | 7 +- .../src/main/resources/test/sa-base.yaml | 2 +- .../admin/interceptor/AdminInterceptor.java | 8 +- .../controller/EmployeeController.java | 2 +- .../system/employee/dao/EmployeeDao.java | 2 +- .../employee/service/EmployeeService.java | 2 +- .../json/serializer/LongJsonSerializer.java | 19 +- .../{DateConfig.java => JsonConfig.java} | 8 +- .../advice/EncryptResponseAdvice.java | 12 +- .../src/main/resources/dev/sa-base.yaml | 2 +- .../src/main/resources/pre/sa-base.yaml | 2 +- .../src/main/resources/test/sa-base.yaml | 2 +- .../javascript-ant-design-vue3/src/App.vue | 30 ++ .../support/table-operator/index.vue | 57 +++- .../page-tag/components/antd-tab.vue | 2 +- .../page-tag/components/default-tab.vue | 2 +- .../src/layout/help-doc-layout.vue | 16 +- .../src/layout/layout-const.js | 9 + .../src/layout/side-expand-layout.vue | 19 +- .../src/layout/side-layout.vue | 17 +- .../src/layout/top-layout.vue | 17 +- .../src/store/modules/system/app-config.js | 12 +- .../views/business/erp/goods/goods-list.vue | 35 ++- .../.env.development | 4 +- .../typescript-ant-design-vue3/.env.test | 4 +- .../typescript-ant-design-vue3/README.md | 0 .../typescript-ant-design-vue3/package.json | 2 + .../support/data-masking/data-masking-api.js | 17 ++ .../src/api/support/file/file-api.js | 4 +- .../api/support/heart-beat/heart-beat-api.js | 2 +- .../level3-protect/level3-protect-api.js | 24 ++ .../api/system/department/department-api.js | 10 +- .../src/api/system/login/login-api.js | 14 + .../src/api/system/position/position-api.js | 55 ++++ .../header-user-space/header-avatar.vue | 12 +- .../page-tag/components/antd-tab.vue | 2 +- .../page-tag/components/default-tab.vue | 2 +- .../src/lib/encrypt.ts | 55 ++-- .../src/router/index.ts | 43 +-- .../src/views/support/file/file-list.vue | 2 +- .../level3protect/data-masking-list.vue | 137 +++++++++ .../level3-protect-config-index.vue | 254 +++++++++++++++ .../components/department-form-modal.vue | 138 +++++++++ .../system/department/department-list.vue | 258 ++++++++++++++++ .../src/views/system/login2/login.vue | 288 +++++++++++------- .../views/system/position/position-form.vue | 124 ++++++++ .../views/system/position/position-list.vue | 262 ++++++++++++++++ 72 files changed, 1838 insertions(+), 331 deletions(-) rename smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/{DateConfig.java => JsonConfig.java} (91%) rename smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/config/{DateConfig.java => JsonConfig.java} (91%) create mode 100644 smart-admin-web/javascript-ant-design-vue3/src/layout/layout-const.js delete mode 100644 smart-admin-web/typescript-ant-design-vue3/README.md create mode 100644 smart-admin-web/typescript-ant-design-vue3/src/api/support/data-masking/data-masking-api.js create mode 100644 smart-admin-web/typescript-ant-design-vue3/src/api/support/level3-protect/level3-protect-api.js create mode 100644 smart-admin-web/typescript-ant-design-vue3/src/api/system/position/position-api.js create mode 100644 smart-admin-web/typescript-ant-design-vue3/src/views/support/level3protect/data-masking-list.vue create mode 100644 smart-admin-web/typescript-ant-design-vue3/src/views/support/level3protect/level3-protect-config-index.vue create mode 100644 smart-admin-web/typescript-ant-design-vue3/src/views/system/department/components/department-form-modal.vue create mode 100644 smart-admin-web/typescript-ant-design-vue3/src/views/system/department/department-list.vue create mode 100644 smart-admin-web/typescript-ant-design-vue3/src/views/system/position/position-form.vue create mode 100644 smart-admin-web/typescript-ant-design-vue3/src/views/system/position/position-list.vue diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsQueryForm.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsQueryForm.java index 128939f8..6f61e100 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsQueryForm.java +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsQueryForm.java @@ -1,9 +1,11 @@ package net.lab1024.sa.admin.module.business.goods.domain.form; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import net.lab1024.sa.admin.module.business.goods.constant.GoodsStatusEnum; import net.lab1024.sa.base.common.domain.PageParam; +import net.lab1024.sa.base.common.json.deserializer.DictValueVoDeserializer; import net.lab1024.sa.base.common.swagger.SchemaEnum; import net.lab1024.sa.base.common.validator.enumeration.CheckEnum; import org.hibernate.validator.constraints.Length; @@ -32,6 +34,7 @@ public class GoodsQueryForm extends PageParam { private Integer goodsStatus; @Schema(description = "产地") + @JsonDeserialize(using = DictValueVoDeserializer.class) private String place; @Schema(description = "上架状态") diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeEmployeeService.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeEmployeeService.java index 7904a7a8..2f2404de 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeEmployeeService.java +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeEmployeeService.java @@ -52,7 +52,6 @@ public class NoticeEmployeeService { public ResponseDTO> queryList(Long requestEmployeeId, NoticeEmployeeQueryForm noticeEmployeeQueryForm) { Page page = SmartPageUtil.convert2PageQuery(noticeEmployeeQueryForm); - //获取请求人的 部门及其子部门 List employeeDepartmentIdList = Lists.newArrayList(); EmployeeEntity employeeEntity = employeeService.getById(requestEmployeeId); // 如果不是管理员 则获取请求人的 部门及其子部门 diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/controller/EmployeeController.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/controller/EmployeeController.java index 0d357f32..6393827a 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/controller/EmployeeController.java +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/controller/EmployeeController.java @@ -25,7 +25,7 @@ import java.util.List; * @Date 2021-12-09 22:57:49 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ @RestController @Tag(name = AdminSwaggerTagConst.System.SYSTEM_EMPLOYEE) @@ -110,7 +110,7 @@ public class EmployeeController { @Operation(summary = "重置员工密码 @author 卓大") @GetMapping("/employee/update/password/reset/{employeeId}") @SaCheckPermission("system:employee:password:reset") - public ResponseDTO resetPassword(@PathVariable Integer employeeId) { + public ResponseDTO resetPassword(@PathVariable Long employeeId) { return employeeService.resetPassword(employeeId); } diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java index c1297a84..6ef0acab 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java @@ -113,6 +113,6 @@ public interface EmployeeDao extends BaseMapper { /** * 员工重置密码 */ - Integer updatePassword(@Param("employeeId") Integer employeeId, @Param("password") String password); + Integer updatePassword(@Param("employeeId") Long employeeId, @Param("password") String password); } \ No newline at end of file diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java index b86067d2..959e474e 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java @@ -47,8 +47,6 @@ import java.util.stream.Collectors; @Service public class EmployeeService { - private static final String PASSWORD_SALT_FORMAT = "smart_%s_admin_$^&*"; - @Resource private EmployeeDao employeeDao; @@ -364,7 +362,7 @@ public class EmployeeService { /** * 重置密码 */ - public ResponseDTO resetPassword(Integer employeeId) { + public ResponseDTO resetPassword(Long employeeId) { String password = securityPasswordService.randomPassword(); employeeDao.updatePassword(employeeId, SecurityPasswordService.getEncryptPwd(password)); return ResponseDTO.ok(password); diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleEmployeeManager.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleEmployeeManager.java index 886cb71c..6e2d9751 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleEmployeeManager.java +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleEmployeeManager.java @@ -16,7 +16,7 @@ import java.util.List; * @Date 2022-04-08 21:53:04 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ @Service public class RoleEmployeeManager extends ServiceImpl { diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminProtectController.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminProtectController.java index 2d409235..69f7e3fa 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminProtectController.java +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminProtectController.java @@ -29,7 +29,7 @@ import org.springframework.web.bind.annotation.RestController; * @Date 2023/10/17 19:07:27 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室,Since 2012 + * @Copyright 1024创新实验室,Since 2012 */ @RestController diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/mapper/business/oa/notice/NoticeMapper.xml b/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/mapper/business/oa/notice/NoticeMapper.xml index 17d1805e..b1dc8ad5 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/mapper/business/oa/notice/NoticeMapper.xml +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/mapper/business/oa/notice/NoticeMapper.xml @@ -95,25 +95,25 @@ left join t_notice_type on t_notice.notice_type_id = t_notice_type.notice_type_id - ( + ( t_notice.notice_id in (select t_notice_visible_range.notice_id from t_notice_visible_range where ( t_notice_visible_range.data_type = #{departmentDataType} - - and - t_notice_visible_range.data_id - in - - #{item} - - - ) - or ( t_notice_visible_range.data_type = #{employeeDataType} and t_notice_visible_range.data_id = #{requestEmployeeId} ) + + and + t_notice_visible_range.data_id + in + + #{item} + + + ) + or ( t_notice_visible_range.data_type = #{employeeDataType} and t_notice_visible_range.data_id = #{requestEmployeeId} ) ) or t_notice.all_visible_flag = true - ) + ) and t_notice.deleted_flag = #{deletedFlag} diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/test/application.yaml b/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/test/application.yaml index faa8e1ad..6ca92cf3 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/test/application.yaml +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/test/application.yaml @@ -8,7 +8,7 @@ # 项目配置: 名称、日志目录 project: name: sa-admin - log-directory: /home/project/smartadmin/sit/log + log-directory: /home/project/smartadmin/test/log # 项目端口和url根路径 server: diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/json/serializer/LongJsonSerializer.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/json/serializer/LongJsonSerializer.java index 3a4a1dd0..aa295489 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/json/serializer/LongJsonSerializer.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/json/serializer/LongJsonSerializer.java @@ -14,15 +14,24 @@ import java.io.IOException; * @Date 2020-06-02 22:55:07 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ public class LongJsonSerializer extends JsonSerializer { + public static final LongJsonSerializer INSTANCE = new LongJsonSerializer(); + @Override - public void serialize(Long value, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException { - String text = (value == null ? null : String.valueOf(value)); - if (text != null) { - jsonGenerator.writeString(text); + public void serialize(Long value, JsonGenerator gen, SerializerProvider serializerProvider) throws IOException, JsonProcessingException { + if (null == value) { + gen.writeNull(); + return; + } + // js中最大安全整数16位 Number.MAX_SAFE_INTEGER + String longStr = String.valueOf(value); + if (longStr.length() > 16) { + gen.writeString(longStr); + } else { + gen.writeNumber(value); } } } \ No newline at end of file diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/DateConfig.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/JsonConfig.java similarity index 91% rename from smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/DateConfig.java rename to smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/JsonConfig.java index a5ae138b..b9605c3c 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/DateConfig.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/JsonConfig.java @@ -6,6 +6,7 @@ import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer; import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; +import net.lab1024.sa.base.common.json.serializer.LongJsonSerializer; import org.apache.commons.lang3.StringUtils; import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; import org.springframework.context.annotation.Bean; @@ -17,16 +18,16 @@ import java.time.LocalDateTime; import java.time.format.DateTimeParseException; /** - * java8 localDate 时间类格式化配置 + * Json 序列化配置 * * @Author 1024创新实验室-主任: 卓大 * @Date 2017-11-28 15:21:10 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ @Configuration -public class DateConfig { +public class JsonConfig { @Bean public Jackson2ObjectMapperBuilderCustomizer customizer() { @@ -35,6 +36,7 @@ public class DateConfig { builder.deserializers(new LocalDateTimeDeserializer(DatePattern.NORM_DATETIME_FORMAT.getDateTimeFormatter())); builder.serializers(new LocalDateSerializer(DatePattern.NORM_DATE_FORMAT.getDateTimeFormatter())); builder.serializers(new LocalDateTimeSerializer(DatePattern.NORM_DATETIME_FORMAT.getDateTimeFormatter())); + builder.serializerByType(Long.class, LongJsonSerializer.INSTANCE); }; } diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/SwaggerConfig.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/SwaggerConfig.java index de54d48a..6d93ccda 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/SwaggerConfig.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/SwaggerConfig.java @@ -31,10 +31,9 @@ import java.util.Optional; /** * springdoc-openapi 配置 * nginx配置前缀时如果需要访问【/swagger-ui/index.html】需添加额外nginx配置 - * location /v3/api-docs/ { - * proxy_pass http://127.0.0.1:11024/v3/api-docs/; + * location /v3/api-docs/ { + * proxy_pass http://127.0.0.1:1024/v3/api-docs/; * } - * * @Author 1024创新实验室-主任: 卓大 * @Date 2020-03-25 22:54:46 * @Wechat zhuoda1024 @@ -48,7 +47,7 @@ public class SwaggerConfig { /** * 用于解决/swagger-ui/index.html页面ServersUrl 测试环境部署错误问题 */ - @Value("${springdoc.swagger-ui.server-base-url:''}") + @Value("${springdoc.swagger-ui.server-base-url}") private String serverBaseUrl; public static final String[] SWAGGER_WHITELIST = { @@ -59,20 +58,20 @@ public class SwaggerConfig { "/v3/api-docs", "/v3/api-docs/**", "/doc.html", - }; + }; @Bean public OpenAPI api() { return new OpenAPI() .components(components()) .info(new Info() - .title("SmartAdmin 3.X 接口文档") - .contact(new Contact().name("1024创新实验室").email("lab1024@163.com").url("https://1024lab.net")) - .version("v3.X") - .description("**以「高质量代码」为核心,「简洁、高效、安全」**基于 SpringBoot + Sa-Token + Mybatis-Plus 和 Vue3 + Vite5 + Ant Design (同时支持JavaScript和TypeScript双版本) 的快速开发平台。" + - "
**国内首个满足《网络安全》、《数据安全》、三级等保**, 支持登录限制、支持国产接口加解密等安全、支持数据加解密等一系列安全体系的开源项目。" + - "
**我们开源一套漂亮的代码和一套整洁的代码规范**,让大家在这浮躁的代码世界里感受到一股把代码写好的清流!同时又让开发者节省大量的时间,减少加班,快乐工作,保持谦逊,保持学习,热爱代码,更热爱生活!") - ) + .title("SmartAdmin 3.X 接口文档") + .contact(new Contact().name("1024创新实验室").email("lab1024@163.com").url("https://1024lab.net")) + .version("v3.X") + .description("**以「高质量代码」为核心,「简洁、高效、安全」**基于 SpringBoot + Sa-Token + Mybatis-Plus 和 Vue3 + Vite5 + Ant Design (同时支持JavaScript和TypeScript双版本) 的快速开发平台。" + + "
**国内首个满足《网络安全》、《数据安全》、三级等保**, 支持登录限制、支持国产接口加解密等安全、支持数据加解密等一系列安全体系的开源项目。" + + "
**我们开源一套漂亮的代码和一套整洁的代码规范**,让大家在这浮躁的代码世界里感受到一股把代码写好的清流!同时又让开发者节省大量的时间,减少加班,快乐工作,保持谦逊,保持学习,热爱代码,更热爱生活!") + ) .addSecurityItem(new SecurityRequirement().addList(RequestHeaderConst.TOKEN)); } @@ -84,27 +83,26 @@ public class SwaggerConfig { @Bean public GroupedOpenApi businessApi() { return GroupedOpenApi.builder() - .group("业务接口") - .pathsToMatch("/**") - .pathsToExclude(SwaggerTagConst.Support.URL_PREFIX + "/**") - .addOperationCustomizer(new SmartOperationCustomizer()) - .build(); + .group("业务接口") + .pathsToMatch("/**") + .pathsToExclude(SwaggerTagConst.Support.URL_PREFIX + "/**") + .addOperationCustomizer(new SmartOperationCustomizer()) + .build(); } @Bean public GroupedOpenApi supportApi() { return GroupedOpenApi.builder() - .group("支撑接口(Support)") - .pathsToMatch(SwaggerTagConst.Support.URL_PREFIX + "/**") - .addOperationCustomizer(new SmartOperationCustomizer()) - .build(); + .group("支撑接口(Support)") + .pathsToMatch(SwaggerTagConst.Support.URL_PREFIX + "/**") + .addOperationCustomizer(new SmartOperationCustomizer()) + .build(); } /** * 以下代码可以用于设置 /swagger-ui/index.html 的serverBaseUrl * 如果使用knife4j则不需要 - * * @param openAPI * @param securityParser * @param springDocConfigProperties @@ -132,6 +130,6 @@ public class SwaggerConfig { } }); return new OpenAPIService(openAPI, securityParser, springDocConfigProperties, - propertyResolverUtils, openApiBuilderCustomizers, Optional.of(list), javadocProvider); + propertyResolverUtils, openApiBuilderCustomizers, Optional.of(list), javadocProvider); } } diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/UrlConfig.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/UrlConfig.java index ffb26fcc..4937a9ff 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/UrlConfig.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/UrlConfig.java @@ -28,7 +28,7 @@ import java.util.Set; * @Date 2022-05-30 21:22:12 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ @Configuration @Slf4j diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/listener/WebServerListener.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/listener/WebServerListener.java index e715520d..c248c7da 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/listener/WebServerListener.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/listener/WebServerListener.java @@ -67,14 +67,14 @@ public class WebServerListener implements ApplicationListener { @Resource private ApiEncryptService apiEncryptService; + @Resource + private ObjectMapper objectMapper; + @Override public boolean supports(MethodParameter returnType, Class> converterType) { return returnType.hasMethodAnnotation(ApiEncrypt.class) || returnType.getContainingClass().isAnnotationPresent(ApiEncrypt.class); @@ -44,7 +49,12 @@ public class EncryptResponseAdvice implements ResponseBodyAdvice { return body; } - String encrypt = apiEncryptService.encrypt(JSON.toJSONString(body.getData())); + String encrypt = null; + try { + encrypt = apiEncryptService.encrypt(objectMapper.writeValueAsString(body.getData())); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } body.setData(encrypt); body.setDataType(DataTypeEnum.ENCRYPT.getValue()); return body; diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/service/ApiEncryptServiceSmImpl.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/service/ApiEncryptServiceSmImpl.java index 95486e5e..d8d63fa0 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/service/ApiEncryptServiceSmImpl.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/service/ApiEncryptServiceSmImpl.java @@ -52,14 +52,6 @@ public class ApiEncryptServiceSmImpl implements ApiEncryptService { } } - public static void main(String[] args) { - String content = "zkm1024"; - String en = new ApiEncryptServiceSmImpl().encrypt(content); - System.out.println(en); - String ori = new ApiEncryptServiceSmImpl().decrypt(en); - System.out.println(ori); - } - @Override public String decrypt(String data) { diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/CodeGeneratorTemplateService.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/CodeGeneratorTemplateService.java index 20d50f04..22cd5e09 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/CodeGeneratorTemplateService.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/CodeGeneratorTemplateService.java @@ -45,7 +45,7 @@ import java.util.stream.Collectors; * @Date 2022-06-30 22:15:38 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ @Service diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/CodeGenerateBaseVariableService.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/CodeGenerateBaseVariableService.java index f81f86c4..d39bf6bf 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/CodeGenerateBaseVariableService.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/CodeGenerateBaseVariableService.java @@ -18,7 +18,7 @@ import java.util.stream.Collectors; * @Date 2022/9/29 17:20:41 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ public abstract class CodeGenerateBaseVariableService { diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/AddFormVariableService.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/AddFormVariableService.java index 6bde65d4..1d29259a 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/AddFormVariableService.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/AddFormVariableService.java @@ -101,7 +101,6 @@ public class AddFormVariableService extends CodeGenerateBaseVariableService { } } - //字典 if (SmartStringUtil.isNotEmpty(codeField.getDict())) { finalFieldMap.put("dict", "\n @JsonDeserialize(using = DictValueVoDeserializer.class)"); diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/MapperVariableService.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/MapperVariableService.java index cacb97bf..bc16c991 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/MapperVariableService.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/MapperVariableService.java @@ -15,7 +15,7 @@ import java.util.*; * @Date 2022/9/29 17:20:41 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ public class MapperVariableService extends CodeGenerateBaseVariableService { diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/QueryFormVariableService.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/QueryFormVariableService.java index b696a2a7..4101d5e0 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/QueryFormVariableService.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/QueryFormVariableService.java @@ -18,7 +18,7 @@ import java.util.stream.Collectors; * @Date 2022/9/29 17:20:41 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ public class QueryFormVariableService extends CodeGenerateBaseVariableService { diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/VOVariableService.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/VOVariableService.java index c96de2e5..cde09227 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/VOVariableService.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/VOVariableService.java @@ -17,7 +17,7 @@ import java.util.stream.Collectors; * @Date 2022/9/29 17:20:41 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ public class VOVariableService extends CodeGenerateBaseVariableService { diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/file/service/FileService.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/file/service/FileService.java index 94a1d056..f31a797b 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/file/service/FileService.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/file/service/FileService.java @@ -39,7 +39,7 @@ import java.util.stream.Collectors; * @Date 2019年10月11日 15:34:47 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ @Service public class FileService { diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/dev/sa-base.yaml b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/dev/sa-base.yaml index 4f437d0f..20df9939 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/dev/sa-base.yaml +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/dev/sa-base.yaml @@ -4,13 +4,13 @@ spring: url: jdbc:p6spy:mysql://127.0.0.1:3306/smart_admin_v3?autoReconnect=true&useServerPreparedStmts=false&rewriteBatchedStatements=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true&serverTimezone=Asia/Shanghai username: root password: SmartAdmin666 - driver-class-name: com.p6spy.engine.spy.P6SpyDriver initial-size: 2 min-idle: 2 max-active: 10 max-wait: 60000 time-between-eviction-runs-millis: 60000 min-evictable-idle-time-millis: 300000 + driver-class-name: com.p6spy.engine.spy.P6SpyDriver filters: stat druid: username: druid @@ -40,7 +40,7 @@ spring: host: smtp.163.com port: 465 username: lab1024@163.com - password: 1 + password: 1024lab properties: mail: smtp: diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/pre/sa-base.yaml b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/pre/sa-base.yaml index 4f437d0f..9f66ae61 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/pre/sa-base.yaml +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/pre/sa-base.yaml @@ -40,7 +40,7 @@ spring: host: smtp.163.com port: 465 username: lab1024@163.com - password: 1 + password: 1024lab properties: mail: smtp: diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/prod/sa-base.yaml b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/prod/sa-base.yaml index b70a4d16..ea51a9a7 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/prod/sa-base.yaml +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/prod/sa-base.yaml @@ -30,10 +30,11 @@ spring: timeout: 10000ms lettuce: pool: - max-active: 100 - min-idle: 10 - max-idle: 50 + max-active: 5 + min-idle: 1 + max-idle: 3 max-wait: 30000ms + # 邮件,置以SSL的方式发送, 这个需要使用这种方式并且端口是465 mail: host: smtp.163.com diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/test/sa-base.yaml b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/test/sa-base.yaml index 4f437d0f..9f66ae61 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/test/sa-base.yaml +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/test/sa-base.yaml @@ -40,7 +40,7 @@ spring: host: smtp.163.com port: 465 username: lab1024@163.com - password: 1 + password: 1024lab properties: mail: smtp: diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/interceptor/AdminInterceptor.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/interceptor/AdminInterceptor.java index 9b01d544..4731cab8 100644 --- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/interceptor/AdminInterceptor.java +++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/interceptor/AdminInterceptor.java @@ -86,7 +86,7 @@ public class AdminInterceptor implements HandlerInterceptor { Method method = ((HandlerMethod) handler).getMethod(); NoNeedLogin noNeedLogin = ((HandlerMethod) handler).getMethodAnnotation(NoNeedLogin.class); if (noNeedLogin != null) { - checkActiveTimeout(requestEmployee,debugNumberTokenFlag); + checkActiveTimeout(requestEmployee, debugNumberTokenFlag); return true; } @@ -96,7 +96,7 @@ public class AdminInterceptor implements HandlerInterceptor { } // 检测token 活跃频率 - checkActiveTimeout(requestEmployee,debugNumberTokenFlag); + checkActiveTimeout(requestEmployee, debugNumberTokenFlag); // --------------- 第三步: 校验 权限 --------------- @@ -107,8 +107,8 @@ public class AdminInterceptor implements HandlerInterceptor { } // 如果是超级管理员的话,不需要校验权限 - if(requestEmployee.getAdministratorFlag()){ - return true; + if (requestEmployee.getAdministratorFlag()) { + return true; } SaStrategy.instance.checkMethodAnnotation.accept(method); diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/controller/EmployeeController.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/controller/EmployeeController.java index b6d1c6d5..56c9856b 100644 --- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/controller/EmployeeController.java +++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/controller/EmployeeController.java @@ -110,7 +110,7 @@ public class EmployeeController { @Operation(summary = "重置员工密码 @author 卓大") @GetMapping("/employee/update/password/reset/{employeeId}") @SaCheckPermission("system:employee:password:reset") - public ResponseDTO resetPassword(@PathVariable Integer employeeId) { + public ResponseDTO resetPassword(@PathVariable Long employeeId) { return employeeService.resetPassword(employeeId); } diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java index c1297a84..6ef0acab 100644 --- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java +++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java @@ -113,6 +113,6 @@ public interface EmployeeDao extends BaseMapper { /** * 员工重置密码 */ - Integer updatePassword(@Param("employeeId") Integer employeeId, @Param("password") String password); + Integer updatePassword(@Param("employeeId") Long employeeId, @Param("password") String password); } \ No newline at end of file diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java index 61cd6f79..c4e57e92 100644 --- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java +++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java @@ -362,7 +362,7 @@ public class EmployeeService { /** * 重置密码 */ - public ResponseDTO resetPassword(Integer employeeId) { + public ResponseDTO resetPassword(Long employeeId) { String password = securityPasswordService.randomPassword(); employeeDao.updatePassword(employeeId, SecurityPasswordService.getEncryptPwd(password)); return ResponseDTO.ok(password); diff --git a/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/common/json/serializer/LongJsonSerializer.java b/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/common/json/serializer/LongJsonSerializer.java index 3a4a1dd0..aa295489 100644 --- a/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/common/json/serializer/LongJsonSerializer.java +++ b/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/common/json/serializer/LongJsonSerializer.java @@ -14,15 +14,24 @@ import java.io.IOException; * @Date 2020-06-02 22:55:07 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ public class LongJsonSerializer extends JsonSerializer { + public static final LongJsonSerializer INSTANCE = new LongJsonSerializer(); + @Override - public void serialize(Long value, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException { - String text = (value == null ? null : String.valueOf(value)); - if (text != null) { - jsonGenerator.writeString(text); + public void serialize(Long value, JsonGenerator gen, SerializerProvider serializerProvider) throws IOException, JsonProcessingException { + if (null == value) { + gen.writeNull(); + return; + } + // js中最大安全整数16位 Number.MAX_SAFE_INTEGER + String longStr = String.valueOf(value); + if (longStr.length() > 16) { + gen.writeString(longStr); + } else { + gen.writeNumber(value); } } } \ No newline at end of file diff --git a/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/config/DateConfig.java b/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/config/JsonConfig.java similarity index 91% rename from smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/config/DateConfig.java rename to smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/config/JsonConfig.java index a5ae138b..9164b35c 100644 --- a/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/config/DateConfig.java +++ b/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/config/JsonConfig.java @@ -6,6 +6,7 @@ import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer; import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; +import net.lab1024.sa.base.common.json.serializer.LongJsonSerializer; import org.apache.commons.lang3.StringUtils; import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; import org.springframework.context.annotation.Bean; @@ -17,16 +18,16 @@ import java.time.LocalDateTime; import java.time.format.DateTimeParseException; /** - * java8 localDate 时间类格式化配置 + * json 序列化配置 * * @Author 1024创新实验室-主任: 卓大 * @Date 2017-11-28 15:21:10 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ @Configuration -public class DateConfig { +public class JsonConfig { @Bean public Jackson2ObjectMapperBuilderCustomizer customizer() { @@ -35,6 +36,7 @@ public class DateConfig { builder.deserializers(new LocalDateTimeDeserializer(DatePattern.NORM_DATETIME_FORMAT.getDateTimeFormatter())); builder.serializers(new LocalDateSerializer(DatePattern.NORM_DATE_FORMAT.getDateTimeFormatter())); builder.serializers(new LocalDateTimeSerializer(DatePattern.NORM_DATETIME_FORMAT.getDateTimeFormatter())); + builder.serializerByType(Long.class, LongJsonSerializer.INSTANCE); }; } diff --git a/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/advice/EncryptResponseAdvice.java b/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/advice/EncryptResponseAdvice.java index c90e2c2a..d38544fc 100644 --- a/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/advice/EncryptResponseAdvice.java +++ b/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/advice/EncryptResponseAdvice.java @@ -1,6 +1,8 @@ package net.lab1024.sa.base.module.support.apiencrypt.advice; import com.alibaba.fastjson.JSON; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import net.lab1024.sa.base.common.domain.ResponseDTO; import net.lab1024.sa.base.common.enumeration.DataTypeEnum; @@ -34,6 +36,9 @@ public class EncryptResponseAdvice implements ResponseBodyAdvice { @Resource private ApiEncryptService apiEncryptService; + @Resource + private ObjectMapper objectMapper; + @Override public boolean supports(MethodParameter returnType, Class> converterType) { return returnType.hasMethodAnnotation(ApiEncrypt.class) || returnType.getContainingClass().isAnnotationPresent(ApiEncrypt.class); @@ -45,7 +50,12 @@ public class EncryptResponseAdvice implements ResponseBodyAdvice { return body; } - String encrypt = apiEncryptService.encrypt(JSON.toJSONString(body.getData())); + String encrypt = null; + try { + encrypt = apiEncryptService.encrypt(objectMapper.writeValueAsString(body.getData())); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } body.setData(encrypt); body.setDataType(DataTypeEnum.ENCRYPT.getValue()); return body; diff --git a/smart-admin-api/sa-base/src/main/resources/dev/sa-base.yaml b/smart-admin-api/sa-base/src/main/resources/dev/sa-base.yaml index 778ed821..9e5a9d21 100644 --- a/smart-admin-api/sa-base/src/main/resources/dev/sa-base.yaml +++ b/smart-admin-api/sa-base/src/main/resources/dev/sa-base.yaml @@ -39,7 +39,7 @@ spring: host: smtp.163.com port: 465 username: lab1024@163.com - password: 1 + password: 1024lab properties: mail: smtp: diff --git a/smart-admin-api/sa-base/src/main/resources/pre/sa-base.yaml b/smart-admin-api/sa-base/src/main/resources/pre/sa-base.yaml index 778ed821..9e5a9d21 100644 --- a/smart-admin-api/sa-base/src/main/resources/pre/sa-base.yaml +++ b/smart-admin-api/sa-base/src/main/resources/pre/sa-base.yaml @@ -39,7 +39,7 @@ spring: host: smtp.163.com port: 465 username: lab1024@163.com - password: 1 + password: 1024lab properties: mail: smtp: diff --git a/smart-admin-api/sa-base/src/main/resources/test/sa-base.yaml b/smart-admin-api/sa-base/src/main/resources/test/sa-base.yaml index 778ed821..9e5a9d21 100644 --- a/smart-admin-api/sa-base/src/main/resources/test/sa-base.yaml +++ b/smart-admin-api/sa-base/src/main/resources/test/sa-base.yaml @@ -39,7 +39,7 @@ spring: host: smtp.163.com port: 465 username: lab1024@163.com - password: 1 + password: 1024lab properties: mail: smtp: diff --git a/smart-admin-web/javascript-ant-design-vue3/src/App.vue b/smart-admin-web/javascript-ant-design-vue3/src/App.vue index 3c7370f7..972a9ba1 100644 --- a/smart-admin-web/javascript-ant-design-vue3/src/App.vue +++ b/smart-admin-web/javascript-ant-design-vue3/src/App.vue @@ -32,6 +32,7 @@ }, }, }" + :getPopupContainer="getPopupContainer" > @@ -49,6 +50,8 @@ import { useSpinStore } from '/@/store/modules/system/spin'; import { theme } from 'ant-design-vue'; import { themeColors } from '/@/theme/color.js'; + import { SmartLoading } from '/@/components/framework/smart-loading/index.js'; + import { LAYOUT_ELEMENT_IDS } from '/@/layout/layout-const.js'; const antdLocale = computed(() => messages[useAppConfigStore().language].antdLocale); const dayjsLocale = computed(() => messages[useAppConfigStore().language].dayjsLocale); @@ -67,4 +70,31 @@ const borderRadius = computed(() => { return useAppConfigStore().borderRadius; }); + + function getPopupContainer(node, dialogContext) { + let fullScreenFlag = useAppConfigStore().$state.fullScreenFlag; + if(fullScreenFlag){ + return getFullScreenContainer(node, dialogContext); + }else{ + return getNotFullScreenContainer(node, dialogContext); + } + } + + function getFullScreenContainer(node, dialogContext) { + if (node === document.body) { + return document.getElementById(LAYOUT_ELEMENT_IDS.content); + }else if (node) { + return node.parentNode; + } else { + return document.getElementById(LAYOUT_ELEMENT_IDS.content); + } + } + + function getNotFullScreenContainer(node, dialogContext) { + if (node) { + return node.parentNode; + } else { + return document.body; + } + } diff --git a/smart-admin-web/javascript-ant-design-vue3/src/components/support/table-operator/index.vue b/smart-admin-web/javascript-ant-design-vue3/src/components/support/table-operator/index.vue index f77fc2a5..a3facbb4 100644 --- a/smart-admin-web/javascript-ant-design-vue3/src/components/support/table-operator/index.vue +++ b/smart-admin-web/javascript-ant-design-vue3/src/components/support/table-operator/index.vue @@ -12,12 +12,12 @@