Light12306/Web12306/js/ui/widget_verifycode.js

74 lines
2.5 KiB
JavaScript
Raw Normal View History

2014-06-12 21:36:05 +08:00
define(function (require, exports, module) {
var ajax = require("../platform/webRequest.js");
exports.data = {
login: {
url: "passcodeNew/getPassCodeNew?module=login&rand=sjrand",
refer: "login/init"
},
order: {
2015-03-16 19:13:36 +08:00
url: "passcodeNew/getPassCodeNew?module=passenger&rand=randp&" + Math.random(),
2014-06-27 22:25:42 +08:00
refer: "confirmPassenger/initDc"
2015-03-16 19:13:36 +08:00
},
fastSubmit: {
url: "passcodeNew/getPassCodeNew?module=passenger&rand=randp&" + Math.random(),
refer: "leftTicket/init"
2014-06-12 21:36:05 +08:00
}
};
2014-07-01 20:07:44 +08:00
exports.autoLoad = function (target) {
2014-06-12 21:36:05 +08:00
if (target.is(".verify-code"))
exports.load(target);
else {
2014-07-01 20:07:44 +08:00
target.find(".verify-code").each(function () { exports.load($(this)); });
2014-06-12 21:36:05 +08:00
}
};
exports.load = function (target) {
var type = target.attr("data-target");
var config = exports.data[type];
2015-03-16 19:13:36 +08:00
var imageEle = target.find("img");
//var imageEle = target.find("span");
2014-06-12 21:36:05 +08:00
2015-03-16 19:13:36 +08:00
//imageEle.css({ "background-image": "url(/images/loading.gif)", "background-size": "auto" });
imageEle.attr({ "src": "/images/loading.gif" });
imageEle.trigger("verifyCodeOnLoad");
2014-06-12 21:36:05 +08:00
ajax.loadImage(config.url, config.refer, function (e) {
2015-06-05 17:40:30 +08:00
if (this.url.indexOf("base64,eyJ2YWxpZGF0ZU1lc3") !== -1 || this.url.indexOf("data:image/jpeg;base64,=") !== -1) {
//网络繁忙
//重试
2015-03-16 19:13:36 +08:00
setTimeout(function () {
exports.load(target);
}, 1000);
} else {
2015-03-16 19:13:36 +08:00
//imageEle.css({ "background-image": "url(" + this.url + ")", "background-size": "100% 100%" });
imageEle.attr({ "src": this.url });
imageEle.trigger("verifyCodeLoaded");
(target.is(".verify-code") ? target.closest("div, p, td") : target).find(":text, :hidden").val("");//.each(function () { this.focus(); });
}
2014-06-12 21:36:05 +08:00
}, function () {
2015-03-16 19:13:36 +08:00
//imageEle.css({ "background-image": "url(/images/loading.gif)", "background-size": "auto" });
imageEle.attr({ "src": "/images/loading.gif" });
2014-06-13 19:52:22 +08:00
document.dispatchEvent(new CustomEvent("verifyCodeLoadFailed"));
2014-06-12 21:36:05 +08:00
});
};
exports.refresh = function (target, delay) {
function reloadCode() {
if (target.is(".verify-code"))
exports.load(target);
else {
target.find(".verify-code").each(function () { exports.load($(this)); });
}
}
if (delay) {
2015-03-16 19:13:36 +08:00
target.find("img").attr({ "src": "/images/loading.gif" });
//target.find("span").css({ "background-image": "url(/images/loading.gif)", "background-size": "auto" });
2015-06-05 17:40:30 +08:00
setTimeout(reloadCode, delay);
} else {
reloadCode();
2014-06-12 21:36:05 +08:00
}
};
exports.init = function () {
2015-03-16 19:13:36 +08:00
$(document).on("click", ".verify-code .refresh-vc", function () {
2014-06-12 21:36:05 +08:00
exports.load($(this).closest(".verify-code"));
});
};
});