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: { url: "passcodeNew/getPassCodeNew?module=passenger&rand=randp&" + Math.random(), refer: "confirmPassenger/initDc" }, fastSubmit: { url: "passcodeNew/getPassCodeNew?module=passenger&rand=randp&" + Math.random(), refer: "leftTicket/init" } }; exports.autoLoad = function (target) { if (target.is(".verify-code")) exports.load(target); else { target.find(".verify-code").each(function () { exports.load($(this)); }); } }; exports.load = function (target) { var type = target.attr("data-target"); var config = exports.data[type]; var imageEle = target.find("img"); //var imageEle = target.find("span"); //imageEle.css({ "background-image": "url(/images/loading.gif)", "background-size": "auto" }); imageEle.attr({ "src": "/images/loading.gif" }); imageEle.trigger("verifyCodeOnLoad"); ajax.loadImage(config.url, config.refer, function (e) { if (this.url.indexOf("base64,eyJ2YWxpZGF0ZU1lc3") !== -1 || this.url.indexOf("data:image/jpeg;base64,=") !== -1) { //网络繁忙 //重试 setTimeout(function () { exports.load(target); }, 1000); } else { //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(); }); } }, function () { //imageEle.css({ "background-image": "url(/images/loading.gif)", "background-size": "auto" }); imageEle.attr({ "src": "/images/loading.gif" }); document.dispatchEvent(new CustomEvent("verifyCodeLoadFailed")); }); }; 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) { target.find("img").attr({ "src": "/images/loading.gif" }); //target.find("span").css({ "background-image": "url(/images/loading.gif)", "background-size": "auto" }); setTimeout(reloadCode, delay); } else { reloadCode(); } }; exports.init = function () { $(document).on("click", ".verify-code .refresh-vc", function () { exports.load($(this).closest(".verify-code")); }); }; });