Parcourir la source

新增竞猜页面及功能,猜出惊喜页面功能补充完毕

guessPrice
suizhijia il y a 5 ans
Parent
révision
a530284501
12 fichiers modifiés avec 565 ajouts et 9 suppressions
  1. +3
    -1
      496_dongfengqichen/app.js
  2. +2
    -1
      496_dongfengqichen/app.json
  3. +4
    -0
      496_dongfengqichen/pages/everyday/everyday.js
  4. +16
    -0
      496_dongfengqichen/pages/guess/guess.js
  5. +2
    -1
      496_dongfengqichen/pages/guess/guess.json
  6. +6
    -2
      496_dongfengqichen/pages/guess/guess.wxml
  7. +31
    -4
      496_dongfengqichen/pages/guess/guess.wxss
  8. +227
    -0
      496_dongfengqichen/pages/guessPrize/guessPrize.js
  9. +7
    -0
      496_dongfengqichen/pages/guessPrize/guessPrize.json
  10. +51
    -0
      496_dongfengqichen/pages/guessPrize/guessPrize.wxml
  11. +210
    -0
      496_dongfengqichen/pages/guessPrize/guessPrize.wxss
  12. +6
    -0
      496_dongfengqichen/project.config.json

+ 3
- 1
496_dongfengqichen/app.js Voir le fichier

@@ -112,7 +112,9 @@ App({
index:false,
luckyStar:false,
star:false,
myCenter:false
myCenter:false,
guessPrize:false,
everyday:false
}
},
// 获取openId

+ 2
- 1
496_dongfengqichen/app.json Voir le fichier

@@ -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",

+ 4
- 0
496_dongfengqichen/pages/everyday/everyday.js Voir le fichier

@@ -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) {

+ 16
- 0
496_dongfengqichen/pages/guess/guess.js Voir le fichier

@@ -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'
})
}
})

+ 2
- 1
496_dongfengqichen/pages/guess/guess.json Voir le fichier

@@ -1,6 +1,7 @@
{
"navigationBarTitleText": "猜出惊喜",
"usingComponents": {
"tabBar": "../component/tabBar/index"
"tabBar": "../component/tabBar/index",
"yuyue": "/pages/yuyue/yuyue"
}
}

+ 6
- 2
496_dongfengqichen/pages/guess/guess.wxml Voir le fichier

@@ -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>

+ 31
- 4
496_dongfengqichen/pages/guess/guess.wxss Voir le fichier

@@ -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;
}

+ 227
- 0
496_dongfengqichen/pages/guessPrize/guessPrize.js Voir le fichier

@@ -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//距离上市时间
})
}
}
})

+ 7
- 0
496_dongfengqichen/pages/guessPrize/guessPrize.json Voir le fichier

@@ -0,0 +1,7 @@
{
"navigationBarTitleText": "猜出惊喜",
"usingComponents": {
"tabBar": "../component/tabBar/index",
"yuyue": "/pages/yuyue/yuyue"
}
}

+ 51
- 0
496_dongfengqichen/pages/guessPrize/guessPrize.wxml Voir le fichier

@@ -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>

+ 210
- 0
496_dongfengqichen/pages/guessPrize/guessPrize.wxss Voir le fichier

@@ -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;
}

+ 6
- 0
496_dongfengqichen/project.config.json Voir le fichier

@@ -182,6 +182,12 @@
"name": "猜出惊喜",
"pathName": "pages/guess/guess",
"query": ""
},
{
"id": -1,
"name": "预测价格",
"pathName": "pages/guessPrize/guessPrize",
"query": ""
}
]
}

Chargement…
Annuler
Enregistrer