register-controller.js 6.42 KB
/**
 * 注册-首页
 */
define(
    "user/register-controller",
    [
        'mk7/controller',
        'mk7/url',
        'mk7/utils',
        'mk7/uploadjs',
    ],

    function(ctrl, url, utils, uploadjs) {

        var $$ = Dom7;
        var t7 = Template7;
        var ctrl = new ctrl();

        var registerUrl = '/user/login/register';
        var uploadURL = '/user/default/upload-file';
        var getCodeURL = '/user/login/get-code';
        var loginURL = '/user/login/do-login';
        var clickGetCode = true;
        var registerClick = true;
        var tt = null
        ctrl.run = function () {
            var me = this;
            me.setPageTitle("注册");
            //me.hideAllNonBaseMenuItem(window.$site);
            me.codeDuration = 60;
            if (!isGuest) {
                window.location.href = url.to('order/#index');
                return '';
            }
            me.render();
        }
        ctrl.bindEvents = function () {
            var me = this;
            console.log("bindEvents");
            me.uploadEvent();
            me.getCodeEvent();
            me.registerEvent();
            me.gotoLoginEvent();
        }
        ctrl.uploadEvent = function() {
            $$('#register .upload-input-cls').change(function() {
                if ('' == $$(this).val() || null == $$(this).val()) {
                    return ;
                }
                var id = $$(this).attr('id');
                var parent = $$(this).parent();
                uploadjs.uploadFile({
                    selector:'#'+id,
                    url:url.to(uploadURL),
                    processAppendTo:'#register',
                    success:function(response, e) {
                        try {
                            if(response.success) {
                                var imgUrl = response.tmpUrl;
                                parent.css("background-image", 'url('+response.tmpMinUrl+')');
                                parent.attr('data', response.tmpFile);
                                parent.attr('data-url', imgUrl);

                            } else {
                                utils.toast({content:response.message, closeDelay:5000});
                            }
                        } catch(ex) {

                            utils.toast({content:'出错', closeDelay:5000});
                        }
                    }
                });
            })
        }
        ctrl.getCodeEvent = function() {
            var me = this;
            $$('#register .get-code-cls').click(function() {
                var mobile = utils.trim($$('#register .mobile').val());
                if ('' == mobile) {
                    utils.toast({content:'手机号码必填'})
                    return false;
                }
                if (!utils.isMobile(mobile)) {
                    utils.toast({content:'手机号码不合格'})
                    return false;
                }
                if (false == clickGetCode) {
                    return false;
                }
                clearInterval(tt);
                clickGetCode = false;

                var pData = me.csrf({action:'register', mobile:mobile})
                utils.httpGet(url.to(getCodeURL), pData, function(res) {
                    if (!res.success) {
                        utils.toast({content:res.message,closeDelay:3000})
                        clickGetCode = true;
                        return false;
                    }
                    utils.toast({content:res.message});
                    if(res.testCode) {
                        $$('#register .code').val(res.testCode);
                    }
                    var codeDuration = res.codeDuration
                    me.codeDuration = codeDuration;
                    tt = setInterval(function(e) {
                        me.codeDuration--;
                        if (0 == me.codeDuration) {
                            $$('#register .get-code-cls').html('获取验证码');
                            clearInterval(tt);
                            me.codeDuration = codeDuration;
                            clickGetCode = true;
                        } else {
                            $$('#register .get-code-cls').html('<span class="count-down-cls">' +me.codeDuration+'s后重新获取</span>');
                        }
                    }, 1000)
                })
            })
        }
        ctrl.registerEvent = function() {
            var me = this;
            $$('#register .register-btn').click(function(e) {
                var name = utils.trim($$('#register .name').val());
                var mobile = utils.trim($$('#register .mobile').val());
                var code = utils.trim($$('#register .code').val());
                if ('' == name) {
                    utils.toast({content:'车厂名称必填'})
                    return false;
                }
                if ('' == mobile) {
                    utils.toast({content:'手机号码必填'})
                    return false;
                }
                if (!utils.isMobile(mobile)) {
                    utils.toast({content:'手机号码不合格'})
                    return false;
                }
                if ('' == code) {
                    utils.toast({content:'验证码必填'})
                    return false;
                }

                var licensePic = $$('#register .licensePic').attr('data');
                if (undefined === licensePic || null == licensePic) {
                    utils.toast({content:'请上传营业执照'})
                    return false;
                }
                if (false == registerClick) {
                    return false;
                }
                registerClick = false;
                var pData = me.csrf({name:name, mobile:mobile,code:code,licensePic:licensePic})
                utils.httpPost(url.to(registerUrl),pData, function(res) {
                    if (!res.success) {
                        utils.toast({content:res.message,closeDelay:3000})
                        registerClick = true;
                        return false;
                    } else {
                        window.location.href = url.to('order/#index');
                    }
                })
            })
        }
        ctrl.gotoLoginEvent = function() {
            $$('#register .login-btn').click(function(e){
                window.location.href = url.to('user/#login');
            })
        }
        return ctrl;
    }
);