@@ -1,6 +1,7 @@ | |||||
{ | { | ||||
"pages": [ | "pages": [ | ||||
"pages/index/index", | "pages/index/index", | ||||
"pages/bannerdetail/index", | |||||
"pages/getuserinfo/index", | "pages/getuserinfo/index", | ||||
"pages/getphoneInfo/index", | "pages/getphoneInfo/index", | ||||
"pages/market/index", | "pages/market/index", | ||||
@@ -17,6 +17,7 @@ Component({ | |||||
swiperCurrent: 0, | swiperCurrent: 0, | ||||
}, | }, | ||||
/** | /** | ||||
* 组件的方法列表 | * 组件的方法列表 | ||||
*/ | */ | ||||
@@ -28,5 +29,12 @@ Component({ | |||||
swiperCurrent: e.detail.current | swiperCurrent: e.detail.current | ||||
}) | }) | ||||
}, | }, | ||||
gotobannerdetail:function(e){ | |||||
console.log("我要点击进入banner详情页面") | |||||
console.log(e.currentTarget.dataset.id); | |||||
wx.navigateTo({ | |||||
url: `/pages/bannerdetail/index?id=${e.currentTarget.dataset.id}`, | |||||
}) | |||||
} | |||||
} | } | ||||
}) | }) |
@@ -2,7 +2,7 @@ | |||||
<swiper class="index-slide" bindchange="swiperChange" circular="true" autoplay="true" interval="3000" duration="500"> | <swiper class="index-slide" bindchange="swiperChange" circular="true" autoplay="true" interval="3000" duration="500"> | ||||
<block wx:for="{{list}}" wx:key="unique"> | <block wx:for="{{list}}" wx:key="unique"> | ||||
<swiper-item> | <swiper-item> | ||||
<image data-id="{{item.id}}" src="{{item.coverImg}}" class="index-slide-image" /> | |||||
<image data-id="{{item.id}}" bindtap='gotobannerdetail' src="{{item.coverImg}}" class="index-slide-image" /> | |||||
</swiper-item> | </swiper-item> | ||||
</block> | </block> | ||||
</swiper> | </swiper> | ||||
@@ -0,0 +1,66 @@ | |||||
let config = require("../../config/config.js"); | |||||
let app = getApp(); | |||||
const Http = require("../../utils/HttpBasics"); | |||||
const util = require("../../utils/util"); | |||||
Page({ | |||||
data: { | |||||
data: {}, | |||||
couponId: null, | |||||
orderId: "", | |||||
day: "", | |||||
hour: "", | |||||
minute: "" | |||||
}, | |||||
onLoad(options) { | |||||
let that = this; | |||||
console.log(options.id); | |||||
wx.showLoading({ | |||||
title: "加载中..." | |||||
}); | |||||
if (options.flag) { | |||||
this.orderFunc(); | |||||
} else { | |||||
Http.get({ | |||||
url: config.api.couponDetail, | |||||
data: { | |||||
couponId: options.id, | |||||
targetAd:options.targetAd | |||||
} | |||||
}).then(res => { | |||||
console.log(res); | |||||
//当前时间与优惠券下架时间做计算 | |||||
var startTime = util.fmtDate(res.data.sendEndDate); | |||||
console.log(startTime); | |||||
var s1 = new Date(startTime.replace(/-/g, "/")); | |||||
var s2 = new Date(); | |||||
var runTime = parseInt((s1.getTime() - s2.getTime()) / 1000); | |||||
var year = Math.floor(runTime / 86400 / 365); | |||||
var runTime = runTime % (86400 * 365); | |||||
var month = Math.floor(runTime / 86400 / 30); | |||||
var runTime = runTime % (86400 * 30); | |||||
var day = Math.floor(runTime / 86400); | |||||
var runTime = runTime % 86400; | |||||
var hour = Math.floor(runTime / 3600); | |||||
var runTime = runTime % 3600; | |||||
var minute = Math.floor(runTime / 60); | |||||
var runTime = runTime % 60; | |||||
var second = runTime; | |||||
console.log(year, month, day, hour, minute, second); | |||||
that.setData({ | |||||
year: year, | |||||
month: month, | |||||
day: day, | |||||
hour: hour, | |||||
minute: minute | |||||
}); | |||||
console.log(that.data.day); | |||||
wx.hideLoading(); | |||||
that.setData({ | |||||
data: res.data, | |||||
couponId: options.id | |||||
}); | |||||
}); | |||||
} | |||||
} | |||||
}); |
@@ -0,0 +1,3 @@ | |||||
{ | |||||
"navigationBarTitleText": "活动详情" | |||||
} |
@@ -0,0 +1,52 @@ | |||||
<!-- banner活动详情页面 --> | |||||
<view class='coupons'> | |||||
<view class="coupons-body"> | |||||
<view class='banner'> | |||||
<image src='{{data.coverImg}}'></image> | |||||
</view> | |||||
<view class='coupons_info'> | |||||
<view> | |||||
<text>{{data.title}}<text>限购{{data.useLimitQuantity}}件</text></text> | |||||
<text>剩余时间:<text>{{day}}天</text><text>{{hour}}小时</text><text>{{minute}}分钟</text></text> | |||||
<text>剩余件数:<text>{{data.remainInventory}}件</text></text> | |||||
</view> | |||||
<view> | |||||
<text>¥{{data.salePriceStr}}</text> | |||||
<text>¥{{data.priceStr}}</text> | |||||
</view> | |||||
</view> | |||||
<view class='posi'> | |||||
<view class='posi_logo'> | |||||
<view> | |||||
<image src='{{data.merChantImgUrl}}'></image> | |||||
</view> | |||||
<view> | |||||
<text>{{data.merchantName}}</text> | |||||
<text>{{data.addr}}{{data.buildingName}}{{data.floorName}}</text> | |||||
</view> | |||||
</view> | |||||
<!-- <view> | |||||
<text>更多适用门店</text> | |||||
<text class='iconfont icon-right'></text> | |||||
</view> --> | |||||
</view> | |||||
<view class='notes'> | |||||
<view> | |||||
<text>购买须知</text> | |||||
</view> | |||||
<view> | |||||
<text><text class='spot'></text>有效期2018.01.16 至 2018.09.20</text> | |||||
<text><text class='spot'></text>除特价酒水及特价菜外全场通用</text> | |||||
<text><text class='spot'></text>无需预约,消费g高峰时可能需要等位</text> | |||||
<text><text class='spot'></text>没人最多购买2张</text> | |||||
<text><text class='spot'></text>不可使用包间</text> | |||||
<text><text class='spot'></text>堂食外带均可,可免费打包</text> | |||||
<text><text class='spot'></text>每桌限用2张</text> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
<view class="buy-view app-border-top"> | |||||
<button bindtap='orderFunc' class='buy'>立即购买</button> | |||||
</view> | |||||
</view> |
@@ -0,0 +1,213 @@ | |||||
@import "../../app.wxss"; | |||||
.coupons { | |||||
width: 100%; | |||||
background: #f6f6f6; | |||||
position: relative; | |||||
overflow: hidden; | |||||
padding-bottom: 120rpx; | |||||
} | |||||
.coupons-body { | |||||
flex: 1; | |||||
/* overflow: auto; */ | |||||
} | |||||
.banner { | |||||
width: 100%; | |||||
height: 465rpx; | |||||
} | |||||
.banner image { | |||||
width: 100%; | |||||
height: 100%; | |||||
} | |||||
.coupons_info { | |||||
width: 92%; | |||||
height: 186rpx; | |||||
display: flex; | |||||
justify-content: space-between; | |||||
padding: 0 4%; | |||||
background: #fff; | |||||
} | |||||
.coupons_info view { | |||||
display: flex; | |||||
flex-direction: column; | |||||
} | |||||
.coupons_info view:nth-child(1) text { | |||||
font-size: 30rpx; | |||||
margin-top: 3%; | |||||
} | |||||
.coupons_info view:nth-child(1) text:nth-child(1) text { | |||||
color: #ff3434; | |||||
font-size: 24rpx; | |||||
border: 1px solid #ff3434; | |||||
border-radius: 6rpx; | |||||
margin-left: 2%; | |||||
padding: 0 5rpx; | |||||
} | |||||
.coupons_info view:nth-child(1) text:nth-child(2), | |||||
.coupons_info view:nth-child(1) text:nth-child(3) { | |||||
color: #b8b8b8; | |||||
font-size: 24rpx; | |||||
margin-top: 4%; | |||||
} | |||||
.coupons_info view:nth-child(1) text:nth-child(2) text, | |||||
.coupons_info view:nth-child(1) text:nth-child(3) text { | |||||
color: #ff3434; | |||||
font-size: 24rpx; | |||||
} | |||||
.coupons_info view:nth-child(2) text:nth-child(1) { | |||||
font-size: 36rpx; | |||||
color: #ff3434; | |||||
margin-top: 40rpx; | |||||
font-weight: bold; | |||||
} | |||||
.coupons_info view:nth-child(2) text:nth-child(2) { | |||||
font-size: 24rpx; | |||||
color: #b4b4b4; | |||||
text-decoration: line-through; | |||||
padding-left: 10rpx; | |||||
padding-top: 4rpx; | |||||
} | |||||
.posi { | |||||
width: 92%; | |||||
display: flex; | |||||
flex-direction: column; | |||||
padding: 0 4%; | |||||
background: #fff; | |||||
margin-top: 2%; | |||||
} | |||||
.posi>view:nth-child(2) { | |||||
width: 100%; | |||||
height: 87rpx; | |||||
display: flex; | |||||
justify-content: space-between; | |||||
border-top: 1px solid #f6f6f6; | |||||
line-height: 87rpx; | |||||
} | |||||
.posi>view:nth-child(2) text:nth-child(1) { | |||||
font-size: 30rpx; | |||||
color: #a9a9a9; | |||||
} | |||||
.posi>view:nth-child(2) text:nth-child(2) { | |||||
font-size: 30rpx; | |||||
color: #a9a9a9; | |||||
} | |||||
.posi_logo { | |||||
width: 100%; | |||||
height: 156rpx; | |||||
display: flex; | |||||
margin-top: 30rpx; | |||||
} | |||||
.posi_logo view:nth-child(1) { | |||||
width: 126rpx; | |||||
height: 126rpx; | |||||
border-radius: 50%; | |||||
overflow: hidden; | |||||
flex: 2; | |||||
} | |||||
.posi_logo view:nth-child(1) image { | |||||
width: 100%; | |||||
height: 100%; | |||||
} | |||||
.posi_logo view:nth-child(2) { | |||||
display: flex; | |||||
flex-direction: column; | |||||
flex: 8; | |||||
padding-top: 20rpx; | |||||
padding-left: 30rpx; | |||||
} | |||||
.posi_logo view:nth-child(2) text:nth-child(1) { | |||||
font-size: 30rpx; | |||||
} | |||||
.posi_logo view:nth-child(2) text:nth-child(2) { | |||||
font-size: 24rpx; | |||||
color: #b8b8b8; | |||||
padding-top: 10rpx; | |||||
} | |||||
.notes { | |||||
margin-top: 2%; | |||||
} | |||||
.notes view:nth-child(1) { | |||||
width: 92%; | |||||
height: 87rpx; | |||||
padding: 0 4%; | |||||
line-height: 87rpx; | |||||
background: #fff; | |||||
border-bottom: 1rpx solid #f5f5f5; | |||||
border-top: 1rpx solid #f5f5f5; | |||||
} | |||||
.notes view:nth-child(1) text { | |||||
font-size: 30rpx; | |||||
font-weight: bold; | |||||
} | |||||
.notes view:nth-child(2) { | |||||
width: 92%; | |||||
height: 400rpx; | |||||
padding: 0 4%; | |||||
background: #fff; | |||||
border-bottom: 1rpx solid #f5f5f5; | |||||
display: flex; | |||||
flex-direction: column; | |||||
padding-top: 2%; | |||||
} | |||||
.notes view:nth-child(2)>text { | |||||
font-size: 28rpx; | |||||
color: #a9a9a9; | |||||
line-height: 56rpx; | |||||
} | |||||
.spot { | |||||
width: 12rpx; | |||||
height: 12rpx; | |||||
display: inline-block; | |||||
background: #a9a9a9; | |||||
margin-right: 16rpx; | |||||
position: relative; | |||||
bottom: 4rpx; | |||||
border-radius: 50%; | |||||
} | |||||
.buy-view { | |||||
background: #fff; | |||||
position: fixed; | |||||
padding-top: 10rpx; | |||||
height:98rpx; | |||||
bottom: 0rpx; | |||||
left: 0; | |||||
right: 0; | |||||
} | |||||
.buy { | |||||
background: #00c0ff; | |||||
height: 88rpx; | |||||
width: 98%; | |||||
margin: 0 auto; | |||||
color: #fff; | |||||
font-size: 36rpx; | |||||
line-height: 88rpx; | |||||
border-radius: 6rpx; | |||||
} |
@@ -31,7 +31,7 @@ Page({ | |||||
}).then(res => { | }).then(res => { | ||||
console.log(res); | console.log(res); | ||||
//当前时间与优惠券下架时间做计算 | //当前时间与优惠券下架时间做计算 | ||||
var startTime = util.fmtDate(res.data.sendEndDate); | |||||
var startTime = util.fmtDate(res.data.endTime); | |||||
console.log(startTime); | console.log(startTime); | ||||
var s1 = new Date(startTime.replace(/-/g, "/")); | var s1 = new Date(startTime.replace(/-/g, "/")); | ||||
var s2 = new Date(); | var s2 = new Date(); | ||||
@@ -6,7 +6,10 @@ | |||||
<view> | <view> | ||||
<view class="nocoupon" wx:if="{{list.length==0}}"> | <view class="nocoupon" wx:if="{{list.length==0}}"> | ||||
<image src="./../../../assets/img/cou.png" mode="widthFix" /> | <image src="./../../../assets/img/cou.png" mode="widthFix" /> | ||||
<text>没有优惠券哦</text> | |||||
<text>暂无优惠券可用</text> | |||||
<navigator url="/pages/index/index" open-type="switchTab" hover-class="other-navigator-hover"> | |||||
<button>去领券</button> | |||||
</navigator> | |||||
</view> | </view> | ||||
<view class='section' wx:for='{{list}}' wx:key='{{index}}' bindtap="gotouse" data-quancode="{{item.id}}"> | <view class='section' wx:for='{{list}}' wx:key='{{index}}' bindtap="gotouse" data-quancode="{{item.id}}"> | ||||
<view class='detail_msg'> | <view class='detail_msg'> | ||||
@@ -93,7 +93,7 @@ | |||||
} | } | ||||
.nocoupon image{ | .nocoupon image{ | ||||
width: 100rpx; | |||||
width: 203rpx; | |||||
display: block; | display: block; | ||||
margin: 200rpx auto 0; | margin: 200rpx auto 0; | ||||
} | } | ||||
@@ -101,6 +101,12 @@ | |||||
display: block; | display: block; | ||||
text-align: center; | text-align: center; | ||||
font-size:30rpx; | font-size:30rpx; | ||||
color: #999; | |||||
color: #00C0FF; | |||||
} | |||||
.nocoupon button{ | |||||
background: #00C0FF; | |||||
color: #fff; | |||||
font-style: 30rpx; | |||||
width: 70%; | |||||
margin: 30rpx auto 0; | |||||
} | } | ||||
@@ -79,13 +79,13 @@ Component({ | |||||
if (key == 0) { | if (key == 0) { | ||||
var param = { | var param = { | ||||
pageNum: pageNum, | pageNum: pageNum, | ||||
pageSize: 2, | |||||
pageSize: 8, | |||||
targetAd: 1 | targetAd: 1 | ||||
}; | }; | ||||
} else { | } else { | ||||
var param = { | var param = { | ||||
pageNum: pageNum, | pageNum: pageNum, | ||||
pageSize: 2, | |||||
pageSize: 8, | |||||
business: key, | business: key, | ||||
targetAd: 1 | targetAd: 1 | ||||
}; | }; | ||||
@@ -14,21 +14,14 @@ Page({ | |||||
* 生命周期函数--监听页面加载 | * 生命周期函数--监听页面加载 | ||||
*/ | */ | ||||
onLoad: function(options) {}, | onLoad: function(options) {}, | ||||
/** | |||||
* 生命周期函数--监听页面初次渲染完成 | |||||
*/ | |||||
/** | |||||
* 生命周期函数--监听页面显示 | |||||
*/ | |||||
onReady: function() { | |||||
//列表 | |||||
getList: function(page) { | |||||
app.couponChannelListCallback = token => { | app.couponChannelListCallback = token => { | ||||
Http.setToken(token); | Http.setToken(token); | ||||
Http.get({ | Http.get({ | ||||
url: config.api.couponChannelList, | url: config.api.couponChannelList, | ||||
data: { | data: { | ||||
pageNum: 2, | |||||
pageNum: page, | |||||
pageSize: 2, | pageSize: 2, | ||||
targetAd: 2 | targetAd: 2 | ||||
} | } | ||||
@@ -45,14 +38,20 @@ Page({ | |||||
app.couponChannelListCallback(app.globalData.token); | app.couponChannelListCallback(app.globalData.token); | ||||
} | } | ||||
}, | }, | ||||
onReady: function() { | |||||
let that = this; | |||||
that.getList(2); | |||||
}, | |||||
//限时抢购的强请页面 | //限时抢购的强请页面 | ||||
gotodetail: function(e) { | gotodetail: function(e) { | ||||
console.log(e) | |||||
console.log("姐姐在测试") | |||||
console.log(e); | |||||
console.log("姐姐在测试"); | |||||
console.log(e.currentTarget.dataset.couponid); | console.log(e.currentTarget.dataset.couponid); | ||||
console.log(e.currentTarget.dataset.targetad); | console.log(e.currentTarget.dataset.targetad); | ||||
wx.navigateTo({ | wx.navigateTo({ | ||||
url: `/pages/coupon/detail/index?id=${e.currentTarget.dataset.couponid}&targetAd=${e.currentTarget.dataset.targetad}`, | |||||
url: `/pages/coupon/detail/index?id=${ | |||||
e.currentTarget.dataset.couponid | |||||
}&targetAd=${e.currentTarget.dataset.targetad}`, | |||||
success: function(res) { | success: function(res) { | ||||
// success | // success | ||||
}, | }, | ||||
@@ -64,27 +63,18 @@ Page({ | |||||
} | } | ||||
}); | }); | ||||
}, | }, | ||||
/** | |||||
* 生命周期函数--监听页面隐藏 | |||||
*/ | |||||
onHide: function() {}, | |||||
/** | |||||
* 生命周期函数--监听页面卸载 | |||||
*/ | |||||
onUnload: function() {}, | |||||
/** | /** | ||||
* 页面相关事件处理函数--监听用户下拉动作 | * 页面相关事件处理函数--监听用户下拉动作 | ||||
*/ | */ | ||||
onPullDownRefresh: function() { | onPullDownRefresh: function() { | ||||
console.log(""); | |||||
console.log("000"); | |||||
}, | }, | ||||
/** | /** | ||||
* 页面上拉触底事件的处理函数 | * 页面上拉触底事件的处理函数 | ||||
*/ | */ | ||||
onReachBottom: function() { | onReachBottom: function() { | ||||
console.log("姐姐在搞上啦加载"); | |||||
}, | }, | ||||
/** | /** | ||||
@@ -1,4 +1,4 @@ | |||||
<!-- 限时抢购 详情 --> | |||||
<!-- 限时抢购 查看更多对应的页面 --> | |||||
<view class='flashSale'> | <view class='flashSale'> | ||||
<view wx:for="{{list}}" class='flashSaleItemWrap' data-couponId="{{item.couponId}}" data-targetAd="{{item.targetAd}}" bindtap="gotodetail" wx:key="index"> | <view wx:for="{{list}}" class='flashSaleItemWrap' data-couponId="{{item.couponId}}" data-targetAd="{{item.targetAd}}" bindtap="gotodetail" wx:key="index"> | ||||
<view class='flashSaleItem'> | <view class='flashSaleItem'> | ||||