| @@ -112,7 +112,9 @@ App({ | |||
| index:false, | |||
| luckyStar:false, | |||
| star:false, | |||
| myCenter:false | |||
| myCenter:false, | |||
| guessPrize:false, | |||
| everyday:false | |||
| } | |||
| }, | |||
| // 获取openId | |||
| @@ -25,7 +25,8 @@ | |||
| "pages/scoutRule/scoutRule", | |||
| "pages/vrLookCar/vrLookCar", | |||
| "pages/configure/configure", | |||
| "pages/guess/guess" | |||
| "pages/guess/guess", | |||
| "pages/guessPrize/guessPrize" | |||
| ], | |||
| "window": { | |||
| "backgroundTextStyle": "light", | |||
| @@ -129,6 +129,10 @@ Page({ | |||
| } | |||
| }, | |||
| loadFun: function () { | |||
| if (!app.globalData.addPageEnterState.everyday) { | |||
| app.addPageEnter("800C896F3ED88D22DDE9C125CE61D0D2"); | |||
| app.globalData.addPageEnterState.everyday = true; | |||
| } | |||
| this.getTaskProgress(); | |||
| this.getAddress(); | |||
| // if (this.data.isFriendShare) { | |||
| @@ -7,6 +7,7 @@ Page({ | |||
| */ | |||
| data: { | |||
| imgUrl: app.globalData.urlStatic,//图片路径 | |||
| yuyueShow:false, | |||
| }, | |||
| @@ -64,5 +65,20 @@ Page({ | |||
| */ | |||
| onShareAppMessage: function () { | |||
| }, | |||
| enterLucky:function(){//每日抽奖 | |||
| wx.navigateTo({ | |||
| url: '/pages/luckyStar/luckyStar' | |||
| }) | |||
| }, | |||
| yuyueControl:function(){//预约 | |||
| this.setData({ | |||
| yuyueShow: !this.data.yuyueShow | |||
| }) | |||
| }, | |||
| enterGuessPrize:function(){//开始竞猜 | |||
| wx.navigateTo({ | |||
| url: '/pages/guessPrize/guessPrize' | |||
| }) | |||
| } | |||
| }) | |||
| @@ -1,6 +1,7 @@ | |||
| { | |||
| "navigationBarTitleText": "猜出惊喜", | |||
| "usingComponents": { | |||
| "tabBar": "../component/tabBar/index" | |||
| "tabBar": "../component/tabBar/index", | |||
| "yuyue": "/pages/yuyue/yuyue" | |||
| } | |||
| } | |||
| @@ -1,8 +1,12 @@ | |||
| <!--pages/guess/guess.wxml--> | |||
| <view class="all"> | |||
| <view class="main"> | |||
| <image class="pageBg" src="{{imgUrl+'/versions/3.png'}}"></image> | |||
| <image class="pageBg" src="{{imgUrl+'/versions/3.png'}}"></image> | |||
| <image class="pageBg" src="{{imgUrl+'/versions/3.png?v=002'}}"></image> | |||
| <image class="gameRule" src="{{imgUrl+'/versions/4.png?v=002'}}"></image> | |||
| <image class="startBtn" bindtap="enterGuessPrize" src="{{imgUrl+'/versions/2.png?v=002'}}"></image> | |||
| <image class="drawBtn" bindtap="enterLucky" src="{{imgUrl+'/versions/1.png'}}"></image> | |||
| <image class="yuyue" bindtap="yuyueControl" src="{{imgUrl+'/newIcon/4.png'}}"></image> | |||
| </view> | |||
| <yuyue bindyuyue="yuyueControl" wx:if="{{yuyueShow}}"></yuyue> | |||
| <tabBar></tabBar> | |||
| </view> | |||
| @@ -2,15 +2,42 @@ | |||
| image{ | |||
| display: block; | |||
| } | |||
| view{ | |||
| -webkit-overflow-scrolling: touch; | |||
| } | |||
| .main{ | |||
| height: calc(100vh - 120rpx); | |||
| overflow: auto; | |||
| position: relative; | |||
| } | |||
| .pageBg{ | |||
| position: absolute; | |||
| top: 0; | |||
| left: 0; | |||
| width: 750rpx; | |||
| height: 1388rpx; | |||
| height: 1389rpx; | |||
| } | |||
| .gameRule{ | |||
| width: 750rpx; | |||
| height: 2363rpx; | |||
| margin-top: -1rpx; | |||
| } | |||
| .startBtn{ | |||
| position: fixed; | |||
| left: 50%; | |||
| transform: translateX(-50%); | |||
| bottom: 170rpx; | |||
| width: 710rpx; | |||
| height: 71rpx; | |||
| } | |||
| .drawBtn{ | |||
| width: 81rpx; | |||
| height: 81rpx; | |||
| position: fixed; | |||
| right: 35rpx; | |||
| top: 220rpx; | |||
| } | |||
| .yuyue{ | |||
| width: 81rpx; | |||
| height: 81rpx; | |||
| position: fixed; | |||
| right: 35rpx; | |||
| top: 334rpx; | |||
| } | |||
| @@ -0,0 +1,227 @@ | |||
| // pages/guessPrize/guessPrize.js | |||
| const app = getApp(); | |||
| Page({ | |||
| /** | |||
| * 页面的初始数据 | |||
| */ | |||
| data: { | |||
| imgUrl: app.globalData.urlStatic,//图片路径 | |||
| ruleShow:false,//是否显示规则 | |||
| yuyueShow:false,//是否显示预约 | |||
| firstPrice:false,//是否有首轮竞猜价格 | |||
| httpState:false,//是否正在进行http请求 | |||
| guessPrice:123456,//竞猜价格 | |||
| guessPriceArr:['1','2','3','4','5','6'], | |||
| shareShow:false,//是否显示分享弹窗 | |||
| slideState:false,//滑动状态 | |||
| slideNum:0,//滑动距离 | |||
| slideDay:['0','0'],//距离上市时间 | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面加载 | |||
| */ | |||
| onLoad: function (options) { | |||
| app.globalData.nowPage = 3; | |||
| this.distanceDay(); | |||
| if (app.globalData.openid) { | |||
| this.loadFun(); | |||
| } else { | |||
| app.globalData.openidSuccessFuc = this.loadFun; | |||
| } | |||
| }, | |||
| loadFun:function(){ | |||
| if (!app.globalData.addPageEnterState.guessPrize) { | |||
| app.addPageEnter("7C8AAA38F8D85EFC48C2995FB6EBAC19"); | |||
| app.globalData.addPageEnterState.guessPrize = true; | |||
| } | |||
| this.getFirstGuessInfo(); | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面初次渲染完成 | |||
| */ | |||
| onReady: function () { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面显示 | |||
| */ | |||
| onShow: function () { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面隐藏 | |||
| */ | |||
| onHide: function () { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面卸载 | |||
| */ | |||
| onUnload: function () { | |||
| }, | |||
| /** | |||
| * 页面相关事件处理函数--监听用户下拉动作 | |||
| */ | |||
| onPullDownRefresh: function () { | |||
| }, | |||
| /** | |||
| * 页面上拉触底事件的处理函数 | |||
| */ | |||
| onReachBottom: function () { | |||
| }, | |||
| /** | |||
| * 用户点击右上角分享 | |||
| */ | |||
| onShareAppMessage: function () { | |||
| return { | |||
| title: '召唤预言帝!快来和我一起猜启辰星售价,赢升舱大奖!', | |||
| imageUrl: this.data.imgUrl + "/versions/guessShareImg.jpg", | |||
| path: "/pages/guess/guess" | |||
| } | |||
| }, | |||
| ruleControl:function(){//规则显示控制 | |||
| this.setData({ | |||
| ruleShow:!this.data.ruleShow | |||
| }) | |||
| }, | |||
| shareWindowControl:function(){//邀请好友弹窗显示控制 | |||
| this.setData({ | |||
| shareShow:!this.data.shareShow | |||
| }) | |||
| }, | |||
| lookConfigure:function(){//查看车型详细参数 | |||
| wx.navigateTo({ | |||
| url: '/pages/configure/configure', | |||
| }) | |||
| }, | |||
| enterLucky:function(){//每日抽奖 | |||
| wx.navigateTo({ | |||
| url: '/pages/luckyStar/luckyStar' | |||
| }) | |||
| }, | |||
| yuyueControl:function(){//预约 | |||
| this.setData({ | |||
| yuyueShow: !this.data.yuyueShow | |||
| }) | |||
| }, | |||
| getFirstGuessInfo:function(){//获取首轮竞猜价格信息 | |||
| app.wxRequest(app.globalData.urlRoot + "guessPrice/getFirstGuessInfo", {}, res => { | |||
| // res.data = null; | |||
| if (res.code == 200 && res.data) { | |||
| this.data.guessPriceArr = res.data.guess_price.toString().split(""); | |||
| this.setData({ | |||
| firstPrice:true, | |||
| guessPriceArr:this.data.guessPriceArr | |||
| }) | |||
| } | |||
| }, this); | |||
| }, | |||
| submitPrice:function(){ | |||
| if(this.data.firstPrice){ | |||
| this.shareWindowControl(); | |||
| }else{ | |||
| this.submitFirstGuessInfo(); | |||
| } | |||
| }, | |||
| submitFirstGuessInfo:function(){//提交首轮竞猜价格 | |||
| if(this.data.httpState){ | |||
| return; | |||
| } | |||
| this.data.httpState = true; | |||
| app.wxRequest(app.globalData.urlRoot + "guessPrice/submitFirstGuessInfo", {guess_price:this.data.guessPrice,statistics_scene:app.globalData.sceneSource}, res => { | |||
| this.data.httpState = false; | |||
| if (res.code == 200) { | |||
| this.setData({ | |||
| firstPrice:true | |||
| }) | |||
| this.shareWindowControl(); | |||
| }else{ | |||
| wx.showToast({ | |||
| title: res.msg, | |||
| icon:"none" | |||
| }) | |||
| } | |||
| }, this,"POST"); | |||
| }, | |||
| stratMove:function(e){ | |||
| var index = e.currentTarget.dataset.index; | |||
| if(index == 0){ | |||
| return; | |||
| } | |||
| this.setData({ | |||
| slideState:true | |||
| }) | |||
| this.data.slideNum = e.changedTouches[0].pageY; | |||
| }, | |||
| endMove:function(e){ | |||
| var index = e.currentTarget.dataset.index; | |||
| if(index == 0){ | |||
| return; | |||
| } | |||
| this.setData({ | |||
| slideState:false | |||
| }) | |||
| if(e.changedTouches[0].pageY-this.data.slideNum>=10){ | |||
| console.log("往下滑"); | |||
| if(index==1){ | |||
| this.data.guessPrice-=10000; | |||
| }else if(index==2){ | |||
| this.data.guessPrice-=1000; | |||
| }else if(index==3){ | |||
| this.data.guessPrice-=100; | |||
| }else if(index==4){ | |||
| this.data.guessPrice-=10; | |||
| }else if(index==5){ | |||
| this.data.guessPrice-=1; | |||
| } | |||
| if(this.data.guessPrice<110000){ | |||
| this.data.guessPrice = 110000; | |||
| } | |||
| this.data.guessPriceArr = this.data.guessPrice.toString().split(""); | |||
| this.setData({ | |||
| guessPriceArr:this.data.guessPriceArr | |||
| }) | |||
| }else if(e.changedTouches[0].pageY+10<=this.data.slideNum){ | |||
| console.log("往上滑"); | |||
| if(index==1){ | |||
| this.data.guessPrice+=10000; | |||
| }else if(index==2){ | |||
| this.data.guessPrice+=1000; | |||
| }else if(index==3){ | |||
| this.data.guessPrice+=100; | |||
| }else if(index==4){ | |||
| this.data.guessPrice+=10; | |||
| }else if(index==5){ | |||
| this.data.guessPrice+=1; | |||
| } | |||
| if(this.data.guessPrice>150000){ | |||
| this.data.guessPrice = 150000; | |||
| } | |||
| this.data.guessPriceArr = this.data.guessPrice.toString().split(""); | |||
| this.setData({ | |||
| guessPriceArr:this.data.guessPriceArr | |||
| }) | |||
| } | |||
| }, | |||
| distanceDay:function(){//距离4月23日上市还有XX天 | |||
| var timestamp = Date.parse(new Date()); //今天的时间戳 | |||
| var timestamp2 = Date.parse(new Date('2020-04-23')); //上市时间时间戳 | |||
| if(timestamp2>timestamp){ | |||
| var slideNum = Math.ceil((timestamp2-timestamp)/60/60/24/1000).toString().split(""); | |||
| this.setData({ | |||
| slideDay:slideNum//距离上市时间 | |||
| }) | |||
| } | |||
| } | |||
| }) | |||
| @@ -0,0 +1,7 @@ | |||
| { | |||
| "navigationBarTitleText": "猜出惊喜", | |||
| "usingComponents": { | |||
| "tabBar": "../component/tabBar/index", | |||
| "yuyue": "/pages/yuyue/yuyue" | |||
| } | |||
| } | |||
| @@ -0,0 +1,51 @@ | |||
| <!--pages/guessPrize/guessPrize.wxml--> | |||
| <view class="all"> | |||
| <view class="main" style="overflow:{{slideState?'hidden':'auto'}};"> | |||
| <image class="pageBg" src="{{imgUrl+'/versions/20.png'}}"></image> | |||
| <image class="ruleBtn" bindtap="ruleControl" src="{{imgUrl+'/versions/7.png'}}"></image> | |||
| <image class="versions-14" src="{{imgUrl+'/versions/14.png'}}"></image> | |||
| <image class="versions-15" src="{{imgUrl+'/versions/15.png'}}"></image> | |||
| <image class="versions-9" bindtap="lookConfigure" src="{{imgUrl+'/versions/9.png'}}"></image> | |||
| <image class="versions-16" src="{{imgUrl+'/versions/16.png'}}"></image> | |||
| <image class="versions-17" src="{{imgUrl+'/versions/17.png'}}"></image> | |||
| <view class="selectFream"> | |||
| <image class="versions-19" src="{{imgUrl+'/versions/19.png'}}"></image> | |||
| <view class="priceGroup" bindtouchstart="stratMove" bindtouchend="endMove" wx:for="{{guessPriceArr}}" wx:key="index" data-index="{{index}}" style="left:{{154+index*77}}rpx"> | |||
| <image class="priceImg" src="{{imgUrl+'/versions/nums/'+item+'.png?v=002'}}"></image> | |||
| </view> | |||
| <view wx:if="{{firstPrice}}" class="slideMask"></view> | |||
| </view> | |||
| <image class="versions-8" bindtap="submitPrice" src="{{imgUrl+'/versions/8.png'}}"></image> | |||
| <image class="versions-18" src="{{imgUrl+'/versions/18.png'}}"></image> | |||
| <view class="timeFrame"> | |||
| <image class="versions-12" src="{{imgUrl+'/versions/12.png'}}"></image> | |||
| <image class="versions-10" src="{{imgUrl+'/versions/10.png'}}"></image> | |||
| <view class="numGroup"> | |||
| <image class="versions-13" src="{{imgUrl+'/versions/13.png'}}"></image> | |||
| <view class="numText">{{slideDay[0]}}</view> | |||
| </view> | |||
| <view class="numGroup"> | |||
| <image class="versions-13" src="{{imgUrl+'/versions/13.png'}}"></image> | |||
| <view class="numText">{{slideDay[1]}}</view> | |||
| </view> | |||
| <image class="versions-11" src="{{imgUrl+'/versions/11.png'}}"></image> | |||
| <image class="versions-12" src="{{imgUrl+'/versions/12.png'}}"></image> | |||
| </view> | |||
| <image class="versions-5" bindtap="yuyueControl" src="{{imgUrl+'/versions/5.png'}}"></image> | |||
| <image class="versions-5" bindtap="enterLucky" style="margin-top:20rpx;" src="{{imgUrl+'/versions/6.png'}}"></image> | |||
| <view class="ruleFrame" wx:if="{{ruleShow}}"> | |||
| <image class="gameRule" src="{{imgUrl+'/versions/4.png?v=002'}}"></image> | |||
| <image class="closeRule" bindtap="ruleControl" src="{{imgUrl+'/versions/21.png'}}"></image> | |||
| </view> | |||
| <view class="shareWindow" wx:if="{{shareShow}}"> | |||
| <view class="shareWindowGroup"> | |||
| <image class="versions-23" src="{{imgUrl+'/versions/23.png?v=002'}}"></image> | |||
| <image class="versions-22" src="{{imgUrl+'/versions/22.png'}}"></image> | |||
| <button open-type="share" style="min-height:0;width: 462rpx;" class="shareBtn"></button> | |||
| <image class="versions-24" bindtap="shareWindowControl" src="{{imgUrl+'/versions/24.png'}}"></image> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <yuyue bindyuyue="yuyueControl" wx:if="{{yuyueShow}}"></yuyue> | |||
| <tabBar></tabBar> | |||
| </view> | |||
| @@ -0,0 +1,210 @@ | |||
| /* pages/guessPrize/guessPrize.wxss */ | |||
| image{ | |||
| display: block; | |||
| } | |||
| view{ | |||
| -webkit-overflow-scrolling: touch; | |||
| } | |||
| .main{ | |||
| height: calc(100vh - 120rpx); | |||
| overflow: auto; | |||
| position: relative; | |||
| } | |||
| .pageBg{ | |||
| position: absolute; | |||
| left: 0; | |||
| top: 0; | |||
| width: 750rpx; | |||
| height: 1388rpx; | |||
| z-index: -1; | |||
| } | |||
| .ruleBtn{ | |||
| width: 81rpx; | |||
| height: 81rpx; | |||
| position: fixed; | |||
| right: 35rpx; | |||
| top: 100rpx; | |||
| } | |||
| .ruleFrame{ | |||
| position: fixed; | |||
| top:0; | |||
| left: 0; | |||
| height: calc(100vh - 120rpx); | |||
| overflow: auto; | |||
| } | |||
| .gameRule{ | |||
| width: 750rpx; | |||
| height: 2363rpx; | |||
| margin-top: -1rpx; | |||
| } | |||
| .closeRule{ | |||
| position: fixed; | |||
| right: 70rpx; | |||
| top: 102rpx; | |||
| width: 56rpx; | |||
| height: 57rpx; | |||
| } | |||
| .versions-14{ | |||
| width: 150rpx; | |||
| height: 36rpx; | |||
| margin: 0 auto; | |||
| margin-top: 208rpx; | |||
| } | |||
| .versions-15{ | |||
| width: 368rpx; | |||
| height: 30rpx; | |||
| margin: 15rpx auto; | |||
| } | |||
| .versions-9{ | |||
| width: 374rpx; | |||
| height: 44rpx; | |||
| margin: 0 auto; | |||
| } | |||
| .versions-16{ | |||
| width: 513rpx; | |||
| height: 51rpx; | |||
| margin: 0 auto; | |||
| margin-top: 50rpx; | |||
| } | |||
| .versions-17{ | |||
| width: 589rpx; | |||
| height: 51rpx; | |||
| margin: 0 auto; | |||
| margin-top: 88rpx; | |||
| } | |||
| .selectFream{ | |||
| position: relative; | |||
| margin-top: 30rpx; | |||
| } | |||
| .slideMask{ | |||
| position: absolute; | |||
| left: 0; | |||
| top: 0; | |||
| width: 100%; | |||
| height: 100%; | |||
| opacity: 0; | |||
| } | |||
| .versions-19{ | |||
| width: 535rpx; | |||
| height: 137rpx; | |||
| margin: 0 auto; | |||
| margin-left: 124rpx; | |||
| } | |||
| .versions-8{ | |||
| width: 374rpx; | |||
| height: 44rpx; | |||
| margin: 0 auto; | |||
| margin-top: 15rpx; | |||
| } | |||
| .versions-18{ | |||
| width: 382rpx; | |||
| height: 54rpx; | |||
| margin: 0 auto; | |||
| margin-top: 20rpx; | |||
| } | |||
| .timeFrame{ | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: center; | |||
| margin-top: 95rpx; | |||
| } | |||
| .versions-12{ | |||
| width: 87rpx; | |||
| height: 3rpx; | |||
| } | |||
| .versions-10{ | |||
| width: 218rpx; | |||
| height: 24rpx; | |||
| margin-left: 10rpx; | |||
| margin-right: 5rpx; | |||
| } | |||
| .versions-11{ | |||
| width: 22rpx; | |||
| height: 23rpx; | |||
| margin-left:5rpx; | |||
| margin-right: 10rpx; | |||
| } | |||
| .numGroup{ | |||
| position: relative; | |||
| } | |||
| .versions-13{ | |||
| width: 31rpx; | |||
| height: 31rpx; | |||
| } | |||
| .numText{ | |||
| position: absolute; | |||
| top: 50%; | |||
| left: 50%; | |||
| transform: translate(-50%,-50%); | |||
| line-height: 25rpx; | |||
| font-size:25rpx; | |||
| font-family:NissanBrand; | |||
| font-weight:400; | |||
| color:rgba(24,42,114,1); | |||
| } | |||
| .versions-5{ | |||
| width: 710rpx; | |||
| height: 70rpx; | |||
| margin: 0 auto; | |||
| margin-top: 140rpx; | |||
| } | |||
| .shareWindow{ | |||
| position: fixed; | |||
| top:0; | |||
| left: 0; | |||
| width: 100%; | |||
| height: calc(100vh - 120rpx); | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: center; | |||
| background-color: rgba(000, 000, 000, 0.5); | |||
| } | |||
| .shareWindowGroup{ | |||
| position: relative; | |||
| width: 591rpx; | |||
| height: 611rpx; | |||
| } | |||
| .versions-23{ | |||
| width: 100%; | |||
| height: 100%; | |||
| } | |||
| .versions-22{ | |||
| position: absolute; | |||
| left: 50%; | |||
| transform: translateX(-50%); | |||
| bottom: 60rpx; | |||
| width: 462rpx; | |||
| height: 54rpx; | |||
| } | |||
| .shareBtn{ | |||
| position: absolute; | |||
| left: 50%; | |||
| transform: translateX(-50%); | |||
| bottom: 60rpx; | |||
| height: 54rpx; | |||
| margin: 0; | |||
| padding: 0; | |||
| opacity: 0; | |||
| } | |||
| .versions-24{ | |||
| position: absolute; | |||
| top: -42rpx; | |||
| right: -42rpx; | |||
| width: 42rpx; | |||
| height: 42rpx; | |||
| } | |||
| .priceGroup{ | |||
| position: absolute; | |||
| top: 18rpx; | |||
| left: 154rpx; | |||
| width: 60rpx; | |||
| height: 100rpx; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: center; | |||
| /* background-color: red; */ | |||
| } | |||
| .priceImg{ | |||
| width: 51rpx; | |||
| height: 64rpx; | |||
| } | |||
| @@ -182,6 +182,12 @@ | |||
| "name": "猜出惊喜", | |||
| "pathName": "pages/guess/guess", | |||
| "query": "" | |||
| }, | |||
| { | |||
| "id": -1, | |||
| "name": "预测价格", | |||
| "pathName": "pages/guessPrize/guessPrize", | |||
| "query": "" | |||
| } | |||
| ] | |||
| } | |||