Light12306/Web12306/js/otn/passenger.js
2014-08-26 21:29:58 +08:00

54 lines
1.3 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 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,
country_code: countryCode || "CN"
};
var request = ajax.sendPost("passengers/realAdd", "confirmPassenger/initDc", p);
request.done(function () {
var modal = this.model;
if (!modal.data) {
def.reject("网络错误");
return;
}
var response = modal.data;
if (response.flag) {
//成功?
parser.processPassenger([p]);
p.total_times = response.totalTimes;
if (parser.canPassageAddToOrder(p)) {
sessMgr.getPassengers(function (plist) {
plist.push(p);
sessMgr.savePassengers();
sessMgr.fireEvent("addPassenger", p);
});
def.resolve(p);
} else {
def.reject("联系人添加成功但是未通过12306实名认证无法订票。");
}
} else {
def.reject((response && response.message) || "网络错误");
}
}).fail(function () {
def.reject(this + '');
});
return def.promise();
};
return {
fastAddPassenger: fastAddPassenger
}
});