添加部分接口
This commit is contained in:
parent
3550302bfc
commit
06a22c3017
@ -43,6 +43,9 @@
|
||||
var callid = 0;
|
||||
|
||||
window.fishXhrLoadCallback = function (obj) {
|
||||
if (typeof (obj) === "string")
|
||||
obj = JSON.parse(obj);
|
||||
|
||||
var def = queue[obj.id];
|
||||
if (!def)
|
||||
return;
|
||||
@ -57,19 +60,20 @@
|
||||
}
|
||||
|
||||
delete queue[obj.id];
|
||||
alert(obj.success);
|
||||
if (obj.success) {
|
||||
$.resolve(obj.result, {
|
||||
def.resolve(obj.result, {
|
||||
headers: obj.headers,
|
||||
statusCode: obj.statusCode,
|
||||
statusDescription: obj.statusDescription,
|
||||
id: def.id
|
||||
id: obj.id
|
||||
});
|
||||
} else {
|
||||
$.reject(obj.result, {
|
||||
def.reject(obj.result, {
|
||||
headers: obj.headers,
|
||||
statusCode: obj.statusCode,
|
||||
statusDescription: obj.statusDescription,
|
||||
id: def.id
|
||||
id: obj.id
|
||||
});
|
||||
}
|
||||
};
|
||||
@ -98,7 +102,7 @@
|
||||
returnType: def.rawResultType === "image" ? "image" : "text"
|
||||
};
|
||||
queue[def.context.id] = def;
|
||||
window.__TicketJavaScriptObject__.sendRequest(def.context);
|
||||
window.__TicketJavaScriptObject__.sendRequest(JSON.stringify(def.context));
|
||||
|
||||
return def.promise();
|
||||
};
|
||||
@ -108,15 +112,15 @@
|
||||
get: function () {
|
||||
var arr = [].slice.call(arguments);
|
||||
arr.unshift("GET");
|
||||
ajax.apply(this, arr);
|
||||
return ajax.apply(this, arr);
|
||||
},
|
||||
post: function () {
|
||||
var arr = [].slice.call(arguments);
|
||||
arr.unshift("POST");
|
||||
ajax.apply(this, arr);
|
||||
return ajax.apply(this, arr);
|
||||
},
|
||||
getImage: function(url, refer) {
|
||||
return ajax("GET", url, "image", null, refer);
|
||||
return return ajax("GET", url, "image", null, refer);
|
||||
}
|
||||
}
|
||||
})();
|
||||
@ -140,9 +144,9 @@
|
||||
$("#loadText").click(function () {
|
||||
lbAjax.get("https://kyfw.12306.cn/otn/login/init", "text", null, "https://kyfw.12306.cn/otn/")
|
||||
.done(function (data) {
|
||||
$("#result").html("加载成功!" + data);
|
||||
$("#result").text("加载成功!" + data);
|
||||
}).fail(function (data) {
|
||||
$("#result").html("加载失败!" + data);
|
||||
$("#result").text("加载失败!" + data);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@ -191,6 +191,7 @@
|
||||
<Content Include="js\data.js" />
|
||||
<Content Include="js\modules\doT.js" />
|
||||
<Content Include="js\otn\orderprocess.js" />
|
||||
<Content Include="js\otn\passenger.js" />
|
||||
<Content Include="js\otn\queryticket.js" />
|
||||
<Content Include="js\otn\trainfilter.js" />
|
||||
<Content Include="js\otn\trainstationsuggest.js" />
|
||||
|
@ -164,6 +164,9 @@ a:active {
|
||||
display: block;
|
||||
color: #fff;
|
||||
}
|
||||
.header-bar .user-nav li.selected > a {
|
||||
color: #f17206;
|
||||
}
|
||||
|
||||
.header-bar .user-nav li:after {
|
||||
content: '';
|
||||
|
@ -174,11 +174,11 @@
|
||||
.passenger-selector .passenger-selector-editor {
|
||||
float: left;
|
||||
margin-top: 12px;
|
||||
display: none;
|
||||
color: #8b8b8b;
|
||||
}
|
||||
|
||||
.passenger-selector .passenger-selector-editor a {
|
||||
color: #8b8b8b;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.passenger-selector .passenger-selector-editor a:hover {
|
||||
@ -186,7 +186,6 @@
|
||||
}
|
||||
|
||||
.options-param .param-array label {
|
||||
width: 170px;
|
||||
display: block;
|
||||
float: left;
|
||||
}
|
||||
|
@ -12,8 +12,10 @@
|
||||
<nav>
|
||||
<ul class="user-nav">
|
||||
<li class="selected">
|
||||
<i class="icon icon-index"></i>
|
||||
<p>抢票首页</p>
|
||||
<a href="/">
|
||||
<i class="icon icon-index"></i>
|
||||
<p>抢票首页</p>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://kyfw.12306.cn/otn/queryOrder/init" target="_blank">
|
||||
@ -238,7 +240,7 @@
|
||||
{{for(var i in it){}}
|
||||
<a href="javascript:;" class="options-seat-type-advlink">{{=i}}</a>
|
||||
{{}}}
|
||||
|
||||
|
||||
</script>
|
||||
<div>
|
||||
<table>
|
||||
@ -258,10 +260,10 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<i class="fa fa-times"></i>
|
||||
请先设置站点和日期信息,再重新查询。
|
||||
</td>
|
||||
<td colspan="6">
|
||||
<i class="fa fa-times"></i>
|
||||
请先设置站点和日期信息,再重新查询。
|
||||
</td>
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<i class="fa fa-times"></i>
|
||||
@ -304,7 +306,11 @@
|
||||
</script>
|
||||
<ul class="cl"></ul>
|
||||
<div class="passenger-selector-editor">
|
||||
<a href="javascript:;"><i class="fa fa-plus"></i> 添加</a>
|
||||
<a href="javascript:;" style="display:none;"><i class="fa fa-plus"></i> 添加</a>
|
||||
<label>
|
||||
<input type="checkbox" data-profile-key="partialSubmitEnabled" value="1" id="" />
|
||||
部分提交
|
||||
</label>
|
||||
</div>
|
||||
<div class="passenger-pager">
|
||||
<button class="passenger-pager-prev" disabled="disabled">上一页</button>
|
||||
@ -350,8 +356,6 @@
|
||||
<input type="checkbox" data-profile-key="tryBottomSeat" value="1" id="" />
|
||||
尝试预定下铺
|
||||
</label>
|
||||
</p>
|
||||
<p>
|
||||
<label>
|
||||
<input type="checkbox" data-profile-key="selectSeatFirst" value="1" id="" />
|
||||
席别优先
|
||||
@ -361,14 +365,10 @@
|
||||
自动提交
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" data-profile-key="partialSubmitEnabled" value="1" id="" />
|
||||
允许部分提交联系人
|
||||
刷新间隔
|
||||
<input type="number" data-profile-key="autoRefreshDelay" min="1" max="30" value="5" id="" title="两次自动刷新之间的时间间隔,不建议过短" />
|
||||
秒
|
||||
</label>
|
||||
<span>
|
||||
自动刷新间隔
|
||||
<input type="number" data-profile-key="autoRefreshDelay" min="1" max="30" value="5" id="" />
|
||||
秒(不建议过低)
|
||||
</span>
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
@ -909,8 +909,7 @@
|
||||
</section>
|
||||
</section>
|
||||
</script>
|
||||
<article class="chat-items">
|
||||
</article>
|
||||
<article class="chat-items"></article>
|
||||
<section class="chat-editor">
|
||||
<header>
|
||||
<input type="color" value="" class="chat-editor-color" />
|
||||
|
53
Web12306/js/otn/passenger.js
Normal file
53
Web12306/js/otn/passenger.js
Normal file
@ -0,0 +1,53 @@
|
||||
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,
|
||||
countryCode: countryCode || "CN"
|
||||
};
|
||||
|
||||
var request = ajax.sendPost("passengers/realAdd", "confirmPassenger/initDc", p);
|
||||
request.done(function () {
|
||||
if (!this.data) {
|
||||
def.reject("网络错误");
|
||||
return;
|
||||
}
|
||||
|
||||
var response = this.data;
|
||||
|
||||
if (response.flag) {
|
||||
//成功?
|
||||
parser.processPassenger([p]);
|
||||
p.totalTimes = response.totalTimes;
|
||||
if (parser.canPassageAddToOrder(p)) {
|
||||
sessMgr.getPassengers(function (plist) {
|
||||
plist.push(p);
|
||||
sessMgr.fireEvent("addPassenger", p);
|
||||
});
|
||||
def.resolve(def);
|
||||
} else {
|
||||
def.reject("联系人添加成功,但是未通过校验,无法订票。");
|
||||
}
|
||||
} else {
|
||||
def.reject((response.message + '') || "网络错误");
|
||||
}
|
||||
}).fail(function () {
|
||||
def.reject(this + '');
|
||||
});
|
||||
|
||||
return def.promise();
|
||||
};
|
||||
|
||||
return {
|
||||
fastAddPassenger: function (p) {
|
||||
|
||||
}
|
||||
}
|
||||
});
|
@ -17,6 +17,8 @@ define(function (require, exports, module) {
|
||||
return config.baseUri + url;
|
||||
};
|
||||
this.send = function (method, url, refer, data, responseType, done, failed, appendatt) {
|
||||
var def = new $.Deferred();
|
||||
|
||||
if (appendatt) {
|
||||
data = $.extend({
|
||||
_json_att: jsonAtt || ""
|
||||
@ -34,25 +36,46 @@ define(function (require, exports, module) {
|
||||
var e = new CustomEvent("ajaxproxy", { detail: { data: xhrData, index: ajaxCount++ }, cancelable: true });
|
||||
if (!document.dispatchEvent(e)) {
|
||||
requestMap[e.detail.index] = {
|
||||
done: done,
|
||||
fail: failed
|
||||
done: function () {
|
||||
var args = [].slice.call(arguments);
|
||||
done && done.apply(this, args);
|
||||
def.resolveWith(this, args);
|
||||
},
|
||||
fail: function() {
|
||||
var args = [].slice.call(arguments);
|
||||
failed && failed.apply(this, args);
|
||||
def.rejectWith(this, args);
|
||||
}
|
||||
};
|
||||
return;
|
||||
} else {
|
||||
document.dispatchEvent(new CustomEvent("requestSupportError"));
|
||||
def.rejectWith("平台错误");
|
||||
}
|
||||
|
||||
return def;
|
||||
};
|
||||
this.loadImage = function (url, refer, done, failed) {
|
||||
var def = new $.Deferred();
|
||||
var e = new CustomEvent("ajaxLoadVerifyCode", { detail: { url: that.getFullUri(url), refer: that.getFullUri(url), index: ajaxCount++ }, cancelable: true });
|
||||
if (!document.dispatchEvent(e)) {
|
||||
requestMap[e.detail.index] = {
|
||||
done: done,
|
||||
fail: failed
|
||||
done: function () {
|
||||
var args = [].slice.call(arguments);
|
||||
done && done.apply(this, args);
|
||||
def.resolveWith(this, args);
|
||||
},
|
||||
fail: function () {
|
||||
var args = [].slice.call(arguments);
|
||||
failed && failed.apply(this, args);
|
||||
def.rejectWith(this, args);
|
||||
}
|
||||
};
|
||||
return;
|
||||
} else {
|
||||
document.dispatchEvent(new CustomEvent("requestSupportError"));
|
||||
def.rejectWith("平台错误");
|
||||
}
|
||||
|
||||
return def;
|
||||
};
|
||||
this.sendGet = function (url, refer, data, responseType, done, failed, appendatt) {
|
||||
/// <summary>以GET模式发送AJAX请求</summary>
|
||||
@ -62,10 +85,12 @@ define(function (require, exports, module) {
|
||||
/// <param name="responseType">要请求的地址</param>
|
||||
/// <param name="done">完成请求的回调</param>
|
||||
/// <param name="failed">请求失败的回调</param>
|
||||
that.send("GET", url, refer, data, responseType, done, failed, appendatt);
|
||||
return that.send("GET", url, refer, data, responseType, done, failed, appendatt);
|
||||
};
|
||||
this.sendPost = function (url, refer, data, responseType, done, failed, appendatt) {
|
||||
that.send("POST", url, refer, data, responseType, done, failed, appendatt);
|
||||
var args = [].slice.call(arguments);
|
||||
args.unshift("POST");
|
||||
return that.send.apply(this, args);
|
||||
};
|
||||
|
||||
document.addEventListener("ajaxproxyfinished", function (e) {
|
||||
|
@ -3,6 +3,7 @@
|
||||
var mp = require("./widget_message_popup.js");
|
||||
var query = require("../otn/queryticket.js");
|
||||
var data = require("../data.js");
|
||||
var passenger = require("../otn/passenger.js");
|
||||
|
||||
var initPassengerEditor = function () {
|
||||
//UI组件
|
||||
@ -51,6 +52,24 @@
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
});
|
||||
uiDlg.find("label").click(function (e) {
|
||||
//设置
|
||||
var ele = $(e.target);
|
||||
var ck = ele.find(":checkbox");
|
||||
if (ck.length) {
|
||||
ck[0].checked = !ck[0].checked;
|
||||
ck.change();
|
||||
}
|
||||
var rad = ele.find(":radio");
|
||||
if (rad.length) {
|
||||
rad[0].checked = true;
|
||||
rad.change();
|
||||
}
|
||||
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
return false;
|
||||
});
|
||||
|
||||
var currentSearchKey = null;
|
||||
var currentList = null;
|
||||
@ -84,6 +103,22 @@
|
||||
uiDlg.find("button.passenger-pager-prev").prop("disabled", currentPageIndex < 2);
|
||||
uiDlg.find("button.passenger-pager-next").prop("disabled", totalpage - 1 < currentPageIndex);
|
||||
};
|
||||
var addPassenger = function (type, name, idtype, id, countryCode) {
|
||||
if (!sessmgr.isLogined) {
|
||||
mp.showMessagePopup("error", "您还没有登录哦!");
|
||||
return;
|
||||
}
|
||||
|
||||
var def = passenger.fastAddPassenger.apply(this, [].slice.call(arguments));
|
||||
def.fail(function (msg) {
|
||||
mp.showMessagePopup("error", msg);
|
||||
});
|
||||
def.done(function (p) {
|
||||
if (exports.addPassengerToList(p))
|
||||
mp.showMessagePopup("error", "联系人已经添加成功!");
|
||||
});
|
||||
};
|
||||
|
||||
uiDlg.find("button.passenger-pager-prev").click(function () {
|
||||
currentPageIndex--;
|
||||
renderPage();
|
||||
@ -145,6 +180,7 @@
|
||||
|
||||
sessmgr.on("sessionChanged", resetList);
|
||||
sessmgr.on("currentProfileChanged", resetList);
|
||||
sessmgr.on("addPassenger", performSearch);
|
||||
|
||||
exports.addPassengerToList = function (p) {
|
||||
var cp = sessmgr.currentProfile;
|
||||
@ -272,7 +308,7 @@
|
||||
container.append(listTpl(cp.selectedTrain));
|
||||
}
|
||||
};
|
||||
var filterList = function() {
|
||||
var filterList = function () {
|
||||
var key = inputObj.val();
|
||||
if (!key) {
|
||||
queryErrorRow.nextAll().show();
|
||||
@ -302,7 +338,7 @@
|
||||
exports.addTrainToList(s);
|
||||
this.value = "";
|
||||
}
|
||||
}).on("input", function() {
|
||||
}).on("input", function () {
|
||||
filterList();
|
||||
});
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user