69 lines
2.0 KiB
JavaScript
69 lines
2.0 KiB
JavaScript
define(function (require, exports, module) {
|
|
var port = require("../platform/extensionPort.js");
|
|
var isValid = 0;
|
|
var serverSpan = $("div.net-tips");
|
|
var sysConfig = null;
|
|
var checkSpeedTimer = null;
|
|
|
|
var refreshSpeed = function () {
|
|
port.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(0)").html(!data.ip ? "默认服务器" : data.ip);
|
|
});
|
|
};
|
|
var checkStatus = function () {
|
|
serverSpan.hide();
|
|
if (isValid <= 0) {
|
|
$("#swDnsSpeeding").hide();
|
|
} else {
|
|
$("#swDnsSpeeding").show();
|
|
if (sysConfig.enableServerAutoChange) {
|
|
serverSpan.show();
|
|
$("#swDnsSpeeding").html("关闭加速");
|
|
refreshSpeed();
|
|
} else {
|
|
$("#swDnsSpeeding").html("启用加速");
|
|
}
|
|
}
|
|
if (isValid > 0) {
|
|
if (!checkSpeedTimer)
|
|
checkSpeedTimer = setInterval(refreshSpeed, 3000);
|
|
port.sendMessage({ action: "triggerUpdate" });
|
|
} 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 (r) {
|
|
isValid = r.valid;
|
|
|
|
checkStatus();
|
|
});
|
|
};
|
|
port.port.on("sysConfigUpdate", function (e, data) {
|
|
sysConfig = data;
|
|
checkStatus();
|
|
});
|
|
|
|
var reloadSysConfig = function () {
|
|
port.sendMessage({ action: "getSysConfig" }, function (data) {
|
|
sysConfig = data.detail;
|
|
checkServerValid();
|
|
});
|
|
};
|
|
|
|
reloadSysConfig();
|
|
});
|