Light12306/Web12306/js/data.js
2014-09-09 18:18:00 +08:00

198 lines
5.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

define(function (require, exports, module) {
var citydata = require("./station/station_data.js");
var utility = require("./utility.js");
exports.chatServerGetAddressApi = "http://12306.liebao.cn/index.php?r=Api/GetRoomKey";
exports.sysNoticeUrl = "http://12306.liebao.cn/index.php?r=Api/GetNotificationList";
exports.sysNoticeLoadInterval = 30 * 60 * 1800;
exports.sysNoticeMaxShowCount = 3;
exports.citydata = citydata;
exports.cities = _(_.flatten(_.map(_.values(citydata.data), function (e) { return _.values(e); }))).mapObject(function (e) { return e.c; });;
exports.citynameMap = _.mapObject(exports.cities, function (c) {
return c.n;
});
exports.identityCardTypes = {
};
exports.passengerTypes = {
"1": "成人",
"2": "儿童",
"3": "学生",
"4": "残军"
};
exports.tagOtnMap = {
"9": "SWZ",
"P": "TZ",
"M": "ZY",
"O": "ZE",
"6": "GR",
"4": "RW",
"3": "YW",
"2": "RZ",
"1": "YZ",
"0": "WZ",
"*": "QT",
"B": "HB"
};
exports.tagRevMap = _.invert(exports.tagOtnMap);
exports.seatNameMap = {
"商务座": "SWZ",
"特等座": "TZ",
"一等座": "ZY",
"二等座": "ZE",
"高级软卧": "GR",
"软卧": "RW",
"硬卧": "YW",
"软座": "RZ",
"硬座": "YZ",
"无座": "WZ",
"混编硬座": "HB"
};
exports.tagMap = {
"动车或高铁或城铁": "[DGC].*",
"特快或直达": "[TZ].*",
"快车": "K.*",
"高铁": "G.*",
"动车": "D.*",
"城铁": "C.*",
"直达": "Z.*",
"特快": "T.*",
"任意车次": ".*"
};
exports.translateTrain = function (array) {
/// <summary>将列车编号翻译为实际的检查序列</summary>
return array.map(function (e) {
return exports.tagMap[e] || e;
});
};
exports.seatNameInvMap = _.invert(exports.seatNameMap);
exports.baseUri = "https://kyfw.12306.cn/otn/";
exports.queryBaseUri = "https://dynamic.12306.cn/otsquery/";
exports.toSeatTypeName = function (code) {
return exports.seatNameInvMap[exports.tagOtnMap[code]];
};
exports.seatDisplayOrder = 'O219PM6430'.split('');
exports.isDebug = ((function () { return false; }) + '').indexOf("false;") != -1;
exports.log = function () {
if (!exports.isDebug)
return;
console.log.apply(console, Array.prototype.slice.call(arguments));
};
exports.showMoreOptRange = [
[new Date(2014, 9, 5), new Date(2014, 9, 20)],
[new Date(2015, 1, 20), new Date(2014, 2, 18)]
];
exports.startTrainStationSuggestQueryLimit = 1;
exports.maxSuggestStationTimeRange = {
"": 300,
"G": 180,
"D": 180
}
exports.maxSellDays = 19;
exports.minDate = utility.trimToDay(new Date());
exports.maxDate = utility.addDays(exports.minDate, exports.maxSellDays);
exports.isStudentTicketEnabled = function (date) {
/// <summary>判断指定的日期学生票是否可以买</summary>
date = utility.toDate(date);
var tag = (date.getMonth() + 1) * 10 + date.getDate();
return _.any(exports.stuDate, function (e) {
return tag >= e[0] && tag <= e[1];
});
};
exports.stuDate = [
[101, 331],
[601, 930],
[1201, 1231]
];
exports.isValidDate = function (date) {
date = utility.trimToDay(date);
return date >= exports.minDate;
};
exports.isAutoBookEnabled = function (profile) {
return profile.selectedTrain && profile.selectedTrain.length
&& profile.selectedSeatType && profile.selectedSeatType.length;
};
//查找默认的日期
(function () {
var d = exports.minDate;
var day = d.getDay();
if (day < 5) {
//星期1-5则取星期五
exports.defaultDate = utility.addDays(d, 5 - day);
} else if (day > 0) {
//取周日
exports.defaultDate = utility.addDays(d, 7 - day);
}
})();
exports.trackTypes = {
//打开首页
OPEN_PAGE_INDEX: 100,
//登录
LOGIN: 101,
//查票
QUERY_TICKET: 102,
//显示购票提示
QUERY_SUGGESTION: 103,
//显示预售提示
SELLTIME_SUGGEST: 104,
//提交订单
SUBMIT_ORDER: 105,
//提交订单失败
SUBMIT_ORDER_FAILED: 106,
//提交订单失败
SUBMIT_ORDER_SUCCESS: 107,
//主动退出登录
LOGOUT: 108,
//显示停靠站
SHOW_TRAIN_STOP: 109,
//由自动刷新发起的提交订单
SUBMIT_AUTO: 110,
//开始刷票
START_AUTOREFRESH: 111,
//停止刷票
STOP_AUTOREFRESH: 112,
//刷到票了
VALID_AUTOREFRESH: 113,
//加入聊天
JOIN_CHAT: 114,
//退出聊天
EXIT_CHAT: 115,
//extar
OPEN_SYS_NOTICE: 116,
LOAD_SYS_NOTICE: 117,
LOAD_SUGGESTION: 118,
SHOW_NOTIFICATION_SELECT: 119,
OPEN_SELL_NOTIFICATION: 120,
//----------------------------
SUBMIT_ORDER_BY_SUGGESTIONI: 121,
QUEUE_ORDER_SUCCESS: 122,
PROFILE_AUTO_SELECTSEAT: 130,
PROFILE_AUTO_ADDTRAIN: 131,
PROFILE_AUTO_ADDPAS: 132,
PROFILE_AUTO_ADDDL: 133,
PROFILE_AUTO_MOREOPT: 134,
PROFILE_AUTO_OPENTM: 135,
PROFILE_AUTO_RESET: 136,
PROFILE_DATEBAR:137,
};
exports.chatSendMsgDelay = 5000;
exports.maxRecentCity = 18;
exports.suggestRefreshInterval = 60000;
Object.defineProperty(exports, "moreOptDefault", {
get: function () {
return true;
var d = exports.minDate;
return _.any(exports.showMoreOptRange, function (v) {
return v[0] <= d && d <= v[1];
});
}
});
});