aops-hermes/0012-Fix-Upload-host-logic.patch
2023-11-06 15:36:56 +08:00

279 lines
10 KiB
Diff

From ac81979579c4936cb5dd842dd7ea59a88977bbdd Mon Sep 17 00:00:00 2001
From: wkl505997900 <2313665567@qq.com>
Date: Thu, 26 Oct 2023 17:30:04 +0800
Subject: [PATCH] add password and ssh_pkey judge logic
---
src/views/assests/components/EditableCell.vue | 34 +++++++++++++------
src/views/assests/components/addMoreHost.vue | 10 +++++-
vue.config.js | 32 ++++++-----------
3 files changed, 43 insertions(+), 33 deletions(-)
diff --git a/src/views/assests/components/EditableCell.vue b/src/views/assests/components/EditableCell.vue
index 28f0f62..5f4b347 100644
--- a/src/views/assests/components/EditableCell.vue
+++ b/src/views/assests/components/EditableCell.vue
@@ -21,7 +21,7 @@
<div v-else class="editable-cell-text-wrapper">
<div class="editable-content">
<!-- <a-input :type="formkey === 'password' ? 'password' : 'text'" v-model="value" /> -->
- <span v-if="formkey === 'password' || formkey === 'ssh_pkey'">{{ countStar(form[formkey]) }}</span>
+ <span v-if="formkey === 'password' || formkey === 'ssh_pkey'">{{ countStar() }}</span>
<span v-else>{{ value || ' ' }}</span>
</div>
<a-icon type="edit" class="editable-cell-icon" @click="edit" />
@@ -40,9 +40,27 @@ export default {
formkey: {
default: '',
type: String
+ },
+ record: {
+ default: null,
+ type: Object
}
},
data() {
+ const validatePassword = (rule, value, callback) => {
+ if (!this.record.ssh_pkey && (value.length === 0 || value.split(' ').join('').length === 0)) {
+ callback(new Error('password和ssh_pkey不能都为空!'));
+ } else {
+ callback();
+ }
+ };
+ const validateSshpkey = (rule, value, callback) => {
+ if (!this.record.password && (value.length === 0 || value.split(' ').join('').length === 0)) {
+ callback(new Error('password和ssh_pkey不能都为空!'));
+ } else {
+ callback();
+ }
+ };
const validateUser = (rule, value, callback) => {
if (value.length === 0 || value.split(' ').join('').length === 0) {
callback(new Error('ssh_user不能为空!'));
@@ -90,14 +108,14 @@ export default {
cb();
};
return {
- value: this.text,
+ value: this.text === 'undefined' ? '' : this.text,
editable: false,
rules: {
host_ip: [{ required: true, pattern: /^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$/, message: '请输入IP地址在 0.0.0.0~255.255.255.255 区间内', trigger: 'change' }],
ssh_port: [{required: true, message: '请输入端口'}, {validator: checkSSHPort}],
ssh_user: [{ validator: validateUser, trigger: 'change' }],
- password: [{ required: true, message: 'password不能为空', trigger: 'change' }],
- ssh_pkey: [{ required: true, message: 'ssh_pkey不能为空', trigger: 'change' }],
+ password: [{ validator: validatePassword, trigger: 'change' }],
+ ssh_pkey: [{ validator: validateSshpkey, trigger: 'change' }],
host_name: [{ validator: checkNameInput, trigger: 'change' }],
host_group_name: [{ required: true, message: 'host_group_name不能为空', trigger: 'change' }],
management: [{ validator: checkmanagement, trigger: 'change' }]
@@ -106,11 +124,7 @@ export default {
},
methods: {
countStar(num) {
- let str = ''
- for (let i = 0; i < num.length; i++) {
- str += '*'
- }
- return str
+ return '**********'
},
handleChange(e) {
const value = e.target.value;
@@ -152,7 +166,7 @@ export default {
created() {
},
beforeDestroy() {
- document.removeEventListener('mouseup', this.handleClickOutside)
+ document.removeEventListener('mouseup', this.handleClickOutside);
},
mounted() {
document.addEventListener('mouseup', this.handleClickOutside)
diff --git a/src/views/assests/components/addMoreHost.vue b/src/views/assests/components/addMoreHost.vue
index 818ffa6..efc930b 100644
--- a/src/views/assests/components/addMoreHost.vue
+++ b/src/views/assests/components/addMoreHost.vue
@@ -31,6 +31,7 @@
<editable-cell
ref="host_ip"
formkey="host_ip"
+ :record="record"
:text="String(text)"
@unSubmit="unSubmit()"
@allowSub="allowSub()"
@@ -40,6 +41,7 @@
<editable-cell
ref="ssh_port"
formkey="ssh_port"
+ :record="record"
:text="String(text)"
@unSubmit="unSubmit()"
@allowSub="allowSub()"
@@ -49,6 +51,7 @@
<editable-cell
ref="ssh_user"
formkey="ssh_user"
+ :record="record"
:text="String(text)"
@unSubmit="unSubmit()"
@allowSub="allowSub()"
@@ -58,6 +61,7 @@
<editable-cell
ref="password"
formkey="password"
+ :record="record"
:text="String(text)"
@unSubmit="unSubmit()"
@allowSub="allowSub()"
@@ -67,6 +71,7 @@
<editable-cell
ref="ssh_pkey"
formkey="ssh_pkey"
+ :record="record"
:text="String(text)"
@unSubmit="unSubmit()"
@allowSub="allowSub()"
@@ -76,6 +81,7 @@
<editable-cell
ref="host_name"
formkey="host_name"
+ :record="record"
:text="String(text)"
@unSubmit="unSubmit()"
@allowSub="allowSub()"
@@ -85,6 +91,7 @@
<editable-cell
ref="host_group_name"
formkey="host_group_name"
+ :record="record"
:text="String(text)"
@unSubmit="unSubmit()"
@allowSub="allowSub()"
@@ -94,6 +101,7 @@
<editable-cell
ref="management"
formkey="management"
+ :record="record"
:text="String(text)"
@unSubmit="unSubmit()"
@allowSub="allowSub()"
@@ -350,7 +358,7 @@ export default {
const result = XLSX.utils.sheet_to_json(worksheet); // 将数据json数据格式
result.forEach((item) => {
const arr = Object.keys(item)
- if (!arr.includes('host_ip') || !arr.includes('ssh_port') || !arr.includes('ssh_user') || !arr.includes('password') || !arr.includes('ssh_pkey') || !arr.includes('host_name') || !arr.includes('host_group_name') || !arr.includes('management')) {
+ if (!arr.includes('host_ip') || !arr.includes('ssh_port') || !arr.includes('ssh_user') || (!arr.includes('password') && !arr.includes('ssh_pkey')) || !arr.includes('host_name') || !arr.includes('host_group_name') || !arr.includes('management')) {
this.removeFile(file);
this.dataAllow = false;
}
diff --git a/vue.config.js b/vue.config.js
index a93ea29..8740425 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -25,10 +25,7 @@ function getGitHash() {
}
const serverMap = {
- serverIpBase: 'http://127.0.0.1',
- serveiIp1: 'http://172.168.115.178',
- serveiIp2: 'http://172.168.97.229',
- serveiIp3: 'http://172.168.240.235'
+ serverIpBase: 'http://127.0.0.1'
}
// vue.config.js
@@ -101,8 +98,7 @@ const vueConfig = {
// If you want to turn on the proxy, please remove the mockjs /src/main.jsL11
proxy: {
'/api/domain': {
- // target: serverMap.serverIpBase + ':11114',
- target: serverMap.serveiIp3 + ':11114',
+ target: serverMap.serverIpBase + ':11114',
ws: false,
changeOrigin: true,
pathRewrite: {
@@ -110,8 +106,7 @@ const vueConfig = {
}
},
'/api/host': {
- // target: serverMap.serverIpBase + ':11114',
- target: serverMap.serveiIp3 + ':11114',
+ target: serverMap.serverIpBase + ':11114',
ws: false,
changeOrigin: true,
pathRewrite: {
@@ -119,8 +114,7 @@ const vueConfig = {
}
},
'/api/confs': {
- // target: serverMap.serverIpBase + ':11114',
- target: serverMap.serveiIp3 + ':11114',
+ target: serverMap.serverIpBase + ':11114',
ws: false,
changeOrigin: true,
pathRewrite: {
@@ -128,8 +122,7 @@ const vueConfig = {
}
},
'/api/management': {
- // target: serverMap.serverIpBase + ':11114',
- target: serverMap.serveiIp3 + ':11114',
+ target: serverMap.serverIpBase + ':11114',
ws: false,
changeOrigin: true,
pathRewrite: {
@@ -137,8 +130,7 @@ const vueConfig = {
}
},
'/api/diag': {
- // target: serverMap.serverIpBase + ':11113',
- target: serverMap.serveiIp2 + ':11113',
+ target: serverMap.serverIpBase + ':11113',
ws: false,
changeOrigin: true,
pathRewrite: {
@@ -146,8 +138,7 @@ const vueConfig = {
}
},
'/api/check': {
- // target: serverMap.serverIpBase + ':11112',
- target: serverMap.serveiIp2 + ':11112',
+ target: serverMap.serverIpBase + ':11112',
ws: false,
changeOrigin: true,
pathRewrite: {
@@ -155,8 +146,7 @@ const vueConfig = {
}
},
'/api/vulnerability': {
- // target: serverMap.serverIpBase + ':11116',
- target: serverMap.serveiIp2 + ':11116',
+ target: serverMap.serverIpBase + ':11116',
ws: false,
changeOrigin: true,
pathRewrite: {
@@ -164,8 +154,7 @@ const vueConfig = {
}
},
'/api/gala-spider': {
- // target: serverMap.serverIpBase + ':11115',
- target: serverMap.serveiIp2 + ':11115',
+ target: serverMap.serverIpBase + ':11115',
ws: false,
changeOrigin: true,
pathRewrite: {
@@ -173,8 +162,7 @@ const vueConfig = {
}
},
'/api': {
- // target: serverMap.serverIpBase + ':11111',
- target: serverMap.serveiIp2 + ':11111',
+ target: serverMap.serverIpBase + ':11111',
ws: false,
changeOrigin: true,
pathRewrite: {
--
Gitee