var loginPage = new Vue({
el: "#loginPage",
mixins: [cmSysVitaMixins,loginMixins],
data: {
maxtime:60,
loginLoading: false,
qrCodeLogin: false,
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}$",
phone: '^\\d{6,12}$',
code: '^\\d{6}$',
mobile:'^1[1-9][0-9]{9}$'
},
userData: {
account: '',
email: '',
phone: '',
name: '',
userName: '',
userId: '',
spId: '',
clubId: '',
shopId: '',
identity: '',
permission: '',
token: ''
},
applyUse:{
clubId: '',
shopId: '',
token:'',
},
isWeChat: false,
text:'',
stautsfalse:false,
infofalse:false,
isSlideFinishState:true,
loginTabs:0,
mobilCount:0,
mobileCodeText:'获取验证码',
mobilTime:null,
isMobileDisabled:false,
slideVerify:null
},
computed: {
},
methods: {
handleTabsClick(index){
const _self = this;
this.loginTabs = index;
clearAllErrorTxt($('input'));
if(index === 1){
this.isSlideFinishState = true
this.initSlideVerify()
}
},
handleHideBg(){
this.stautsfalse=false;
},
userUpdataeStatus(response){// 更新登录
const _self = this;
_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,
userIdentity: response.data.userIdentity,
permission: response.data.userPermission,
token: response.data.token,
vipFlag: response.data.vipFlag,
firstClubType: response.data.firstClubType,
listingFee:response.data.listingFee,
shopIsOrder:response.data.shopIsOrder
};
_self.setStorages( _self.userData);
// 登录成功页面跳转
var loginBeforePath = getBaseCookie("loginBeforePath");
if (loginBeforePath && loginBeforePath!=='undefined' && loginBeforePath.indexOf('.html')>0) {
delBaseCookie("loginBeforePath");
window.location.href = loginBeforePath;
} else if (_self.userData.userIdentity*1 === 3) {
location.href = '/supplier/dashboard.html';
} else if (_self.userData.userIdentity*1 === 2 || _self.userData.userIdentity*1 === 4) {
location.href = '/user/dashboard.html';
} else {
location.href="/index.html";
}
} else if(response.code === '-3'){//审核未通过
_self.text =response.msg;
_self.stautsfalse = true;
_self.infofalse = true;
_self.applyUse = {
userId: response.data.userId,
shopId: response.data.shopId,
token: response.data.token
};
}else if(response.code === '-2'){
_self.stautsfalse = true;
_self.text =response.msg;
}else {// 登录失败
CAIMEI.Alert(response.msg,'确定',false);
}
},
toQrCodeLogin(){//切换微信登录二维码
const _self = this;
let timeClock = null;
this.qrCodeLogin = true;
UserApi.ToWechatLogin({},function(response){
const wxLogin = new WxLogin({
self_redirect: true,
id: "qrCodeWrap",
appid: response.data.appId,
scope: 'snsapi_login',
redirect_uri: response.data.redirectUri,
state: response.data.state,
style: "black",
href: "https://www.caimei365.com/css/base/base.pc.css"
});
timeClock = setInterval(function(){
_self.maxtime--;
if (_self.maxtime === 0) {
clearInterval(timeClock);
}
},1000);
_self.getWrchatStatusData({state:response.data.state})
});
},
getWrchatStatusData(params){//轮询查询用户是否扫描过二维码登录
const _self = this;
let 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,
userIdentity: response.data.userIdentity,
permission: response.data.userPermission,
token: response.data.token,
unionId:response.data.unionId,
firstClubType:response.data.firstClubType,
vipFlag: response.data.vipFlag,
listingFee:response.data.listingFee,
shopIsOrder:response.data.shopIsOrder
};
_self.setStorages( _self.userData);
// 登录成功页面跳转
var loginBeforePath = getBaseCookie("loginBeforePath");
if (loginBeforePath && loginBeforePath!=='undefined' && loginBeforePath.indexOf('.html')>0) {
delBaseCookie("loginBeforePath");
window.location.href = loginBeforePath;
} else if (_self.userData.userIdentity*1 === 3) {
location.href = '/supplier/dashboard.html';
} else if (_self.userData.userIdentity*1 === 2 || _self.userData.userIdentity*1 === 4) {
location.href = '/user/dashboard.html';
} else {
location.href="/index.html";
}
}else if(response.code === -4){
_self.userData = {
account: response.data.account,
email: response.data.email,
phone: response.data.bindMobile,
name: response.data.name ? response.data.name : response.data.userName,
userName: response.data.userName,
userId: response.data.userId,
spId: response.data.serviceProviderId,
clubId: response.data.clubId,
shopId: response.data.shopId,
userIdentity: response.data.userIdentity,
permission: response.data.userPermission,
token: response.data.token,
unionId:response.data.unionId,
listingFee:response.data.listingFee,
shopIsOrder:response.data.shopIsOrder
};
_self.setStorages( _self.userData);
setTimeout(function(){
window.location.href = '/bind.html';
},1000);
}else if(response.code === '-3'){//审核未通过
_self.text ='您的供应商账号审核未通过,原因:图片模糊,营业执照错误,审核人员在后台填写的内容';
_self.stautsfalse = true;
_self.infofalse = true;
_self.applyUse = {
userId: response.data.userId,
shopId: response.data.shopId,
token: response.data.token
};
console.log(_self.applyUse);
}else if(response.code === '-2'){
_self.stautsfalse = true;
_self.text ='您的供应商账号正在加速审核中,审核通过后即可登录';
}else{
CAIMEI.Alert(response.msg,'确定',false);
}
}
});
},
handleWeChatLogin(){
// 微信公众号授权登录
if (this.isWeChat) {
// 微信浏览器自动授权登录
var urlForWeChat = 'https://www.caimei365.com/we_chat/redirect_uri.html';
$.get(coreServer+'/user/login/auth/link?mode=2&redirectUri='+urlForWeChat, function(r){
if(r.code===0 && r.data){
setBaseCookie("weChatAutoLogin", 2);
window.location.href = r.data;
}
});
}
},
toNormalLogin(){
this.qrCodeLogin = false;
},
showPassword(event) {
const el = event.currentTarget;
const 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(event) { // 失去焦点校验
const el = event.currentTarget;
verifyHandle(el);
},
SetSoragesInfo(data){
localStorage.setItem('APPLY_INFO',JSON.stringify(data));
},
setStorages(data){//存储本地数据
localStorage.setItem('userInfo',JSON.stringify(data));
},
information(){
window.location.href='/supplier/information.html';
this.SetSoragesInfo( this.applyUse);
},
initSlideVerify(){
const _self = this
this.$nextTick(function (){
const SlideVerifyPlug = window.slideVerifyPlug;
$('#verify-wrap').html('')
const slideVerify = new SlideVerifyPlug('#verify-wrap', {
wrapWidth: '350',//设置 容器的宽度 ,不设置的话,会设置成100%,需要自己在外层包层div,设置宽度,这是为了适应方便点;
initText: '请向右滑动滑块', //设置 初始的 显示文字
sucessText: '验证通过',//设置 验证通过 显示的文字
getSuccessState: function (res) {
//当验证完成的时候 会 返回 res 值 true,只留了这个应该够用了
if (slideVerify.slideFinishState) {
$('.value').html(slideVerify.slideFinishState)
$('#resetBtn').removeClass('prohibit')
_self.isSlideFinishState = false;
}
}
});
})
}
},
created: function () {
const userAgent = navigator.userAgent.toLowerCase();
this.isWeChat = userAgent.match(/MicroMessenger/i);
this.initSlideVerify();
},
mounted: function () {
const _self = this;
$('body').on("focus",'[needverify]:visible',function(){
$(this).siblings('.errTips').removeClass("show").siblings('.checked').removeClass("show");
});
//enter键登录
if(!_self.isSlideFinishState){
$(document).keyup(function (e) {
var e = e || event;
e.stopPropagation();
if (e.keyCode === 13) {
_self.loginSubmit();
}
});
}
}
});