From 771ac40c75f0e3457a59987df28f567cbd059d6c Mon Sep 17 00:00:00 2001 From: DongZeLiang <2746733890@qq.com> Date: Wed, 8 May 2024 22:48:33 +0800 Subject: [PATCH] =?UTF-8?q?feat():=20=E6=96=B0=E5=A2=9E=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1、增加引擎版本页面,可以进行数据作用域的查看 2、增加引擎测试页面,可以基于作用域进行引擎测试内容 3、增加点击测试返回实例值内容 --- .../ruleEngine/engineMaintenance/index.vue | 4 +- src/views/ruleEngine/engineVersion/index.vue | 307 ++++++++++++------ 2 files changed, 215 insertions(+), 96 deletions(-) diff --git a/src/views/ruleEngine/engineMaintenance/index.vue b/src/views/ruleEngine/engineMaintenance/index.vue index 9179dfc..f230aa6 100644 --- a/src/views/ruleEngine/engineMaintenance/index.vue +++ b/src/views/ruleEngine/engineMaintenance/index.vue @@ -327,7 +327,7 @@ export default { "description": "
根据字段组合匹配等,进行不同数据集合的校验
", "remark": "-", "code": "only", - "level": "data-field" + "level": "data-record" }, { "id": 3, @@ -338,7 +338,7 @@ export default { "description": "根据接口不同进行,远程API调用匹配是否数据完整
", "remark": "-", "code": "remote", - "level": "data-field" + "level": "data-set" }, ] } diff --git a/src/views/ruleEngine/engineVersion/index.vue b/src/views/ruleEngine/engineVersion/index.vue index 9e27d21..b2578ea 100644 --- a/src/views/ruleEngine/engineVersion/index.vue +++ b/src/views/ruleEngine/engineVersion/index.vue @@ -216,22 +216,50 @@ -根据邮箱规则进行数据校验,内包含所有邮箱校验规则
", + "remark": "-", + "code": "email", + "level": "data-field" + }, + { + "id": 2, + "name": "唯一性校验", + "type": "rule-custom", + "isActivate": "no-activate", + "status": "0", + "description": "根据字段组合匹配等,进行不同数据集合的校验
", + "remark": "-", + "code": "only", + "level": "data-record" + }, + { + "id": 3, + "name": "远程接口校验", + "type": "rule-custom", + "isActivate": "no-activate", + "status": "0", + "description": "根据接口不同进行,远程API调用匹配是否数据完整
", + "remark": "-", + "code": "remote", + "level": "data-set" + }, + ], ruleEngineInfo: { "id": 1, "name": "邮箱规则", @@ -403,14 +466,64 @@ export default { }, ], // 数据模型选择 dataMode: null, - // 数据示例 - dataModeMap: { - id: 1, - name: "张三", - sex: 1, - price: "653.69", - create_time: "2024-5-7 16:37:16", - }, + // 数据实例集合 + dataModeMapList : [ + { + id: 1, + name: "张三", + sex: 1, + price: "264.69", + create_time: "2024-5-7 16:37:16", + }, + { + id: 2, + name: "李四", + sex: 2, + price: "362.69", + create_time: "2023-1-7 41:22:08", + }, + { + id: 3, + name: "王五", + sex: 0, + price: "485.69", + create_time: "1996-4-7 02:14:36", + }, + { + id: 4, + name: "赵六", + sex: 0, + price: "485.69", + create_time: "2004-4-7 02:14:36", + }, + { + id: 5, + name: "猪八戒", + sex: 0, + price: "485.69", + create_time: "1969-4-7 02:14:36", + }, + { + id: 6, + name: "孙悟空", + sex: 1, + price: "485.44", + create_time: "2015-4-7 02:14:36", + }, + { + id: 7, + name: "唐三", + sex: 0, + price: "635.69", + create_time: "2003-5-7 16:37:16", + }, + ], + dataModeMapIndex: 0, + dataRecordSelectData: null, + // 条记录选中key集合 + dataRecordSelectKeyList: [], + // 选择行记录List + changeDataList: [], testResult: "" } }, @@ -418,7 +531,30 @@ export default { this.initRuleEngine(); }, methods: { - + // 测试 + dataTest(){ + let number = Math.floor(Math.random()*3); + if (number === 0){ + this.testResult = "测试正常,无异常数据返回"; + }else if (number === 1){ + this.testResult = "测试失败:触发*****异常条例,数据发生动作【移除/忽略/记录】"; + }else if (number === 2){ + this.testResult = "程序异常:*******异常"; + } + }, + // 选择数据行 + changeDataRow(val){ + this.changeDataList = val; + }, + // 记录选中 + dataRecordSelect(row){ + this.dataRecordSelectKeyList = []; + this.dataRecordSelectData = row; + }, + // 单条随机数据 + dataModelRandom(){ + this.dataModeMapIndex = Math.floor(Math.random()*this.dataModeMapList.length); + }, saveCoding(){ this.$message.success('编码保存成功'); }, @@ -504,89 +640,72 @@ export default { } }, initRuleEngine(){ - let response = { - "code": 200, - "msg": "查询成功", - "data": { - "id": 1, - "name": "邮箱规则", - "type": "rule-custom", - "isActivate": "no-activate", - "status": "0", - "description": "根据邮箱规则进行数据校验,内包含所有邮箱校验规则
", - "remark": "-", - "code": "email", - "engineCode": "engine_custom_email", - "level": "data-field", - "ruleEngineVersionList": [ - { - "name": "163剔除", "code": "IAW3S02", "status": "0", "isTest": "0", - "versionCode": "engine_custom_email_IAW3S02", "isActivate": "no-activate", - "description": "根据邮箱规则进行数据校验,内包含所有邮箱校验规则
","codeIng": "package com.muyu.rule.engine.custom;\n" + - "\n" + - "import com.muyu.engine.action.ActionDiscard;\n" + - "import com.muyu.engine.scope.DataModelEngine;\n" + - "\n" + - "/**\n" + - " * @Author: DongZeLiang\n" + - " * @date: 2024/5/6\n" + - " * @Description: ce-IAW3S02\n" + - " * @Version: 1.0\n" + - " */\n" + - "public class engine_custom_email_IAW3S02 extends DataModelEngine {\n" + - " @Override\n" + - " public void execution () {\n" + - " Object value = getValue();\n" + - "\n" + - " if (value == null || \"\".equals(value) || \"null\".equals(value)) {\n" + - " throw new ActionDiscard();\n" + - " }\n" + - " }\n" + - "}" - }, - { - "name": "筛选不合规邮箱", "code": "JISID8S", "status": "2", "isTest": "1", - "versionCode": "engine_custom_email_JISID8S", "isActivate": "activated", - "description": "根据邮箱规则进行数据校验,内包含所有邮箱校验规则
","codeIng": "package com.muyu.rule.engine.custom;\n" + - "\n" + - "import com.muyu.engine.action.ActionDiscard;\n" + - "import com.muyu.engine.scope.DataModelEngine;\n" + - "\n" + - "/**\n" + - " * @Author: DongZeLiang\n" + - " * @date: 2024/5/6\n" + - " * @Description: ce-JISID8S\n" + - " * @Version: 1.0\n" + - " */\n" + - "public class engine_custom_email_JISID8S extends DataModelEngine {\n" + - " @Override\n" + - " public void execution () {\n" + - " Object value = getValue();\n" + - "\n" + - " if (value == null || \"\".equals(value) || \"null\".equals(value)) {\n" + - " throw new ActionDiscard();\n" + - " }\n" + - " }\n" + - "}" - }, - { - "name": "剔除自定义邮箱", "code": "DJ8S9EA", "status": "2", "isTest": "2", - "versionCode": "engine_custom_email_DJ8S9EA", "isActivate": "no-activate", - "description": "根据邮箱规则进行数据校验,内包含所有邮箱校验规则
" - }, - { - "name": "邮箱默认值操作", "code": "XJS9E0S", "status": "1", "isTest": "0", - "versionCode": "engine_custom_email_XJS9E0S", "isActivate": "no-activate", - "description": "根据邮箱规则进行数据校验,内包含所有邮箱校验规则
" - } - ] - } + this.ruleEngineInfo = this.ruleEngineInfoList.findLast(ruleInfo => ruleInfo.id == this.ruleEngineId) + this.ruleEngineInfo.ruleEngineVersionList = [ + { + "name": "163剔除", "code": "IAW3S02", "status": "0", "isTest": "0", + "versionCode": "engine_custom_email_IAW3S02", "isActivate": "no-activate", + "description": "根据邮箱规则进行数据校验,内包含所有邮箱校验规则
","codeIng": "package com.muyu.rule.engine.custom;\n" + + "\n" + + "import com.muyu.engine.action.ActionDiscard;\n" + + "import com.muyu.engine.scope.DataModelEngine;\n" + + "\n" + + "/**\n" + + " * @Author: DongZeLiang\n" + + " * @date: 2024/5/6\n" + + " * @Description: ce-IAW3S02\n" + + " * @Version: 1.0\n" + + " */\n" + + "public class engine_custom_email_IAW3S02 extends DataModelEngine {\n" + + " @Override\n" + + " public void execution () {\n" + + " Object value = getValue();\n" + + "\n" + + " if (value == null || \"\".equals(value) || \"null\".equals(value)) {\n" + + " throw new ActionDiscard();\n" + + " }\n" + + " }\n" + + "}" + }, + { + "name": "筛选不合规邮箱", "code": "JISID8S", "status": "2", "isTest": "1", + "versionCode": "engine_custom_email_JISID8S", "isActivate": "activated", + "description": "根据邮箱规则进行数据校验,内包含所有邮箱校验规则
","codeIng": "package com.muyu.rule.engine.custom;\n" + + "\n" + + "import com.muyu.engine.action.ActionDiscard;\n" + + "import com.muyu.engine.scope.DataModelEngine;\n" + + "\n" + + "/**\n" + + " * @Author: DongZeLiang\n" + + " * @date: 2024/5/6\n" + + " * @Description: ce-JISID8S\n" + + " * @Version: 1.0\n" + + " */\n" + + "public class engine_custom_email_JISID8S extends DataModelEngine {\n" + + " @Override\n" + + " public void execution () {\n" + + " Object value = getValue();\n" + + "\n" + + " if (value == null || \"\".equals(value) || \"null\".equals(value)) {\n" + + " throw new ActionDiscard();\n" + + " }\n" + + " }\n" + + "}" + }, + { + "name": "剔除自定义邮箱", "code": "DJ8S9EA", "status": "2", "isTest": "2", + "versionCode": "engine_custom_email_DJ8S9EA", "isActivate": "no-activate", + "description": "根据邮箱规则进行数据校验,内包含所有邮箱校验规则
" + }, + { + "name": "邮箱默认值操作", "code": "XJS9E0S", "status": "1", "isTest": "0", + "versionCode": "engine_custom_email_XJS9E0S", "isActivate": "no-activate", + "description": "根据邮箱规则进行数据校验,内包含所有邮箱校验规则
" } - this.ruleEngineInfo = response.data + ] }, // 获取代码模板 getCodeIng(){ - let packageName = "com.muyu.rule.engine"; let customName = "custom"; let templateName = "template";