|
@@ -0,0 +1,323 @@
|
|
|
+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: {
|
|
|
+ openFullScreen() {
|
|
|
+ const loading = this.$loading({
|
|
|
+ lock: true,
|
|
|
+ text: 'Loading',
|
|
|
+ spinner: 'el-icon-loading',
|
|
|
+ background: 'rgba(0, 0, 0, 0.7)'
|
|
|
+ });
|
|
|
+ setTimeout(() => {
|
|
|
+ loading.close();
|
|
|
+ }, 2000);
|
|
|
+ },
|
|
|
+ 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
|
|
|
+ };
|
|
|
+ _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('<div class="model"><div class="refresh-div"><img class="refresh" src="/img/base/shua.png" alt=""><p>二维码已失效,点击刷新</p></div></div>');
|
|
|
+ $('#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
|
|
|
+ };
|
|
|
+ _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
|
|
|
+ };
|
|
|
+ _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 () {
|
|
|
+ this.openFullScreen()
|
|
|
+ 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();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+});
|