67 lines
1.9 KiB
JavaScript
67 lines
1.9 KiB
JavaScript
|
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();
|
|||
|
});
|