显示查询速度等级
This commit is contained in:
parent
ba9d32164c
commit
676770dd4d
@ -74,3 +74,47 @@
|
||||
|
||||
.cancel-button {
|
||||
}
|
||||
|
||||
/*查询速度表*/
|
||||
#speed-meter {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
padding: 5px;
|
||||
border: 1px solid #C2DEC2;
|
||||
background: #EEF9EE;
|
||||
font-size: 12px;
|
||||
color: #50A050;
|
||||
transition: all linear 0.5s;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
#speed-meter.visible {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#speed-meter.visible:hover {
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
#speed-meter span {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#speed-meter.speed-good {
|
||||
border-color: #C2DEC2;
|
||||
background-color: #EEF9EE;
|
||||
color: #50A050;
|
||||
}
|
||||
|
||||
#speed-meter.speed-normal {
|
||||
border-color: #C2C8DE;
|
||||
background-color: #EEF2F9;
|
||||
color: #506CA0;
|
||||
}
|
||||
|
||||
#speed-meter.speed-bad {
|
||||
border-color: #DEC2C2;
|
||||
background-color: #F9EEEE;
|
||||
color: #A05050;
|
||||
}
|
@ -1315,6 +1315,10 @@
|
||||
(关注微信后按提醒输入的哦)
|
||||
</p>
|
||||
</section>
|
||||
<section id="speed-meter">
|
||||
<i class="fa fa-clock-o"></i>
|
||||
当前查询网速为 <span>1</span>级 (<span></span>毫秒)
|
||||
</section>
|
||||
<script src="js/modules/jquery/jquery.js"></script>
|
||||
<script src="js/modules/underscore/underscore.js"></script>
|
||||
<script src="js/modules/colorbox/jquery.colorbox.js"></script>
|
||||
|
@ -21,7 +21,9 @@
|
||||
while (lastQueryTimes.length > 20)
|
||||
lastQueryTimes.shift();
|
||||
|
||||
averageQueryTime = lastQueryTimes.length > 0 ? _.reduce(lastQueryTimes, function (x, y) { return x + y; }) / lastQueryTimes : 0;
|
||||
averageQueryTime = lastQueryTimes.length > 0 ? _.reduce(lastQueryTimes, function (x, y) {
|
||||
return x + y;
|
||||
}) / lastQueryTimes.length : 0;
|
||||
};
|
||||
Object.defineProperty(exports, "averageQueryTime", {
|
||||
get: function () {
|
||||
@ -36,7 +38,9 @@
|
||||
|
||||
var detectSuggest = function (result) {
|
||||
result.suggestTransit = result.available.length > 0 && result.available.length <= 3;
|
||||
var notFeCount = _.count(result.available, function (t) { return t.from.endpoint && t.to.endpoint; });
|
||||
var notFeCount = _.count(result.available, function (t) {
|
||||
return t.from.endpoint && t.to.endpoint;
|
||||
});
|
||||
result.suggestMoreStat = notFeCount < 4 && notFeCount < result.available.length / 3;
|
||||
|
||||
result.hasSuggest = result.suggestMoreStat | result.suggestTransit;
|
||||
@ -72,7 +76,8 @@
|
||||
data.push(seat);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
;
|
||||
return data;
|
||||
};
|
||||
|
||||
@ -80,10 +85,20 @@
|
||||
var result = data;
|
||||
if (!Array.isArray(result.data) || !result.data.length || !result.data[0].queryLeftNewDTO) {
|
||||
exports.events.fireEvent("requestFailed");
|
||||
};
|
||||
}
|
||||
;
|
||||
|
||||
var date = query.date;
|
||||
var trainData = { query: query, raw: result, rawTrainMap: {}, trainMap: {}, auto: null, nextTime: null, noProcess: noProcess, noAction: noAction };
|
||||
var trainData = {
|
||||
query: query,
|
||||
raw: result,
|
||||
rawTrainMap: {},
|
||||
trainMap: {},
|
||||
auto: null,
|
||||
nextTime: null,
|
||||
noProcess: noProcess,
|
||||
noAction: noAction
|
||||
};
|
||||
var messages = (result.messages || []).join("");
|
||||
|
||||
trainData.notInSellTime = messages.indexOf("在预售日期范围") !== -1;
|
||||
@ -133,7 +148,9 @@
|
||||
};
|
||||
var kp = getTicketInfo(t.queryLeftNewDTO.yp_info);
|
||||
train.tickets = kp;
|
||||
train.ticketMap = _.mapObject(kp, function (e) { return e.code; });
|
||||
train.ticketMap = _.mapObject(kp, function (e) {
|
||||
return e.code;
|
||||
});
|
||||
|
||||
//起售时间
|
||||
var selltimem = /(0*(\d+)月0*(\d+)日)?(\d+)\s*点\s*((\d+)分)?\s*起售/i.exec(t.buttonTextInfo.replace(/<.*?>/g, ''));
|
||||
@ -266,7 +283,9 @@
|
||||
};
|
||||
var cookie = (function (obj) {
|
||||
var arr = [];
|
||||
_.forEach(obj, function (v, k) { arr.push(k + '=' + v); });
|
||||
_.forEach(obj, function (v, k) {
|
||||
arr.push(k + '=' + v);
|
||||
});
|
||||
return arr.join("; ");
|
||||
})(extensionVersion >= 720 ? {
|
||||
"_jc_save_fromStation": escape(fromName + "," + from),
|
||||
|
@ -229,7 +229,9 @@
|
||||
ui_result.resetStatus();
|
||||
//检查学生票是否对应
|
||||
if (cp.studentTicket && cp.passengers && cp.passengers.length) {
|
||||
if (_.some(cp.passengers, function (p) { return p.passenger_type !== '3'; })) {
|
||||
if (_.some(cp.passengers, function (p) {
|
||||
return p.passenger_type !== '3';
|
||||
})) {
|
||||
mp.confirm("确认", "您选择的是学生票,但是添加的联系人并不全是学生,将无法提交订单,确定继续查票吗?", ui_result.load);
|
||||
} else {
|
||||
//ui_result.load();
|
||||
@ -310,6 +312,9 @@
|
||||
//服务器加速
|
||||
require("./ui-dnsspeeding.js");
|
||||
|
||||
//速度表
|
||||
require("./widget-queryspeedmeter.js");
|
||||
|
||||
//暂时屏蔽
|
||||
//$.showModalDialog("由于12306的验证码调整,请暂时使用官网购票。助手会回来的,感谢您的关注。这是12306的进步,请为12306点赞 :-)", {
|
||||
// image: "/images/cat.png",
|
||||
|
25
Web12306/js/ui/widget-queryspeedmeter.js
Normal file
25
Web12306/js/ui/widget-queryspeedmeter.js
Normal file
@ -0,0 +1,25 @@
|
||||
define(function (require, exports, module) {
|
||||
var queryTicket = require("../otn/queryticket.js");
|
||||
var utility = require("../otn/utility.js");
|
||||
var container = $("#speed-meter");
|
||||
|
||||
var refreshMeter = function () {
|
||||
container.removeClass();
|
||||
|
||||
var speed = queryTicket.averageQueryTime;
|
||||
if (speed == null || isNaN(speed)) {
|
||||
return;
|
||||
}
|
||||
|
||||
var level = speed / 50;
|
||||
var star = level <= 2 ? 1 : level <= 6 ? 2 : level <= 10 ? 3 : level <= 14 ? 4 : 5;
|
||||
var cssClass = star === 1 ? "good" : star < 4 ? "normal" : "bad";
|
||||
|
||||
container.show();
|
||||
container.find("span:eq(0)").html(star);
|
||||
container.find("span:eq(1)").html(Math.round(speed));
|
||||
container.removeClass().addClass("visible speed-" + cssClass);
|
||||
};
|
||||
|
||||
setInterval(refreshMeter, 1000);
|
||||
});
|
@ -7,6 +7,28 @@
|
||||
|
||||
return new Date(d.getFullYear(), d.getMonth(), d.getDate());
|
||||
};
|
||||
/**
|
||||
* 格式化数字显示
|
||||
* @param {number} number 要格式化的数字
|
||||
* @param {number} digits 要保留的数字位数
|
||||
*/
|
||||
exports.formatNumber = function (number, digits) {
|
||||
digits = digits || 2;
|
||||
|
||||
var str = '' + Math.round(number * (10 ^ digits)) / (10 ^ digits);
|
||||
var fc = digits;
|
||||
var idx = str.indexOf(".");
|
||||
if (idx != -1) fc = digits - str.length - idx - 1;
|
||||
else str += ".";
|
||||
|
||||
var ab = [];
|
||||
for (var i = 0; i < fc; i++) {
|
||||
ab.push("0");
|
||||
}
|
||||
|
||||
return str + ab.join("");
|
||||
|
||||
};
|
||||
//exports.addDays = function (date, days) {
|
||||
// var x = new Date();
|
||||
// x.setTime(date.getTime() - date.getTime() % (1000 * 3600 * 24) + 1000 * 3600 * 24 * days);
|
||||
|
Loading…
Reference in New Issue
Block a user