diff --git a/rsbuild.config.ts b/rsbuild.config.ts index d925364a2e26423a1a41af7a37a41a8996e2f62a..e39e567504b2106c44947b839e21a9bc287b70b5 100644 --- a/rsbuild.config.ts +++ b/rsbuild.config.ts @@ -231,14 +231,14 @@ export default defineConfig({ changeOrigin: true, secure: false, pathRewrite: { [`/${tenantName}/tenant/check`]: '/neatlogic/tenant/check/' + tenantName }, - headers: { Tenant: tenantName, Env: 'uat' } + headers: { Tenant: tenantName, 'Neatlogic-Rule-Env': 'sit', 'Neatlogic-Rule-Test': '1' } }, [`/${tenantName}/login/`]: { target: urlPrefix, changeOrigin: true, secure: false, pathRewrite: { [`/${tenantName}/login/check`]: '/neatlogic/login/check/' + tenantName }, - headers: { Tenant: tenantName, Env: 'uat' } + headers: { Tenant: tenantName, 'Neatlogic-Rule-Env': 'sit', 'Neatlogic-Rule-Test': '1' } } } }, diff --git a/src/resources/assets/languages/page/zh.json b/src/resources/assets/languages/page/zh.json index aaa288979dedf8bbae6fb7db86e42857cf772fee..6af57dc86e68fcf699690f5d52421590d1b6a195 100644 --- a/src/resources/assets/languages/page/zh.json +++ b/src/resources/assets/languages/page/zh.json @@ -961,7 +961,7 @@ "existiscoverimport": "{type}【{target}】已存在,是否继续导入并覆盖", "userauthfailedpleaselogin": "认证失败,请重新登录", "partial": "局部", - "rolerule": "登录认证的请求需要携带Header做规则表达式(注意表达式中header参数全小写),如果表达式执行后的值为true则该角色生效,false和语法异常都不生效 。 如:\"${DATA.env}\"==\"sit\"&&(\"${DATA.test}\"==\"1\"||\"${DATA.test2}\"==\"aaa\")", + "rolerule": "登录认证的请求需要携带Header做规则表达式(注意表达式中header参数全小写,且前缀必须为{prefix}),如果表达式执行后的值为true则该角色生效,false和语法异常都不生效 。 如:", "datasources": "数据来源", "formcomponents": "表单组件", "agree": "同意", diff --git a/src/resources/assets/languages/term/en.json b/src/resources/assets/languages/term/en.json index d2bcb488016700430764e7e65566e52d972fff48..aa7dfbdd75f843764d1b83051b7bab97c2d61fbe 100644 --- a/src/resources/assets/languages/term/en.json +++ b/src/resources/assets/languages/term/en.json @@ -1349,7 +1349,8 @@ "selecttagentupgradepkg": "Select an existing upgrade package", "tagentuploadupgradepkg": "Upload upgrade package", "versionremarks": "Version Remarks", - "heartbeaturl": "Backend server address" + "heartbeaturl": "Backend server address", + "runnergrouptips": "The request for login authentication needs to carry a header as a rule expression (note that the header parameter in the expression must be all lowercase and the prefix must be {prefix}). If the value of the expression after execution is true, the executor group will take effect, and false and syntax exceptions will not take effect. For example:" }, "knowledge": { "document": "Document", @@ -2849,5 +2850,8 @@ "isnormalattr": "As a regular attribute display", "closesuccess": "Close successfully", "istop": "topped" + }, + "runnergroup": { + "ruletips": "The request for login authentication needs to carry a header as a rule expression (note that the header parameter in the expression is all lowercase). If the value of the expression after execution is true, the executor group will take effect, and false and syntax exceptions will not take effect. For example: ${env}==\\ bit \\&&(${test}==\\ 1 \\ | | ${test2}==\\ aaa \\)" } } \ No newline at end of file diff --git a/src/resources/assets/languages/term/zh.json b/src/resources/assets/languages/term/zh.json index 018af33f620b08a884ed7a3ded8a9e12922de703..90bd6666de19abb04045a840d49854b5180bd3d7 100644 --- a/src/resources/assets/languages/term/zh.json +++ b/src/resources/assets/languages/term/zh.json @@ -879,7 +879,7 @@ "pleaseselectdirectoryname": "请选择目录名称", "pleaseselectuploadfile": "脚本内容:请上传附件", "supportonlytarfile": "仅支持tar文件", - "scriptcontenttips": "帮助:\n 工具执行是通过标准的命令行参数来传参。\n 输入参数:\n 1)具备参数名的参数:\n option名称就是参数名,option值就是参数值。\n 2)没有参数名的参数:\n 对应工具的自由参数,通过参数序号来获取参数。\n 不同的编程语言如何处理命令行参数,具体请查看相关的demo。\n 输出参数:\n 通过把输出参数写入当前作业工作目录下的json文件ouput.json进行参数的输出。\n 平台提供的不同语言的输出封装,具体请查看相关的demo,例如:\n Python:\n from lib import AutoExecUtils\n out = {}\n out['outtext'] = 'this is the text out value'\n AutoExecUtils.saveOutput(out) \n Perl:\n use AutoExecUtils;\n my $out = {};\n $out->{outtext} = 'this is the text out value';\n AutoExecUtils::saveOutput($out); \n Bash:\n outtext='this is the text out value'\n if [ ! -z '$OUTPUT_PATH' ]; then\n cat <'$OUTPUT_PATH'\n {\n 'outtext':'$outtext'\n }\n EOF\n fi\n 退出码标识:\n 只要ExitCode不等于0则代表异常退出。\n注意:\n 如果需发起子进程,执行完毕后请注意关闭标准输出和错误输出,否则父进程可能无法正常退出。", + "scriptcontenttips": "帮助:\n 工具执行是通过标准的命令行参数来传参。\n 输入参数:\n 1)具备参数名的参数:\n option名称就是参数名,option值就是参数值。\n 2)没有参数名的参数:\n 对应工具的自由参数,通过参数序号来获取参数。\n 不同的编程语言如何处理命令行参数,具体请查看相关的demo。\n 输出参数:\n 通过把输出参数写入当前作业工作目录下的json文件ouput.json进行参数的输出。\n 平台提供的不同语言的输出封装,具体请查看相关的demo,例如:\n Python: \n #runner类型工具\n #import AutoExecUtils\n #target类型工具\n from lib import AutoExecUtils\n out = {}\n out['outtext'] = 'this is the text out value'\n AutoExecUtils.saveOutput(out) \n Perl:\n use AutoExecUtils;\n my $out = {};\n $out->{outtext} = 'this is the text out value';\n AutoExecUtils::saveOutput($out); \n Bash:\n outtext='this is the text out value'\n if [ ! -z '$OUTPUT_PATH' ]; then\n cat <'$OUTPUT_PATH'\n {\n 'outtext':'$outtext'\n }\n EOF\n fi\n 退出码标识:\n 只要ExitCode不等于0则代表异常退出。\n注意:\n 如果需发起子进程,执行完毕后请注意关闭标准输出和错误输出,否则父进程可能无法正常退出。", "speedlevel": "速度级别", "workthread": "工作线程", "loadedjob": "已加载作业", @@ -1349,7 +1349,8 @@ "selecttagentupgradepkg": "选择已有的升级包", "tagentuploadupgradepkg": "上传升级包", "versionremarks": "版本备注", - "heartbeaturl": "后端服务器地址" + "heartbeaturl": "后端服务器地址", + "runnergrouptips": "登录认证的请求需要携带Header做规则表达式(注意表达式中header参数全小写,且前缀必须为{prefix}),如果表达式执行后的值为true则该执行器组生效,false和语法异常都不生效。如:" }, "knowledge": { "document": "文档", diff --git a/src/views/pages/framework/runner/group-add-dialog.vue b/src/views/pages/framework/runner/group-add-dialog.vue index 7cf65b6de320017adf1696f1a6a1427d479c50a5..944374d52fc9f483175c26c24f492f994d2c4609 100644 --- a/src/views/pages/framework/runner/group-add-dialog.vue +++ b/src/views/pages/framework/runner/group-add-dialog.vue @@ -88,6 +88,12 @@ export default { props: { runnerGroupData: { type: Object + }, + runnerGroupTableConfig: { + type: Object, + default: function() { + return {}; + } } }, data() { diff --git a/src/views/pages/framework/runner/group-edit-dialog.vue b/src/views/pages/framework/runner/group-edit-dialog.vue index 99f16d78cc0e897df1738d277b8355a9feb37ec9..6f13cd2609e454549e452c921be9f1397c34b580 100644 --- a/src/views/pages/framework/runner/group-edit-dialog.vue +++ b/src/views/pages/framework/runner/group-edit-dialog.vue @@ -104,6 +104,12 @@ export default { default: function() { return {}; } + }, + runnerGroupTableConfig: { + type: Object, + default: function() { + return {}; + } } }, data() { diff --git a/src/views/pages/framework/runner/runnergroup-manage.vue b/src/views/pages/framework/runner/runnergroup-manage.vue index 5c3578816018ee0cb747c37b88566f59733193c7..571de9aafd54a0ebaf65602ef3c1fbed4f51d271 100644 --- a/src/views/pages/framework/runner/runnergroup-manage.vue +++ b/src/views/pages/framework/runner/runnergroup-manage.vue @@ -68,6 +68,7 @@ @@ -75,6 +76,7 @@ diff --git a/src/views/pages/framework/runner/src/runner-group-mixin.js b/src/views/pages/framework/runner/src/runner-group-mixin.js index 9fc92e0b5e6737fa981e3055af2b91da3a11187e..f057d98e875f1794640ba3e32a12b325ae6af729 100644 --- a/src/views/pages/framework/runner/src/runner-group-mixin.js +++ b/src/views/pages/framework/runner/src/runner-group-mixin.js @@ -60,6 +60,17 @@ const runnerGroupMixin = { valueName: 'name', textName: 'name' }, + rule: { + type: 'textarea', + name: 'rule', + placeholder: _this.$t('form.placeholder.pleaseinput', { + target: $t('page.rule') + }), + label: _this.$t('page.rule'), + tooltip: $t('term.framework.runnergrouptips', { + prefix: _this.runnerGroupTableConfig?.prefix + }) + '${' + _this.runnerGroupTableConfig?.prefix + "env}=='sit'&&(${" + _this.runnerGroupTableConfig?.prefix + "test}=='1'||${" + _this.runnerGroupTableConfig?.prefix + "test2}=='aaa')" + }, groupNetworkList: { label: $t('page.networksegment'), type: 'slot' diff --git a/src/views/pages/framework/users/role-addview.vue b/src/views/pages/framework/users/role-addview.vue index c051a4df7821c45fdae4b95745787f82bbb96722..351bd0d7e05f94d4fe79e6598b54f3cbe887ef51 100644 --- a/src/views/pages/framework/users/role-addview.vue +++ b/src/views/pages/framework/users/role-addview.vue @@ -219,7 +219,9 @@ export default { value: '', placeholder: this.$t('form.placeholder.pleaseinput', {target: this.$t('page.rule')}), label: this.$t('page.rule'), - tooltip: this.$t('page.rolerule') + tooltip: this.$t('page.rolerule', { + prefix: this.rulePrefix + }) + '${' + this.rulePrefix + "env}=='sit'&&(${" + this.rulePrefix + "test}=='1'||${" + this.rulePrefix + "test2}=='aaa')" } ], uuid: '', //角色uuid @@ -262,11 +264,14 @@ export default { isRefreshRoleUserList: false }, defaultAuthUserSelectList: {}, // 默认授权列表回显选中数据 - isRefreshCommonAuth: false // 是否刷新授权列表 + isRefreshCommonAuth: false, // 是否刷新授权列表 + rulePrefix: '' //规则key前缀 }; }, - beforeCreate() {}, + beforeCreate() { + this.rulePrefix = this.$route.query.rulePrefix || ''; + }, created() { this.uuid = this.$route.query.uuid || null; diff --git a/src/views/pages/framework/users/role-manage.vue b/src/views/pages/framework/users/role-manage.vue index 4a7575897d8817495b75e4535007e99ad476058c..fc28daf728701c43cd7eb3a054e6e2e67ad91513 100644 --- a/src/views/pages/framework/users/role-manage.vue +++ b/src/views/pages/framework/users/role-manage.vue @@ -77,7 +77,8 @@ export default { { title: this.$t('term.framework.usercount'), key: 'userCount' }, { title: this.$t('term.framework.teamcount'), key: 'teamCount' }, { title: ' ', key: 'action'} - ] + ], + rulePrefix: '' }; }, created() {}, @@ -98,6 +99,7 @@ export default { this.$api.framework.role.roleList(data).then(res => { if (res.Status == 'OK') { this.tableData = res.Return; + this.rulePrefix = res.Return.prefix; } }).finally(() => { this.loadingShow = false; @@ -171,7 +173,7 @@ export default { } this.$router.push({ path: `role-addview`, - query: { roleId: roleId, key: key, uuid: uuid, groupType: this.groupType} + query: { roleId: roleId, key: key, uuid: uuid, groupType: this.groupType, rulePrefix: this.rulePrefix} }); } },