Light12306/Web12306/js/otn/passenger.js

54 lines
1.3 KiB
JavaScript
Raw Normal View History

2014-08-20 20:58:24 +08:00
define(function (require, exports, module) {
var parser = require("../platform/parser.js");
var ajax = require("../platform/webRequest.js");
var sessMgr = require("../account/sessionMgr.js");
var fastAddPassenger = function (type, name, idtype, id, countryCode) {
var def = new $.Deferred();
var p = {
passenger_name: name,
passenger_id_type_code: idtype,
passenger_id_no: id,
passenger_type: type,
2014-08-26 21:29:58 +08:00
country_code: countryCode || "CN"
2014-08-20 20:58:24 +08:00
};
var request = ajax.sendPost("passengers/realAdd", "confirmPassenger/initDc", p);
request.done(function () {
2014-08-26 21:29:58 +08:00
var modal = this.model;
if (!modal.data) {
2014-08-20 20:58:24 +08:00
def.reject("网络错误");
return;
}
2014-08-26 21:29:58 +08:00
var response = modal.data;
2014-08-20 20:58:24 +08:00
if (response.flag) {
//成功?
parser.processPassenger([p]);
2014-08-26 21:29:58 +08:00
p.total_times = response.totalTimes;
2014-08-20 20:58:24 +08:00
if (parser.canPassageAddToOrder(p)) {
sessMgr.getPassengers(function (plist) {
plist.push(p);
2014-08-26 21:29:58 +08:00
sessMgr.savePassengers();
2014-08-20 20:58:24 +08:00
sessMgr.fireEvent("addPassenger", p);
});
2014-08-26 21:29:58 +08:00
def.resolve(p);
2014-08-20 20:58:24 +08:00
} else {
2014-08-26 21:29:58 +08:00
def.reject("联系人添加成功但是未通过12306实名认证无法订票。");
2014-08-20 20:58:24 +08:00
}
} else {
2014-08-26 21:29:58 +08:00
def.reject((response && response.message) || "网络错误");
2014-08-20 20:58:24 +08:00
}
}).fail(function () {
def.reject(this + '');
});
return def.promise();
};
return {
2014-08-26 21:29:58 +08:00
fastAddPassenger: fastAddPassenger
2014-08-20 20:58:24 +08:00
}
});