var t = require("../../../utils/common.js"); const app=getApp(); var os = app.globalData.setting; var regeneratorRuntime = require('../../../utils/runtime.js'); Component({ properties: { // 这里定义了innerText属性,属性值可以在组件使用时指定 object:{ type:Object, value:null }, }, data: { user:null, show_bind:0, imghots: os.imghost, store_logo:'', first_leader:'', //-- 邀请人 -- config2:null, show_no:1, }, ready: function () { var set=this.properties.object; if(set && set.hasOwnProperty('show_no')){ this.setData({show_no:set.show_no}); } if (wx.getUserProfile) { this.setData({ canIUseGetUserProfile: true }) } 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}); } }) }, methods: { //绑定手机号 getphone: function (e) { //接下来写业务代码登录 e = e.detail; if (e.encryptedData == undefined) { this.setData({show_bind: 0}) return app.my_warnning("登录需要授权手机号码!", 0, this); return false; } if(this.data.sub) return false; this.setData({ sub: 1 }); var sessionKey = getApp().globalData.sessionKey; var openid = getApp().globalData.openid; var r = getApp().globalData.getu; this.save_the_data(r, e, sessionKey, openid) }, //-- 会员授权 -- 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; that.cancle_bind(); //关闭 }, 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 () { var item={}; this.triggerEvent('cancle_lg',item)//通过triggerEvent将参数传给父组件 }, 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; app.request.get("/api/weshop/manager/managerConfig/get", { data: { storeId: getApp().globalData.setting.stoid }, success: function (res2) { if (res2.data.code == 0) { if (res2.data.data.is_newphone == 1) { var dd = { oauth: "miniapp", nickname: a.clear_word(r.nickName), head_pic: r.avatarUrl, sex: r.gender, terminal: "miniapp", sessionKey: sessionKey, openid: openid, code: e.code, isNewPhone: 1, store_id: getApp().globalData.setting.stoid, }; } else { 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) { 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); var need_go = 0; //如果有需要完善的信息没有完善,就需要跳转 if (th.data.name_need_go) { need_go = 1; } if (th.data.birth_need_go) { need_go = 1; } if (th.data.idcard_need_go) { need_go = 1; } if (th.data.address_need_go) { need_go = 1; } if (th.data.pick_need_go) { need_go = 1; } if (th.data.sex_need_go) { need_go = 1; } if (th.data.introducer_need_go) { need_go = 1; } if (need_go) { if (res2.data.data.is_newphone == 1) { var req_data = { sessionKey: sessionKey, code: e.code, isNewPhone: 1, store_id: getApp().globalData.setting.stoid, } }else{ var req_data = { sessionKey: sessionKey, encryptedData: e.encryptedData, iv: e.iv, store_id: getApp().globalData.setting.stoid, } } //-- 获取一下手机 -- getApp().request.promiseGet("/api/weshop/users/getmobile", { data: req_data }).then(res => { if (res.data.code == 0) { dd.mobile = res.data.data; getApp().globalData.zc_dd = dd; var g_url="/packageA/pages/profile/profile?is_back=1"; if(th.data.is_reg){ g_url+="&is_reg=1"; } th.cancle_bind();//关闭 wx.navigateTo({ url:g_url }) } }) } else { if (th.data.is_lable_set) { if (res2.data.data.is_newphone == 1) { var req_data = { sessionKey: sessionKey, code: e.code, isNewPhone: 1, store_id: getApp().globalData.setting.stoid, } }else{ var req_data = { sessionKey: sessionKey, encryptedData: e.encryptedData, iv: e.iv, store_id: getApp().globalData.setting.stoid, } } //-- 获取一下手机 -- getApp().request.promiseGet("/api/weshop/users/getmobile", { data: req_data }).then(res => { if (res.data.code == 0) { dd.mobile = res.data.data; getApp().globalData.zc_dd = dd; var g_url="/packageE/pages/user/labels/labels?pageType=1"; if(th.data.is_reg){ g_url+="&is_reg=1"; } th.cancle_bind();//关闭 wx.navigateTo({ url: g_url }) } }) } else { th.setData({ sub: 0 }); wx.showLoading({ title: '处理中.', mask: true }) th.zu_ce(dd); //调用注册的函数 } } } else { th.setData({ sub: 0 }); return app.my_warnning("授权登入失败,请稍后再试!", 0, that); } }, failStatus: function (t) { th.setData({ sub: 0 }); return app.my_warnning("授权登入失败,请稍后再试!", 0, that); }, fail: function (t) { th.setData({ sub: 0 }); return i.clearAuth(), i.alertLoginErrorAndGoHome(), !1; } }); }, zu_ce: function (dd) { if(this.data.sub) return false; this.setData({ sub: 1 }); if(getApp().globalData.h5_openid){ dd.wxopenid=getApp().globalData.h5_openid; } var th = this; app.request.get("/api/weshop/users/thirdLogin", { data: dd, success: function (e) { wx.hideLoading(); th.setData({ sub: 0 }); if (e.data.code == 0) { th.cancle_bind();//关闭 app.globalData.user_id = e.data.data.user_id; app.globalData.userInfo = e.data.data; } else if(e.data.code==-3){ wx.showModal({ title: e.data.msg, success: function (e) { if(e.confirm){ dd.isreplacemobile=1; th.zu_ce(dd); } } }); return false; } else { return app.showWarning("授权登入失败!" + e.data.msg); } 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(app.globalData.userInfo.head_pic); //调用接口判断是不是会员 app.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + e.data.data.user_id, {}).then(res => { if (res.data.code == 0) { getApp().globalData.guide_id = res.data.data.id; getApp().globalData.guide_pick_id = res.data.data.pickup_id } }) getApp().showWarning("绑定成功"); setTimeout(()=>{ //-- 看情况,是跳转等级卡,还是跳转到新人有礼 -- getApp().go_to_page(th.data.is_reg,function (){ }) },1000) }, failStatus: function (t) { th.setData({ sub: 0 }); return app.my_warnning("授权登入失败,请稍后再试!", 0, th); }, fail: function (t) { th.setData({ sub: 0 }); 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; that.cancle_bind(); //关闭 }, 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(); } }) }, } })