define(function (require, exports) { exports.getError = function (data) { /// 获得指定返回数据中的错误信息 if (data.messages && data.messages instanceof Array) { return { message: data.messages.join(";") }; } if (data.data && data.data.isRelogin) { return { message: "登录状态异常,请重新登录。", relogin: true }; } return { message: "未知错误信息" }; }; exports.formatDate = function (date, format) { /// 格式化指定日期 /// 格式化字符串 format = format || "yyyy-MM-dd"; var o = { "M+": date.getMonth() + 1, //month "d+": date.getDate(), //day "h+": date.getHours(), //hour "m+": date.getMinutes(), //minute "s+": date.getSeconds(), //second "q+": Math.floor((date.getMonth() + 3) / 3), //quarter "S": date.getMilliseconds() //millisecond }; if (/(y+)/i.test(format)) { format = format.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length)); } for (var k in o) { if (new RegExp("(" + k + ")").test(format)) { format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); } } return format; }; exports.canPassageAddToOrder = function (p) { if (p.passenger_id_type_code === "C" || p.passenger_id_type_code === "G" || p.passenger_id_type_code === "B") return true; if (p.passenger_id_type_code === "2") return false; return p.total_times === "93" || p.total_times === "95" || p.total_times === "97" || p.total_times === "99"; }; exports.getAvailableTicketType = function (p, stu) { var a = []; var pt = p.passenger_type; if (pt === "3" && stu) { a.push({ id: 3, name: "学生票" }); } else { a.push({ id: 1, name: "成人票" }); a.push({ id: 2, name: "儿童票" }); if (pt === "3") a.push({ id: 3, name: "学生票" }); } if (pt === "4") { a.push({ id: 4, name: "残军票" }); } return a; }; exports.processPassenger = function (list) { list.forEach(function (e) { e.key = e.passenger_type + "$" + e.passenger_name + "$" + e.passenger_id_type_code + "$" + e.passenger_id_no; }); }; exports.getSeats = function (trainSeats) { var seats = _.clone(trainSeats); //排序 seats.sort(function (x, y) { return x.price - y.price; }); //如果有硬座/二等座和无座,则隐藏无座 var removeNonSeat = _.findWhere(seats, { code: "1" }) || _.findWhere(seats, { code: "O" }) || false; if (removeNonSeat) { for (var i = 0; i < seats.length; i++) { if (seats[i].code === "0") { seats.splice(i, 1); break; } } } return seats; }; exports.toDate = function (date) { return date instanceof Date ? date : new Date(Date.parse(date)); }; exports.addDays = function (date, offset) { return new Date(date.getFullYear(), date.getMonth(), date.getDate() + offset); }; exports.formatSellDate = function (date) { date = exports.toDate(date); var today = exports.addDays(new Date(), 0); var offset = Math.round((date - today) / 1000 / 60); var hour = Math.round(offset / 60); var minute = offset % 60; if (hour < 24) return "今天" + hour + "点" + (minute ? minute + "分" : ""); else if (hour < 72) { return ["明天", '后天'] + (hour % 24) + "点" + (minute ? minute + "分" : ""); } else { return exports.formatDate(date, "MM月dd日 hh:mm"); } }; });