diff --git a/backend/src/main/java/io/metersphere/controller/LoginController.java b/backend/src/main/java/io/metersphere/controller/LoginController.java index d739240fc3..ef910e5ba2 100644 --- a/backend/src/main/java/io/metersphere/controller/LoginController.java +++ b/backend/src/main/java/io/metersphere/controller/LoginController.java @@ -1,11 +1,13 @@ package io.metersphere.controller; +import io.metersphere.commons.constants.OperLogConstants; import io.metersphere.commons.constants.UserSource; import io.metersphere.commons.user.SessionUser; import io.metersphere.commons.utils.RsaKey; import io.metersphere.commons.utils.SessionUtils; import io.metersphere.controller.request.LoginRequest; import io.metersphere.i18n.Translator; +import io.metersphere.log.annotation.MsAuditLog; import io.metersphere.service.BaseDisplayService; import io.metersphere.service.UserService; import org.apache.commons.lang3.StringUtils; @@ -41,6 +43,7 @@ public class LoginController { } @PostMapping(value = "/signin") + @MsAuditLog(module = "auth_title", type = OperLogConstants.LOGIN, title = "登录") public ResultHolder login(@RequestBody LoginRequest request) { SessionUser sessionUser = SessionUtils.getUser(); if (sessionUser != null) { @@ -58,6 +61,7 @@ public class LoginController { } @GetMapping(value = "/signout") + @MsAuditLog(module = "auth_title", type = OperLogConstants.LOGIN, title = "登出") public ResultHolder logout() throws Exception { userService.logout(); SecurityUtils.getSubject().logout(); diff --git a/frontend/src/business/components/api/definition/components/case/ApiCaseItem.vue b/frontend/src/business/components/api/definition/components/case/ApiCaseItem.vue index 5d93b4694a..51f9703554 100644 --- a/frontend/src/business/components/api/definition/components/case/ApiCaseItem.vue +++ b/frontend/src/business/components/api/definition/components/case/ApiCaseItem.vue @@ -221,7 +221,7 @@ }, watch: {}, methods: { - openHis(row){ + openHis(row) { this.$refs.changeHistory.open(row.id); }, handleRunBatch() { @@ -258,10 +258,13 @@ this.$emit('singleRun', data); }, copyCase(data) { - let uuid = getUUID(); - data.request.id = uuid; - let obj = {name: "copy_" + data.name, priority: data.priority, active: true, tags: data.tags, request: data.request, uuid: uuid}; - this.$emit('copyCase', obj); + if (data && data.request) { + let uuid = getUUID(); + let request = JSON.parse(JSON.stringify(data.request)); + request.id = uuid; + let obj = {name: "copy_" + data.name, priority: data.priority, active: true, tags: data.tags, request: request, uuid: uuid}; + this.$emit('copyCase', obj); + } }, selectTestCase(item, $event) { if (!item.id || !this.loaded) { diff --git a/frontend/src/business/components/settings/operatinglog/OperatingLog.vue b/frontend/src/business/components/settings/operatinglog/OperatingLog.vue index 4459dc5743..dec9a76824 100644 --- a/frontend/src/business/components/settings/operatinglog/OperatingLog.vue +++ b/frontend/src/business/components/settings/operatinglog/OperatingLog.vue @@ -23,7 +23,6 @@ - + @select="handleSelect"> - + @@ -129,55 +130,6 @@ props: { multiple: false, }, - sysList: [ - { - label: "测试跟踪", value: "track", children: [ - {label: "测试用例", value: "测试用例", leaf: true}, - {label: "用例评审", value: "用例评审", leaf: true}, - {label: "测试计划", value: "测试计划", leaf: true}, - {label: "缺陷管理", value: "缺陷管理", leaf: true}, - {label: "报告", value: "报告", leaf: true}] - }, - { - label: "接口测试", value: "api", children: [ - {label: "接口定义", value: "接口定义", leaf: true}, - {label: "接口自动化", value: "接口自动化", leaf: true}, - {label: "测试报告", value: "测试报告", leaf: true}] - }, - { - label: "性能测试", value: "性能测试", children: [ - {label: "性能测试", value: "性能测试", leaf: true}, - {label: "性能测试报告", value: "性能测试报告", leaf: true}] - }, - { - label: "系统设置", value: "系统设置", children: [ - {label: "系统-用户", value: "系统-用户", leaf: true}, - {label: "系统-组织", value: "系统-组织", leaf: true}, - {label: "工作空间", value: "工作空间", leaf: true}, - {label: "系统-测试资源池", value: "系统-测试资源池", leaf: true}, - {label: "系统-系统参数设置", value: "系统-系统参数设置", leaf: true}, - {label: "系统-配额管理", value: "系统-配额管理", leaf: true}, - {label: "系统-授权管理", value: "系统-授权管理", leaf: true}, - {label: "组织-成员", value: "组织-成员", leaf: true}, - {label: "组织-服务集成", value: "组织-服务集成", leaf: true}, - {label: "组织-消息设置", value: "组织-消息设置", leaf: true}, - - {label: "工作空间-成员", value: "工作空间-成员", leaf: true}, - {label: "项目-项目管理", value: "项目-项目管理", leaf: true}, - {label: "工作空间-模版设置", value: "工作空间-模版设置", leaf: true}, - {label: "工作空间-项目管理", value: "工作空间-项目管理", leaf: true}, - {label: "项目-项目管理", value: "项目-项目管理", leaf: true}, - {label: "项目-成员", value: "项目-成员", leaf: true}, - {label: "工作空间-成员", value: "工作空间-成员", leaf: true}, - - {label: "項目-JAR包管理", value: "項目-JAR包管理", leaf: true}, - {label: "项目-环境设置", value: "项目-环境设置", leaf: true}, - {label: "项目-文件管理", value: "项目-文件管理", leaf: true}, - {label: "个人信息-个人设置", value: "个人信息-个人设置", leaf: true}, - {label: "个人信息-API Keys", value: "个人信息-API Keys", leaf: true} - ] - }, - ], result: {}, form: {}, currentPage: 0, @@ -235,7 +187,56 @@ ['BATCH_ADD', this.$t('commons.batch_add')], ['BATCH_RESTORE', "批量恢复"], ['BATCH_GC', "批量回收"], - ]) + ]), + sysList: [ + { + label: "测试跟踪", value: "测试跟踪", children: [ + {label: "测试用例", value: "测试用例", leaf: true}, + {label: "用例评审", value: "用例评审", leaf: true}, + {label: "测试计划", value: "测试计划", leaf: true}, + {label: "缺陷管理", value: "缺陷管理", leaf: true}, + {label: "报告", value: "报告", leaf: true}] + }, + { + label: "接口测试", value: "api", children: [ + {label: "接口定义", value: "接口定义", leaf: true}, + {label: "接口自动化", value: "接口自动化", leaf: true}, + {label: "测试报告", value: "测试报告", leaf: true}] + }, + { + label: "性能测试", value: "性能测试", children: [ + {label: "性能测试", value: "性能测试", leaf: true}, + {label: "性能测试报告", value: "性能测试报告", leaf: true}] + }, + { + label: "系统设置", value: "系统设置", children: [ + {label: "系统-用户", value: "系统-用户", leaf: true}, + {label: "系统-组织", value: "系统-组织", leaf: true}, + {label: "工作空间", value: "工作空间", leaf: true}, + {label: "系统-测试资源池", value: "系统-测试资源池", leaf: true}, + {label: "系统-系统参数设置", value: "系统-系统参数设置", leaf: true}, + {label: "系统-配额管理", value: "系统-配额管理", leaf: true}, + {label: "系统-授权管理", value: "系统-授权管理", leaf: true}, + {label: "组织-成员", value: "组织-成员", leaf: true}, + {label: "组织-服务集成", value: "组织-服务集成", leaf: true}, + {label: "组织-消息设置", value: "组织-消息设置", leaf: true}, + + {label: "工作空间-成员", value: "工作空间-成员", leaf: true}, + {label: "项目-项目管理", value: "项目-项目管理", leaf: true}, + {label: "工作空间-模版设置", value: "工作空间-模版设置", leaf: true}, + {label: "工作空间-项目管理", value: "工作空间-项目管理", leaf: true}, + {label: "项目-项目管理", value: "项目-项目管理", leaf: true}, + {label: "项目-成员", value: "项目-成员", leaf: true}, + {label: "工作空间-成员", value: "工作空间-成员", leaf: true}, + + {label: "項目-JAR包管理", value: "項目-JAR包管理", leaf: true}, + {label: "项目-环境设置", value: "项目-环境设置", leaf: true}, + {label: "项目-文件管理", value: "项目-文件管理", leaf: true}, + {label: "个人信息-个人设置", value: "个人信息-个人设置", leaf: true}, + {label: "个人信息-API Keys", value: "个人信息-API Keys", leaf: true} + ] + }, + ], } }, mounted() {