@@ -83,10 +83,10 @@ App({ | |||
}) | |||
}, | |||
globalData: { | |||
// urlRoot: "https://dongfengqichen.jiyou-tech.com/",//测试接口根目录 | |||
urlRoot: "https://xing.venucia.com/api/",//接口根目录 | |||
// urlStatic: "https://www.jiyou-tech.com/2020/496_qichen/static",//测试静态资源根目录 | |||
urlStatic: "https://xingb.venucia.com/resource",//静态资源根目录 | |||
urlRoot: "https://dongfengqichen.jiyou-tech.com/",//测试接口根目录 | |||
// urlRoot: "https://xing.venucia.com/api/",//接口根目录 | |||
urlStatic: "https://www.jiyou-tech.com/2020/496_qichen/static",//测试静态资源根目录 | |||
// urlStatic: "https://xingb.venucia.com/resource",//静态资源根目录 | |||
openid: "",//OPENID | |||
parentOpenid:"",//推荐人的openid | |||
session_key: "",//session_key |
@@ -35,7 +35,9 @@ | |||
"pages/guessSecondPoster/guessSecondPoster", | |||
"pages/compute/compute", | |||
"pages/orderActivity/orderActivity", | |||
"pages/rotaryDraw/rotaryDraw" | |||
"pages/rotaryDraw/rotaryDraw", | |||
"pages/mountings/mountings", | |||
"pages/mountingsDetail/mountingsDetail" | |||
], | |||
"window": { | |||
"backgroundTextStyle": "light", |
@@ -46,8 +46,11 @@ Component({ | |||
// title: '暂未开启', | |||
// icon:'none' | |||
// }) | |||
// wx.reLaunch({ | |||
// url: '/pages/luckyStar/luckyStar' | |||
// }) | |||
wx.reLaunch({ | |||
url: '/pages/luckyStar/luckyStar' | |||
url: '/pages/mountings/mountings' | |||
}) | |||
} else if (page == '4'){ | |||
wx.reLaunch({ |
@@ -8,9 +8,13 @@ | |||
<image class="tabBar2" src="{{imgUrl+'/tabBar/2_'+(nowPage==2?2:1)+'.png?v=002'}}"></image> | |||
<view class="tabBarText {{nowPage==2?'tabBarText2':''}}">星探计划</view> | |||
</view> | |||
<view class="tabBarOption" bindtap="cutPage" data-page="3"> | |||
<!-- <view class="tabBarOption" bindtap="cutPage" data-page="3"> | |||
<image class="tabBar3" src="{{imgUrl+'/tabBar/3_'+(nowPage==3?2:1)+'.png?v=002'}}"></image> | |||
<view class="tabBarText {{nowPage==3?'tabBarText2':''}}">玩出惊喜</view> | |||
</view> --> | |||
<view class="tabBarOption" bindtap="cutPage" data-page="3"> | |||
<image class="tabBar3" src="{{imgUrl+'/tabBar/3_'+(nowPage==3?2:1)+'.png?v=002'}}"></image> | |||
<view class="tabBarText {{nowPage==3?'tabBarText2':''}}">超值增配</view> | |||
</view> | |||
<view class="tabBarOption" bindtap="cutPage" data-page="4" style="border:none;"> | |||
<image class="tabBar4" src="{{imgUrl+'/tabBar/4_'+(nowPage==4?2:1)+'.png?v=002'}}"></image> |
@@ -6,7 +6,7 @@ | |||
<!-- <image style="width:750rpx;height:11693rpx;" src="{{imgUrl+'/newImages8/newHome/newHomeBg.png'}}"></image> --> | |||
<!-- <image style="width:750rpx;height:10368rpx;" src="{{imgUrl+'/newImages4/16.png'}}"></image> --> | |||
<image style="width:750rpx;height:1600rpx;" src="{{imgUrl+'/newImages6/images/newImg_01.png?v=002'}}"></image> | |||
<image style="width:750rpx;height:1600rpx;" src="{{imgUrl+'/newImages6/images/newImg_02.png?v=008'}}"></image> | |||
<image style="width:750rpx;height:1600rpx;" src="{{imgUrl+'/newImages9/24.png'}}"></image> | |||
<image style="width:750rpx;height:1600rpx;" src="{{imgUrl+'/newImages6/images/newImg_03.png'}}"></image> | |||
<image style="width:750rpx;height:1600rpx;" src="{{imgUrl+'/newImages6/images/newImg_04.png'}}"></image> | |||
<image style="width:750rpx;height:1600rpx;" src="{{imgUrl+'/newImages6/images/newImg_05.png'}}"></image> |
@@ -0,0 +1,216 @@ | |||
// pages/mountings/mountings.js | |||
const app = getApp(); | |||
Page({ | |||
/** | |||
* 页面的初始数据 | |||
*/ | |||
data: { | |||
imgUrl: app.globalData.urlStatic,//图片路径 | |||
activityRule:false,//是否显示活动规则 | |||
dataList:[],//数据列表 | |||
userInfoData:false,//是否已获取用户头像昵称 | |||
isAddress:false,//是否有地址 | |||
addressShow:false, | |||
dateList:[],//日期列表 | |||
dateChoose:'',//当前日的活动列表 | |||
}, | |||
/** | |||
* 生命周期函数--监听页面加载 | |||
*/ | |||
onLoad: function (options) { | |||
app.globalData.nowPage = 3; | |||
if (app.globalData.openid) { | |||
this.loadFun(); | |||
} else { | |||
app.globalData.openidSuccessFuc = this.loadFun; | |||
} | |||
}, | |||
loadFun: function () { | |||
this.detectionUserMsg(); | |||
this.getAddress(); | |||
}, | |||
/** | |||
* 生命周期函数--监听页面初次渲染完成 | |||
*/ | |||
onReady: function () { | |||
}, | |||
/** | |||
* 生命周期函数--监听页面显示 | |||
*/ | |||
onShow: function () { | |||
this.getActivityDate(); | |||
}, | |||
/** | |||
* 生命周期函数--监听页面隐藏 | |||
*/ | |||
onHide: function () { | |||
}, | |||
/** | |||
* 生命周期函数--监听页面卸载 | |||
*/ | |||
onUnload: function () { | |||
}, | |||
/** | |||
* 页面相关事件处理函数--监听用户下拉动作 | |||
*/ | |||
onPullDownRefresh: function () { | |||
}, | |||
/** | |||
* 页面上拉触底事件的处理函数 | |||
*/ | |||
onReachBottom: function () { | |||
}, | |||
/** | |||
* 用户点击右上角分享 | |||
*/ | |||
onShareAppMessage: function () { | |||
return { | |||
title: '我正在参与启辰星秒杀增配活动,一起来秒杀!', | |||
imageUrl: this.data.imgUrl+'/newImages9/13.png', | |||
path: "/pages/mountings/mountings" | |||
} | |||
}, | |||
ruleShowControl(){//控制活动规则的显示与隐藏 | |||
this.setData({ | |||
activityRule:!this.data.activityRule | |||
}) | |||
}, | |||
detectionUserMsg(){//检测是否已获取用户头像昵称 | |||
if(app.globalData.userInfoData && app.globalData.userInfoData.avatarUrl){ | |||
this.setData({ | |||
userInfoData:true | |||
}) | |||
}else{ | |||
app.globalData.userInfoSuccessFuc = this.detectionUserMsg; | |||
} | |||
}, | |||
getAddress: function () {//获取地址 | |||
app.wxRequest(app.globalData.urlRoot + "address/getAddressV2", {}, res => { | |||
if (res.code == 200) { | |||
if (res.data) { | |||
this.data.isAddress = true; | |||
} | |||
} | |||
}, this) | |||
}, | |||
joinActivity(e){ | |||
let state = e.target.dataset.state; | |||
let index = e.target.dataset.index; | |||
if(state==-1){//我要砍价 | |||
if(this.data.isAddress){ | |||
this.beginBargain(this.data.dataList[index]); | |||
}else{ | |||
this.setData({ | |||
addressShow: true | |||
}) | |||
} | |||
}else if(state==0){//查看详情 | |||
wx.navigateTo({ | |||
url: '/pages/mountingsDetail/mountingsDetail?datas='+JSON.stringify(this.data.dataList[index]), | |||
}) | |||
}else if(state==1){//已经成功 | |||
wx.reLaunch({ | |||
url: '/pages/myCenter/myCenter' | |||
}) | |||
} | |||
}, | |||
beginBargain(data){//发起砍价活动 | |||
app.wxRequest(app.globalData.urlRoot + "bargain/beginBargain", {activity_id:data.id}, res => { | |||
if (res.code == 200) { | |||
data.activity_token = res.data.activity_token; | |||
wx.navigateTo({ | |||
url: '/pages/mountingsDetail/mountingsDetail?datas='+JSON.stringify(data), | |||
}) | |||
}else{ | |||
wx.showToast({ | |||
title: res.msg, | |||
icon: "none" | |||
}) | |||
} | |||
}, this,"POST"); | |||
}, | |||
getUserWxMsg:function(e){//通过微信获取用户信息 | |||
if (e.detail.errMsg == "getUserInfo:ok") { | |||
app.globalData.userInfoData = {}; | |||
app.globalData.userInfoData.avatarUrl = e.detail.userInfo.avatarUrl; | |||
app.globalData.userInfoData.nickName = e.detail.userInfo.nickName; | |||
this.setData({ | |||
userInfoData: true | |||
}) | |||
app.submitUserMsg(e.detail.userInfo.avatarUrl, e.detail.userInfo.nickName); | |||
if(this.data.isAddress){ | |||
wx.navigateTo({ | |||
url: '/pages/mountingsDetail/mountingsDetail', | |||
}) | |||
}else{ | |||
this.setData({ | |||
addressShow: true | |||
}) | |||
} | |||
} | |||
}, | |||
addressControl: function () {//跳转到地址管理 | |||
this.setData({ | |||
addressShow: !this.data.addressShow | |||
}) | |||
if(!this.data.isAddress){ | |||
this.getAddress(); | |||
} | |||
}, | |||
getActivityDate:function(){//获取展示日期 | |||
app.wxRequest(app.globalData.urlRoot + "bargain/getActivityDate", {}, res => { | |||
if (res.code == 200) { | |||
for(let i=0;i<res.data.length;i++){ | |||
let date = res.data[i]['activity_date'].split('-'); | |||
res.data[i]['activity_date_show'] = date[1]+'月'+date[2]+'日'; | |||
} | |||
if(res.data[0]){ | |||
this.setData({ | |||
dateChoose:res.data[0]['activity_date'] | |||
}) | |||
this.getActivityList(); | |||
this.setData({ | |||
dateList:res.data | |||
}) | |||
} | |||
} | |||
}, this); | |||
}, | |||
getActivityList:function(){//获取某日的活动列表 | |||
app.wxRequest(app.globalData.urlRoot + "bargain/getActivityList", {activity_date:this.data.dateChoose}, res => { | |||
if (res.code == 200) { | |||
for(let i=0;i<res.data.list.length;i++){ | |||
res.data.list[i]['goods_origin_price2'] = res.data.list[i]['goods_origin_price']/100;//原价(单位:分改为元) | |||
res.data.list[i]['goods_final_price2'] = res.data.list[i]['goods_final_price']/100;//底价(单位:分改为元) | |||
res.data.list[i]['goods_surplus_num'] = res.data.list[i]['goods_total_num']-res.data.list[i]['goods_success_num'];//剩余数量 | |||
res.data.list[i]['consumeNum'] = Math.ceil((1-res.data.list[i]['goods_surplus_num']/res.data.list[i]['goods_total_num'])*100);//已抢进度 | |||
} | |||
this.setData({ | |||
dataList:res.data.list | |||
}) | |||
} | |||
}, this); | |||
}, | |||
dateChange(e){//选中日期发生改变 | |||
var index = e.currentTarget.dataset.index; | |||
if(this.data.dateChoose != this.data.dateList[index]['activity_date']){ | |||
this.setData({ | |||
dateChoose:this.data.dateList[index]['activity_date'] | |||
}) | |||
this.getActivityList(); | |||
} | |||
} | |||
}) |
@@ -0,0 +1,7 @@ | |||
{ | |||
"navigationBarTitleText": "超值增配", | |||
"usingComponents": { | |||
"tabBar": "../component/tabBar/index", | |||
"userMsg": "/pages/userMsg/userMsg" | |||
} | |||
} |
@@ -0,0 +1,66 @@ | |||
<!--pages/mountings/mountings.wxml--> | |||
<view class="all"> | |||
<view class="main"> | |||
<image class="newImages9-1" src="{{imgUrl+'/newImages9/1.png'}}"></image> | |||
<image class="newImages9-2" bindtap="ruleShowControl" src="{{imgUrl+'/newImages9/2.png'}}"></image> | |||
<image class="newImages9-3" src="{{imgUrl+'/newImages9/3.png'}}"></image> | |||
<image class="newImages9-4" src="{{imgUrl+'/newImages9/4.png'}}"></image> | |||
<view class="activity-phases"> | |||
<view style="width:65rpx;height:55rpx;padding-right:20rpx;"> | |||
<image class="newImages9-5" src="{{imgUrl+'/newImages9/5.png'}}"></image> | |||
</view> | |||
<view class="phases-group" wx:for="{{dateList}}" wx:key="index" bindtap="dateChange" data-index="{{index}}"> | |||
<view class="date-text date-choose" wx:if="{{index == 0}}">{{item.activity_date_show}}</view> | |||
<view class="date-text" wx:else>{{item.activity_date_show}}</view> | |||
<image class="newImages9-11" wx:if="{{index == 0}}" src="{{imgUrl+'/newImages9/11.png'}}"></image> | |||
<view class="phases-state" wx:elif="{{index == 1}}">即将开始</view> | |||
<view class="phases-state" wx:else>敬请期待</view> | |||
</view> | |||
</view> | |||
<view class="goods-frame"> | |||
<view class="goods-group" wx:for="{{dataList}}" wx:key="index"> | |||
<view class="goods-img"> | |||
<image src="{{item.sku_thumbnail_pic}}" style="width:100%;height:100%;" mode="aspectFit"></image> | |||
</view> | |||
<view class="goods-detail"> | |||
<view class="goods-title">{{item.sku_name}}</view> | |||
<view class="goods-detail-data"> | |||
<view> | |||
<!-- <view class="goods-price">原价:¥{{item.goods_origin_price2}}</view> --> | |||
<view class="goods-price">{{item.goods_origin_content}}</view> | |||
<view class="bar-group"> | |||
<view class="bar-num" style="width:{{item.consumeNum}}%;"></view> | |||
<view class="away-text">已抢{{item.consumeNum}}%</view> | |||
</view> | |||
<view class="goods-surplus">剩余<text class="surplus-num">{{item.goods_surplus_num}}</text>件</view> | |||
</view> | |||
<view style="margin-top:14rpx;margin-left:66rpx;position:relative;"> | |||
<!-- <view wx:if="{{item.state==-1}}" class="after-discount">券后:¥<text style="font-size:37rpx;">{{item.goods_final_price2}}</text></view> --> | |||
<view wx:if="{{item.state==-1}}" class="after-discount">{{item.goods_final_content}}</view> | |||
<!-- <view wx:if="{{item.state!=-1}}" class="after-discount" style="color:#2B2B2B;">券后:¥<text style="font-size:37rpx;">{{item.goods_final_price2}}</text></view> --> | |||
<view wx:if="{{item.state!=-1}}" class="after-discount" style="color:#2B2B2B;">{{item.goods_final_content}}</view> | |||
<image wx:if="{{item.state==-1 && dateChoose==dateList[0]['activity_date']}}" bindtap="joinActivity" data-index="{{index}}" data-state="{{item.state}}" class="newImages9-6" src="{{imgUrl+'/newImages9/6.png'}}"></image> | |||
<image wx:if="{{item.state==0 && dateChoose==dateList[0]['activity_date']}}" bindtap="joinActivity" data-index="{{index}}" data-state="{{item.state}}" class="newImages9-6" src="{{imgUrl+'/newImages9/7.png'}}"></image> | |||
<image wx:if="{{item.state==1 && dateChoose==dateList[0]['activity_date']}}" bindtap="joinActivity" data-index="{{index}}" data-state="{{item.state}}" class="newImages9-6" src="{{imgUrl+'/newImages9/8.png'}}"></image> | |||
<image wx:if="{{item.state==-2 && dateChoose==dateList[0]['activity_date']}}" bindtap="joinActivity" data-index="{{index}}" data-state="{{item.state}}" class="newImages9-6" src="{{imgUrl+'/newImages9/9.png'}}"></image> | |||
<image wx:if="{{dateChoose!=dateList[0]['activity_date']}}" class="newImages9-6" src="{{imgUrl+'/newImages9/25.png'}}"></image> | |||
<view class="newImages9-6 btns" wx:if="{{!userInfoData && item.state==-1}}"> | |||
<button style="min-height:0rpx;width:100%;height:100%;" open-state="getUserInfo" bindgetuserinfo="getUserWxMsg"></button> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
<!-- <image class="newImages9-10" src="{{imgUrl+'/newImages9/10.png'}}"></image> --> | |||
</view> | |||
<view class="ruleFrame" wx:if="{{activityRule}}"> | |||
<view class="titleText">活动规则</view> | |||
<view class="lineSty"></view> | |||
<image class="closeXieyi" bindtap="ruleShowControl" src="{{imgUrl+'/images/closeXieyi.png'}}"></image> | |||
<image class="newImages9-12" src="{{imgUrl+'/newImages9/12.png'}}"></image> | |||
</view> | |||
</view> | |||
<userMsg bindaddress="addressControl" wx:if="{{addressShow}}"></userMsg> | |||
<tabBar></tabBar> | |||
</view> | |||
@@ -0,0 +1,231 @@ | |||
/* pages/mountings/mountings.wxss */ | |||
page{ | |||
background-color: #EDEDED; | |||
} | |||
image{ | |||
display: block; | |||
} | |||
view{ | |||
-webkit-overflow-scrolling: touch; | |||
} | |||
.main{ | |||
height: calc(100vh - 120rpx); | |||
overflow: auto; | |||
} | |||
.newImages9-1{ | |||
width: 750rpx; | |||
height: 556rpx; | |||
} | |||
.newImages9-2{ | |||
position: absolute; | |||
top: 165rpx; | |||
right: 3rpx; | |||
width: 87rpx; | |||
height: 88rpx; | |||
} | |||
.newImages9-3{ | |||
width: 308rpx; | |||
height: 24rpx; | |||
margin: 34rpx auto 13rpx; | |||
} | |||
.newImages9-4{ | |||
width: 540rpx; | |||
height: 57rpx; | |||
margin: 0 auto; | |||
} | |||
.activity-phases{ | |||
width: 750rpx; | |||
height: 84rpx; | |||
background-color: white; | |||
margin-top: 52rpx; | |||
padding-left: 27rpx; | |||
box-sizing: border-box; | |||
display: flex; | |||
align-items: center; | |||
overflow-y: hidden; | |||
white-space: nowrap; | |||
} | |||
.activity-phases::-webkit-scrollbar{ | |||
display: none; | |||
} | |||
.newImages9-5{ | |||
width: 65rpx; | |||
height: 55rpx; | |||
} | |||
.phases-group{ | |||
margin-right: 80rpx; | |||
} | |||
.phases-group:last-of-type{ | |||
margin-right: 0; | |||
padding-right: 27rpx; | |||
} | |||
.date-text{ | |||
font-size:24rpx; | |||
font-family:NissanBrand; | |||
font-weight:400; | |||
color:rgba(89,87,87,1); | |||
} | |||
.date-choose{ | |||
font-weight:bold; | |||
color:rgba(236,39,13,1); | |||
} | |||
.newImages9-11{ | |||
width:74rpx; | |||
height:27rpx; | |||
margin: 0 auto; | |||
} | |||
.phases-state{ | |||
text-align: center; | |||
font-size:18rpx; | |||
font-family:MHeiPRC; | |||
font-weight:500; | |||
color:rgba(89,87,87,1); | |||
} | |||
.goods-frame{ | |||
padding: 59rpx 21rpx 38rpx; | |||
} | |||
.goods-group{ | |||
margin-bottom: 31rpx; | |||
width: 100%; | |||
height: 261rpx; | |||
background-color: white; | |||
border-radius: 20rpx; | |||
display: flex; | |||
padding-top: 19rpx; | |||
padding-left: 19rpx; | |||
box-sizing: border-box; | |||
} | |||
.goods-img{ | |||
width: 220rpx; | |||
height: 220rpx; | |||
border: 1rpx solid #D3D3D3; | |||
border-radius: 20rpx; | |||
overflow: hidden; | |||
} | |||
.goods-detail{ | |||
padding-top: 14rpx; | |||
margin-left: 20rpx; | |||
} | |||
.goods-title{ | |||
width: 400rpx; | |||
font-size: 28rpx; | |||
font-weight: bold; | |||
color: black; | |||
overflow: hidden; | |||
white-space: nowrap; | |||
text-overflow: ellipsis; | |||
} | |||
.goods-detail-data{ | |||
margin-top: 48rpx; | |||
display: flex; | |||
} | |||
.goods-price{ | |||
font-size:22rpx; | |||
font-family:MHeiPRC; | |||
font-weight:bold; | |||
color:rgba(125,125,125,1); | |||
} | |||
.bar-group{ | |||
position: relative; | |||
width:190rpx; | |||
height:23rpx; | |||
background-color: #EDEDED; | |||
margin-top: 7rpx; | |||
margin-bottom: 22rpx; | |||
border-radius: 20rpx; | |||
overflow: hidden; | |||
} | |||
.bar-num{ | |||
position: absolute; | |||
left: 0; | |||
top: 0; | |||
height: 100%; | |||
width: 100%; | |||
background-color: #EE3212; | |||
} | |||
.away-text{ | |||
position: absolute; | |||
width: 100%; | |||
top: 50%; | |||
transform: translateY(-50%); | |||
left: 10rpx; | |||
font-size:14rpx; | |||
font-family:MHeiPRC; | |||
font-weight:500; | |||
color:rgba(255,255,255,1); | |||
} | |||
.goods-surplus{ | |||
font-size:22rpx; | |||
font-family:MHeiPRC; | |||
font-weight:bold; | |||
color:rgba(125,125,125,1); | |||
} | |||
.surplus-num{ | |||
color: #EE3212; | |||
} | |||
.after-discount{ | |||
font-size:22rpx; | |||
font-family:MHeiPRC; | |||
font-weight:500; | |||
color:#355483; | |||
text-align: right; | |||
} | |||
.newImages9-6{ | |||
width: 161rpx; | |||
height: 58rpx; | |||
margin-top: 5rpx; | |||
} | |||
.newImages9-10{ | |||
width: 710rpx; | |||
height: 70rpx; | |||
margin: 0 auto; | |||
margin-top: 70rpx; | |||
} | |||
.ruleFrame{ | |||
position: absolute; | |||
left: 0; | |||
top: 0; | |||
width: 100%; | |||
height: calc(100vh - 120rpx); | |||
background-color: white; | |||
overflow: auto; | |||
padding-bottom: 130rpx; | |||
box-sizing: border-box; | |||
} | |||
.titleText{ | |||
width: 682rpx; | |||
margin: 0 auto; | |||
margin-top: 78rpx; | |||
margin-bottom: 28rpx; | |||
line-height: 39rpx; | |||
font-size:39rpx; | |||
font-family:PingFangSC; | |||
font-weight:bold; | |||
color:rgba(0,77,149,1); | |||
} | |||
.lineSty{ | |||
width: 682rpx; | |||
height:2rpx; | |||
background-color: #B6B6B6; | |||
margin: 0 auto; | |||
margin-bottom: 45rpx; | |||
} | |||
.closeXieyi{ | |||
position: absolute; | |||
right: 48rpx; | |||
top: 38rpx; | |||
width: 42rpx; | |||
height: 42rpx; | |||
} | |||
.newImages9-12{ | |||
width: 641rpx; | |||
height: 1037rpx; | |||
margin: 0 auto; | |||
margin-top: 40rpx; | |||
} | |||
.btns{ | |||
position: absolute; | |||
left: 0; | |||
bottom: 0; | |||
opacity: 0; | |||
} |
@@ -0,0 +1,253 @@ | |||
// pages/mountingsDetail/mountingsDetail.js | |||
const app = getApp(); | |||
let _surplusTime = 0;//剩余时间 | |||
let _countTime = null;//定时器 | |||
let md5 = require('../../utils/md5.js'); | |||
Page({ | |||
/** | |||
* 页面的初始数据 | |||
*/ | |||
data: { | |||
imgUrl: app.globalData.urlStatic,//图片路径 | |||
activityRule:false,//是否显示活动规则 | |||
surplusTime:['','',''],//剩余时间 | |||
bargainType:1,//1:喊朋友帮忙砍价,2:帮TA砍一刀 | |||
userInfoData:false,//是否已获取用户头像昵称 | |||
helpDickerShow:false,//是否显示帮助朋友砍价成功的弹窗 | |||
friendBargain:[],//好友助力列表 | |||
goodsMsg:{}, | |||
goodsDetail:{},//商品详情 | |||
activityJoinDetail:{},//活动进度详情 | |||
friendHelpMoney:0,//朋友帮忙砍的价格 | |||
page:1, | |||
count:10, | |||
ismore:true,//是否还有更多数据 | |||
}, | |||
/** | |||
* 生命周期函数--监听页面加载 | |||
*/ | |||
onLoad: function (options) { | |||
if(options.bargainType){ | |||
this.setData({ | |||
bargainType:2 | |||
}) | |||
} | |||
if(options.datas){ | |||
this.data.goodsMsg = JSON.parse(options.datas); | |||
} | |||
app.globalData.nowPage = 3; | |||
if (app.globalData.openid) { | |||
this.loadFun(); | |||
} else { | |||
app.globalData.openidSuccessFuc = this.loadFun; | |||
} | |||
}, | |||
loadFun: function () { | |||
// let countNum = 60*60*24; | |||
// let hours = new Date().getHours(); | |||
// let minutes = new Date().getMinutes(); | |||
// let seconds = new Date().getSeconds(); | |||
// _surplusTime = countNum-(60*60*hours+60*minutes+seconds); | |||
this.detectionUserMsg(); | |||
this.getGoodsDetail(); | |||
this.getActivityJoinDetail(); | |||
this.getFriendBargainList(); | |||
}, | |||
/** | |||
* 生命周期函数--监听页面初次渲染完成 | |||
*/ | |||
onReady: function () { | |||
}, | |||
/** | |||
* 生命周期函数--监听页面显示 | |||
*/ | |||
onShow: function () { | |||
}, | |||
/** | |||
* 生命周期函数--监听页面隐藏 | |||
*/ | |||
onHide: function () { | |||
}, | |||
/** | |||
* 生命周期函数--监听页面卸载 | |||
*/ | |||
onUnload: function () { | |||
clearInterval(_countTime); | |||
}, | |||
/** | |||
* 页面相关事件处理函数--监听用户下拉动作 | |||
*/ | |||
onPullDownRefresh: function () { | |||
}, | |||
/** | |||
* 页面上拉触底事件的处理函数 | |||
*/ | |||
onReachBottom: function () { | |||
}, | |||
/** | |||
* 用户点击右上角分享 | |||
*/ | |||
onShareAppMessage: function () { | |||
return { | |||
title: "我正在以超低价购买"+this.data.goodsMsg.sku_name+"!有你帮忙还能更便宜!快来帮我!", | |||
imageUrl: this.data.imgUrl+'/newImages9/13.png', | |||
path: "/pages/mountingsDetail/mountingsDetail?bargainType=2&datas="+JSON.stringify(this.data.goodsMsg) | |||
} | |||
}, | |||
ruleShowControl(){//控制活动规则的显示与隐藏 | |||
this.setData({ | |||
activityRule:!this.data.activityRule | |||
}) | |||
}, | |||
countDown(){//倒计时 | |||
_countTime = setInterval(() => { | |||
if(_surplusTime){ | |||
_surplusTime--; | |||
this.timeDispose(); | |||
}else{ | |||
clearInterval(_countTime); | |||
// _surplusTime = 60*60*24; | |||
} | |||
}, 1000); | |||
}, | |||
timeDispose(){//时间处理 | |||
let hours = Math.floor(_surplusTime/3600); | |||
let minutes = Math.floor(_surplusTime%3600/60); | |||
let seconds = Math.floor(_surplusTime%3600%60); | |||
this.data.surplusTime[0] = hours>=10?hours:'0'+hours | |||
this.data.surplusTime[1] = minutes>=10?minutes:'0'+minutes | |||
this.data.surplusTime[2] = seconds>=10?seconds:'0'+seconds | |||
this.setData({ | |||
surplusTime:this.data.surplusTime | |||
}) | |||
}, | |||
enterListPage(){//进入列表页 | |||
if(this.data.bargainType==1){ | |||
wx.navigateBack({ | |||
delta:1 | |||
}) | |||
}else{ | |||
wx.redirectTo({ | |||
url: '/pages/mountings/mountings' | |||
}) | |||
} | |||
}, | |||
detectionUserMsg(){//检测是否已获取用户头像昵称 | |||
if(app.globalData.userInfoData && app.globalData.userInfoData.avatarUrl){ | |||
this.setData({ | |||
userInfoData:true | |||
}) | |||
}else{ | |||
app.globalData.userInfoSuccessFuc = this.detectionUserMsg; | |||
} | |||
}, | |||
getUserWxMsg:function(e){//通过微信获取用户信息 | |||
if (e.detail.errMsg == "getUserInfo:ok") { | |||
app.globalData.userInfoData = {}; | |||
app.globalData.userInfoData.avatarUrl = e.detail.userInfo.avatarUrl; | |||
app.globalData.userInfoData.nickName = e.detail.userInfo.nickName; | |||
this.setData({ | |||
userInfoData: true | |||
}) | |||
app.submitUserMsg(e.detail.userInfo.avatarUrl, e.detail.userInfo.nickName); | |||
this.bargainByFriend(); | |||
} | |||
}, | |||
helpFriend(){//帮朋友砍一刀 | |||
this.setData({ | |||
helpDickerShow:!this.data.helpDickerShow | |||
}) | |||
}, | |||
getFriendBargainList(){//获取好友助力列表 | |||
app.wxRequest(app.globalData.urlRoot + "bargain/getFriendBargainList", {activity_token:this.data.goodsMsg.activity_token,page:this.data.page,count:this.data.count}, res => { | |||
if (res.code == 200) { | |||
for(let i=0;i<res.data.list.length;i++){ | |||
res.data.list[i]['reduce_money'] = res.data.list[i]['reduce_money']/100; | |||
this.data.friendBargain.push(res.data.list[i]); | |||
} | |||
this.setData({ | |||
friendBargain:this.data.friendBargain | |||
}) | |||
if(this.data.friendBargain.length>=res.data.total){ | |||
this.data.ismore = false; | |||
} | |||
} | |||
}, this); | |||
}, | |||
bargainByFriend(){//好友发起助力 | |||
let openid = app.globalData.openid;//openid | |||
let activity_token = this.data.goodsMsg.activity_token;//activity_token | |||
let timestamp = Date.parse(new Date())/1000;//当前时间戳(秒) | |||
let fixedString = "bargain_dongfeng";//固定字符串 | |||
let signStr = openid+activity_token+timestamp+fixedString | |||
let sign = md5.hexMD5(signStr) | |||
app.wxRequest(app.globalData.urlRoot + "bargain/bargainByFriend", {activity_token:activity_token,timestamp:timestamp,sign:sign}, res => { | |||
console.log(res); | |||
if (res.code == 200) { | |||
this.setData({ | |||
friendHelpMoney:res.data.bargainMoney/100 | |||
}) | |||
this.helpFriend(); | |||
}else{ | |||
wx.showToast({ | |||
title:res.msg, | |||
icon:"none" | |||
}) | |||
} | |||
}, this,"POST"); | |||
}, | |||
getGoodsDetail(){//获取商品详情 | |||
app.wxRequest(app.globalData.urlRoot + "bargain/getGoodsDetail", {sku_id:this.data.goodsMsg.sku_id}, res => { | |||
if (res.code == 200) { | |||
this.setData({ | |||
goodsDetail:res.data | |||
}) | |||
}else{ | |||
wx.showToast({ | |||
title:res.msg, | |||
icon:"none" | |||
}) | |||
} | |||
}, this); | |||
}, | |||
getActivityJoinDetail(){//获取砍价活动进度详情 | |||
app.wxRequest(app.globalData.urlRoot + "bargain/getActivityJoinDetail", {activity_token:this.data.goodsMsg.activity_token}, res => { | |||
if (res.code == 200) { | |||
res.data.gap_money = res.data.gap_money/100; | |||
res.data.success_money = res.data.success_money/100; | |||
res.data.surplus = res.data.gap_money-res.data.success_money; | |||
res.data.percent = Math.ceil((1-res.data.surplus/res.data.gap_money)*100); | |||
this.setData({ | |||
activityJoinDetail:res.data | |||
}) | |||
_surplusTime = res.data.lastTime; | |||
this.timeDispose(); | |||
this.countDown(); | |||
}else{ | |||
wx.showToast({ | |||
title:res.msg, | |||
icon:"none" | |||
}) | |||
} | |||
}, this); | |||
}, | |||
lookMore(){ | |||
if(this.data.ismore){ | |||
this.data.page++; | |||
this.getFriendBargainList(); | |||
} | |||
} | |||
}) |
@@ -0,0 +1,6 @@ | |||
{ | |||
"navigationBarTitleText": "超值增配", | |||
"usingComponents": { | |||
"tabBar": "../component/tabBar/index" | |||
} | |||
} |
@@ -0,0 +1,95 @@ | |||
<!--pages/mountingsDetail/mountingsDetail.wxml--> | |||
<view class="all"> | |||
<view> | |||
<scroll-view class="main" scroll-y="{{true}}" bindscrolltolower="lookMore"> | |||
<view class="banner-group"> | |||
<swiper indicator-dots="true" style="width:750rpx;height:556rpx;"> | |||
<swiper-item wx:for="{{goodsDetail.sku_banner}}" wx:key="index"> | |||
<image class="newImages9-test2" src="{{item}}"></image> | |||
</swiper-item> | |||
</swiper> | |||
<view class="goods-price"> | |||
<image class="newImages9-14" src="{{imgUrl+'/newImages9/14.png?v=002'}}"></image> | |||
<view class="price-detail"> | |||
<view> | |||
<view class="goods-name">{{goodsDetail.sku_name}}</view> | |||
<view style="display:flex;"> | |||
<view class="after-discount">{{goodsDetail.goods_final_content}}</view> | |||
<view class="original-price">{{goodsDetail.goods_origin_content}}</view> | |||
</view> | |||
</view> | |||
<image wx:if="{{goodsDetail.goods_detail_right_pic}}" class="newImages9-test3" src="{{goodsDetail.goods_detail_right_pic}}" mode="aspectFit"></image> | |||
</view> | |||
</view> | |||
</view> | |||
<image class="newImages9-2" bindtap="ruleShowControl" src="{{imgUrl+'/newImages9/2.png'}}"></image> | |||
<view class="surplus-time"> | |||
<view>还剩:</view> | |||
<view class="time-group"> | |||
<view class="time-block">{{surplusTime[0]}}</view>: | |||
<view class="time-block">{{surplusTime[1]}}</view>: | |||
<view class="time-block">{{surplusTime[2]}}</view> | |||
</view> | |||
<view>结束</view> | |||
</view> | |||
<view class="bargain-group"> | |||
<view class="bargain-num">已砍<text style="color:#EE3212;font-size:48rpx;">{{activityJoinDetail.success_money}}</text>元,仅差<text style="color:#EE3212;font-size:48rpx;">{{activityJoinDetail.surplus}}</text>元免费拿!</view> | |||
<view class="bargain-bar"> | |||
<view class="bar-num" style="width:{{activityJoinDetail.percent}}%;"> | |||
<view class="bar-text">{{activityJoinDetail.percent}}%</view> | |||
<image class="newImages9-15" src="{{imgUrl+'/newImages9/15.png'}}"></image> | |||
</view> | |||
</view> | |||
<view class="newImages9-16" wx:if="{{bargainType==1}}"> | |||
<image style="width:100%;height:100%;" src="{{imgUrl+'/newImages9/18.png'}}"></image> | |||
<button class="btns" style="min-height:0rpx;width:100%;height:100%;" open-type="share"></button> | |||
</view> | |||
<view class="newImages9-16" wx:if="{{bargainType==2}}"> | |||
<image bindtap="bargainByFriend" class="newImages9-16" src="{{imgUrl+'/newImages9/16.png'}}"></image> | |||
<button wx:if="{{!userInfoData}}" class="btns" style="min-height:0rpx;width:100%;height:100%;" open-type="getUserInfo" bindgetuserinfo="getUserWxMsg"></button> | |||
</view> | |||
</view> | |||
<view style="padding:32rpx 0;"> | |||
<view class="bargain-record"> | |||
<view class="record-title"> | |||
<view class="title-text">砍价记录<view class="white-triangle"></view></view> | |||
<view class="title-line"></view> | |||
<view class="title-text" bindtap="enterListPage">查看更多抄底价商品</view> | |||
</view> | |||
<view class="help-group" wx:for="{{friendBargain}}" wx:key="index"> | |||
<view style="display:flex;align-items:center;"> | |||
<view class="head-group"> | |||
<image src="{{item.avatarUrl}}" class="head-img" mode="aspectFill"></image> | |||
</view> | |||
<view> | |||
<view class="friend-name">{{item.nickName}}</view> | |||
<view class="reason">好友助力狂砍一刀</view> | |||
</view> | |||
</view> | |||
<view style="display:flex;align-items:center;"> | |||
<image class="newImages9-17" src="{{imgUrl+'/newImages9/17.png'}}"></image> | |||
<view class="minus-num">砍掉{{item.reduce_money}}元</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="maskFrame" wx:if="{{helpDickerShow}}"> | |||
<view class="maskGroup"> | |||
<image class="newImages9-19" src="{{imgUrl+'/newImages9/19.png?v=002'}}"></image> | |||
<view class="dicker-money">成功砍价<text style="color:#B60005;">{{friendHelpMoney}}</text>元</view> | |||
<view class="help-confirm" bindtap="helpFriend"></view> | |||
<image class="newImages9-20" bindtap="helpFriend" src="{{imgUrl+'/newImages9/20.png'}}"></image> | |||
</view> | |||
</view> | |||
<view class="ruleFrame" wx:if="{{activityRule}}"> | |||
<view class="titleText">活动规则</view> | |||
<view class="lineSty"></view> | |||
<image class="closeXieyi" bindtap="ruleShowControl" src="{{imgUrl+'/images/closeXieyi.png'}}"></image> | |||
<image class="newImages9-12" src="{{imgUrl+'/newImages9/12.png'}}"></image> | |||
</view> | |||
</scroll-view> | |||
</view> | |||
<tabBar></tabBar> | |||
</view> | |||
@@ -0,0 +1,378 @@ | |||
/* pages/mountingsDetail/mountingsDetail.wxss */ | |||
page{ | |||
background-color: #F1F1F1; | |||
} | |||
image{ | |||
display: block; | |||
} | |||
view{ | |||
-webkit-overflow-scrolling: touch; | |||
} | |||
.main{ | |||
height: calc(100vh - 120rpx); | |||
overflow: auto; | |||
} | |||
.banner-group{ | |||
position: relative; | |||
width: 750rpx; | |||
height: 556rpx; | |||
} | |||
.newImages9-test2{ | |||
width: 100%; | |||
height: 100%; | |||
} | |||
.newImages9-2{ | |||
position: absolute; | |||
top: 165rpx; | |||
right: 3rpx; | |||
width: 87rpx; | |||
height: 88rpx; | |||
} | |||
.goods-price{ | |||
position: absolute; | |||
left: 0; | |||
bottom: 0; | |||
width: 750rpx; | |||
height: 111rpx; | |||
} | |||
.newImages9-14{ | |||
width: 100%; | |||
height: 100%; | |||
} | |||
.price-detail{ | |||
position: absolute; | |||
top: 0; | |||
left: 0; | |||
width: 100%; | |||
height: 100%; | |||
padding:0 30rpx; | |||
box-sizing: border-box; | |||
display: flex; | |||
align-items: center; | |||
justify-content: space-between; | |||
} | |||
.goods-name{ | |||
font-size:30rpx; | |||
font-family:MHeiPRC; | |||
font-weight:bold; | |||
color:rgba(255,255,255,1); | |||
line-height:32rpx; | |||
margin-bottom: 18rpx; | |||
} | |||
.after-discount{ | |||
font-size:20rpx; | |||
font-family:MHeiPRC; | |||
font-weight:bold; | |||
color:rgba(255,65,5,1); | |||
line-height:27rpx; | |||
height:27rpx; | |||
padding:0 10rpx; | |||
background-color: white; | |||
border-radius: 5rpx; | |||
} | |||
.original-price{ | |||
line-height:27rpx; | |||
font-size:18rpx; | |||
font-family:MHeiPRC; | |||
font-weight:500; | |||
color:rgba(255,255,255,1); | |||
margin-left: 10rpx; | |||
text-decoration: line-through; | |||
} | |||
.surplus-time{ | |||
font-size:37rpx; | |||
font-family:MHeiPRC; | |||
font-weight:bold; | |||
color:rgba(35,24,21,1); | |||
line-height:37rpx; | |||
margin-top: 50rpx; | |||
margin-bottom: 35rpx; | |||
display: flex; | |||
align-items: center; | |||
justify-content: center; | |||
} | |||
.time-group{ | |||
padding-left: 22rpx; | |||
padding-right: 15rpx; | |||
display: flex; | |||
align-items: center; | |||
justify-content: center; | |||
font-size:26rpx; | |||
} | |||
.time-block{ | |||
width:39rpx; | |||
height:39rpx; | |||
background-color: black; | |||
border-radius: 8rpx; | |||
font-family:MHeiPRC; | |||
font-weight:bold; | |||
color:rgba(255,255,255,1); | |||
line-height:39rpx; | |||
text-align: center; | |||
} | |||
.bargain-group{ | |||
width:694rpx; | |||
height:330rpx; | |||
border-radius: 20rpx; | |||
margin: 0 auto; | |||
background-color: white; | |||
box-sizing: border-box; | |||
} | |||
.bargain-num{ | |||
font-size:28rpx; | |||
font-family:MHeiPRC; | |||
font-weight:bold; | |||
color:rgba(89,87,87,1); | |||
text-align: center; | |||
padding-top: 51rpx; | |||
} | |||
.bargain-bar{ | |||
position: relative; | |||
width:576rpx; | |||
height:36rpx; | |||
border: 2rpx solid #4296CB; | |||
border-radius: 20rpx; | |||
margin: 0 auto; | |||
margin-top: 36rpx; | |||
margin-bottom: 28rpx; | |||
overflow: hidden; | |||
} | |||
.bar-num{ | |||
position: absolute; | |||
top: 50%; | |||
transform: translateY(-50%); | |||
left: 3rpx; | |||
background-image: linear-gradient(to right,#209BDB,#2278CC); | |||
max-width: 570rpx; | |||
width:0%; | |||
height:30rpx; | |||
border-radius: 20rpx; | |||
display: flex; | |||
align-items: center; | |||
justify-content: flex-end; | |||
} | |||
.bar-text{ | |||
line-height: 30rpx; | |||
font-size:18rpx; | |||
font-family:NissanBrand; | |||
font-weight:400; | |||
color:rgba(255,255,255,1); | |||
} | |||
.newImages9-15{ | |||
width: 15rpx; | |||
height: 15rpx; | |||
margin-right: 20rpx; | |||
margin-left: 5rpx; | |||
} | |||
.bar-surplus{ | |||
position: absolute; | |||
top: 0; | |||
right: 15rpx; | |||
line-height: 36rpx; | |||
font-size:18rpx; | |||
font-family:NissanBrand; | |||
font-weight:400; | |||
color:rgba(35,24,21,1); | |||
} | |||
.newImages9-16{ | |||
position: relative; | |||
width: 589rpx; | |||
height: 84rpx; | |||
margin: 0 auto; | |||
} | |||
.bargain-record{ | |||
width:694rpx; | |||
background-image: linear-gradient(to right,#209BDB,#2278CC); | |||
margin: 0 auto; | |||
border-radius: 20rpx; | |||
overflow: hidden; | |||
} | |||
.record-title{ | |||
position: relative; | |||
width: 100%; | |||
height: 94rpx; | |||
display: flex; | |||
align-items: center; | |||
font-size:30rpx; | |||
font-family:MHeiPRC; | |||
font-weight:500; | |||
color:rgba(255,255,255,1); | |||
line-height: 94rpx; | |||
} | |||
.title-text{ | |||
position: relative; | |||
width: 50%; | |||
text-align: center; | |||
} | |||
.title-line{ | |||
position: absolute; | |||
left: 50%; | |||
top: 50%; | |||
width: 2rpx; | |||
height: 45rpx; | |||
transform: translate(-50%,-50%); | |||
background-color: white; | |||
} | |||
.white-triangle{ | |||
position: absolute; | |||
left: 50%; | |||
transform: translateX(-50%); | |||
bottom: 0; | |||
width: 0; | |||
height: 0; | |||
border: 20rpx solid transparent; | |||
border-bottom-color: white; | |||
} | |||
.help-group{ | |||
background-color: white; | |||
width:694rpx; | |||
height:183rpx; | |||
display: flex; | |||
align-items: center; | |||
justify-content:space-between; | |||
padding:0 30rpx; | |||
box-sizing: border-box; | |||
} | |||
.head-group{ | |||
border-radius: 50%; | |||
border: 2rpx solid #355483; | |||
width: 79rpx; | |||
height: 79rpx; | |||
overflow: hidden; | |||
margin-right: 15rpx; | |||
} | |||
.head-img{ | |||
width: 100%; | |||
height: 100%; | |||
} | |||
.friend-name{ | |||
line-height: 30rpx; | |||
font-size:30rpx; | |||
font-family:NissanBrand; | |||
font-weight:bold; | |||
color:rgba(89,87,87,1); | |||
} | |||
.reason{ | |||
margin-top: 13rpx; | |||
line-height: 24rpx; | |||
font-size:24rpx; | |||
font-family:MHeiPRC; | |||
font-weight:500; | |||
color:rgba(89,87,87,1); | |||
} | |||
.newImages9-17{ | |||
width: 52rpx; | |||
height: 43rpx; | |||
} | |||
.minus-num{ | |||
line-height: 30rpx; | |||
font-size:30rpx; | |||
font-family:MHeiPRC; | |||
font-weight:500; | |||
color:rgba(53,84,131,1); | |||
} | |||
.ruleFrame{ | |||
position: absolute; | |||
left: 0; | |||
top: 0; | |||
width: 100%; | |||
height: calc(100vh - 120rpx); | |||
background-color: white; | |||
overflow: auto; | |||
padding-bottom: 130rpx; | |||
box-sizing: border-box; | |||
} | |||
.titleText{ | |||
width: 682rpx; | |||
margin: 0 auto; | |||
margin-top: 78rpx; | |||
margin-bottom: 28rpx; | |||
line-height: 39rpx; | |||
font-size:39rpx; | |||
font-family:PingFangSC; | |||
font-weight:bold; | |||
color:rgba(0,77,149,1); | |||
} | |||
.lineSty{ | |||
width: 682rpx; | |||
height:2rpx; | |||
background-color: #B6B6B6; | |||
margin: 0 auto; | |||
margin-bottom: 45rpx; | |||
} | |||
.closeXieyi{ | |||
position: absolute; | |||
right: 48rpx; | |||
top: 38rpx; | |||
width: 42rpx; | |||
height: 42rpx; | |||
} | |||
.newImages9-12{ | |||
width: 641rpx; | |||
height: 1037rpx; | |||
margin: 0 auto; | |||
margin-top: 40rpx; | |||
} | |||
.newImages9-test3{ | |||
width:247rpx; | |||
height: 75rpx; | |||
} | |||
.btns{ | |||
position: absolute; | |||
left: 0; | |||
bottom: 0; | |||
opacity: 0; | |||
} | |||
.maskFrame{ | |||
position: fixed; | |||
left: 0; | |||
top: 0; | |||
width: 100%; | |||
height: calc(100vh - 120rpx); | |||
background-color: rgba(000, 000, 000, 0.5); | |||
display: flex; | |||
align-items: center; | |||
justify-content: center; | |||
} | |||
.maskGroup{ | |||
position: relative; | |||
width: 603rpx; | |||
height: 500rpx; | |||
} | |||
.newImages9-19{ | |||
width: 100%; | |||
height: 100%; | |||
} | |||
.help-confirm{ | |||
position: absolute; | |||
left: 50%; | |||
transform: translateX(-50%); | |||
top: 372rpx; | |||
width: 347rpx; | |||
height: 62rpx; | |||
} | |||
.newImages9-20{ | |||
position: absolute; | |||
top: -18rpx; | |||
right: -19rpx; | |||
width: 38rpx; | |||
height: 36rpx; | |||
} | |||
.dicker-money{ | |||
position: absolute; | |||
left: 0; | |||
top: 260rpx; | |||
width: 100%; | |||
text-align: center; | |||
font-size:36rpx; | |||
font-family:PingFangSC; | |||
font-weight:400; | |||
color:rgba(52,84,128,1); | |||
line-height:36rpx; | |||
} | |||
.wx-swiper-dots{ | |||
margin-bottom: 110rpx; | |||
} | |||
@@ -1036,7 +1036,7 @@ Page({ | |||
this.machineHide(); | |||
}else if(this.data.couponList[index].couponId=="177275"){ | |||
this.upgradeHide(); | |||
}else if(this.data.couponList[index].couponId=="179478"){ | |||
}else if(this.data.couponList[index].couponId=="179478" || this.data.couponList[index].couponId=="190895"){ | |||
this.starMoveHide(); | |||
}else if(this.data.couponList[index].couponId=="185379"){ | |||
this.cashHide1(); |
@@ -163,7 +163,7 @@ | |||
</scroll-view> | |||
</view> | |||
<view class="orderDescGroup" wx:if="{{selectNow==4 && !couponList.length && !couponListState}}"> | |||
<image class="orderDesc" src="{{imgUrl+'/newImages6/52.png?s=004'}}"></image> | |||
<image class="orderDesc" src="{{imgUrl+'/newImages9/21.png'}}"></image> | |||
<image class="indexOrderIcon" bindtap="placingControl" src="{{imgUrl+'/images/indexOrderIcon.png'}}"></image> | |||
</view> | |||
<scroll-view class="placingOrderGroup" wx:if="{{selectNow==4 && couponList.length}}" scroll-y bindscrolltolower="scrolltolower3"> | |||
@@ -199,7 +199,7 @@ | |||
</view> | |||
<image class="orderCard" data-index="{{index}}" bindtap="vipDetailControl" src="{{imgUrl+'/newImages3/48.png'}}"></image> | |||
</view> | |||
<view class="placingOrder" wx:if="{{item.couponId=='179478'}}"> | |||
<view class="placingOrder" wx:if="{{item.couponId=='179478' || item.couponId=='190895'}}"> | |||
<view style="display:flex;align-items:center;"> | |||
<image class="orderHead" src="{{imgUrl+'/newImages6/31.png'}}" mode="aspectFit"></image> | |||
<view style="margin-left:15rpx;margin-right:101rpx;"> | |||
@@ -249,6 +249,20 @@ | |||
</view> | |||
<image class="orderCard" data-index="{{index}}" bindtap="vipDetailControl" src="{{imgUrl+'/newImages3/48.png'}}"></image> | |||
</view> | |||
<view class="placingOrder" wx:if="{{false}}"> | |||
<view style="display:flex;align-items:center;"> | |||
<image class="orderHead" src="{{imgUrl+'/newImages9/prizes/2.png'}}" mode="aspectFit"></image> | |||
<view style="margin-left:15rpx;margin-right:101rpx;"> | |||
<view class="cardTitle">2寸行车记录仪</view> | |||
<view class="cardCtime">{{item.cdate}}</view> | |||
</view> | |||
</view> | |||
<image class="orderCard" data-index="{{index}}" bindtap="vipDetailControl" src="{{imgUrl+'/newImages3/48.png'}}"></image> | |||
</view> | |||
</view> | |||
</view> | |||
</scroll-view> | |||
@@ -340,7 +354,7 @@ | |||
<view class="lineSty"></view> | |||
<image class="closeXieyi" bindtap="starMoveHide" src="{{imgUrl+'/images/closeXieyi.png'}}"></image> | |||
<view style="position:relative;"> | |||
<image style="width:750rpx;height:2005rpx;" src="{{imgUrl+'/newImages6/46.png?s=004'}}"></image> | |||
<image style="width:750rpx;height:2005rpx;" src="{{imgUrl+'/newImages9/22.png'}}"></image> | |||
<image class="newImages3-45" bindtap="starMoveHide" src="{{imgUrl+'/newImages3/45.png'}}"></image> | |||
</view> | |||
<view class="cardCode" wx:if="{{couponListCode}}">{{couponListCode}}<view bindtap="cardCodeCopy" class="cardCodeCopy">复制</view></view> |
@@ -83,7 +83,7 @@ | |||
<image class="closeTip" bindtap="tipShowControl" src="{{imgUrl+'/newImages4/15.png'}}"></image> | |||
<image class="tipGroupBg" src="{{imgUrl+'/newImages4/12.png'}}"></image> | |||
<view class="tipGroupContent"> | |||
<image class="tipGroupContentImg" src="{{imgUrl+'/newImages6/48.png?s=006'}}"></image> | |||
<image class="tipGroupContentImg" src="{{imgUrl+'/newImages9/23.png'}}"></image> | |||
<image class="tipGroupContentBtn" bindtap="tipShowControl2" src="{{imgUrl+'/newImages4/14.png'}}"></image> | |||
</view> | |||
</view> |
@@ -4,7 +4,7 @@ | |||
"ignore": [] | |||
}, | |||
"setting": { | |||
"urlCheck": true, | |||
"urlCheck": false, | |||
"es6": true, | |||
"postcss": true, | |||
"minified": true, |
@@ -0,0 +1,192 @@ | |||
var hexcase = 0; | |||
var b64pad = ""; | |||
var chrsz = 8; | |||
function hex_md5(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz));} | |||
function b64_md5(s){ return binl2b64(core_md5(str2binl(s), s.length * chrsz));} | |||
function hex_hmac_md5(key, data) { return binl2hex(core_hmac_md5(key, data)); } | |||
function b64_hmac_md5(key, data) { return binl2b64(core_hmac_md5(key, data)); } | |||
function calcMD5(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz));} | |||
function md5_vm_test() | |||
{ | |||
return hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72"; | |||
} | |||
function core_md5(x, len) | |||
{ | |||
x[len >> 5] |= 0x80 << ((len) % 32); | |||
x[(((len + 64) >>> 9) << 4) + 14] = len; | |||
var a = 1732584193; | |||
var b = -271733879; | |||
var c = -1732584194; | |||
var d = 271733878; | |||
for(var i = 0; i < x.length; i += 16) | |||
{ | |||
var olda = a; | |||
var oldb = b; | |||
var oldc = c; | |||
var oldd = d; | |||
a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936); | |||
d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586); | |||
c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819); | |||
b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330); | |||
a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897); | |||
d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426); | |||
c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341); | |||
b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983); | |||
a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416); | |||
d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417); | |||
c = md5_ff(c, d, a, b, x[i+10], 17, -42063); | |||
b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162); | |||
a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682); | |||
d = md5_ff(d, a, b, c, x[i+13], 12, -40341101); | |||
c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290); | |||
b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329); | |||
a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510); | |||
d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632); | |||
c = md5_gg(c, d, a, b, x[i+11], 14, 643717713); | |||
b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302); | |||
a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691); | |||
d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083); | |||
c = md5_gg(c, d, a, b, x[i+15], 14, -660478335); | |||
b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848); | |||
a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438); | |||
d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690); | |||
c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961); | |||
b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501); | |||
a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467); | |||
d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784); | |||
c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473); | |||
b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734); | |||
a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558); | |||
d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463); | |||
c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562); | |||
b = md5_hh(b, c, d, a, x[i+14], 23, -35309556); | |||
a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060); | |||
d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353); | |||
c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632); | |||
b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640); | |||
a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174); | |||
d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222); | |||
c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979); | |||
b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189); | |||
a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487); | |||
d = md5_hh(d, a, b, c, x[i+12], 11, -421815835); | |||
c = md5_hh(c, d, a, b, x[i+15], 16, 530742520); | |||
b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651); | |||
a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844); | |||
d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415); | |||
c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905); | |||
b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055); | |||
a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571); | |||
d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606); | |||
c = md5_ii(c, d, a, b, x[i+10], 15, -1051523); | |||
b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799); | |||
a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359); | |||
d = md5_ii(d, a, b, c, x[i+15], 10, -30611744); | |||
c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380); | |||
b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649); | |||
a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070); | |||
d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379); | |||
c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259); | |||
b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551); | |||
a = safe_add(a, olda); | |||
b = safe_add(b, oldb); | |||
c = safe_add(c, oldc); | |||
d = safe_add(d, oldd); | |||
} | |||
return Array(a, b, c, d); | |||
} | |||
function md5_cmn(q, a, b, x, s, t) | |||
{ | |||
return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b); | |||
} | |||
function md5_ff(a, b, c, d, x, s, t) | |||
{ | |||
return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t); | |||
} | |||
function md5_gg(a, b, c, d, x, s, t) | |||
{ | |||
return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t); | |||
} | |||
function md5_hh(a, b, c, d, x, s, t) | |||
{ | |||
return md5_cmn(b ^ c ^ d, a, b, x, s, t); | |||
} | |||
function md5_ii(a, b, c, d, x, s, t) | |||
{ | |||
return md5_cmn(c ^ (b | (~d)), a, b, x, s, t); | |||
} | |||
function core_hmac_md5(key, data) | |||
{ | |||
var bkey = str2binl(key); | |||
if(bkey.length > 16) bkey = core_md5(bkey, key.length * chrsz); | |||
var ipad = Array(16), opad = Array(16); | |||
for(var i = 0; i < 16; i++) | |||
{ | |||
ipad[i] = bkey[i] ^ 0x36363636; | |||
opad[i] = bkey[i] ^ 0x5C5C5C5C; | |||
} | |||
var hash = core_md5(ipad.concat(str2binl(data)), 512 + data.length * chrsz); | |||
return core_md5(opad.concat(hash), 512 + 128); | |||
} | |||
function safe_add(x, y) | |||
{ | |||
var lsw = (x & 0xFFFF) + (y & 0xFFFF); | |||
var msw = (x >> 16) + (y >> 16) + (lsw >> 16); | |||
return (msw << 16) | (lsw & 0xFFFF); | |||
} | |||
function bit_rol(num, cnt) | |||
{ | |||
return (num << cnt) | (num >>> (32 - cnt)); | |||
} | |||
function str2binl(str) | |||
{ | |||
var bin = Array(); | |||
var mask = (1 << chrsz) - 1; | |||
for(var i = 0; i < str.length * chrsz; i += chrsz) | |||
bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (i%32); | |||
return bin; | |||
} | |||
function binl2hex(binarray) | |||
{ | |||
var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef"; | |||
var str = ""; | |||
for(var i = 0; i < binarray.length * 4; i++) | |||
{ | |||
str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) + | |||
hex_tab.charAt((binarray[i>>2] >> ((i%4)*8 )) & 0xF); | |||
} | |||
return str; | |||
} | |||
function binl2b64(binarray) | |||
{ | |||
var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; | |||
var str = ""; | |||
for(var i = 0; i < binarray.length * 4; i += 3) | |||
{ | |||
var triplet = (((binarray[i >> 2] >> 8 * ( i %4)) & 0xFF) << 16) | |||
| (((binarray[i+1 >> 2] >> 8 * ((i+1)%4)) & 0xFF) << 8 ) | |||
| ((binarray[i+2 >> 2] >> 8 * ((i+2)%4)) & 0xFF); | |||
for(var j = 0; j < 4; j++) | |||
{ | |||
if(i * 8 + j * 6 > binarray.length * 32) str += b64pad; | |||
else str += tab.charAt((triplet >> 6*(3-j)) & 0x3F); | |||
} | |||
} | |||
return str; | |||
} | |||
module.exports = { hexMD5: hex_md5 }; |