feat: usage
This commit is contained in:
@@ -19,11 +19,12 @@
|
|||||||
>
|
>
|
||||||
<el-tab-pane :label="T('Simple')" name="Simple">
|
<el-tab-pane :label="T('Simple')" name="Simple">
|
||||||
<el-space>
|
<el-space>
|
||||||
<RelayServers ref="rs" :can-send="canSendCmd(ID_TARGET)"></RelayServers>
|
<RelayServers ref="rs" :can-send="canSendIdServerCmd"/>
|
||||||
<alwaysUseRelay :can-send="canSendCmd(ID_TARGET)" @success="handleAlwaysUseRelaySuccess"></alwaysUseRelay>
|
<alwaysUseRelay :can-send="canSendIdServerCmd" @success="handleAlwaysUseRelaySuccess"/>
|
||||||
<mustLogin v-if="canControlMustLogin" :can-send="canSendCmd(ID_TARGET)"></mustLogin>
|
<mustLogin v-if="canControlMustLogin" :can-send="canSendIdServerCmd"/>
|
||||||
<blocklist :can-send="canSendCmd(RELAY_TARGET)"></blocklist>
|
<blocklist :can-send="canSendRelayServerCmd"/>
|
||||||
<blacklist :can-send="canSendCmd(RELAY_TARGET)"></blacklist>
|
<blacklist :can-send="canSendRelayServerCmd"/>
|
||||||
|
<usage :can-send="canSendRelayServerCmd"/>
|
||||||
</el-space>
|
</el-space>
|
||||||
|
|
||||||
|
|
||||||
@@ -119,16 +120,16 @@
|
|||||||
import { onMounted, reactive, ref } from 'vue'
|
import { onMounted, reactive, ref } from 'vue'
|
||||||
import { T } from '@/utils/i18n'
|
import { T } from '@/utils/i18n'
|
||||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||||
|
import { ID_TARGET, RELAY_TARGET } from '@/views/rustdesk/options'
|
||||||
import blocklist from '@/views/rustdesk/blocklist.vue'
|
import blocklist from '@/views/rustdesk/blocklist.vue'
|
||||||
import blacklist from '@/views/rustdesk/blacklist.vue'
|
import blacklist from '@/views/rustdesk/blacklist.vue'
|
||||||
import alwaysUseRelay from '@/views/rustdesk/always_use_relay.vue'
|
import alwaysUseRelay from '@/views/rustdesk/always_use_relay.vue'
|
||||||
import RelayServers from '@/views/rustdesk/relay_servers.vue'
|
import RelayServers from '@/views/rustdesk/relay_servers.vue'
|
||||||
import mustLogin from '@/views/rustdesk/must_login.vue'
|
import mustLogin from '@/views/rustdesk/must_login.vue'
|
||||||
import { ID_TARGET, RELAY_TARGET } from '@/views/rustdesk/options'
|
import usage from '@/views/rustdesk/usage.vue'
|
||||||
|
|
||||||
const activeName = ref('Simple')
|
const activeName = ref('Simple')
|
||||||
|
|
||||||
|
|
||||||
const canSendIdServerCmd = ref(false)
|
const canSendIdServerCmd = ref(false)
|
||||||
const checkCanSendIdServerCmd = async () => {
|
const checkCanSendIdServerCmd = async () => {
|
||||||
const res = await sendCmd({ cmd: 'h', target: ID_TARGET }).catch(_ => false)
|
const res = await sendCmd({ cmd: 'h', target: ID_TARGET }).catch(_ => false)
|
||||||
|
|||||||
@@ -0,0 +1,53 @@
|
|||||||
|
<template>
|
||||||
|
<el-card class="simple-card" shadow="hover" v-loading="form.loading">
|
||||||
|
<template #header>
|
||||||
|
<div class="card-header">
|
||||||
|
<span>USAGE</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<el-form :disabled="!canSend">
|
||||||
|
<el-form-item>
|
||||||
|
<el-input type="textarea" :model-value="form.list.join('|')" :rows="5" readonly></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button @click="getList">{{ T('Refresh') }}</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</el-card>
|
||||||
|
</template>
|
||||||
|
<script setup>
|
||||||
|
|
||||||
|
import { T } from '@/utils/i18n'
|
||||||
|
import { reactive, watch } from 'vue'
|
||||||
|
import { sendCmd } from '@/api/rustdesk'
|
||||||
|
import { RELAY_TARGET } from '@/views/rustdesk/options'
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
canSend: Boolean,
|
||||||
|
})
|
||||||
|
|
||||||
|
const form = reactive({
|
||||||
|
get_cmd: 'u',
|
||||||
|
list: [],
|
||||||
|
target: RELAY_TARGET,
|
||||||
|
loading: false,
|
||||||
|
})
|
||||||
|
const getList = async () => {
|
||||||
|
form.loading = true
|
||||||
|
const res = await sendCmd({ cmd: form.get_cmd, target: RELAY_TARGET }).catch(_ => false)
|
||||||
|
form.loading = false
|
||||||
|
if (res) {
|
||||||
|
form.list = res.data.split('\n').filter(i => i)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
watch(() => props.canSend, (v) => {
|
||||||
|
if (v) {
|
||||||
|
getList()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss">
|
||||||
|
|
||||||
|
</style>
|
||||||
Reference in New Issue
Block a user