togoin.js 9.94 KB
var t = require("../../utils/common.js");
const app=getApp();
var os = app.globalData.setting;
var regeneratorRuntime = require('../../utils/runtime.js');

Page({
  data: {
    user:null,
	show_bind:0,
	imghots: os.imghost,
	store_logo:'',
	first_leader:'',   //-- 邀请人 --
	config2:null,
  },
  onLoad: function (options) {
	  if (wx.getUserProfile) {
	        this.setData({
	          canIUseGetUserProfile: true
	        })
	  }

	   getApp().globalData.isLoad_ad=1;
	   //--判断是否有接受到邀请人的ID--
	   if(options.first_leader){
	       this.setData({first_leader:options.first_leader});
	   }else if(getApp().globalData.first_leader){
		   this.setData({first_leader:getApp().globalData.first_leader});
	   }
	   var th=this;
	   app.getConfig(function (e) {
		    var logo=th.data.imghots+e.store_logo;
	        th.setData({ store: e,store_logo:logo});
	   })

	   //判断注册的条件
	   app.getConfig2(function (e) {
	   		if(e.reg_type==1){
				var arr=JSON.parse(e.reg_info);
				if(arr['name_state']==1) th.data.name_need_go=1;
				if(arr['birthday_state']==1) th.data.birth_need_go=1;
				if(arr['idcard_state']==1) th.data.idcard_need_go=1;
				if(arr['address_state']==1) th.data.address_need_go=1;
				if(arr['pick_state']==1) th.data.pick_need_go=1;
				if(arr['sex_state']==1) th.data.sex_need_go=1;
				if(arr['introducer_state']==1) th.data.introducer_need_go=1;
			}
	   },1)

	  getApp().promiseGet("/api/wx/weappSendlist/page", {
		  data: {
			  store_id: os.stoid,
			  typeid: "1007"
		  }}).then(res=>{
		  if (res.data.code == 0 && res.data.data.pageData.length > 0) {
			  var template_id = res.data.data.pageData[0].template_id;
			  th.setData({template_id:template_id});
		  }
	  })
  },


  //绑定手机号
  getphone:function (e) {
	//接下来写业务代码登录
	e=e.detail;
	if (e.encryptedData==undefined){
		 this.setData({show_bind:0})
		 return app.my_warnning("登录需要授权手机号码!", 0, this);
	     return false;
	}
    var th=this;
    var sessionKey = getApp().globalData.sessionKey;
    var openid = getApp().globalData.openid;
	var r=getApp().globalData.getu;

	if(e){
		wx.showModal({
			title: '授权通知',
			content:'是否接受注册成功通知',
			success(res){
				if(res.confirm){
					th.sendsm(function (){
						th.save_the_data(r,e,sessionKey,openid)
					})
				}else if(res.cancel){
					th.save_the_data(r,e,sessionKey,openid)
				}
			}

		})
	}


  },
	requestSubscribe(){

	},

  //-- 会员授权 --
  bindGetUserInfo: function(ee) {
		if(!this.data.isAgree) {
			wx.showToast({
				title: '请您先阅读和勾选指定的内容',
				icon: 'none',
			});
			return false;
		}
    var that = this;
	//-- 点击授权 --
	that.getUserProfile(function(res){
		var user=res;
		//--拿下code--
		wx.login({
		  success: function (o) {
		    var dd = {
		      js_code:o.code,
			  store_id: os.stoid,
			  nickname: app.clear_word(app.globalData.getu.nickName),
			  head_pic: app.clear_word(app.globalData.getu.avatarUrl)
		    };
			//-- 导购会员ID --
			if(getApp().globalData.guide_id){
				dd.guide_id=getApp().globalData.guide_id;
			}

		    getApp().request.get("/api/weshop/users/openidandkey", {
		      data: dd,
		      success: function (e) {
		         if(e.data.code==0){
					 that.setData({user:user})
		             //如果有会员的话,没有sessionKey
		             if(!e.data.data.sessionKey){
						 getApp().showWarning("登录成功");
		                 getApp().globalData.userInfo=e.data.data;
						 getApp().globalData.user_id=e.data.data.user_id;
						 getApp().globalData.openid = e.data.data.weapp_openid;
						 //把会员的信息存在内存
						 wx.setStorageSync("userinfo",e.data.data);

		                 setTimeout(function () {
                             getApp().globalData.login_back=1;
		                     wx.navigateBack({ delta: 1})  //返回上一页
		                 },1000)
		             }else{
		                getApp().globalData.sessionKey=e.data.data.sessionKey;
		                getApp().globalData.openid=e.data.data.openid;
						that.setData({show_bind:1});
		             }
		         }else{
					   getApp().confirmBox(e.data.msg);
				 }
		      }
		    });
		  }
		})

	})
  },

  //-- 调整后的获取会员信息 --
  getUserProfile:function(func){
	  var that=this;
	  wx.getUserProfile({
	      desc:'获取用户相关信息',
	      success:res=>{
			  console.log("getUserProfile",res);
			  //此处授权得到userInfo
			  getApp().globalData.getu = res.userInfo;
			  func(res.userInfo);
	      }
	  });
  },

  //暂不登录,返回上一页
  cancle_bind:function () {
     wx.navigateBack({ delta: 1})
  },

  close_pop:function(){
	  this.setData({show_bind:0})
  },
  show_bind_mobile:function(){
	  let th=this;
	  th.sendsm(function (){
		  th.setData({show_bind:1})
	  })
  },

  save_the_data: async function (r,e,sessionKey,openid) {
    var app=getApp(),a=app,th=this;
    var dd = {
      oauth: "miniapp",
      nickname:a.clear_word(r.nickName),
      head_pic: r.avatarUrl,
      sex: r.gender,
      terminal: "miniapp",
      sessionKey: sessionKey,
      openid:openid,
      encryptedData: e.encryptedData,
      iv: e.iv,
      store_id: getApp().globalData.setting.stoid,
    };
  	 //--如果有邀请人的时候--
  	 if(th.data.first_leader){
		 //判断一下分享人是不是分享商
		 await app.request.promiseGet("/api/weshop/users/get/" + os.stoid+"/"+th.data.first_leader,{}).then(res=>{
			 if(res.data.code==0){
				  var user= res.data.data;
				  if(user.is_distribut==1){
					  	dd.first_leader=th.data.first_leader;
				  }
			 }
		 })
  	 }
	 //-- 导购会员ID --
	 if(getApp().globalData.guide_id){
	 	dd.guide_id=getApp().globalData.guide_id;
	 }

	 //门店的扫描识别码
	 if(getApp().globalData.store_number){
	 	dd.SunCode=encodeURIComponent(getApp().globalData.store_number.trim());
	 }

	console.log("-----会员注册的信息-------");
    console.log(dd);
    app.request.get("/api/weshop/users/thirdLogin", {
      data: dd,
      success: function (e) {

        if (e.data.code == 0) {
          app.globalData.user_id = e.data.data.user_id;
        } else {
          return app.showWarning("授权登入失败!"+e.data.msg);
        }


		var need_go=0;
		var t_user=e.data.data;


        getApp().globalData.login_back=1;
		wx.setStorageSync("userinfo",e.data.data);
        wx.setStorageSync("isAuth", !0), app.globalData.userInfo = e.data.data, app.globalData.userInfo.head_pic = t.getFullUrl(a.globalData.userInfo.head_pic);

		//如果有需要完善的信息没有完善,就需要跳转
		if(!t_user['vipname'] && th.data.name_need_go){ need_go=1;}
		if(!t_user['birthday'] && th.data.birth_need_go){ need_go=1;}
		if(!t_user['idcard'] && th.data.idcard_need_go){ need_go=1;}
		if(!t_user['address'] && th.data.address_need_go){ need_go=1;}
		if(!t_user['pickup_id'] && th.data.pick_need_go){ need_go=1;}
		if(!t_user['sex'] && th.data.sex_need_go){ need_go=1;}
		if(!t_user['fromuser_id'] && th.data.introducer_need_go){ need_go=1;}

		if(need_go){
			getApp().goto("/packageA/pages/profile/profile");
		}else{
			wx.navigateBack({ delta: 1})
		}

      },
      failStatus: function (t) {
        return app.my_warnning("授权登入失败,请稍后再试!", 0, that);
      },
      fail: function (t) {
        return i.clearAuth(), i.alertLoginErrorAndGoHome(), !1;
      }
    });
  },

  bind_bnerr:function(e){
	  var _errImg = e.target.dataset.errorimg;
	  var _errObj = {};
	  _errObj[_errImg] = this.data.imghots+"/miniapp/images/logo.png";
	  this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
  },

  //-- 会员授权 --
  bindUserInfo: function(ee) {
      var that = this;
      var user=ee.detail.userInfo;
      //此处授权得到userInfo
      getApp().globalData.getu = user;

	  //--拿下code--
	  wx.login({
	    success: function (o) {
	      var dd = {
	      js_code:o.code,
	  	  store_id: os.stoid,
	  	  nickname: app.clear_word(app.globalData.getu.nickName),
	  	  head_pic: app.clear_word(app.globalData.getu.avatarUrl)
	      };
	  	//-- 导购会员ID --
	  	if(getApp().globalData.guide_id){
	  		dd.guide_id=getApp().globalData.guide_id;
	  	}

	      getApp().request.get("/api/weshop/users/openidandkey", {
	        data: dd,
	        success: function (e) {
	           if(e.data.code==0){
	  			 that.setData({user:user})
	               //如果有会员的话,没有sessionKey
	               if(!e.data.data.sessionKey){
	  				 getApp().showWarning("登录成功");
	                   getApp().globalData.userInfo=e.data.data;
	  				 getApp().globalData.user_id=e.data.data.user_id;
	  				 getApp().globalData.openid = e.data.data.weapp_openid;
	  				 //把会员的信息存在内存
	  				 wx.setStorageSync("userinfo",e.data.data);

	                   setTimeout(function () {
                           getApp().globalData.login_back=1;
	                       wx.navigateBack({ delta: 1})  //返回上一页
	                   },1000)
	               }else{
	                  getApp().globalData.sessionKey=e.data.data.sessionKey;
	                  getApp().globalData.openid=e.data.data.openid;
	  				that.setData({show_bind:1});
	               }
	           }else{
	  			   getApp().confirmBox(e.data.msg);
	  		 }
	        }
	      });
	    }
	  })


  },


  close_pop_back:function(){
	  this.close_pop();
	  wx.navigateBack({ delta: 1})
  },


	// 是否同意协议
	isAgree(e) {
		let isAgree = null;
		if(e.detail.value[0]) {
			isAgree = true;
		} else {
			isAgree = false;
		};
		// this.data.isAgree = isAgree;
		this.setData({
			isAgree,
		});
	},


	//通过路径跳转到其他页面
	goto: function(e) {
		console.log('xxxx', e);
	  var url = e.currentTarget.dataset.url;
	  getApp().goto(url);
	},

	//订阅消息提醒
	sendsm:function(func)
	{
		var template_id = this.data.template_id;
		// //授权订阅
		wx.requestSubscribeMessage({
			tmplIds: [template_id],
			success(res) {
				func();
			},
			fail(res) {
				func();
			}
		})

	},


})