| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 | define(['fast', 'template', 'moment'], function (Fast, Template, Moment) {    var Frontend = {        api: Fast.api,        init: function () {            var si = {};            //发送验证码            $(document).on("click", ".btn-captcha", function (e) {                var type = $(this).data("type") ? $(this).data("type") : 'mobile';                var btn = this;                Frontend.api.sendcaptcha = function (btn, type, data, callback) {                    $(btn).addClass("disabled", true).text("发送中...");                    Frontend.api.ajax({url: $(btn).data("url"), data: data}, function (data, ret) {                        clearInterval(si[type]);                        var seconds = 60;                        si[type] = setInterval(function () {                            seconds--;                            if (seconds <= 0) {                                clearInterval(si);                                $(btn).removeClass("disabled").text("发送验证码");                            } else {                                $(btn).addClass("disabled").text(seconds + "秒后可再次发送");                            }                        }, 1000);                        if (typeof callback == 'function') {                            callback.call(this, data, ret);                        }                    }, function () {                        $(btn).removeClass("disabled").text('发送验证码');                    });                };                if (['mobile', 'email'].indexOf(type) > -1) {                    var element = $(this).data("input-id") ? $("#" + $(this).data("input-id")) : $("input[name='" + type + "']", $(this).closest("form"));                    var text = type === 'email' ? '邮箱' : '手机号码';                    if (element.val() === "") {                        Layer.msg(text + "不能为空!");                        element.focus();                        return false;                    } else if (type === 'mobile' && !element.val().match(/^1[3-9]\d{9}$/)) {                        Layer.msg("请输入正确的" + text + "!");                        element.focus();                        return false;                    } else if (type === 'email' && !element.val().match(/^[\w\+\-]+(\.[\w\+\-]+)*@[a-z\d\-]+(\.[a-z\d\-]+)*\.([a-z]{2,4})$/)) {                        Layer.msg("请输入正确的" + text + "!");                        element.focus();                        return false;                    }                    element.isValid(function (v) {                        if (v) {                            var data = {event: $(btn).data("event")};                            data[type] = element.val();                            Frontend.api.sendcaptcha(btn, type, data);                        } else {                            Layer.msg("请确认已经输入了正确的" + text + "!");                        }                    });                } else {                    var data = {event: $(btn).data("event")};                    Frontend.api.sendcaptcha(btn, type, data, function (data, ret) {                        Layer.open({title: false, area: ["400px", "430px"], content: "<img src='" + data.image + "' width='400' height='400' /><div class='text-center panel-title'>扫一扫关注公众号获取验证码</div>", type: 1});                    });                }                return false;            });            //tooltip和popover            if (!('ontouchstart' in document.documentElement)) {                $('body').tooltip({selector: '[data-toggle="tooltip"]'});            }            $('body').popover({selector: '[data-toggle="popover"]'});            // 手机端左右滑动切换菜单栏            if ('ontouchstart' in document.documentElement) {                var startX, startY, moveEndX, moveEndY, relativeX, relativeY, element;                element = $('body', document);                element.on("touchstart", function (e) {                    startX = e.originalEvent.changedTouches[0].pageX;                    startY = e.originalEvent.changedTouches[0].pageY;                });                element.on("touchend", function (e) {                    moveEndX = e.originalEvent.changedTouches[0].pageX;                    moveEndY = e.originalEvent.changedTouches[0].pageY;                    relativeX = moveEndX - startX;                    relativeY = moveEndY - startY;                    // 判断标准                    //右滑                    if (relativeX > 45) {                        if ((Math.abs(relativeX) - Math.abs(relativeY)) > 50) {                            element.addClass("sidebar-open");                        }                    }                    //左滑                    else if (relativeX < -45) {                        if ((Math.abs(relativeX) - Math.abs(relativeY)) > 50) {                            element.removeClass("sidebar-open");                        }                    }                });            }            $(document).on("click", ".sidebar-toggle", function () {                $("body").toggleClass("sidebar-open");            });        }    };    Frontend.api = $.extend(Fast.api, Frontend.api);    //将Template渲染至全局,以便于在子框架中调用    window.Template = Template;    //将Moment渲染至全局,以便于在子框架中调用    window.Moment = Moment;    //将Frontend渲染至全局,以便于在子框架中调用    window.Frontend = Frontend;    Frontend.init();    return Frontend;});
 |