📄 main.cgi
字号:
#!/usr/bin/haserl# Copyright (C) 2008 OpenRB.comcontent-type: text/html(function(){ var moduleId = 'sysinfo', elems = FlashSYS.getCache( moduleId ); FlashSYS.setReloader(moduleId); if (!elems) { var window = FlashSYS.newWindow({ id: moduleId, title: $TR( moduleId ), width: 400, height: 280 }); var tabs = new FlashSYS.Tabs(window.contentEl, { tabs: ['general', 'memory', 'partitions'], trPrefix: 'sysinfo_' }); var genTable = new FlashSYS.Table(tabs.getPanelByIndex(0), { trPrefix: 'sysinfo_', tableHead: { 'param': { width: 40 }, 'value': { width: 60 } } }); var memTable = new FlashSYS.Table(tabs.getPanelByIndex(1), { trPrefix: 'sysinfo_', tableHead: { 'meminfo': { width: 40 }, 'used': { width: 60 } } }); var partTable = new FlashSYS.Table(tabs.getPanelByIndex(2), { trPrefix: 'sysinfo_', tableHead: { 'fs': { width: 20 }, 'size': { width: 20 }, 'used': { width: 20 }, 'free': { width: 20 }, 'mount': { width: 20 } } }); elems = FlashSYS.setCache(moduleId, { window: window, genTable: genTable, memTable: memTable, partTable: partTable }); } var sysValues = {}, genInfo = {}, memInfo = {}, partValues = {}, sysInfo = <? /lib/flashsys/modules/sysinfo/main.lua ?>; for (var i = 0, j = sysInfo.cpuinfo.length; i < j; i++) { var items = sysInfo.cpuinfo[i].clean().split(' : '); sysValues[ items[0].replace(/\W/, '').toLowerCase() ] = items[1]; } // various items from /proc/cpuinfo, different for every platform if (sysValues.system_type) { genInfo.system = [ $TR('sysinfo_system'), sysValues.system_type ]; } else if (sysValues.machine) { genInfo.system = [ $TR('sysinfo_system'), sysValues.machine ]; } if (sysValues.vendorid) { genInfo.vendor = [ $TR('sysinfo_vendor'), sysValues.vendorid ]; } if (sysValues.modelname) { genInfo.vendor = [ $TR('sysinfo_model'), sysValues.modelname ]; } else if (sysValues.cpu) { genInfo.vendor = [ $TR('sysinfo_model'), sysValues.cpu ]; } else if (sysValues.cpumodel) { genInfo.vendor = [ $TR('sysinfo_model'), sysValues.cpumodel ]; } if (sysValues.cpumhz) { genInfo.vendor = [ $TR('sysinfo_cpumhz'), sysValues.cpumhz ]; } if (sysValues.clock) { genInfo.vendor = [ $TR('sysinfo_clock'), sysValues.clock ]; } if (sysValues.bogomips) { genInfo.bogomips = [ $TR('sysinfo_bogomips'), sysValues.bogomips ]; } genInfo.kernel = [ $TR('sysinfo_kernel'), sysInfo.kernel ]; // calculate uptime if (sysInfo.uptime) { var uptimeRaw = sysInfo.uptime.split(' ').shift(); var upDays = Math.floor(uptimeRaw / 86400).toString(), upHours = Math.floor((uptimeRaw % 86400) / 3600).toString(), upMins = Math.floor((uptimeRaw % 3600) / 60).toString(); genInfo.uptime = [ $TR('sysinfo_uptime'), upDays + $TR('dt_day') + ' ' + upHours + $TR('dt_hour') + ' ' + upMins + $TR('dt_min') ]; } genInfo.loadavg = [ $TR('sysinfo_loadavg'), sysInfo.loadavg ? sysInfo.loadavg.split(' ').slice(0, 3).join(' ') : '' ]; elems.genTable.loadValues(genInfo); // memory usage for (var i = 0, j = sysInfo.meminfo.length; i < j; i++) { var items = sysInfo.meminfo[i].clean().split(' '); memInfo[ items[0].replace(/\W/, '').toLowerCase() ] = items[1]; } if (memInfo.memtotal && memInfo.memfree && memInfo.buffers && memInfo.cached) { var memUsed = memInfo.memtotal - memInfo.memfree; var memUsedPerc = Math.round(memUsed / memInfo.memtotal * 10000) / 100, memFreePerc = Math.round(memInfo.memfree / memInfo.memtotal * 10000) / 100; elems.memTable.loadValues({ 'total': [ $TR('sysinfo_memtotal'), memInfo.memtotal + ' kB' ], 'used': [ $TR('sysinfo_memused'), memUsed + ' kB (' + memUsedPerc + '%)' ], 'free': [ $TR('sysinfo_memfree'), memInfo.memfree + ' kB (' + memFreePerc + '%)' ], 'buffers': [ $TR('sysinfo_membuffers'), memInfo.buffers + ' kB' ], 'cached': [ $TR('sysinfo_memcached'), memInfo.cached + ' kB' ] }); } // partitions for (var i = 0, j = sysInfo.partitions.length; i < j; i++) { var items = sysInfo.partitions[i].clean().split(' '), id = 'entry' + i.toString(); if (items.length != 6) { continue; } partValues[ id ] = [ items[0], items[1], items[2] + ' (' + items[4] + ')', items[3], items[5] ]; } elems.partTable.loadValues(partValues);})();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -