🔨 去除测试连接.
This commit is contained in:
@@ -152,17 +152,6 @@
|
|||||||
@click="saveConfig">
|
@click="saveConfig">
|
||||||
保存
|
保存
|
||||||
</a-button>
|
</a-button>
|
||||||
<!-- 测试连接 -->
|
|
||||||
<a-tooltip position="tr"
|
|
||||||
content="请先保存后测试连接"
|
|
||||||
mini>
|
|
||||||
<a-button class="extra-button"
|
|
||||||
type="primary"
|
|
||||||
long
|
|
||||||
@click="testConnect">
|
|
||||||
测试连接
|
|
||||||
</a-button>
|
|
||||||
</a-tooltip>
|
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-form>
|
</a-form>
|
||||||
</a-spin>
|
</a-spin>
|
||||||
@@ -198,7 +187,6 @@
|
|||||||
formRef,
|
formRef,
|
||||||
formRules,
|
formRules,
|
||||||
fetchHostConfig,
|
fetchHostConfig,
|
||||||
testConnect,
|
|
||||||
saveConfig,
|
saveConfig,
|
||||||
} = useHostConfigForm({
|
} = useHostConfigForm({
|
||||||
type: HostType.RDP.value,
|
type: HostType.RDP.value,
|
||||||
|
|||||||
@@ -127,6 +127,8 @@
|
|||||||
import { useDictStore } from '@/store';
|
import { useDictStore } from '@/store';
|
||||||
import { sshAuthTypeKey, HostAuthType, HostType } from '../types/const';
|
import { sshAuthTypeKey, HostAuthType, HostType } from '../types/const';
|
||||||
import { sshFormRules } from '../types/form.rules';
|
import { sshFormRules } from '../types/form.rules';
|
||||||
|
import { Message } from '@arco-design/web-vue';
|
||||||
|
import { testHostConnect } from '@/api/asset/host';
|
||||||
import useHostConfigForm from '../types/use-host-config';
|
import useHostConfigForm from '../types/use-host-config';
|
||||||
import HostIdentitySelector from '@/components/asset/host-identity/selector/index.vue';
|
import HostIdentitySelector from '@/components/asset/host-identity/selector/index.vue';
|
||||||
import HostKeySelector from '@/components/asset/host-key/selector/index.vue';
|
import HostKeySelector from '@/components/asset/host-key/selector/index.vue';
|
||||||
@@ -144,7 +146,6 @@
|
|||||||
formRef,
|
formRef,
|
||||||
formRules,
|
formRules,
|
||||||
fetchHostConfig,
|
fetchHostConfig,
|
||||||
testConnect,
|
|
||||||
saveConfig,
|
saveConfig,
|
||||||
} = useHostConfigForm({
|
} = useHostConfigForm({
|
||||||
type: HostType.SSH.value,
|
type: HostType.SSH.value,
|
||||||
@@ -154,6 +155,23 @@
|
|||||||
setLoading,
|
setLoading,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 测试连接
|
||||||
|
const testConnect = async () => {
|
||||||
|
const error = await formRef.value.validate();
|
||||||
|
if (error) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
setLoading(true);
|
||||||
|
// 测试连接
|
||||||
|
await testHostConnect({ id: props.hostId, type: HostType.SSH.value });
|
||||||
|
Message.success('连接成功');
|
||||||
|
} catch (e) {
|
||||||
|
} finally {
|
||||||
|
setLoading(false);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
onMounted(fetchHostConfig);
|
onMounted(fetchHostConfig);
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -104,17 +104,6 @@
|
|||||||
@click="saveConfig">
|
@click="saveConfig">
|
||||||
保存
|
保存
|
||||||
</a-button>
|
</a-button>
|
||||||
<!-- 测试连接 -->
|
|
||||||
<a-tooltip position="tr"
|
|
||||||
content="请先保存后测试连接"
|
|
||||||
mini>
|
|
||||||
<a-button class="extra-button"
|
|
||||||
type="primary"
|
|
||||||
long
|
|
||||||
@click="testConnect">
|
|
||||||
测试连接
|
|
||||||
</a-button>
|
|
||||||
</a-tooltip>
|
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-form>
|
</a-form>
|
||||||
</a-spin>
|
</a-spin>
|
||||||
@@ -150,7 +139,6 @@
|
|||||||
formRef,
|
formRef,
|
||||||
formRules,
|
formRules,
|
||||||
fetchHostConfig,
|
fetchHostConfig,
|
||||||
testConnect,
|
|
||||||
saveConfig,
|
saveConfig,
|
||||||
} = useHostConfigForm({
|
} = useHostConfigForm({
|
||||||
type: HostType.VNC.value,
|
type: HostType.VNC.value,
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import type { FieldRule } from '@arco-design/web-vue';
|
|||||||
import { Message } from '@arco-design/web-vue';
|
import { Message } from '@arco-design/web-vue';
|
||||||
import { baseFormRules } from './form.rules';
|
import { baseFormRules } from './form.rules';
|
||||||
import { encrypt } from '@/utils/rsa';
|
import { encrypt } from '@/utils/rsa';
|
||||||
import { testHostConnect } from '@/api/asset/host';
|
|
||||||
|
|
||||||
// 主机配置表单信息
|
// 主机配置表单信息
|
||||||
export interface UseHostConfigFormOptions<T extends HostBaseConfig> {
|
export interface UseHostConfigFormOptions<T extends HostBaseConfig> {
|
||||||
@@ -38,26 +37,6 @@ export default function useHostConfigForm<T extends HostBaseConfig>(options: Use
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// 测试连接
|
|
||||||
const testConnect = async () => {
|
|
||||||
if (!formRef?.value) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
const error = await formRef.value.validate();
|
|
||||||
if (error) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
setLoading(true);
|
|
||||||
// 测试连接
|
|
||||||
await testHostConnect({ id: hostId, type });
|
|
||||||
Message.success('连接成功');
|
|
||||||
} catch (e) {
|
|
||||||
} finally {
|
|
||||||
setLoading(false);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// 保存配置
|
// 保存配置
|
||||||
const saveConfig = async () => {
|
const saveConfig = async () => {
|
||||||
if (!formRef?.value) {
|
if (!formRef?.value) {
|
||||||
@@ -93,7 +72,6 @@ export default function useHostConfigForm<T extends HostBaseConfig>(options: Use
|
|||||||
formRef,
|
formRef,
|
||||||
formRules,
|
formRules,
|
||||||
fetchHostConfig,
|
fetchHostConfig,
|
||||||
testConnect,
|
|
||||||
saveConfig,
|
saveConfig,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -230,17 +230,27 @@ export const SshActionBarItems = [
|
|||||||
|
|
||||||
// guacd 终端操作栏键
|
// guacd 终端操作栏键
|
||||||
export const GuacdActionItemKeys = {
|
export const GuacdActionItemKeys = {
|
||||||
|
INFO: 'info',
|
||||||
DISPLAY: 'display',
|
DISPLAY: 'display',
|
||||||
COMBINATION_KEY: 'combinationKey',
|
COMBINATION_KEY: 'combinationKey',
|
||||||
|
TRIGGER_KEY: 'triggerKey',
|
||||||
CLIPBOARD: 'clipboard',
|
CLIPBOARD: 'clipboard',
|
||||||
UPLOAD: 'upload',
|
RDP_UPLOAD: 'rdpUpload',
|
||||||
|
SFTP_UPLOAD: 'sftpUpload',
|
||||||
|
OPEN_SFTP: 'openSftp',
|
||||||
SAVE_RDP: 'saveRdp',
|
SAVE_RDP: 'saveRdp',
|
||||||
DISCONNECT: 'disconnect',
|
DISCONNECT: 'disconnect',
|
||||||
|
RECONNECT: 'reconnect',
|
||||||
CLOSE: 'close',
|
CLOSE: 'close',
|
||||||
};
|
};
|
||||||
|
|
||||||
// guacd 终端操作栏
|
// guacd 终端操作栏
|
||||||
export const GuacdActionBarItemMap = {
|
export const GuacdActionBarItemMap = {
|
||||||
|
[GuacdActionItemKeys.INFO]: {
|
||||||
|
item: GuacdActionItemKeys.INFO,
|
||||||
|
icon: 'icon-info',
|
||||||
|
content: '会话信息',
|
||||||
|
},
|
||||||
[GuacdActionItemKeys.DISPLAY]: {
|
[GuacdActionItemKeys.DISPLAY]: {
|
||||||
item: GuacdActionItemKeys.DISPLAY,
|
item: GuacdActionItemKeys.DISPLAY,
|
||||||
icon: 'icon-desktop',
|
icon: 'icon-desktop',
|
||||||
@@ -251,15 +261,30 @@ export const GuacdActionBarItemMap = {
|
|||||||
icon: 'icon-command',
|
icon: 'icon-command',
|
||||||
content: '组合键',
|
content: '组合键',
|
||||||
},
|
},
|
||||||
|
[GuacdActionItemKeys.TRIGGER_KEY]: {
|
||||||
|
item: GuacdActionItemKeys.TRIGGER_KEY,
|
||||||
|
icon: 'icon-dice',
|
||||||
|
content: '长按键',
|
||||||
|
},
|
||||||
[GuacdActionItemKeys.CLIPBOARD]: {
|
[GuacdActionItemKeys.CLIPBOARD]: {
|
||||||
item: GuacdActionItemKeys.CLIPBOARD,
|
item: GuacdActionItemKeys.CLIPBOARD,
|
||||||
icon: 'icon-paste',
|
icon: 'icon-paste',
|
||||||
content: '剪切板',
|
content: '剪切板',
|
||||||
},
|
},
|
||||||
[GuacdActionItemKeys.UPLOAD]: {
|
[GuacdActionItemKeys.RDP_UPLOAD]: {
|
||||||
item: GuacdActionItemKeys.UPLOAD,
|
item: GuacdActionItemKeys.RDP_UPLOAD,
|
||||||
icon: 'icon-upload',
|
icon: 'icon-upload',
|
||||||
content: '文件上传',
|
content: 'RDP 文件上传',
|
||||||
|
},
|
||||||
|
[GuacdActionItemKeys.SFTP_UPLOAD]: {
|
||||||
|
item: GuacdActionItemKeys.SFTP_UPLOAD,
|
||||||
|
icon: 'icon-folder-add',
|
||||||
|
content: 'SFTP 文件上传',
|
||||||
|
},
|
||||||
|
[GuacdActionItemKeys.OPEN_SFTP]: {
|
||||||
|
item: GuacdActionItemKeys.OPEN_SFTP,
|
||||||
|
icon: 'icon-folder',
|
||||||
|
content: '打开 SFTP',
|
||||||
},
|
},
|
||||||
[GuacdActionItemKeys.SAVE_RDP]: {
|
[GuacdActionItemKeys.SAVE_RDP]: {
|
||||||
item: GuacdActionItemKeys.SAVE_RDP,
|
item: GuacdActionItemKeys.SAVE_RDP,
|
||||||
@@ -271,6 +296,11 @@ export const GuacdActionBarItemMap = {
|
|||||||
icon: 'icon-stop',
|
icon: 'icon-stop',
|
||||||
content: '断开连接',
|
content: '断开连接',
|
||||||
},
|
},
|
||||||
|
[GuacdActionItemKeys.RECONNECT]: {
|
||||||
|
item: GuacdActionItemKeys.RECONNECT,
|
||||||
|
icon: 'icon-refresh',
|
||||||
|
content: '重新连接',
|
||||||
|
},
|
||||||
[GuacdActionItemKeys.CLOSE]: {
|
[GuacdActionItemKeys.CLOSE]: {
|
||||||
item: GuacdActionItemKeys.CLOSE,
|
item: GuacdActionItemKeys.CLOSE,
|
||||||
icon: 'icon-close',
|
icon: 'icon-close',
|
||||||
@@ -280,21 +310,31 @@ export const GuacdActionBarItemMap = {
|
|||||||
|
|
||||||
// 终端操作栏 - RDP
|
// 终端操作栏 - RDP
|
||||||
export const RdpActionBarItems = [
|
export const RdpActionBarItems = [
|
||||||
|
GuacdActionBarItemMap[GuacdActionItemKeys.INFO],
|
||||||
GuacdActionBarItemMap[GuacdActionItemKeys.DISPLAY],
|
GuacdActionBarItemMap[GuacdActionItemKeys.DISPLAY],
|
||||||
GuacdActionBarItemMap[GuacdActionItemKeys.COMBINATION_KEY],
|
GuacdActionBarItemMap[GuacdActionItemKeys.COMBINATION_KEY],
|
||||||
|
GuacdActionBarItemMap[GuacdActionItemKeys.TRIGGER_KEY],
|
||||||
GuacdActionBarItemMap[GuacdActionItemKeys.CLIPBOARD],
|
GuacdActionBarItemMap[GuacdActionItemKeys.CLIPBOARD],
|
||||||
GuacdActionBarItemMap[GuacdActionItemKeys.UPLOAD],
|
GuacdActionBarItemMap[GuacdActionItemKeys.RDP_UPLOAD],
|
||||||
|
GuacdActionBarItemMap[GuacdActionItemKeys.SFTP_UPLOAD],
|
||||||
|
GuacdActionBarItemMap[GuacdActionItemKeys.OPEN_SFTP],
|
||||||
GuacdActionBarItemMap[GuacdActionItemKeys.SAVE_RDP],
|
GuacdActionBarItemMap[GuacdActionItemKeys.SAVE_RDP],
|
||||||
GuacdActionBarItemMap[GuacdActionItemKeys.DISCONNECT],
|
GuacdActionBarItemMap[GuacdActionItemKeys.DISCONNECT],
|
||||||
|
GuacdActionBarItemMap[GuacdActionItemKeys.RECONNECT],
|
||||||
GuacdActionBarItemMap[GuacdActionItemKeys.CLOSE],
|
GuacdActionBarItemMap[GuacdActionItemKeys.CLOSE],
|
||||||
];
|
];
|
||||||
|
|
||||||
// 终端操作栏 - VNC
|
// 终端操作栏 - VNC
|
||||||
export const VncActionBarItems = [
|
export const VncActionBarItems = [
|
||||||
|
GuacdActionBarItemMap[GuacdActionItemKeys.INFO],
|
||||||
GuacdActionBarItemMap[GuacdActionItemKeys.DISPLAY],
|
GuacdActionBarItemMap[GuacdActionItemKeys.DISPLAY],
|
||||||
GuacdActionBarItemMap[GuacdActionItemKeys.COMBINATION_KEY],
|
GuacdActionBarItemMap[GuacdActionItemKeys.COMBINATION_KEY],
|
||||||
|
GuacdActionBarItemMap[GuacdActionItemKeys.TRIGGER_KEY],
|
||||||
GuacdActionBarItemMap[GuacdActionItemKeys.CLIPBOARD],
|
GuacdActionBarItemMap[GuacdActionItemKeys.CLIPBOARD],
|
||||||
|
GuacdActionBarItemMap[GuacdActionItemKeys.SFTP_UPLOAD],
|
||||||
|
GuacdActionBarItemMap[GuacdActionItemKeys.OPEN_SFTP],
|
||||||
GuacdActionBarItemMap[GuacdActionItemKeys.DISCONNECT],
|
GuacdActionBarItemMap[GuacdActionItemKeys.DISCONNECT],
|
||||||
|
GuacdActionBarItemMap[GuacdActionItemKeys.RECONNECT],
|
||||||
GuacdActionBarItemMap[GuacdActionItemKeys.CLOSE],
|
GuacdActionBarItemMap[GuacdActionItemKeys.CLOSE],
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -562,6 +602,26 @@ export const GuacdCombinationKeyItems: Array<CombinationKeyItem> = [
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
// Guacd 键盘码
|
||||||
|
export const GuacdKeyboardItems = [
|
||||||
|
{
|
||||||
|
key: 65507,
|
||||||
|
name: 'Ctrl',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: 65505,
|
||||||
|
name: 'Shift',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: 65513,
|
||||||
|
name: 'Alt',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: 65515,
|
||||||
|
name: 'Windows',
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
// backspace 字符
|
// backspace 字符
|
||||||
export const BACKSPACE_CHAR = String.fromCharCode(127);
|
export const BACKSPACE_CHAR = String.fromCharCode(127);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user