var loginPage = new Vue({
el: "#loginPage",
data: {
maxtime:60,
loginLoading: false,
qrCodeLogin: false,
loginAccount: '',
loginPassword: '',
rule:{
account: "(^([\\w-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$)|(^\\d{6,12}$)",
password: "^[^\\u4e00-\\u9fa5]{6,30}$"
},
userData: {
account: '',
email: '',
phone: '',
name: '',
userName: '',
userId: '',
spId: '',
clubId: '',
shopId: '',
identity: '',
permission: '',
token: ''
}
},
computed: {
},
methods: {
toQrCodeLogin: function(){//切换微信登录二维码
var _self = this;
var timeClock = null;
this.qrCodeLogin = true;
UserApi.ToWechatLogin({},function(response){
var wxLogin = new WxLogin({
self_redirect: true,
id: "qrCodeWrap",
appid: response.data.AppId,
scope: 'snsapi_login',
redirect_uri: response.data.redirect_uri,
state: response.data.state,
style: "black",
href: "https://www-b.caimei365.com/web/login/css/login.css"
});
timeClock = setInterval(function(){
_self.maxtime--;
if (_self.maxtime == 0) {
clearInterval(timeClock);
};
},1000);
_self.getWrchatStatusData({uuid:response.data.state})
});
},
getWrchatStatusData:function(params){//轮询查询用户是否扫描过二维码登录
var _self = this;
var timer = null;
UserApi.ToWechatPolling(params,function(response){
if(response.code == -90){
if(_self.maxtime == 0){
clearInterval(timer);
_self.maxtime = 60;
$('#qrCodeWrap').append('

二维码已失效,点击刷新
');
$('#qrCodeWrap .model').click(function () {
$(this).remove();
_self.toQrCodeLogin();
})
}else{
timer = setTimeout(function(){
_self.getWrchatStatusData(params);
},3000)
}
}else {
clearTimeout(timer); //清理定时任务
if(response.code == 0){
_self.userData = {
account: response.data.account,
email: response.data.email,
phone: response.data.bindMobile,
name: response.data.name,
userName: response.data.userName,
userId: response.data.userID,
spId: response.data.serviceProviderID,
clubId: response.data.clubID,
shopId: response.data.shopID,
identity: response.data.userIdentity,
permission: response.data.userPermission,
token: response.data.token
};
_self.setStorages( _self.userData);
}else if(response.code == -4){
window.location.href = 'binding.html';
}
}
});
},
toNormalLogin: function(){
this.qrCodeLogin = false;
},
showPassword: function(event) {
var el = event.currentTarget;
var pwdEle = $(el).siblings('input');
if(pwdEle.attr('type') === 'password') {
$(el).addClass('on');
pwdEle.attr('type','text');
} else {
$(el).removeClass('on');
pwdEle.attr('type','password');
}
},
blurHandle: function(event) { // 失去焦点校验
var el = event.currentTarget;
verifyHandle(el);
},
loginSubmit: function () { // 账号登录
var _self = this;
var pass = verifyForm();
if (this.loginLoading) { return false; }
this.$nextTick(function(){
if (!pass) { return false; }
_self.loginLoading = true;
var params = {mobileOrEmail: _self.loginAccount,password: _self.loginPassword,source: 'www'};
UserApi.PostLoginAccount(params,function(response){
_self.loginLoading = false;
if(response.code === 0){
_self.userData = {
account: response.data.account,
email: response.data.email,
phone: response.data.bindMobile,
name: response.data.name,
userName: response.data.userName,
userId: response.data.userID,
spId: response.data.serviceProviderID,
clubId: response.data.clubID,
shopId: response.data.shopID,
identity: response.data.userIdentity,
permission: response.data.userPermission,
token: response.data.token
};
_self.setStorages( _self.userData);
// 登录成功页面跳转
var beforePath = localStorage.getItem("loginBeforePath");
if (beforePath) {
window.location.href = beforePath;
}else{
window.location.href = '/index.html';
}
} else {// 登录失败
alertInfo(response.msg);
}
});
});
},
setStorages:function(data){//存储本地数据
localStorage.setItem('userInfo',JSON.stringify(data));
}
},
created: function () {
},
mounted: function () {
var _self = this;
$('body').on("focus",'[needverify]:visible',function(){
$(this).siblings('.errTips').removeClass("show").siblings('.checked').removeClass("show");
});
//enter键登录
$(document).keyup(function (e) {
var e = e || event;
e.stopPropagation();
if (e.keyCode === 13) {
_self.loginSubmit();
}
});
}
});