// pages/perfectMsg/perfectMsg.js const app = getApp(); Page({ /** * 页面的初始数据 */ data: { imgUrl: app.globalData.urlStatic,//图片路径 selectType:2,//选中的手机号类型 marginT: 0, verificationCode:"获取验证码", sendCode:true, mobile2:"", phoneInputShow: false, isUserAddress:true,//用户是否有地址 submitData:{ realName:"",//姓名 mobile:"",//手机号 province:"",//经销商省份 city:"",//经销商城市 agent_code:"",//经销商编码 agentDetail:"",//经销商详情 addressDetail:"",//地址详情 scene:"",//场景值名称 captcha:"",//验证码(若非微信绑定手机号需要传入) }, provinceDataAll: null,//地区所有数据 provinceDataArr: [[""], [""]],//省市数据 provinceDataValue: [0, 0],//选中的省市下标 nowProvince: "",//选中的省市文字 storeArr: [],//专营店数据 storeValue: 0,//选中的专营店下标 httpState:false,//是否正在进行http请求 windowTipShow:false,//是否显示完善信息后的弹窗 isUserInfo:false,//是否有个人信息 }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { app.globalData.nowPage = 3; if (app.globalData.openid) { this.loadFun(); } else { app.globalData.openidSuccessFuc = this.loadFun; } if (app.globalData.userPhoneType == "ios") { this.setData({ marginT: -20 }) } if(app.globalData.userInfoData && app.globalData.userInfoData.nickName){ this.setData({ isUserInfo:true }) } }, loadFun:function(){ if (app.globalData.userMobile) { this.data.submitData.mobile = app.globalData.userMobile; this.setData({ phoneInputShow: true, submitData: this.data.submitData }) } this.getAddress(); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { }, enterLucky:function(){//每日抽奖 wx.navigateTo({ url: '/pages/luckyStar/luckyStar' }) }, ruleControl:function(){//规则显示控制 this.setData({ ruleShow:!this.data.ruleShow }) }, chooseType:function(e){//选中的手机号类型 if(e){ this.setData({ selectType:e.currentTarget.dataset.type }) }else{ this.setData({ selectType:1 }) } }, getAddressDetail: function (e) {//获取详细地址 this.data.submitData.addressDetail = e.detail.value; this.setData({ submitData:this.data.submitData }) }, getRealName:function(e){//获取用户输入的姓名 this.data.submitData.realName = e.detail.value; this.setData({ submitData:this.data.submitData }) }, getMobile:function(e){//获取用户输入的电话 this.setData({ mobile2:e.detail.value }) }, getCaptcha: function (e) {//获取用户输入的验证码 this.data.submitData.captcha = e.detail.value; this.setData({ submitData:this.data.submitData }) }, getCode: function (e) {//获取验证码 if (!app.mobileVerify(this.data.mobile2)) { if (this.data.mobile2) { wx.showToast({ title: '请输入正确的电话', icon: 'none' }) } else { wx.showToast({ title: '请输入电话', icon: 'none' }) } return; } if (!this.data.sendCode) { return; } this.data.sendCode = false; app.wxRequest(app.globalData.urlRoot + "captcha/sendCaptcha", { mobile: this.data.mobile2 }, res => { if (res.code == 200) { this.countDown(); wx.showToast({ title: '验证码获取成功', icon: "none" }) this.setData({ verificationCode: 60 }) } else { this.data.sendCode = true; wx.showToast({ title: res.msg, icon: "none" }) } }, this) }, countDown: function () {//倒计时 setTimeout(() => { this.setData({ verificationCode: this.data.verificationCode - 1 }) if (this.data.verificationCode > 0) { this.countDown(); } else { this.setData({ verificationCode: "获取验证码" }) this.data.sendCode = true; } }, 1000); }, getUserPhone: function (e) {//获取用户手机号 if (e.detail.errMsg == 'getPhoneNumber:ok') { app.getMobile(e.detail.encryptedData, e.detail.iv, res => { if (res.code == 200) { this.setData({ phoneInputShow: true }) this.chooseType(); if (res.data && res.data.decodeData) { this.data.submitData.mobile = res.data.decodeData.phoneNumber; this.setData({ submitData: this.data.submitData }) } } else { wx.showToast({ title: res.msg, icon: "none" }) } }, this); } }, getAddress: function () {//获取地址 app.wxRequest(app.globalData.urlRoot + "address/getAddressV2", {}, res => { console.log(res); if (res.code == 200) { if (res.data) { this.data.submitData.realName = res.data.realName; this.data.submitData.mobile = res.data.mobile; this.data.submitData.province = res.data.province; this.data.submitData.city = res.data.city; this.data.submitData.addressDetail = res.data.addressDetail; this.setData({ submitData: this.data.submitData, mobile2:res.data.mobile }) // if(!res.data.agentDetail){ this.getDistributorList("",""); // this.getUserLocation();//获取用户当前位置 // } }else{ this.getUserLocation();//获取用户当前位置 this.setData({ isUserAddress:false }) } } else { wx.showToast({ title: res.msg, icon: "none" }) } }, this); }, getUserLocation: function (e) {//获取用户地理位置 wx.getLocation({ type: 'wgs84', //wgs84 gcj02 success: (res) => { this.getDistributorList(res.longitude, res.latitude); }, fail: (res) => { this.getDistributorList("", ""); } }) }, getDistributorList: function (longitude, latitude) {//获取经销商列表 app.wxRequest(app.globalData.urlRoot + "agent/getAgentList", { longitude: longitude, latitude: latitude }, res => { if (res.code == 200) { //整理数据 var datas = res.data; var province = []; var city = []; for (let i = 0; i < res.data.list.length; i++) { province.push(res.data.list[i].province); } if(this.data.submitData.province){ for(let i=0;i { this.data.httpState = false; if (res.code == 200) { this.windowTipControl(); }else{ this.data.submitData.mobile = mobile; wx.showToast({ title: res.msg, }) } }, this, "POST") }, updateAddress: function () {//更新地址 var mobile = this.data.submitData.mobile; if(this.data.selectType==2){ this.data.submitData.mobile = this.data.mobile2; } app.wxRequest(app.globalData.urlRoot + "address/updateAddressV2", this.data.submitData, res => { this.data.httpState = false; if (res.code == 200) { this.windowTipControl(); }else{ this.data.submitData.mobile = mobile; wx.showToast({ title: res.msg, }) } }, this, "POST"); }, windowTipControl:function(){ this.setData({ windowTipShow:!this.data.windowTipShow }) }, enterGuess:function(){//去竞猜 // wx.redirectTo({ // url: '/pages/guessSecondPrize/guessSecondPrize', // }) wx.redirectTo({ url: '/pages/guessSecondPoster/guessSecondPoster', }) }, getUserWxMsg:function(e){//通过微信获取用户信息 if (e.detail.errMsg == "getUserInfo:ok") { this.setData({ isUserInfo:true }) app.submitUserMsg(e.detail.userInfo.avatarUrl, e.detail.userInfo.nickName); this.enterGuess(); } } })