define(function (require, exports, module) { var port = require("../platform/extensionPort.js"); var isValid = 0; var serverSpan = $("span.net-tips"); var sysConfig = null; var checkSpeedTimer = null; var refreshSpeed = function () { chrome.runtime.sendMessage({ action: "getCurrentServer" }, function (m) { var data = m["kyfw.12306.cn"]; var speed = data.speed; //var cls = speed === 0 ? "label-default" : speed < 0 ? "label-danger" : speed < 100 ? "label-success" : speed < 400 ? "label-warning" : "label-danger"; serverSpan.find("strong:eq(1)").html(speed > 0 ? speed + " 毫秒" + (data.rate ? " (加速" + data.rate + "%)" : "") : speed < 0 ? "无法连接" : "正在帮你测速..."); serverSpan.find("strong:eq(1)").html(data.ip ? "默认服务器" : data.ip); }); }; var checkStatus = function () { serverSpan.hide(); if (isValid <= 0) { $("#swDnsSpeeding").hide(); } else { if (sysConfig.enableServerAutoChange) { serverSpan.show(); $("#swDnsSpeeding").val("关闭加速"); refreshSpeed(); } else { $("#swDnsSpeeding").val("启用加速"); } } if (isValid > 0) { if (!checkSpeedTimer) checkSpeedTimer = setInterval(refreshSpeed, 3000); } else { if (checkSpeedTimer) { clearInterval(checkSpeedTimer); checkSpeedTimer = null; } } }; $("#swDnsSpeeding").click(function () { var enabled = !sysConfig.enableServerAutoChange; port.sendMessage({ action: "setUserConfig", detail: { enableServerAutoChange: enabled } }); }); var checkServerValid = function () { port.sendMessage({ action: "servervalid" }, function (valid) { isValid = valid; checkStatus(); }); }; port.port.on("sysConfigUpdate", function (data) { sysConfig = data; checkStatus(); }); var reloadSysConfig = function () { port.sendMessage({ action: "getSysConfig" }, function (data) { sysConfig = data; checkServerValid(); }); }; reloadSysConfig(); });