| @@ -11,7 +11,8 @@ | |||
| "pages/prizes/prizes", | |||
| "pages/poster/poster", | |||
| "pages/coupon/coupon", | |||
| "pages/receiveRegister/receiveRegister" | |||
| "pages/receiveRegister/receiveRegister", | |||
| "pages/address/address" | |||
| ], | |||
| "window": { | |||
| "backgroundTextStyle": "light", | |||
| @@ -0,0 +1,227 @@ | |||
| // pages/address/address.js | |||
| const app = getApp() | |||
| Page({ | |||
| /** | |||
| * 页面的初始数据 | |||
| */ | |||
| data: { | |||
| imgUrl: app.globalData.urlStatic,//图片路径 | |||
| submitData:{ | |||
| realName:"", | |||
| mobile: "",//电话 | |||
| province: "",//省份 | |||
| city: "",//城市 | |||
| district: "",//地区 | |||
| addressDetail:""//详细 | |||
| }, | |||
| isAddress: false,//是否有地址 | |||
| phoneInputShow: false,//是否显示电话输入框 | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面加载 | |||
| */ | |||
| onLoad: function (options) { | |||
| app.globalData.nowPage = 4; | |||
| if (app.globalData.openid) { | |||
| this.loadFun(); | |||
| } else { | |||
| app.globalData.openidSuccessFuc = this.loadFun; | |||
| } | |||
| // if (app.globalData.userMobile) { | |||
| // this.data.submitData.mobile = app.globalData.userMobile; | |||
| // this.setData({ | |||
| // phoneInputShow: true, | |||
| // submitData: this.data.submitData | |||
| // }) | |||
| // } | |||
| }, | |||
| loadFun: function () { | |||
| this.getAddress(); | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面初次渲染完成 | |||
| */ | |||
| onReady: function () { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面显示 | |||
| */ | |||
| onShow: function () { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面隐藏 | |||
| */ | |||
| onHide: function () { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面卸载 | |||
| */ | |||
| onUnload: function () { | |||
| }, | |||
| /** | |||
| * 页面相关事件处理函数--监听用户下拉动作 | |||
| */ | |||
| onPullDownRefresh: function () { | |||
| }, | |||
| /** | |||
| * 页面上拉触底事件的处理函数 | |||
| */ | |||
| onReachBottom: function () { | |||
| }, | |||
| /** | |||
| * 用户点击右上角分享 | |||
| */ | |||
| onShareAppMessage: function () { | |||
| }, | |||
| addressChange:function(e){//所在地区发生改变 | |||
| this.data.submitData.province = e.detail.value[0]; | |||
| this.data.submitData.city = e.detail.value[1]; | |||
| this.data.submitData.district = e.detail.value[2]; | |||
| 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.data.submitData.mobile = e.detail.value; | |||
| this.setData({ | |||
| submitData: this.data.submitData | |||
| }) | |||
| }, | |||
| getAddressDetail: function (e) {//获取详细地址 | |||
| this.data.submitData.addressDetail = e.detail.value; | |||
| this.setData({ | |||
| submitData: this.data.submitData | |||
| }) | |||
| }, | |||
| getAddress: function () {//获取地址 | |||
| app.wxRequest(app.globalData.urlRoot +"address/getAddress",{},res=>{ | |||
| if(res.code == 200){ | |||
| if(res.data){ | |||
| this.data.isAddress = true; | |||
| 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.district = res.data.district; | |||
| this.data.submitData.addressDetail = res.data.addressDetail; | |||
| this.setData({ | |||
| submitData: this.data.submitData | |||
| }) | |||
| } | |||
| }else{ | |||
| wx.showToast({ | |||
| title: res.msg, | |||
| icon:"none" | |||
| }) | |||
| } | |||
| },this); | |||
| }, | |||
| addAddress:function(){//添加地址 | |||
| app.wxRequest(app.globalData.urlRoot + "address/addAddress", this.data.submitData,res => { | |||
| wx.showToast({ | |||
| title: res.msg, | |||
| }) | |||
| if (res.code == 200) { | |||
| wx.navigateBack({ | |||
| delta: 1 | |||
| }) | |||
| } | |||
| },this,"POST") | |||
| }, | |||
| updateAddress: function () {//更新地址 | |||
| app.wxRequest(app.globalData.urlRoot + "address/updateAddress", this.data.submitData, res => { | |||
| wx.showToast({ | |||
| title: res.msg, | |||
| }) | |||
| if (res.code == 200) { | |||
| wx.navigateBack({ | |||
| delta:1 | |||
| }) | |||
| } | |||
| }, this,"POST"); | |||
| }, | |||
| getUserPhone: function (e) {//获取用户手机号 | |||
| this.setData({ | |||
| phoneInputShow: true | |||
| }) | |||
| if (e.detail.errMsg == 'getPhoneNumber:ok') { | |||
| app.getMobile(e.detail.encryptedData, e.detail.iv, res => { | |||
| if (res.code == 200) { | |||
| this.data.submitData.mobile = res.data.decodeData.phoneNumber; | |||
| this.setData({ | |||
| submitData: this.data.submitData | |||
| }) | |||
| } else { | |||
| wx.showToast({ | |||
| title: res.msg, | |||
| icon: "none" | |||
| }) | |||
| } | |||
| }, this); | |||
| } | |||
| }, | |||
| submitAddress:function(){//保存地址 | |||
| if (!this.data.submitData.realName){ | |||
| wx.showToast({ | |||
| title: '请输入收货人', | |||
| icon:"none" | |||
| }) | |||
| return; | |||
| } | |||
| if (!app.mobileVerify(this.data.submitData.mobile)) { | |||
| if (this.data.submitData.mobile) { | |||
| wx.showToast({ | |||
| title: '请输入正确的电话', | |||
| icon: 'none' | |||
| }) | |||
| } else { | |||
| wx.showToast({ | |||
| title: '请输入电话', | |||
| icon: 'none' | |||
| }) | |||
| } | |||
| return; | |||
| } | |||
| if (!this.data.submitData.province) { | |||
| wx.showToast({ | |||
| title: '请选择所在地区', | |||
| icon: 'none' | |||
| }) | |||
| return; | |||
| } | |||
| if (!this.data.submitData.addressDetail) { | |||
| wx.showToast({ | |||
| title: '请输入详细地址', | |||
| icon: "none" | |||
| }) | |||
| return; | |||
| } | |||
| if(this.data.isAddress){ | |||
| this.updateAddress(); | |||
| } else { | |||
| this.addAddress(); | |||
| } | |||
| } | |||
| }) | |||
| @@ -0,0 +1,6 @@ | |||
| { | |||
| "navigationBarTitleText": "地址管理", | |||
| "usingComponents": { | |||
| "tabBar": "../component/tabBar/index" | |||
| } | |||
| } | |||
| @@ -0,0 +1,30 @@ | |||
| <!--pages/address/address.wxml--> | |||
| <view> | |||
| <view class="main"> | |||
| <view class="addressTitle">编辑收货信息</view> | |||
| <view class="addressMsg"> | |||
| <view class="msgGroup"> | |||
| <view class="msgTitle">收货人:</view> | |||
| <input class="msgInput" bindinput="getRealName" value="{{submitData.realName}}"></input> | |||
| </view> | |||
| <view class="msgGroup"> | |||
| <view class="msgTitle">手机号码:</view> | |||
| <input class="msgInput" maxlength='11' type="number" bindinput="getMobile" value="{{submitData.mobile}}"></input> | |||
| <!-- <button wx:if="{{!phoneInputShow}}" class="msgInput buttonSty" style="width:530rpx;height: 62rpx;margin: 0;padding: 0;min-height: 0;opacity:0;" open-type="getPhoneNumber" bindgetphonenumber="getUserPhone"></button> --> | |||
| </view> | |||
| <view class="msgGroup"> | |||
| <view class="msgTitle">所在地区:</view> | |||
| <picker class="pickerSty" mode="region" bindchange="addressChange" value="{{[submitData.province,submitData.city,submitData.district]}}"> | |||
| <!-- <picker class="pickerSty" mode="region" bindchange="addressChange"> --> | |||
| <view class="msgInput">{{submitData.province+" "+submitData.city+" "+submitData.district}}</view> | |||
| </picker> | |||
| </view> | |||
| <view class="msgGroup addressDetail"> | |||
| <view class="msgTitle">详细地址:</view> | |||
| <textarea class="msgInput addressTextarea" bindinput="getAddressDetail" value="{{submitData.addressDetail}}"></textarea> | |||
| </view> | |||
| </view> | |||
| <view class="saveAddress" bindtap="submitAddress">保存</view> | |||
| </view> | |||
| <tabBar></tabBar> | |||
| </view> | |||
| @@ -0,0 +1,84 @@ | |||
| /* pages/address/address.wxss */ | |||
| image{ | |||
| display: block; | |||
| } | |||
| view{ | |||
| -webkit-overflow-scrolling: touch; | |||
| } | |||
| .main{ | |||
| height: calc(100vh - 150rpx); | |||
| overflow: auto; | |||
| position: relative; | |||
| } | |||
| .addressTitle{ | |||
| margin:72rpx 0; | |||
| font-size:35rpx; | |||
| line-height:35rpx; | |||
| font-family:PingFangSC; | |||
| font-weight:600; | |||
| color:rgba(0,0,0,1); | |||
| text-align: center; | |||
| } | |||
| .addressMsg{ | |||
| display: flex; | |||
| align-items: center; | |||
| flex-direction: column; | |||
| } | |||
| .msgGroup{ | |||
| position: relative; | |||
| width:697rpx; | |||
| min-height:62rpx; | |||
| border: 1rpx solid #B1B1B1; | |||
| border-radius: 15rpx; | |||
| display: flex; | |||
| align-items: center; | |||
| box-sizing: border-box; | |||
| padding: 0 27rpx; | |||
| margin-bottom: 40rpx; | |||
| } | |||
| .msgTitle,.msgInput{ | |||
| min-height: 23rpx; | |||
| line-height: 23rpx; | |||
| font-size:23rpx; | |||
| font-family:PingFangSC; | |||
| font-weight:600; | |||
| color:rgba(35,33,34,1); | |||
| } | |||
| .msgInput{ | |||
| width: 530rpx; | |||
| } | |||
| .addressDetail{ | |||
| padding: 21rpx 26rpx; | |||
| height:155rpx; | |||
| align-items: flex-start; | |||
| } | |||
| .addressTextarea{ | |||
| height: 100%; | |||
| } | |||
| .saveAddress{ | |||
| position: absolute; | |||
| left: 50%; | |||
| bottom: 45rpx; | |||
| text-align: center; | |||
| transform: translateX(-50%); | |||
| width:652rpx; | |||
| height:70rpx; | |||
| background-color: #01538E; | |||
| line-height: 70rpx; | |||
| font-size:30rpx; | |||
| font-family:PingFangSC; | |||
| font-weight:400; | |||
| color:rgba(255,255,255,1); | |||
| border-radius: 15rpx; | |||
| } | |||
| .pickerSty{ | |||
| height: 62rpx; | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .buttonSty{ | |||
| position: absolute; | |||
| left: 135rpx; | |||
| top: 0; | |||
| z-index: 2; | |||
| } | |||
| @@ -135,7 +135,7 @@ Page({ | |||
| }, | |||
| getUserLocation:function(e){ | |||
| wx.getLocation({ | |||
| type: 'wgs84', // | |||
| type: 'gcj02', // | |||
| success:(res)=>{ | |||
| // console.log(res); | |||
| this.getDistributorList(res.longitude, res.latitude); | |||
| @@ -14,13 +14,16 @@ Page({ | |||
| clawScale: 1,//爪子的scale值 | |||
| downNum:30,//倒计时时间 | |||
| setInt:null,//倒计时元素 | |||
| pizeTip:0,//抓奖提示框 | |||
| pizeTip:1,//抓奖提示框 | |||
| setGroup:{ | |||
| left:null, | |||
| right: null, | |||
| top: null, | |||
| bottom: null, | |||
| } | |||
| }, | |||
| gameSign: null, //游戏结束时需要 | |||
| startType:1,//开始类型:1通过游戏玩法里的开始按钮,2:通过抓取按钮 | |||
| gameState:false,//游戏状态 | |||
| }, | |||
| /** | |||
| @@ -84,18 +87,48 @@ Page({ | |||
| }) | |||
| }, | |||
| openGameRule: function () {//打开游戏玩法 | |||
| this.setData({ | |||
| ruleShow: true | |||
| }) | |||
| if(!this.data.gameState){ | |||
| this.setData({ | |||
| ruleShow: true | |||
| }) | |||
| } | |||
| }, | |||
| gameStart: function () {//开始游戏 | |||
| if (!this.data.ruleCloseShow) { | |||
| this.downTimeFun(); | |||
| gameStart: function () {//开始游戏按钮 | |||
| if(this.data.startType==1){ | |||
| this.data.startType = 2; | |||
| this.setData({ | |||
| ruleShow: false, | |||
| ruleCloseShow: true | |||
| }) | |||
| this.beginGame(); | |||
| } | |||
| this.setData({ | |||
| ruleShow: false, | |||
| ruleCloseShow: true | |||
| }) | |||
| }, | |||
| beginGame: function () {//开始游戏 | |||
| app.wxRequest(app.globalData.urlRoot + "dollGame/beginGame", {}, res => { | |||
| console.log(res); | |||
| if(res.code==200){ | |||
| this.data.gameSign = res.data.sign; | |||
| this.endGame(); | |||
| if (this.data.gameSign) { | |||
| this.downTimeFun(); | |||
| } | |||
| }else{ | |||
| wx.showToast({ | |||
| title: res.msg, | |||
| icon:"none" | |||
| }) | |||
| } | |||
| },this) | |||
| }, | |||
| endGame:function(){//结束游戏 | |||
| app.wxRequest(app.globalData.urlRoot + "dollGame/endGame", { sign:this.data.gameSign}, res => { | |||
| console.log(res); | |||
| if(res.code=200){ | |||
| }else{ | |||
| console.log(res); | |||
| } | |||
| }, this,"POST") | |||
| }, | |||
| startClaw:function(e){//开始控制爪子方向 | |||
| let direction = e.currentTarget.dataset.direction; | |||
| @@ -168,6 +201,7 @@ Page({ | |||
| this.closeSetInt(); | |||
| }, | |||
| downTimeFun:function(){//游戏倒计时 | |||
| this.data.gameState = true; | |||
| this.data.setInt = setInterval(()=>{ | |||
| this.data.downNum -= 1; | |||
| if (this.data.downNum<10){ | |||
| @@ -181,7 +215,8 @@ Page({ | |||
| } | |||
| },1000); | |||
| }, | |||
| closeSetInt:function(){//关闭倒计时 | |||
| closeSetInt: function () {//关闭倒计时 | |||
| this.data.gameState = false; | |||
| clearInterval(this.data.setInt); | |||
| this.setData({ | |||
| downNum: 30, | |||
| @@ -197,8 +232,10 @@ Page({ | |||
| }, 1200); | |||
| }, | |||
| prizeLook:function(){//活动奖品 | |||
| wx.navigateTo({ | |||
| url: '../prizes/prizes' | |||
| }) | |||
| if(!this.data.gameState){ | |||
| wx.navigateTo({ | |||
| url: '../prizes/prizes' | |||
| }) | |||
| } | |||
| } | |||
| }) | |||
| @@ -38,6 +38,8 @@ | |||
| <view class="gameStrat" bindtap="gameStart">开始游戏</view> | |||
| </view> | |||
| </view> | |||
| <view class="gameRuleDesc" style="background-color:rgba(000,000,000,0)" wx:if="{{false}}"> | |||
| </view> | |||
| <view class="successPop" wx:if="{{pizeTip}}"> | |||
| <view class="successGroup" wx:if="{{pizeTip==1}}"> | |||
| <image class="gameRuleClose" style="top:-31rpx;right:-29rpx;" src="{{imgUrl+'/images/gameRuleClose.png'}}"></image> | |||
| @@ -46,7 +48,7 @@ | |||
| <view class="successTip">幸运满格,大奖到手</view> | |||
| <image class="prizePic" src="{{imgUrl+'/images/prizePic1.png'}}" mode="aspectFit"></image> | |||
| <view class="prizeName">头等舱机票一张</view> | |||
| <view class="startRegister">立即领奖</view> | |||
| <view class="startRegister">立即领取</view> | |||
| </view> | |||
| <view class="successGroup" wx:if="{{pizeTip==2 || pizeTip==3}}"> | |||
| <image class="gameRuleClose" style="top:-31rpx;right:-29rpx;" src="{{imgUrl+'/images/gameRuleClose.png'}}"></image> | |||
| @@ -334,7 +334,8 @@ Page({ | |||
| this.data.subscribeData.realname = ""; | |||
| this.data.subscribeData.captcha = ""; | |||
| this.setData({ | |||
| subscribeData: this.data.subscribeData | |||
| subscribeData: this.data.subscribeData, | |||
| verificationCode: '获取验证码', | |||
| }) | |||
| // this.setData({ | |||
| // isRegister: true | |||
| @@ -499,5 +500,10 @@ Page({ | |||
| } | |||
| }, this); | |||
| } | |||
| }, | |||
| addressControl:function(){//跳转到地址管理 | |||
| wx.navigateTo({ | |||
| url: '../address/address' | |||
| }) | |||
| } | |||
| }) | |||
| @@ -16,7 +16,7 @@ | |||
| </view> | |||
| <view class="userNameGroup"> | |||
| <view class="userName">{{userData.nickName}}</view> | |||
| <!-- <image class="userNameEdit" src="{{imgUrl+'/images/userNameEdit.png'}}"></image> --> | |||
| <image bindtap="addressControl" class="userNameEdit" src="{{imgUrl+'/images/userNameEdit.png'}}"></image> | |||
| </view> | |||
| <view class="userLevel" wx:if="{{userData.userLevel}}"> | |||
| <image class="userLevelIcon" src="{{imgUrl+'/images/userLevelIcon'+userData.userLevel+'.png'}}"></image> | |||
| @@ -95,7 +95,13 @@ | |||
| "name": "领红包注册", | |||
| "pathName": "pages/receiveRegister/receiveRegister", | |||
| "query": "" | |||
| } | |||
| }, | |||
| { | |||
| "id": -1, | |||
| "name": "地址管理", | |||
| "pathName": "pages/address/address", | |||
| "query": "" | |||
| } | |||
| ] | |||
| } | |||
| } | |||