2023-03-15 13:45:41 +00:00
|
|
|
<template>
|
2023-03-16 12:39:49 +00:00
|
|
|
<div>
|
|
|
|
<h3>服务器列表</h3>
|
2023-03-15 13:45:41 +00:00
|
|
|
|
2023-03-16 12:39:49 +00:00
|
|
|
<div class="list-group">
|
2023-03-15 13:45:41 +00:00
|
|
|
|
2023-03-16 12:39:49 +00:00
|
|
|
<template v-for="server in servers">
|
|
|
|
<router-link :to="{
|
2023-03-16 13:36:59 +00:00
|
|
|
name: isAdmin() ? 'servers.edit' : 'tunnels.create',
|
2023-03-15 13:45:41 +00:00
|
|
|
params: {
|
|
|
|
id: server.id
|
2023-03-16 13:36:59 +00:00
|
|
|
},
|
|
|
|
query: {
|
|
|
|
server_id: server.id
|
2023-03-15 13:45:41 +00:00
|
|
|
}
|
2023-07-30 15:52:39 +00:00
|
|
|
}" aria-current="true" class="list-group-item list-group-item-action">
|
2023-03-16 12:39:49 +00:00
|
|
|
<div class="d-flex w-100 justify-content-between">
|
|
|
|
<h5 class="mb-1">{{ server.name }}</h5>
|
|
|
|
<small>
|
|
|
|
<server-status :status="server.status"/>
|
|
|
|
</small>
|
|
|
|
</div>
|
|
|
|
<p class="mb-1">
|
|
|
|
支持的协议:
|
|
|
|
<span v-show="server.allow_http">HTTP </span>
|
|
|
|
<span v-show="server.allow_tcp">TCP </span>
|
|
|
|
<span v-show="server.allow_https">HTTPS </span>
|
|
|
|
<span v-show="server.allow_udp">UDP </span>
|
|
|
|
<span v-show="server.allow_stcp">STCP </span>
|
|
|
|
<span v-show="server.allow_sudp">SUDP </span>
|
|
|
|
<span v-show="server.allow_xtcp">XTCP</span>
|
|
|
|
</p>
|
|
|
|
<small>{{ server.server_address }}:{{ server.server_port }}</small>
|
|
|
|
</router-link>
|
|
|
|
</template>
|
|
|
|
</div>
|
2023-03-15 13:45:41 +00:00
|
|
|
|
2023-03-16 12:39:49 +00:00
|
|
|
</div>
|
2023-03-15 13:45:41 +00:00
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script setup>
|
|
|
|
import {ref} from 'vue'
|
|
|
|
import http from '../../plugins/http'
|
2023-03-16 12:35:41 +00:00
|
|
|
import ServerStatus from "../../components/ServerStatus.vue";
|
2023-03-15 13:45:41 +00:00
|
|
|
|
|
|
|
|
|
|
|
const servers = ref([{
|
|
|
|
"id": "1",
|
|
|
|
"name": "",
|
|
|
|
"server_address": "",
|
|
|
|
"server_port": "",
|
|
|
|
"token": "",
|
|
|
|
"allow_http": 1,
|
|
|
|
"allow_https": 0,
|
|
|
|
"allow_tcp": 0,
|
|
|
|
"allow_udp": 0,
|
|
|
|
"allow_stcp": 0,
|
|
|
|
"allow_sudp": 0,
|
|
|
|
"allow_xtcp": 0,
|
|
|
|
"bandwidth_limit": 0,
|
|
|
|
"min_port": 0,
|
|
|
|
"max_port": 1024,
|
|
|
|
"max_tunnels": 100,
|
|
|
|
"tunnels": 0,
|
|
|
|
"status": "maintenance",
|
|
|
|
"is_china_mainland": 0,
|
|
|
|
"created_at": "2023-03-15T11:57:47.000000Z",
|
|
|
|
"updated_at": "2023-03-15T11:57:47.000000Z"
|
|
|
|
}])
|
|
|
|
|
|
|
|
http.get('servers').then((res) => {
|
|
|
|
servers.value = res.data
|
|
|
|
})
|
|
|
|
|
2023-03-16 13:36:59 +00:00
|
|
|
|
|
|
|
const isAdmin = () => {
|
|
|
|
return window['Base']['User']['is_admin']
|
|
|
|
}
|
|
|
|
|
2023-03-15 13:45:41 +00:00
|
|
|
</script>
|