interational.js 2.35 KB
/**
 * 国际账号登录
 * @author: xuqi<qi.xu@yoho.cn>
 * @date: 2015/10/8
 */
var $ = require('yoho.zepto');

var $phoneNum = $('#phone-num'),
    $countrySelect = $('#country-select'),
    $countryCode = $('#country-code'),
    $pwd = $('#pwd'),
    $loginBtn = $('#btn-login'),

    pnPass = false,
    pwdPass = false;

var api = require('../api');
var tip = require('../../plugin/tip');

var trim = $.trim;
var showErrTip = tip.show;

//登录按钮状态切换
function switchLoginBtnStatus() {
    if (pnPass && pwdPass) {
        $loginBtn.removeClass('disable');
    } else {
        $loginBtn.addClass('disable');
    }
}

//Android-UC下显示select的direction:rtl无效的临时解决办法
api.selectCssHack($countrySelect);

//显示隐藏密码
api.bindEyesEvt();

//清空手机号码
api.bindClearEvt();

$phoneNum.bind('input', function() {
    if (trim($phoneNum.val()) === '') {
        pnPass = false;
    } else {
        pnPass = true;
    }

    switchLoginBtnStatus();
});

$pwd.bind('input', function() {
    var pwd = trim($pwd.val());

    if (pwd === '') {
        pwdPass = false;
    } else {
        pwdPass = true;
    }

    switchLoginBtnStatus();
});

$countrySelect.change(function() {
    $countryCode.text($countrySelect.val());
});

$loginBtn.on('touchstart', function() {
    var pn = trim($phoneNum.val()),
        country = $countrySelect.val(),
        pwd = trim($pwd.val());

    if ($loginBtn.hasClass('disable')) {
        return;
    }

    if (api.phoneRegx[country].test(pn) && api.pwdValidate(pwd)) {
        $.ajax({
            type: 'POST',
            url: '/passport/signin/auth',
            data: {
                area: country.split('+')[1],
                account: pn,
                pwd: pwd
            }
        }).then(function(data) {
            if (data.code === 200) {
                showErrTip('登录成功');

                //1000ms后跳转页面
                setTimeout(function() {
                    location.href = data.data;
                }, 1000);
            } else {
                showErrTip(data.message);
            }
        }, function() {
            showErrTip('网络断开连接啦~');
        });
    } else {
        showErrTip('账号或密码有错误,请重新输入');
    }
});

//对初始有默认值的情况去初始化登录按钮状态
$phoneNum.trigger('input');
$pwd.trigger('input');