From dc93da7f811f774c5c1c98f7c8f59053b4124999 Mon Sep 17 00:00:00 2001 From: xuyuxiang Date: Thu, 10 Nov 2022 10:25:48 +0800 Subject: [PATCH 01/24] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=98=BF=E9=87=8C=E4=BA=91=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=9C=B0=E5=9D=80=E8=BF=94=E5=9B=9E=E9=94=99?= =?UTF-8?q?=E8=AF=AF=EF=BC=8C=E4=BF=AE=E5=A4=8D=E6=96=87=E4=BB=B6key?= =?UTF-8?q?=E6=9E=84=E9=80=A0=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dev/modular/file/service/impl/DevFileServiceImpl.java | 6 +++--- .../xiaonuo/dev/modular/file/util/DevFileAliyunUtil.java | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/file/service/impl/DevFileServiceImpl.java b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/file/service/impl/DevFileServiceImpl.java index d370ff53..0f19393e 100644 --- a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/file/service/impl/DevFileServiceImpl.java +++ b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/file/service/impl/DevFileServiceImpl.java @@ -241,9 +241,9 @@ public class DevFileServiceImpl extends ServiceImpl impl String fileObjectName = fileId + StrUtil.DOT + fileSuffix; // 获取日期文件夹,格式如,2021/10/11/ - String dateFolderPath = DateUtil.thisYear() + FileUtil.FILE_SEPARATOR + - (DateUtil.thisMonth() + 1) + FileUtil.FILE_SEPARATOR + - DateUtil.thisDayOfMonth() + FileUtil.FILE_SEPARATOR; + String dateFolderPath = DateUtil.thisYear() + StrUtil.SLASH + + (DateUtil.thisMonth() + 1) + StrUtil.SLASH + + DateUtil.thisDayOfMonth() + StrUtil.SLASH; // 返回 return dateFolderPath + fileObjectName; diff --git a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/file/util/DevFileAliyunUtil.java b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/file/util/DevFileAliyunUtil.java index 4e4c71f8..385a3f87 100644 --- a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/file/util/DevFileAliyunUtil.java +++ b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/file/util/DevFileAliyunUtil.java @@ -33,6 +33,7 @@ import javax.activation.MimetypesFileTypeMap; import java.io.*; import java.net.URL; import java.util.Date; +import java.util.List; /** * 阿里云文件工具类 @@ -429,7 +430,8 @@ public class DevFileAliyunUtil { try { initClient(); OSSClient ossClient = (OSSClient) client; - return bucketName + StrUtil.DOT + ossClient.getEndpoint().toString() + StrUtil.SLASH + key; + List urlList = StrUtil.split(ossClient.getEndpoint().toString(), StrUtil.COLON + StrUtil.SLASH + StrUtil.SLASH); + return urlList.get(0) + StrUtil.COLON + StrUtil.SLASH + StrUtil.SLASH + bucketName + StrUtil.DOT + urlList.get(1) + StrUtil.SLASH + key; } catch (OSSException | ClientException e) { throw new CommonException(e.getMessage()); } From 90ce0c92b35673cf8127ce3cc40fb6bc3b18a080 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E8=AF=BA?= <1253070437@qq.com> Date: Thu, 10 Nov 2022 22:31:51 +0800 Subject: [PATCH 02/24] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=89=8D=E7=AB=AF=E4=BE=9D=E8=B5=96=EF=BC=8C?= =?UTF-8?q?=E5=9B=BA=E5=AE=9A=E5=87=BA=E9=94=99=E8=AF=AF=E7=9A=84=E7=89=88?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- snowy-admin-web/package.json | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/snowy-admin-web/package.json b/snowy-admin-web/package.json index 02670749..5f730508 100644 --- a/snowy-admin-web/package.json +++ b/snowy-admin-web/package.json @@ -19,13 +19,12 @@ "dependencies": { "@ant-design/colors": "6.0.0", "@ant-design/icons-vue": "^6.1.0", - "@antv/g2plot": "^2.4.10", + "@antv/g2plot": "2.4.10", "@chenfengyuan/vue-qrcode": "2.0.0", "@highlightjs/vue-plugin": "^2.1.0", "@tinymce/tinymce-vue": "5.0.0", - "ant-design-vue": "3.2.13", + "ant-design-vue": "3.2.14", "axios": "1.1.3", - "core-js": "^3.26.0", "cropperjs": "1.5.12", "dayjs": "^1.11.6", "echarts": "^5.4.0", @@ -42,11 +41,11 @@ "snowflake-id": "^1.1.0", "sortablejs": "^1.15.0", "tinymce": "^6.2.0", - "vue": "3.2.41", + "vue": "3.2.44", "vue-cropper": "^1.0.1", "vue-i18n": "^9.2.2", "vue-router": "^4.1.6", - "vue3-colorpicker": "^2.0.4", + "vue3-colorpicker": "2.0.4", "vue3-tree-org": "^4.1.1", "vuedraggable-es": "^4.1.1", "vuex": "^4.1.0" From 65626b59b6ae6d5eb5376a21746658cdfd057a39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=AE=E7=AC=91?= <1572089876@qq.com> Date: Fri, 11 Nov 2022 05:43:53 +0000 Subject: [PATCH 03/24] =?UTF-8?q?update=20snowy-web-app/pom.xml.=20junit?= =?UTF-8?q?=20=E5=8D=95=E8=AF=8D=E6=8B=BC=E5=86=99=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- snowy-web-app/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snowy-web-app/pom.xml b/snowy-web-app/pom.xml index 0fe6a311..7975ec03 100644 --- a/snowy-web-app/pom.xml +++ b/snowy-web-app/pom.xml @@ -15,7 +15,7 @@ 主启动模块 - 4.13.2 + 4.13.2 1.18.22 3.5.1 8.0.28 From 3088dd53f0fe37ad4782eb9165510939b69ab8f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E7=8E=89=E7=A5=A5?= Date: Sat, 12 Nov 2022 21:40:03 +0800 Subject: [PATCH 04/24] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90=E7=9A=84sql=E6=B3=A8?= =?UTF-8?q?=E9=87=8A=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../snowy-plugin-gen/src/main/resources/sqlend/Mysql.sql.btl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snowy-plugin/snowy-plugin-gen/src/main/resources/sqlend/Mysql.sql.btl b/snowy-plugin/snowy-plugin-gen/src/main/resources/sqlend/Mysql.sql.btl index 7d920c9a..f1b69d69 100644 --- a/snowy-plugin/snowy-plugin-gen/src/main/resources/sqlend/Mysql.sql.btl +++ b/snowy-plugin/snowy-plugin-gen/src/main/resources/sqlend/Mysql.sql.btl @@ -1,5 +1,5 @@ /* - Source Server Type : MySQL + Source Server Type: MySQL Date: ${genTime} */ From 124bc3ec222e675b120f79c941b2e1c26a16b0e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E7=8E=89=E7=A5=A5?= Date: Sat, 12 Nov 2022 21:49:09 +0800 Subject: [PATCH 05/24] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E4=B8=8D=E9=9C=80=E8=A6=81=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E7=9A=84auto-imports.d.ts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- snowy-admin-web/src/auto-imports.d.ts | 57 --------------------------- 1 file changed, 57 deletions(-) delete mode 100644 snowy-admin-web/src/auto-imports.d.ts diff --git a/snowy-admin-web/src/auto-imports.d.ts b/snowy-admin-web/src/auto-imports.d.ts deleted file mode 100644 index 55a704da..00000000 --- a/snowy-admin-web/src/auto-imports.d.ts +++ /dev/null @@ -1,57 +0,0 @@ -// Generated by 'unplugin-auto-import' -export {} -declare global { - const EffectScope: typeof import('vue')['EffectScope'] - const computed: typeof import('vue')['computed'] - const createApp: typeof import('vue')['createApp'] - const customRef: typeof import('vue')['customRef'] - const defineAsyncComponent: typeof import('vue')['defineAsyncComponent'] - const defineComponent: typeof import('vue')['defineComponent'] - const effectScope: typeof import('vue')['effectScope'] - const getCurrentInstance: typeof import('vue')['getCurrentInstance'] - const getCurrentScope: typeof import('vue')['getCurrentScope'] - const h: typeof import('vue')['h'] - const hasPerm: typeof import('./utils/permission/index.js')['hasPerm'] - const inject: typeof import('vue')['inject'] - const isProxy: typeof import('vue')['isProxy'] - const isReactive: typeof import('vue')['isReactive'] - const isReadonly: typeof import('vue')['isReadonly'] - const isRef: typeof import('vue')['isRef'] - const markRaw: typeof import('vue')['markRaw'] - const nextTick: typeof import('vue')['nextTick'] - const onActivated: typeof import('vue')['onActivated'] - const onBeforeMount: typeof import('vue')['onBeforeMount'] - const onBeforeUnmount: typeof import('vue')['onBeforeUnmount'] - const onBeforeUpdate: typeof import('vue')['onBeforeUpdate'] - const onDeactivated: typeof import('vue')['onDeactivated'] - const onErrorCaptured: typeof import('vue')['onErrorCaptured'] - const onMounted: typeof import('vue')['onMounted'] - const onRenderTracked: typeof import('vue')['onRenderTracked'] - const onRenderTriggered: typeof import('vue')['onRenderTriggered'] - const onScopeDispose: typeof import('vue')['onScopeDispose'] - const onServerPrefetch: typeof import('vue')['onServerPrefetch'] - const onUnmounted: typeof import('vue')['onUnmounted'] - const onUpdated: typeof import('vue')['onUpdated'] - const provide: typeof import('vue')['provide'] - const reactive: typeof import('vue')['reactive'] - const readonly: typeof import('vue')['readonly'] - const ref: typeof import('vue')['ref'] - const resolveComponent: typeof import('vue')['resolveComponent'] - const resolveDirective: typeof import('vue')['resolveDirective'] - const shallowReactive: typeof import('vue')['shallowReactive'] - const shallowReadonly: typeof import('vue')['shallowReadonly'] - const shallowRef: typeof import('vue')['shallowRef'] - const toRaw: typeof import('vue')['toRaw'] - const toRef: typeof import('vue')['toRef'] - const toRefs: typeof import('vue')['toRefs'] - const triggerRef: typeof import('vue')['triggerRef'] - const unref: typeof import('vue')['unref'] - const useAttrs: typeof import('vue')['useAttrs'] - const useCssModule: typeof import('vue')['useCssModule'] - const useCssVars: typeof import('vue')['useCssVars'] - const useSlots: typeof import('vue')['useSlots'] - const watch: typeof import('vue')['watch'] - const watchEffect: typeof import('vue')['watchEffect'] - const watchPostEffect: typeof import('vue')['watchPostEffect'] - const watchSyncEffect: typeof import('vue')['watchSyncEffect'] -} From 45ff7b8931b2d9704f514a7b634f17065dc1ac15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E7=8E=89=E7=A5=A5?= Date: Sat, 12 Nov 2022 21:56:05 +0800 Subject: [PATCH 06/24] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91?= =?UTF-8?q?=E6=9B=B4=E6=96=B0gitignore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- snowy-admin-web/.gitignore | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/snowy-admin-web/.gitignore b/snowy-admin-web/.gitignore index 65cbc4df..b7a83802 100644 --- a/snowy-admin-web/.gitignore +++ b/snowy-admin-web/.gitignore @@ -12,7 +12,10 @@ yarn-debug.log* yarn-error.log* pnpm-debug.log* -package-lock.json +# other files +stats.html +packge-lock.json +auto-imports.d.ts # Editor directories and files .idea From fc7160e0746416e6143c7422aa2b96fedc35e3cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E7=8E=89=E7=A5=A5?= Date: Sat, 12 Nov 2022 23:13:47 +0800 Subject: [PATCH 07/24] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90BigDecima?= =?UTF-8?q?l=E6=9C=AA=E5=AF=BC=E5=85=A5=E5=8C=85=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/backend/AddParam.java.btl | 1 + .../src/main/resources/backend/EditParam.java.btl | 1 + .../snowy-plugin-gen/src/main/resources/backend/Entity.java.btl | 1 + .../src/main/resources/backend/PageParam.java.btl | 1 + 4 files changed, 4 insertions(+) diff --git a/snowy-plugin/snowy-plugin-gen/src/main/resources/backend/AddParam.java.btl b/snowy-plugin/snowy-plugin-gen/src/main/resources/backend/AddParam.java.btl index e7b3f972..3be31a6f 100644 --- a/snowy-plugin/snowy-plugin-gen/src/main/resources/backend/AddParam.java.btl +++ b/snowy-plugin/snowy-plugin-gen/src/main/resources/backend/AddParam.java.btl @@ -18,6 +18,7 @@ import lombok.Setter; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; +import java.math.BigDecimal; import java.util.Date; /** diff --git a/snowy-plugin/snowy-plugin-gen/src/main/resources/backend/EditParam.java.btl b/snowy-plugin/snowy-plugin-gen/src/main/resources/backend/EditParam.java.btl index a3768f51..3ca5f4ce 100644 --- a/snowy-plugin/snowy-plugin-gen/src/main/resources/backend/EditParam.java.btl +++ b/snowy-plugin/snowy-plugin-gen/src/main/resources/backend/EditParam.java.btl @@ -18,6 +18,7 @@ import lombok.Setter; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; +import java.math.BigDecimal; import java.util.Date; /** diff --git a/snowy-plugin/snowy-plugin-gen/src/main/resources/backend/Entity.java.btl b/snowy-plugin/snowy-plugin-gen/src/main/resources/backend/Entity.java.btl index 2fcc7e88..0d82ff2a 100644 --- a/snowy-plugin/snowy-plugin-gen/src/main/resources/backend/Entity.java.btl +++ b/snowy-plugin/snowy-plugin-gen/src/main/resources/backend/Entity.java.btl @@ -19,6 +19,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import java.math.BigDecimal; import java.util.Date; /** diff --git a/snowy-plugin/snowy-plugin-gen/src/main/resources/backend/PageParam.java.btl b/snowy-plugin/snowy-plugin-gen/src/main/resources/backend/PageParam.java.btl index 117ddde6..16027cf1 100644 --- a/snowy-plugin/snowy-plugin-gen/src/main/resources/backend/PageParam.java.btl +++ b/snowy-plugin/snowy-plugin-gen/src/main/resources/backend/PageParam.java.btl @@ -15,6 +15,7 @@ package ${packageName}.${moduleName}.modular.${busName}.param; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import java.math.BigDecimal; import java.util.Date; /** From 79ceea9b6f863b844573f882b48b50d6e9ae6166 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E7=8E=89=E7=A5=A5?= Date: Sat, 12 Nov 2022 23:40:14 +0800 Subject: [PATCH 08/24] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91?= =?UTF-8?q?=E5=8E=BB=E6=8E=89=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90=E7=9A=84?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E8=87=AA=E5=8A=A8=E5=8A=A0=E4=B8=8A=E7=9A=84?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E4=BA=8C=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gen/modular/basic/service/impl/GenBasicServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snowy-plugin/snowy-plugin-gen/src/main/java/vip/xiaonuo/gen/modular/basic/service/impl/GenBasicServiceImpl.java b/snowy-plugin/snowy-plugin-gen/src/main/java/vip/xiaonuo/gen/modular/basic/service/impl/GenBasicServiceImpl.java index ad85e237..8a088851 100644 --- a/snowy-plugin/snowy-plugin-gen/src/main/java/vip/xiaonuo/gen/modular/basic/service/impl/GenBasicServiceImpl.java +++ b/snowy-plugin/snowy-plugin-gen/src/main/java/vip/xiaonuo/gen/modular/basic/service/impl/GenBasicServiceImpl.java @@ -363,7 +363,7 @@ public class GenBasicServiceImpl extends ServiceImpl i GenBasic genBasic = this.queryEntity(genBasicIdParam.getId()); // 生成菜单 - String menuId = sysMenuApi.addForGenMenu(genBasic.getMenuPid(), genBasic.getBusName(), genBasic.getModule(), genBasic.getFunctionName() + "管理", + String menuId = sysMenuApi.addForGenMenu(genBasic.getMenuPid(), genBasic.getBusName(), genBasic.getModule(), genBasic.getFunctionName(), StrUtil.SLASH + MODULE_KEY + StrUtil.SLASH + genBasic.getBusName()); // 生成按钮 From 13b25bd0c7c6efa094b02c1af510d4b936566350 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E7=8E=89=E7=A5=A5?= Date: Sun, 13 Nov 2022 11:19:48 +0800 Subject: [PATCH 09/24] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91?= =?UTF-8?q?=E4=BF=AE=E5=A4=8DSysRolePageParam=E5=AD=97=E6=AE=B5=E6=B3=A8?= =?UTF-8?q?=E9=87=8A=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vip/xiaonuo/sys/modular/role/param/SysRolePageParam.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/param/SysRolePageParam.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/param/SysRolePageParam.java index 8ab5c1d7..9cb4342d 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/param/SysRolePageParam.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/param/SysRolePageParam.java @@ -46,8 +46,8 @@ public class SysRolePageParam { @ApiModelProperty(value = "组织id") private String orgId; - /** 职位分类 */ - @ApiModelProperty(value = "职位分类") + /** 角色分类 */ + @ApiModelProperty(value = "角色分类") private String category; /** 名称关键词 */ From f79e813b69f3af06ad0506dc55d82d1260f1e624 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E7=8E=89=E7=A5=A5?= Date: Sun, 13 Nov 2022 11:42:18 +0800 Subject: [PATCH 10/24] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91?= =?UTF-8?q?=E5=8E=BB=E9=99=A4=E8=AF=AF=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modular/role/controller/SysRoleController.java | 13 ------------- .../role/result/SysRoleGrantResourceTreeResult.java | 1 + .../sys/modular/role/service/SysRoleService.java | 8 -------- .../role/service/impl/SysRoleServiceImpl.java | 8 -------- 4 files changed, 1 insertion(+), 29 deletions(-) diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/controller/SysRoleController.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/controller/SysRoleController.java index a5ce9b9b..7faca13a 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/controller/SysRoleController.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/controller/SysRoleController.java @@ -276,17 +276,4 @@ public class SysRoleController { public CommonResult> userSelector(SysRoleSelectorUserParam sysRoleSelectorUserParam) { return CommonResult.data(sysRoleService.userSelector(sysRoleSelectorUserParam)); } - - /** - * 获取用户选择器 - * - * @author jax - * @date 2022/10/18 20:00 - */ - @ApiOperationSupport(order = 17) - @ApiOperation("获取页面统计数据") - @GetMapping("/sys/role/summary") - public CommonResult summary(SysRolePageParam sysRolePageParam) { - return CommonResult.data(sysRoleService.summary(sysRolePageParam)); - } } diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/result/SysRoleGrantResourceTreeResult.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/result/SysRoleGrantResourceTreeResult.java index 16925433..fb0bffee 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/result/SysRoleGrantResourceTreeResult.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/result/SysRoleGrantResourceTreeResult.java @@ -69,6 +69,7 @@ public class SysRoleGrantResourceTreeResult { /** 标题 */ @ApiModelProperty(value = "菜单标题", position = 4) private String title; + /** 模块 */ @ApiModelProperty(value = "菜单模块", position = 5) private String module; diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/service/SysRoleService.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/service/SysRoleService.java index 2156068a..59a5459b 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/service/SysRoleService.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/service/SysRoleService.java @@ -169,12 +169,4 @@ public interface SysRoleService extends IService { * @date 2022/8/22 13:39 **/ List userSelector(SysRoleSelectorUserParam sysRoleSelectorUserParam); - - /** - * 获取页面统计数据 - * - * @author jax - * @date 2022/8/22 13:39 - **/ - SysRole summary(SysRolePageParam sysRolePageParam); } diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/service/impl/SysRoleServiceImpl.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/service/impl/SysRoleServiceImpl.java index 99985e90..1156d793 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/service/impl/SysRoleServiceImpl.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/service/impl/SysRoleServiceImpl.java @@ -405,14 +405,6 @@ public class SysRoleServiceImpl extends ServiceImpl impl return sysUserService.list(lambdaQueryWrapper); } - @Override - public SysRole summary(SysRolePageParam sysRolePageParam) { - // 实现自己业务逻辑计算 以下是伪代码 - SysRole sysRole = new SysRole(); - sysRole.setSortCode(2000); - return sysRole; - } - /* ====以下为各种递归方法==== */ public JSONObject getParentNode(List> treeList, SysMenu sysMenu) { From 61b7d639cc98a64b5a6b0f02f1bc2af2cc9bc221 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E7=8E=89=E7=A5=A5?= Date: Sun, 13 Nov 2022 11:57:17 +0800 Subject: [PATCH 11/24] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91?= =?UTF-8?q?=E4=BF=AE=E5=A4=8DSysRoleServiceImpl=E6=96=B9=E6=B3=95=E6=B3=A8?= =?UTF-8?q?=E9=87=8A=E9=94=99=E5=88=AB=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sys/modular/role/service/impl/SysRoleServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/service/impl/SysRoleServiceImpl.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/service/impl/SysRoleServiceImpl.java index 1156d793..f1ba80bd 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/service/impl/SysRoleServiceImpl.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/service/impl/SysRoleServiceImpl.java @@ -262,7 +262,7 @@ public class SysRoleServiceImpl extends ServiceImpl impl return sysRole; } - /* ====职位部分所需要用到的选择器==== */ + /* ====角色部分所需要用到的选择器==== */ @Override public List> orgTreeSelector() { From a80fcbbde6bd56d9dd3599cf8e5e93937f0e76bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E8=AF=BA?= <1253070437@qq.com> Date: Sun, 13 Nov 2022 17:06:46 +0800 Subject: [PATCH 12/24] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91?= =?UTF-8?q?=E6=8E=A5=E5=8F=97=E4=B8=80=E4=B8=AAiss=E4=B8=AD=E5=BB=BA?= =?UTF-8?q?=E8=AE=AE=EF=BC=8CDelete=20=E2=90=8Deslint?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- snowy-admin-web/.eslintrc.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/snowy-admin-web/.eslintrc.js b/snowy-admin-web/.eslintrc.js index 556567e0..c756d584 100644 --- a/snowy-admin-web/.eslintrc.js +++ b/snowy-admin-web/.eslintrc.js @@ -33,6 +33,7 @@ module.exports = { 'vue/require-default-prop': 'off', 'vue/html-self-closing': 'off', 'vue/v-on-event-hyphenation': 'off', - 'vue/multi-word-component-names': 'off' + 'vue/multi-word-component-names': 'off', + 'prettier/prettier': ['error', { endOfLine: 'auto' }] } } From cf578f4ee34c0a951cc323ac16f0a12bbf117dc7 Mon Sep 17 00:00:00 2001 From: xuyuxiang Date: Tue, 15 Nov 2022 15:52:57 +0800 Subject: [PATCH 13/24] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=9A=E5=8A=A1=E6=A8=A1=E5=9D=97=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E6=9C=BA=E6=9E=84=E6=A0=91=E6=9E=84=E9=80=A0=E7=BB=93?= =?UTF-8?q?=E6=9E=9C=E4=B8=BA=E7=A9=BA=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modular/org/service/impl/BizOrgServiceImpl.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/org/service/impl/BizOrgServiceImpl.java b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/org/service/impl/BizOrgServiceImpl.java index 48136779..6193fe98 100644 --- a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/org/service/impl/BizOrgServiceImpl.java +++ b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/org/service/impl/BizOrgServiceImpl.java @@ -46,6 +46,7 @@ import vip.xiaonuo.sys.api.SysRoleApi; import javax.annotation.Resource; import java.util.List; +import java.util.Set; import java.util.stream.Collectors; /** @@ -97,17 +98,18 @@ public class BizOrgServiceImpl extends ServiceImpl impleme @Override public List> tree() { - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + // 获取所有机构 + List allOrgList = this.list(); + // 定义机构集合 + Set bizOrgSet = CollectionUtil.newHashSet(); // 校验数据范围 List loginUserDataScope = StpLoginUserUtil.getLoginUserDataScope(); if(ObjectUtil.isNotEmpty(loginUserDataScope)) { - lambdaQueryWrapper.in(BizOrg::getId, loginUserDataScope); + loginUserDataScope.forEach(orgId -> bizOrgSet.addAll(this.getParentListById(allOrgList, orgId, true))); } else { return CollectionUtil.newArrayList(); } - lambdaQueryWrapper.orderByAsc(BizOrg::getSortCode); - List bizOrgList = this.list(lambdaQueryWrapper); - List> treeNodeList = bizOrgList.stream().map(bizOrg -> + List> treeNodeList = bizOrgSet.stream().map(bizOrg -> new TreeNode<>(bizOrg.getId(), bizOrg.getParentId(), bizOrg.getName(), bizOrg.getSortCode()).setExtra(JSONUtil.parseObj(bizOrg))) .collect(Collectors.toList()); From e62387d684d6b3d920c6bc1327fb06758483546a Mon Sep 17 00:00:00 2001 From: xuyuxiang Date: Tue, 15 Nov 2022 15:54:46 +0800 Subject: [PATCH 14/24] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91?= =?UTF-8?q?=E5=AE=8C=E5=96=84gitignore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- snowy-admin-web/.gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snowy-admin-web/.gitignore b/snowy-admin-web/.gitignore index b7a83802..6ba14316 100644 --- a/snowy-admin-web/.gitignore +++ b/snowy-admin-web/.gitignore @@ -14,7 +14,7 @@ pnpm-debug.log* # other files stats.html -packge-lock.json +package-lock.json auto-imports.d.ts # Editor directories and files From 35849994a83920c672fba6ef21e2c742a0f8ea17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E8=AF=BA?= <1253070437@qq.com> Date: Wed, 16 Nov 2022 14:41:11 +0800 Subject: [PATCH 15/24] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91?= =?UTF-8?q?=E5=8E=BB=E6=8E=89=E8=A7=92=E8=89=B2=E7=AE=A1=E7=90=86=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E7=95=8C=E9=9D=A2=E4=B8=8A=E9=9D=A2=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E7=9A=84=E5=90=88=E5=B9=B6=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- snowy-admin-web/src/api/sys/roleApi.js | 4 ---- snowy-admin-web/src/views/sys/role/index.vue | 22 -------------------- 2 files changed, 26 deletions(-) diff --git a/snowy-admin-web/src/api/sys/roleApi.js b/snowy-admin-web/src/api/sys/roleApi.js index 4acbdb8c..e36f77e5 100644 --- a/snowy-admin-web/src/api/sys/roleApi.js +++ b/snowy-admin-web/src/api/sys/roleApi.js @@ -73,9 +73,5 @@ export default { // 获取权限授权树 rolePermissionTreeSelector(data) { return request('permissionTreeSelector', data, 'get') - }, - // 获取汇总数据 - roleSummary(data) { - return request('summary', data, 'get') } } diff --git a/snowy-admin-web/src/views/sys/role/index.vue b/snowy-admin-web/src/views/sys/role/index.vue index 84e9717b..9562c5a2 100644 --- a/snowy-admin-web/src/views/sys/role/index.vue +++ b/snowy-admin-web/src/views/sys/role/index.vue @@ -88,17 +88,6 @@ - @@ -180,21 +169,10 @@ // 表格查询 返回 Promise 对象 const loadData = (parameter) => { let param = Object.assign(parameter, searchFormState) - summaryDataReq(param) return roleApi.rolePage(param).then((res) => { return res }) } - // 计算汇总数据 - const summaryData = {} - const summaryDataReq = (param) => { - summaryData.sortCode = ref(0) - roleApi.roleSummary(param).then((summary) => { - if(summary != null){ - return summaryData.sortCode = summary.sortCode - } - }) - } // 加载左侧的树 orgApi.orgTree().then((res) => { cardLoading.value = false From 24bd54b0ef571719f2b1478473c78bf6a88840c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E8=AF=BA?= <1253070437@qq.com> Date: Wed, 16 Nov 2022 19:45:32 +0800 Subject: [PATCH 16/24] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=BC=96=E8=BE=91=E5=99=A8=E5=9B=A0=E4=B8=BA?= =?UTF-8?q?=E8=87=AA=E8=BA=AB=E5=8D=87=E7=BA=A7=E5=AF=BC=E8=87=B4=E7=9A=84?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- snowy-admin-web/package.json | 2 +- snowy-admin-web/src/components/Editor/index.vue | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/snowy-admin-web/package.json b/snowy-admin-web/package.json index 5f730508..60073da2 100644 --- a/snowy-admin-web/package.json +++ b/snowy-admin-web/package.json @@ -40,7 +40,7 @@ "sm-crypto": "^0.3.11", "snowflake-id": "^1.1.0", "sortablejs": "^1.15.0", - "tinymce": "^6.2.0", + "tinymce": "6.2.0", "vue": "3.2.44", "vue-cropper": "^1.0.1", "vue-i18n": "^9.2.2", diff --git a/snowy-admin-web/src/components/Editor/index.vue b/snowy-admin-web/src/components/Editor/index.vue index b7b11cc2..4cc081ad 100644 --- a/snowy-admin-web/src/components/Editor/index.vue +++ b/snowy-admin-web/src/components/Editor/index.vue @@ -10,7 +10,7 @@ import tinymce from 'tinymce/tinymce' import 'tinymce/themes/silver' import 'tinymce/icons/default' - + import 'tinymce/models/dom' // 引入编辑器插件 import 'tinymce/plugins/code' // 编辑源码 import 'tinymce/plugins/image' // 插入编辑图片 From 14808f7597a16fe29c0dac739489db34c6a0f218 Mon Sep 17 00:00:00 2001 From: xuyuxiang Date: Thu, 17 Nov 2022 13:33:57 +0800 Subject: [PATCH 17/24] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20#I60MMT=20=E6=89=A7=E8=A1=8C=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E7=94=9F=E6=88=90=EF=BC=88=E9=A1=B9=E7=9B=AE=E5=86=85?= =?UTF-8?q?=EF=BC=89=E5=90=8E=E7=AB=AF=E5=9C=B0=E5=9D=80=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gen/modular/basic/service/impl/GenBasicServiceImpl.java | 2 +- snowy-web-app/src/main/resources/application.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/snowy-plugin/snowy-plugin-gen/src/main/java/vip/xiaonuo/gen/modular/basic/service/impl/GenBasicServiceImpl.java b/snowy-plugin/snowy-plugin-gen/src/main/java/vip/xiaonuo/gen/modular/basic/service/impl/GenBasicServiceImpl.java index 8a088851..5061e6e9 100644 --- a/snowy-plugin/snowy-plugin-gen/src/main/java/vip/xiaonuo/gen/modular/basic/service/impl/GenBasicServiceImpl.java +++ b/snowy-plugin/snowy-plugin-gen/src/main/java/vip/xiaonuo/gen/modular/basic/service/impl/GenBasicServiceImpl.java @@ -356,7 +356,7 @@ public class GenBasicServiceImpl extends ServiceImpl i String genProjectBackendPath = System.getProperty("user.dir") + File.separator + GEN_PROJECT_PLUGIN_BIZ_KEY + File.separator + "src" + File.separator + "main" + File.separator + "java"; - if(!FileUtil.exist(genProjectFrontendPath)) { + if(!FileUtil.exist(genProjectBackendPath)) { throw new CommonException("后端代码生成位置:{}不存在,请检查位置", genProjectBackendPath); } try { diff --git a/snowy-web-app/src/main/resources/application.properties b/snowy-web-app/src/main/resources/application.properties index 7ea4adac..43fc80cc 100644 --- a/snowy-web-app/src/main/resources/application.properties +++ b/snowy-web-app/src/main/resources/application.properties @@ -25,7 +25,7 @@ spring.servlet.multipart.max-file-size=100MB spring.datasource.dynamic.datasource.master.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.dynamic.datasource.master.url=jdbc:mysql://localhost:3306/snowy?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&useInformationSchema=true spring.datasource.dynamic.datasource.master.username=root -spring.datasource.dynamic.datasource.master.password=123456 +spring.datasource.dynamic.datasource.master.password=12345678 spring.datasource.dynamic.strict=true # oracle From 892ae19176c93e0b910199b4b6817e21a6aa5229 Mon Sep 17 00:00:00 2001 From: xuyuxiang Date: Thu, 17 Nov 2022 13:34:53 +0800 Subject: [PATCH 18/24] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91?= =?UTF-8?q?=E9=87=8D=E7=BD=AE=E8=AF=AF=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- snowy-web-app/src/main/resources/application.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snowy-web-app/src/main/resources/application.properties b/snowy-web-app/src/main/resources/application.properties index 43fc80cc..7ea4adac 100644 --- a/snowy-web-app/src/main/resources/application.properties +++ b/snowy-web-app/src/main/resources/application.properties @@ -25,7 +25,7 @@ spring.servlet.multipart.max-file-size=100MB spring.datasource.dynamic.datasource.master.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.dynamic.datasource.master.url=jdbc:mysql://localhost:3306/snowy?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&useInformationSchema=true spring.datasource.dynamic.datasource.master.username=root -spring.datasource.dynamic.datasource.master.password=12345678 +spring.datasource.dynamic.datasource.master.password=123456 spring.datasource.dynamic.strict=true # oracle From f38c2bc0b89c27a01339f9d6f3c857a5d39de304 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E8=AF=BA?= <1253070437@qq.com> Date: Sat, 19 Nov 2022 23:25:35 +0800 Subject: [PATCH 19/24] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91?= =?UTF-8?q?=E8=A7=A3=E5=86=B3=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90=E5=89=8D?= =?UTF-8?q?=E7=AB=AF=E5=A4=9A=E7=94=9F=E6=88=90tool=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E7=B1=BB=E5=AF=BC=E5=85=A5=E8=B7=9F=E9=85=8D=E7=BD=AE=E6=97=B6?= =?UTF-8?q?=E4=B8=8D=E6=98=BE=E7=A4=BA=E4=B8=8A=E7=BA=A7=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- snowy-admin-web/src/views/gen/basic.vue | 48 +++++++++---------- .../src/main/resources/frontend/index.vue.btl | 20 +++++--- 2 files changed, 37 insertions(+), 31 deletions(-) diff --git a/snowy-admin-web/src/views/gen/basic.vue b/snowy-admin-web/src/views/gen/basic.vue index 6a81bbc1..aa8da721 100644 --- a/snowy-admin-web/src/views/gen/basic.vue +++ b/snowy-admin-web/src/views/gen/basic.vue @@ -192,31 +192,31 @@ tableColumns: [] } }) + if (record) { + const params = { + id: record.id + } + submitLoading.value = true + genBasicApi.basicDetail(params).then((data) => { + formData.value = data + // 让主键选中 + selectTableColumnsData(data.dbTable, true) + // 让模块旁边的上级菜单选中 + moduleChange(data.module, true) + }).finally(() => { + submitLoading.value = false + }) + } else { + formData.value = { + sortCode: 99, + tablePrefix: 'Y', + generateType: 'ZIP', + packageName: 'vip.xiaonuo', + formLayout: 'vertical', + gridWhether: 'N' + } + } }) - if (record) { - const params = { - id: record.id - } - submitLoading.value = true - genBasicApi.basicDetail(params).then((data) => { - formData.value = data - // 让主键选中 - selectTableColumnsData(data.dbTable, true) - // 让模块旁边的上级菜单选中 - moduleChange(data.module, true) - }).finally(() => { - submitLoading.value = false - }) - } else { - formData.value = { - sortCode: 99, - tablePrefix: 'Y', - generateType: 'ZIP', - packageName: 'vip.xiaonuo', - formLayout: 'vertical', - gridWhether: 'N' - } - } } // 默认要校验的 const formRules = { diff --git a/snowy-plugin/snowy-plugin-gen/src/main/resources/frontend/index.vue.btl b/snowy-plugin/snowy-plugin-gen/src/main/resources/frontend/index.vue.btl index 3adfbd36..b5af3a04 100644 --- a/snowy-plugin/snowy-plugin-gen/src/main/resources/frontend/index.vue.btl +++ b/snowy-plugin/snowy-plugin-gen/src/main/resources/frontend/index.vue.btl @@ -132,15 +132,21 @@ - - From 0c91118e09d5e100aec391d9177db5ec1cbc07c8 Mon Sep 17 00:00:00 2001 From: xlzy <1017866168@qq.com> Date: Wed, 23 Nov 2022 23:32:25 +0800 Subject: [PATCH 22/24] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=A1=A8=E5=8D=95=E5=BF=85=E5=A1=AB=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E7=9A=84=E5=8F=82=E6=95=B0=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- snowy-admin-web/src/utils/formRules.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/snowy-admin-web/src/utils/formRules.js b/snowy-admin-web/src/utils/formRules.js index 62508320..3d538cf4 100644 --- a/snowy-admin-web/src/utils/formRules.js +++ b/snowy-admin-web/src/utils/formRules.js @@ -8,10 +8,10 @@ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip */ -export const required = (text, method = ['blur', 'change']) => ({ +export const required = (message, trigger = ['blur', 'change']) => ({ required: true, - message: text, - trigger: method + message, + trigger }) // 常用正则规则大全:https://any86.github.io/any-rule/ From 0511e9f8770f1504c3c54359a2216fe9f52ba428 Mon Sep 17 00:00:00 2001 From: xlzy <1017866168@qq.com> Date: Wed, 23 Nov 2022 23:33:24 +0800 Subject: [PATCH 23/24] =?UTF-8?q?=E3=80=90=E4=BC=98=E5=8C=96=E3=80=91?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E9=A1=B5=E4=BB=A3=E7=A0=81=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E3=80=81=E6=A0=B7=E5=BC=8F=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/auth/login/callback.vue | 188 +----------- .../src/views/auth/login/login.less | 152 ++++++++++ .../src/views/auth/login/login.vue | 281 ++++-------------- .../src/views/auth/login/phoneLoginForm.vue | 65 ++-- .../src/views/auth/login/threeLogin.vue | 9 +- 5 files changed, 258 insertions(+), 437 deletions(-) create mode 100644 snowy-admin-web/src/views/auth/login/login.less diff --git a/snowy-admin-web/src/views/auth/login/callback.vue b/snowy-admin-web/src/views/auth/login/callback.vue index 83b73afc..8e766a47 100644 --- a/snowy-admin-web/src/views/auth/login/callback.vue +++ b/snowy-admin-web/src/views/auth/login/callback.vue @@ -8,7 +8,7 @@

三方登录

-
+
@@ -20,7 +20,6 @@ diff --git a/snowy-admin-web/src/views/auth/login/login.less b/snowy-admin-web/src/views/auth/login/login.less new file mode 100644 index 00000000..e2e3cf84 --- /dev/null +++ b/snowy-admin-web/src/views/auth/login/login.less @@ -0,0 +1,152 @@ +.login-icon-gray { + color: rgba(0, 0, 0, 0.25); +} +.login-validCode-img { + border: 1px solid var(--border-color-split); + cursor: pointer; + width: 100%; + height: 40px; +} +.login_background { + width: 100%; + height: 100%; + overflow: hidden; + background-size: cover; + background-position: center; + background-image: url(/img/login_background.png); +} +.login_background_front { + width: 450px; + height: 450px; + margin-left: 100px; + margin-top: 15%; + overflow: hidden; + /*position: relative;*/ + background-size: cover; + background-position: center; + background-image: url(/img/login_background_front.png); + animation-name: myfirst; + animation-duration: 5s; + animation-timing-function: linear; + animation-delay: 1s; + animation-iteration-count: infinite; + animation-direction: alternate; + animation-play-state: running; +} +@keyframes myfirst { + 0% { + left: 0px; + top: 0px; + } + 50% { + left: 50px; + top: 0px; + } + 100% { + left: 0px; + top: 0px; + } +} +@-webkit-keyframes myfirst /* Safari and Chrome */ { + 0% { + left: 0px; + top: 0px; + } + 50% { + left: 50px; + top: 0px; + } + 100% { + left: 0px; + top: 0px; + } +} +.login_adv__title h2 { + font-size: 40px; +} +.login_adv__title h4 { + font-size: 18px; + margin-top: 10px; + font-weight: normal; +} +.login_adv__title p { + font-size: 14px; + margin-top: 10px; + line-height: 1.8; + color: rgba(255, 255, 255, 0.6); +} +.login_adv__title div { + margin-top: 10px; + display: flex; + align-items: center; +} +.login_adv__title div span { + margin-right: 15px; +} +.login_adv__title div i { + font-size: 40px; +} +.login_adv__title div i.add { + font-size: 20px; + color: rgba(255, 255, 255, 0.6); +} +/*background-image:linear-gradient(transparent, #000);*/ +.login_main { + flex: 1; + overflow: auto; + display: flex; +} +.login-form { + top: 15%; + right: 15%; + position: absolute; + width: 450px; + margin-left: 10%; + margin-top: 20px; + padding: 10px 0; +} +.login-header { + margin-bottom: 20px; +} +.login-header .logo { + display: flex; + align-items: center; +} +.login-header .logo img { + width: 35px; + height: 35px; + vertical-align: bottom; + margin-right: 10px; +} +.login-header .logo label { + font-size: 24px; +} +.login-header h2 { + font-size: 24px; + font-weight: bold; + margin-top: 40px; +} +.login_config { + position: absolute; + top: 20px; + right: 20px; +} +@media (max-width: 1200px) { + .login-form { + width: 340px; + } +} +@media (max-width: 1000px) { + .login_main { + display: block; + } + .login_background_front { + display: none; + } + .login-form { + width: 100%; + padding: 20px 40px; + right: 0 !important; + top: 0 !important; + } +} diff --git a/snowy-admin-web/src/views/auth/login/login.vue b/snowy-admin-web/src/views/auth/login/login.vue index 524e0bcd..2a2fd263 100644 --- a/snowy-admin-web/src/views/auth/login/login.vue +++ b/snowy-admin-web/src/views/auth/login/login.vue @@ -33,9 +33,14 @@ - + @@ -45,13 +50,14 @@ :placeholder="$t('login.PWPlaceholder')" size="large" autocomplete="off" + @keyup.enter="login" > - + - + @@ -78,7 +80,7 @@ {{ $t('login.forgetPassword') }}? - {{ $t('login.signIn') }} @@ -102,12 +104,15 @@ import phoneLoginForm from './phoneLoginForm.vue' import threeLogin from './threeLogin.vue' import smCrypto from '@/utils/smCrypto' + import { required } from '@/utils/formRules' export default { + name: 'Login', components: { phoneLoginForm, threeLogin }, + data() { return { activeKey: 'userAccount', @@ -121,10 +126,10 @@ autologin: false }, rules: { - account: [{ required: true, message: this.$t('login.accountError'), trigger: 'blur' }], - password: [{ required: true, message: this.$t('login.PWError'), trigger: 'blur' }] + account: [required(this.$t('login.accountError'), 'blur')], + password: [required(this.$t('login.PWError'), 'blur')] }, - islogin: false, + loading: false, config: { lang: this.$TOOL.data.get('APP_LANG') || this.$CONFIG.LANG, theme: this.$TOOL.data.get('APP_THEME') || 'default' @@ -142,8 +147,8 @@ } }, computed: { - sysBaseConfigWatch() { - return this.$store.state.global.sysBaseConfig + captchaOpen() { + return this.sysBaseConfig.SNOWY_SYS_DEFAULT_CAPTCHA_OPEN === 'true' } }, watch: { @@ -153,10 +158,6 @@ 'config.lang': function (val) { this.$i18n.locale = val this.$TOOL.data.set('APP_LANG', val) - }, - sysBaseConfigWatch(val) { - this.sysBaseConfig = val - this.refreshSwitch() } }, created() { @@ -166,27 +167,16 @@ }, mounted() { this.refreshSwitch() - // 获取回车键事件 - document.onkeydown = (e) => { - if (e.defaultPrevented) { - return; - } - const body = document.getElementsByTagName('body')[0]; - // match(浏览器中的地址,不需要包括https、http或者www),是为了防止其他页面触发 - if (e.keyCode === 13 && e.target.baseURI.match("/login") && e.target === body) { - this.login() - } - } }, methods: { // 通过开关加载内容 refreshSwitch() { // 判断是否开启验证码 - if (this.sysBaseConfig.SNOWY_SYS_DEFAULT_CAPTCHA_OPEN === 'true') { + if (this.captchaOpen) { // 加载验证码 this.loginCaptcha() // 加入校验 - this.rules.validCode = [{ required: true, message: this.$t('login.validError'), trigger: 'blur' }] + this.rules.validCode = [required(this.$t('login.validError'), 'blur')] } }, // 获取验证码 @@ -198,45 +188,40 @@ }, // 用户名密码登录 async login() { - const validate = await this.$refs.loginForm.validate().catch(() => {}) - if (!validate) return false + this.$refs.loginForm.validate().then(async () => { + this.loading = true + const loginData = { + account: this.ruleForm.account, + // 密码进行SM2加密,传输过程中看到的只有密文,后端存储使用hash + password: smCrypto.doSm2Encrypt(this.ruleForm.password), + validCode: this.ruleForm.validCode, + validCodeReqNo: this.ruleForm.validCodeReqNo + } + // 获取token + try { + const loginToken = await loginApi.login(loginData) + this.$TOOL.data.set('TOKEN', loginToken) + // 获取登录的用户信息 + const loginUser = await loginApi.getLoginUser() + this.$TOOL.data.set('USER_INFO', loginUser) - this.islogin = true - const loginData = { - account: this.ruleForm.account, - // 密码进行SM2加密,传输过程中看到的只有密文,后端存储使用hash - password: smCrypto.doSm2Encrypt(this.ruleForm.password), - validCode: this.ruleForm.validCode, - validCodeReqNo: this.ruleForm.validCodeReqNo - } - // 获取token - const login = await loginApi.login(loginData).finally(() => { - this.islogin = false - }) - this.$TOOL.data.set('TOKEN', login) - // 获取登录的用户信息 - const loginUser = await loginApi.getLoginUser() - this.$TOOL.data.set('USER_INFO', loginUser) - - // 获取用户的菜单 - const menu = await userCenterApi.userLoginMenu().catch(() => { - this.islogin = false - return - }) - this.islogin = false - const indexMenu = menu[0].children[0].path - this.$TOOL.data.set('MENU', menu) - // 重置系统默认应用 - this.$TOOL.data.set('SNOWY_MENU_MODULE_ID', menu[0].id) - this.$router.replace({ - path: indexMenu - }) - this.$message.success('登录成功') - this.$nextTick(() => { - dictApi.dictTree().then((data) => { - // 设置字典到store中 - this.$TOOL.data.set('DICT_TYPE_TREE_DATA', data) - }) + // 获取用户的菜单 + const menu = await userCenterApi.userLoginMenu() + const indexMenu = menu[0].children[0].path + this.$TOOL.data.set('MENU', menu) + // 重置系统默认应用 + this.$TOOL.data.set('SNOWY_MENU_MODULE_ID', menu[0].id) + this.$message.success('登录成功') + this.$router.replace({ + path: indexMenu + }) + dictApi.dictTree().then((data) => { + // 设置字典到store中 + this.$TOOL.data.set('DICT_TYPE_TREE_DATA', data) + }) + } catch (err) { + this.loading = false + } }) }, configLang(key) { @@ -246,156 +231,6 @@ } - diff --git a/snowy-admin-web/src/views/auth/login/phoneLoginForm.vue b/snowy-admin-web/src/views/auth/login/phoneLoginForm.vue index cd484c36..a33b4c35 100644 --- a/snowy-admin-web/src/views/auth/login/phoneLoginForm.vue +++ b/snowy-admin-web/src/views/auth/login/phoneLoginForm.vue @@ -3,7 +3,7 @@ @@ -16,21 +16,21 @@ size="large" > - {{ - (!state.smsSendBtn && $t('login.getSmsCode')) || state.time + ' s' - }} + + {{ (!state.smsSendBtn && $t('login.getSmsCode')) || state.time + ' s' }} + - {{ - $t('login.signIn') - }} + + {{ $t('login.signIn') }} + @@ -78,7 +78,7 @@ import dictApi from '@/api/dev/dictApi' const phoneLoginFormRef = ref() const phoneFormData = ref({}) - const islogin = ref(false) + const loading = ref(false) let state = ref({ time: 60, smsSendBtn: false @@ -109,36 +109,31 @@ // delete phoneFormData.value.phoneValidCode phoneFormData.value.validCodeReqNo = phoneValidCodeReqNo.value - islogin.value = true - const token = await loginApi.loginByPhone(phoneFormData.value).finally(() => { - islogin.value = false - }) + loading.value = true + try { + const token = await loginApi.loginByPhone(phoneFormData.value) + tool.data.set('TOKEN', token) + // 获取登录的用户信息 + const loginUser = await loginApi.getLoginUser() + tool.data.set('USER_INFO', loginUser) - tool.data.set('TOKEN', token) - // 获取登录的用户信息 - const loginUser = await loginApi.getLoginUser() - tool.data.set('USER_INFO', loginUser) - - // 获取用户的菜单 - const menu = await userCenterApi.userLoginMenu().catch(() => { - islogin.value = false - return - }) - islogin.value = false - const indexMenu = menu[0].children[0].path - tool.data.set('MENU', menu) - // 重置系统默认应用 - tool.data.set('SNOWY_MENU_MODULE_ID', menu[0].id) - router.replace({ - path: indexMenu - }) - message.success('登录成功') - nextTick(() => { + // 获取用户的菜单 + const menu = await userCenterApi.userLoginMenu() + const indexMenu = menu[0].children[0].path + tool.data.set('MENU', menu) + // 重置系统默认应用 + tool.data.set('SNOWY_MENU_MODULE_ID', menu[0].id) + message.success('登录成功') + router.replace({ + path: indexMenu + }) dictApi.dictTree().then((data) => { // 设置字典到store中 tool.data.set('DICT_TYPE_TREE_DATA', data) }) - }) + } catch (err) { + loading.value = false + } } // 弹框的 diff --git a/snowy-admin-web/src/views/auth/login/threeLogin.vue b/snowy-admin-web/src/views/auth/login/threeLogin.vue index f5878778..ebe149c2 100644 --- a/snowy-admin-web/src/views/auth/login/threeLogin.vue +++ b/snowy-admin-web/src/views/auth/login/threeLogin.vue @@ -1,6 +1,6 @@