function DrawProxyChart()

in web/frps/src/utils/chart.js [50:105]


function DrawProxyChart(elementId, serverInfo) {
    let myChart = echarts.init(document.getElementById(elementId), 'macarons')
    myChart.showLoading()

    let option = {
        title: {
            text: 'Proxies',
            subtext: 'now',
            x: 'center'
        },
        tooltip: {
            trigger: 'item',
            formatter: function(v) {
                return v.data.value
            }
        },
        series: [{
            type: 'pie',
            radius: '55%',
            center: ['50%', '60%'],
            data: [],
            itemStyle: {
                emphasis: {
                    shadowBlur: 10,
                    shadowOffsetX: 0,
                    shadowColor: 'rgba(0, 0, 0, 0.5)'
                }
            }
        }]
    };

    if (serverInfo.proxy_type_count.tcp != null && serverInfo.proxy_type_count.tcp != 0) {
        option.series[0].data.push({value: serverInfo.proxy_type_count.tcp, name: 'TCP'})
    }
    if (serverInfo.proxy_type_count.udp != null && serverInfo.proxy_type_count.udp != 0) {
        option.series[0].data.push({value: serverInfo.proxy_type_count.udp, name: 'UDP'})
    }
    if (serverInfo.proxy_type_count.http != null && serverInfo.proxy_type_count.http != 0) {
        option.series[0].data.push({value: serverInfo.proxy_type_count.http, name: 'HTTP'})
    }
    if (serverInfo.proxy_type_count.https != null && serverInfo.proxy_type_count.https != 0) {
        option.series[0].data.push({value: serverInfo.proxy_type_count.https, name: 'HTTPS'})
    }
    if (serverInfo.proxy_type_count.stcp != null && serverInfo.proxy_type_count.stcp != 0) {
        option.series[0].data.push({value: serverInfo.proxy_type_count.stcp, name: 'STCP'})
    }
    if (serverInfo.proxy_type_count.sudp != null && serverInfo.proxy_type_count.sudp != 0) {
        option.series[0].data.push({value: serverInfo.proxy_type_count.sudp, name: 'SUDP'})
    }
    if (serverInfo.proxy_type_count.xtcp != null && serverInfo.proxy_type_count.xtcp != 0) {
        option.series[0].data.push({value: serverInfo.proxy_type_count.xtcp, name: 'XTCP'})
    }

    myChart.setOption(option);
    myChart.hideLoading()
}