var page = { init: function() { $('#rule-type').change(page.render); page.render(); setInterval(page.render, 5000); }, render: function() { page.render_cards(); page.render_rules(); }, render_cards: function() { $.get('/api/info', function(ret) { $('#cards').empty(); page.add_card('规则总数', ret.rules); page.add_card('虚拟连接数', ret.virtual_links); page.add_card('终端会话', ret.sessions); }); }, render_rules: function() { $.get('/api/rules', function(ret) { $('#rules tbody').empty(); var type = $('#rule-type').val(); $.each(ret, function(_, rule) { if (type != 'all' && rule.type != type) { return; } var send_bytes = 0; var send_packet = 0; var recv_bytes = 0; var recv_packet = 0; $.each(rule.links, function(_, link) { send_bytes += link.send_bytes; send_packet += link.send_packet; recv_bytes += link.recv_bytes; recv_packet += link.recv_packet; }); var op = ''; switch (rule.type) { case 'shell': case 'vnc': case 'code-server': op = `连接`; break; } var str = `
${count}