feat: 网元连接配置UDM支持Redis

This commit is contained in:
TsMask
2024-10-16 16:46:14 +08:00
parent d77c4e43d4
commit 5a621053a4
5 changed files with 109 additions and 25 deletions

View File

@@ -685,11 +685,12 @@ export default {
addrPlease: "Please fill in the host IP address correctly", addrPlease: "Please fill in the host IP address correctly",
port: "Port", port: "Port",
portPlease: "Please fill in the host port number correctly", portPlease: "Please fill in the host port number correctly",
user: "Login User", user: "User",
userPlease: "Please fill in the host login user correctly", userPlease: "Please fill in the host user correctly",
database: "DataBase",
authMode: "Auth Mode", authMode: "Auth Mode",
password: "Password", password: "Password",
passwordPlease: "Please fill in the host login password correctly", passwordPlease: "Please fill in the host password correctly",
privateKey: "Private Key", privateKey: "Private Key",
privateKeyPlease: "Please fill in the private key characters correctly ~/.ssh/id_rsa", privateKeyPlease: "Please fill in the private key characters correctly ~/.ssh/id_rsa",
passPhrase: "Private Key Cipher", passPhrase: "Private Key Cipher",

View File

@@ -686,10 +686,11 @@ export default {
port: "端口", port: "端口",
portPlease: "请正确填写主机端口号", portPlease: "请正确填写主机端口号",
user: "用户名", user: "用户名",
userPlease: "请正确填写主机登录用户", userPlease: "请正确填写主机用户",
database: "数据库",
authMode: "认证模式", authMode: "认证模式",
password: "密码", password: "密码",
passwordPlease: "请正确填写主机登录密码", passwordPlease: "请正确填写主机密码",
privateKey: "私钥", privateKey: "私钥",
privateKeyPlease: "请正确填写私钥字符内容 ~/.ssh/id_rsa", privateKeyPlease: "请正确填写私钥字符内容 ~/.ssh/id_rsa",
passPhrase: "私钥密码", passPhrase: "私钥密码",

View File

@@ -40,7 +40,7 @@ let dict: {
* 测试主机连接 * 测试主机连接
*/ */
function fnHostTest(row: Record<string, any>) { function fnHostTest(row: Record<string, any>) {
if (modalState.confirmLoading || !row.addr) return; if (modalState.confirmLoading || !row.addr || !row.port) return;
modalState.confirmLoading = true; modalState.confirmLoading = true;
const hide = message.loading(t('common.loading'), 0); const hide = message.loading(t('common.loading'), 0);
testNeHost(row) testNeHost(row)
@@ -124,8 +124,8 @@ let modalState: ModalStateType = reactive({
addr: '', addr: '',
port: 22, port: 22,
user: 'omcuser', user: 'omcuser',
authMode: '0', authMode: '2',
password: 'a9tU53r', password: '',
privateKey: '', privateKey: '',
passPhrase: '', passPhrase: '',
remark: '', remark: '',
@@ -283,11 +283,11 @@ function fnModalCancel() {
/**表单修改网元类型 */ /**表单修改网元类型 */
function fnNeTypeChange(v: any) { function fnNeTypeChange(v: any) {
const hostsLen = modalState.from.hosts.length;
// 网元默认只含22和4100 // 网元默认只含22和4100
if (hostsLen === 3 && v !== 'UPF') { if (modalState.from.hosts.length === 3) {
modalState.from.hosts.pop(); modalState.from.hosts.pop();
} }
const hostsLen = modalState.from.hosts.length;
// UPF标准版本可支持5002 // UPF标准版本可支持5002
if (hostsLen === 2 && v === 'UPF') { if (hostsLen === 2 && v === 'UPF') {
modalState.from.hosts.push({ modalState.from.hosts.push({
@@ -295,11 +295,27 @@ function fnNeTypeChange(v: any) {
hostType: 'telnet', hostType: 'telnet',
groupId: '1', groupId: '1',
title: 'Telnet_NE_5002', title: 'Telnet_NE_5002',
addr: '', addr: modalState.from.ip,
port: 5002, port: 5002,
user: 'user', user: 'admin',
authMode: '0', authMode: '0',
password: 'user', password: 'admin',
remark: '',
});
}
// UDM可支持6379
if (hostsLen === 2 && v === 'UDM') {
modalState.from.hosts.push({
hostId: undefined,
hostType: 'redis',
groupId: '1',
title: 'REDIS_NE_6379',
addr: modalState.from.ip,
port: 6379,
user: 'udmdb',
authMode: '0',
password: 'helloearth',
dbName: '0',
remark: '', remark: '',
}); });
} }
@@ -626,8 +642,13 @@ onMounted(() => {
(s:any) => !(s.hostType === 'telnet' && modalState.from.neType === 'OMC') (s:any) => !(s.hostType === 'telnet' && modalState.from.neType === 'OMC')
)" )"
:key="host.title" :key="host.title"
:header="`${host.hostType.toUpperCase()} ${host.port}`"
> >
<template #header>
<span v-if="host.hostType === 'redis'"> DB {{ host.port }} </span>
<span v-else>
{{ `${host.hostType.toUpperCase()} ${host.port}` }}
</span>
</template>
<a-row :gutter="16"> <a-row :gutter="16">
<a-col :lg="12" :md="12" :xs="24"> <a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.ne.neHost.addr')"> <a-form-item :label="t('views.ne.neHost.addr')">
@@ -654,7 +675,22 @@ onMounted(() => {
</a-col> </a-col>
</a-row> </a-row>
<a-row :gutter="16"> <a-form-item
v-if="host.hostType === 'telnet'"
:label="t('views.ne.neHost.user')"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-input
v-model:value="host.user"
allow-clear
:maxlength="32"
:placeholder="t('common.inputPlease')"
>
</a-input>
</a-form-item>
<a-row :gutter="16" v-if="host.hostType === 'ssh'">
<a-col :lg="12" :md="12" :xs="24"> <a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.ne.neHost.user')"> <a-form-item :label="t('views.ne.neHost.user')">
<a-input <a-input
@@ -672,7 +708,6 @@ onMounted(() => {
v-model:value="host.authMode" v-model:value="host.authMode"
default-value="0" default-value="0"
:options="dict.neHostAuthMode" :options="dict.neHostAuthMode"
:disabled="host.hostType === 'telnet'"
> >
</a-select> </a-select>
</a-form-item> </a-form-item>
@@ -692,7 +727,6 @@ onMounted(() => {
> >
</a-input-password> </a-input-password>
</a-form-item> </a-form-item>
<template v-if="host.authMode === '1'"> <template v-if="host.authMode === '1'">
<a-form-item <a-form-item
:label="t('views.ne.neHost.privateKey')" :label="t('views.ne.neHost.privateKey')"
@@ -722,6 +756,21 @@ onMounted(() => {
</a-form-item> </a-form-item>
</template> </template>
<a-form-item
v-if="host.hostType === 'mysql'"
:label="t('views.ne.neHost.database')"
:label-col="{ span: 3 }"
:label-wrap="true"
>
<a-input
v-model:value="host.dbName"
allow-clear
:maxlength="32"
:placeholder="t('common.inputPlease')"
>
</a-input>
</a-form-item>
<a-form-item <a-form-item
:label="t('common.remark')" :label="t('common.remark')"
:label-col="{ span: 3 }" :label-col="{ span: 3 }"
@@ -736,6 +785,7 @@ onMounted(() => {
/> />
</a-form-item> </a-form-item>
<!-- 测试 -->
<a-form-item <a-form-item
:label="t('views.ne.neHost.test')" :label="t('views.ne.neHost.test')"
name="test" name="test"

View File

@@ -229,11 +229,11 @@ function fnModalOk() {
* 表单修改网元类型 * 表单修改网元类型
*/ */
function fnNeTypeChange(v: any) { function fnNeTypeChange(v: any) {
const hostsLen = modalState.from.hosts.length;
// 网元默认只含22和4100 // 网元默认只含22和4100
if (hostsLen === 3 && v !== 'UPF') { if (modalState.from.hosts.length === 3) {
modalState.from.hosts.pop(); modalState.from.hosts.pop();
} }
const hostsLen = modalState.from.hosts.length;
// UPF标准版本可支持5002 // UPF标准版本可支持5002
if (hostsLen === 2 && v === 'UPF') { if (hostsLen === 2 && v === 'UPF') {
modalState.from.hosts.push({ modalState.from.hosts.push({
@@ -249,6 +249,22 @@ function fnNeTypeChange(v: any) {
remark: '', remark: '',
}); });
} }
// UDM可支持6379
if (hostsLen === 2 && v === 'UDM') {
modalState.from.hosts.push({
hostId: undefined,
hostType: 'redis',
groupId: '1',
title: 'REDIS_NE_6379',
addr: modalState.from.ip,
port: 6379,
user: 'udmdb',
authMode: '0',
password: 'helloearth',
dbName: '0',
remark: '',
});
}
} }
/** /**

View File

@@ -139,7 +139,7 @@ let tableColumns: any = [
* 测试主机连接 * 测试主机连接
*/ */
function fnHostTest(row: Record<string, any>) { function fnHostTest(row: Record<string, any>) {
if (tabState.confirmLoading || !row.addr) return; if (tabState.confirmLoading || !row.addr || !row.port) return;
tabState.confirmLoading = true; tabState.confirmLoading = true;
const hide = message.loading(t('common.loading'), 0); const hide = message.loading(t('common.loading'), 0);
testNeHost(row) testNeHost(row)
@@ -187,19 +187,19 @@ function fnHostAuthorized(row: Record<string, any>) {
* 表单修改网元类型 * 表单修改网元类型
*/ */
function fnNeTypeChange(v: any, data: any) { function fnNeTypeChange(v: any, data: any) {
const hostsLen = data.hosts.length;
// 网元默认只含22和4100 // 网元默认只含22和4100
if (hostsLen === 3 && v !== 'UPF') { if (modalState.from.hosts.length === 3) {
data.hosts.pop(); modalState.from.hosts.pop();
} }
const hostsLen = modalState.from.hosts.length;
// UPF标准版本可支持5002 // UPF标准版本可支持5002
if (hostsLen === 2 && v === 'UPF') { if (hostsLen === 2 && v === 'UPF') {
data.hosts.push({ modalState.from.hosts.push({
hostId: undefined, hostId: undefined,
hostType: 'telnet', hostType: 'telnet',
groupId: '1', groupId: '1',
title: 'Telnet_NE_5002', title: 'Telnet_NE_5002',
addr: '', addr: modalState.from.ip,
port: 5002, port: 5002,
user: 'admin', user: 'admin',
authMode: '0', authMode: '0',
@@ -207,6 +207,22 @@ function fnNeTypeChange(v: any, data: any) {
remark: '', remark: '',
}); });
} }
// UDM可支持6379
if (hostsLen === 2 && v === 'UDM') {
modalState.from.hosts.push({
hostId: undefined,
hostType: 'redis',
groupId: '1',
title: 'REDIS_NE_6379',
addr: modalState.from.ip,
port: 6379,
user: 'udmdb',
authMode: '0',
password: 'helloearth',
dbName: '0',
remark: '',
});
}
} }
//打开新增或修改界面 //打开新增或修改界面