Documentation
<!DOCTYPE html>
<html>

<head>
    <title>转发配置</title>
    <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js">
    </script>
    <script src="https://unpkg.com/vue@3"></script>
</head>

<body>
    <div id="app">
        <h1>转发配置</h1>
        <div id="chat">
            <p><em>服务列表</em></p>
        </div>
        <div>
            <p v-for="item in servers">
                {{ item }}
                <button type="button" @click="delete_service(item)">删除服务</button>
            </p>
        </div>
        <div>
            服务名称:<input type="text" v-model="subdata.name" />
            IP地址:<input type="text" v-model="subdata.host" />
            端口:<input type="number" v-model="subdata.port" />
            <button type="button" @click="save_service">添加服务</button>
        </div>
    </div>
    <script>
        const { createApp } = Vue

        createApp({
            data() {
                return {
                    servers: [],
                    connected: false,
                    connectedText: 'Connecting...',
                    ws: null,
                    message: [],
                    subdata: {
                        name: "default",
                        host: "192.168.110.103",
                        port: 8000,
                    }
                }
            },
            mounted() {
                this.load_services();
            },
            methods: {
                load_services() {
                    $.get("/service", (data, status) => {
                        this.servers = data
                        console.log("Data: " + data + "nStatus: " + status);
                    });
                },
                save_service() {
                    console.log(this.subdata);
                    $.ajax({
                        type: 'post',
                        url: '/service',
                        contentType: 'application/json',
                        data: JSON.stringify(this.subdata),
                        success: (result, status, xhr) => {
                            console.log("Data: " + result + "nStatus: " + status);
                            this.load_services();
                        },
                    });
                },
                delete_service(item) {
                    console.log(item);
                    $.ajax({
                        type: 'post',
                        url: '/service/delete',
                        contentType: 'application/json',
                        data: JSON.stringify(item),
                        success: (result, status, xhr) => {
                            console.log("Data: " + result + "nStatus: " + status);
                            this.load_services();
                            alert(result);
                        },
                    });
                }
            }
        }).mount('#app')
    </script>
</body>

</html>