From 127419e89bc3225db50e74354ea9f5fe13ae190e Mon Sep 17 00:00:00 2001 From: lejianwen <84855512@qq.com> Date: Sat, 4 Jan 2025 20:48:46 +0800 Subject: [PATCH] feat: Add Relay server cmd --- src/views/rustdesk/blacklist.vue | 93 ++++++++++++++++++++++++++++ src/views/rustdesk/blocklist.vue | 93 ++++++++++++++++++++++++++++ src/views/rustdesk/control.vue | 100 ++++++++++++++++++++++++------- 3 files changed, 265 insertions(+), 21 deletions(-) create mode 100644 src/views/rustdesk/blacklist.vue create mode 100644 src/views/rustdesk/blocklist.vue diff --git a/src/views/rustdesk/blacklist.vue b/src/views/rustdesk/blacklist.vue new file mode 100644 index 0000000..68f76a7 --- /dev/null +++ b/src/views/rustdesk/blacklist.vue @@ -0,0 +1,93 @@ + + + diff --git a/src/views/rustdesk/blocklist.vue b/src/views/rustdesk/blocklist.vue new file mode 100644 index 0000000..e45c561 --- /dev/null +++ b/src/views/rustdesk/blocklist.vue @@ -0,0 +1,93 @@ + + + diff --git a/src/views/rustdesk/control.vue b/src/views/rustdesk/control.vue index 00e011c..8a817a9 100644 --- a/src/views/rustdesk/control.vue +++ b/src/views/rustdesk/control.vue @@ -2,10 +2,16 @@

- {{ T('Status') }}: - {{ T('Available') }} + ID {{ T('Status') }}: + {{ T('Available') }} {{ T('NotAvailable') }} - {{ T('Refresh') }} + {{ T('Refresh') }} +
+
+ RELAY {{ T('Status') }}: + {{ T('Available') }} + {{ T('NotAvailable') }} + {{ T('Refresh') }}
- + - + @@ -29,13 +35,13 @@ - + - + @@ -45,6 +51,8 @@ + + @@ -55,7 +63,7 @@ {{ T('Filter') }} {{ T('Add') }} - {{ T('Send') }} + {{ T('Send') }} @@ -68,7 +76,7 @@ @@ -86,6 +94,12 @@ + + + + + + @@ -97,7 +111,7 @@ - + @@ -107,6 +121,12 @@ {{ customCmd.example }} + {{ T('Send') }} @@ -128,32 +148,60 @@ import { onMounted, reactive, ref } from 'vue' import { T } from '@/utils/i18n' import { ElMessage, ElMessageBox } from 'element-plus' + import blocklist from '@/views/rustdesk/blocklist.vue' + import blacklist from '@/views/rustdesk/blacklist.vue' + const ID_TARGET = '21115' + const RELAY_TARGET = '21117' const activeName = ref('Simple') - const canSendCmd = ref(false) - const checkCanSendCmd = async () => { - const res = await sendCmd({ cmd: 'h' }).catch(_ => false) - canSendCmd.value = !!res.data + const canSendIdServerCmd = ref(false) + const checkCanSendIdServerCmd = async () => { + const res = await sendCmd({ cmd: 'h', target: ID_TARGET }).catch(_ => false) + canSendIdServerCmd.value = !!res.data } - const refreshCanSendCmd = () => { - checkCanSendCmd().then(_ => { - if (canSendCmd.value) { + const refreshCanSendIdServerCmd = () => { + checkCanSendIdServerCmd().then(_ => { + if (canSendIdServerCmd.value) { getAUR() getRS() } }) } - onMounted(refreshCanSendCmd) + onMounted(refreshCanSendIdServerCmd) + + const canSendRelayServerCmd = ref(false) + const checkCanSendRelayServerCmd = async () => { + const res = await sendCmd({ cmd: 'h', target: RELAY_TARGET }).catch(_ => false) + canSendRelayServerCmd.value = !!res.data + } + const refreshCanSendRelayServerCmd = () => { + checkCanSendRelayServerCmd().then(_ => { + if (canSendRelayServerCmd.value) { + } + }) + } + onMounted(refreshCanSendRelayServerCmd) + + const canSendCmd = (target) => { + if (target === ID_TARGET) { + return canSendIdServerCmd.value + } + if (target === RELAY_TARGET) { + return canSendRelayServerCmd.value + } + return false + } const rsForm = reactive({ cmd: 'rs', option: '', + target: ID_TARGET, loading: false, }) const getRS = async () => { rsForm.loading = true - const res = await sendCmd({ cmd: 'rs' }).catch(_ => false) + const res = await sendCmd({ cmd: 'rs', target: ID_TARGET }).catch(_ => false) rsForm.loading = false if (res) { const data = res.data.split('\n').filter(i => i) @@ -170,12 +218,13 @@ const aurForm = reactive({ cmd: 'aur', option: '', + target: ID_TARGET, value: 0, loading: false, }) const getAUR = async () => { aurForm.loading = true - const res = await sendCmd({ cmd: 'aur' }).catch(_ => false) + const res = await sendCmd({ cmd: 'aur', target: ID_TARGET }).catch(_ => false) aurForm.loading = false if (res) { if (res.data === 'ALWAYS_USE_RELAY: true' || res.data === 'ALWAYS_USE_RELAY: true\n') { @@ -236,6 +285,7 @@ cmd: '', alias: '', option: '', + target: '', explain: '', }) const formVisible = ref(false) @@ -252,6 +302,7 @@ formData.cmd = row.cmd formData.alias = row.alias formData.option = row.option + formData.target = row.target formData.explain = row.explain } const submit = async () => { @@ -275,6 +326,7 @@ const customCmd = reactive({ cmd: '', option: '', + target: '', res: '', example: '', }) @@ -283,17 +335,23 @@ customCmd.cmd = row.cmd customCmd.option = '' customCmd.res = '' + customCmd.target = row.target customCmd.example = `${row.cmd} ${row.option}` } const submitCmd = async () => { sendCmd(customCmd).then(res => { console.log(res) customCmd.res = res.data + ElMessage.success(T('OperationSuccess')) }) }