| @@ -1,15 +1,16 @@ | |||||
| { | { | ||||
| "pages":[ | "pages":[ | ||||
| "pages/index/index", | |||||
| "pages/getuserinfo/index", | |||||
| "pages/getphoneInfo/index", | |||||
| "pages/index/index", // 首页 | |||||
| "pages/getuserinfo/index", // 用户授权 | |||||
| "pages/getphoneInfo/index", // 手机授权 | |||||
| "pages/market/index", | "pages/market/index", | ||||
| "pages/user/index", | "pages/user/index", | ||||
| "pages/coupons/details/index", | |||||
| "pages/coupon/detail/index", // 券详情 | |||||
| "pages/shop/details/index", | "pages/shop/details/index", | ||||
| "pages/rushToBuy/index", | "pages/rushToBuy/index", | ||||
| "pages/shop/index/index", | "pages/shop/index/index", | ||||
| "pages/coupons/index/index", | |||||
| "pages/couponorder/index/index", // 券包列表 | |||||
| "pages/couponorder/detail/index", // 券包详情 | |||||
| "pages/order/details/index", | "pages/order/details/index", | ||||
| "pages/order/index/index", | "pages/order/index/index", | ||||
| "pages/success/index", | "pages/success/index", | ||||
| @@ -20,7 +20,7 @@ Component({ | |||||
| navigateTo(e){ | navigateTo(e){ | ||||
| let { id } = e.currentTarget.dataset.date; | let { id } = e.currentTarget.dataset.date; | ||||
| wx.navigateTo({ | wx.navigateTo({ | ||||
| url: `../../pages/coupons/details/index?id=${id}`, | |||||
| url: `../../pages/coupon/detail/index?id=${id}`, | |||||
| }) | }) | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,4 +1,4 @@ | |||||
| <navigator url="/pages/coupons/details/index?id={{data.id}}"> | |||||
| <navigator url="/pages/coupon/detail/index?id={{data.id}}"> | |||||
| <view class="coupons"> | <view class="coupons"> | ||||
| <view class="coupons-img"> | <view class="coupons-img"> | ||||
| <image src="{{data.coverImg}}"></image> | <image src="{{data.coverImg}}"></image> | ||||
| @@ -71,6 +71,10 @@ var config = { | |||||
| * 验证码确认 | * 验证码确认 | ||||
| */ | */ | ||||
| validationCode: '/wxMsgValidationcode/hasvalidationcode', | validationCode: '/wxMsgValidationcode/hasvalidationcode', | ||||
| /** | |||||
| * 车场信息获取 | |||||
| */ | |||||
| getParkInfo: '/wxPark/info', | |||||
| /** | /** | ||||
| * 联合登录 | * 联合登录 | ||||
| */ | */ | ||||
| @@ -1,180 +1,180 @@ | |||||
| var config = require('../../../config/config.js'); | |||||
| var app = getApp() | |||||
| const Http = require("../../../utils/HttpBasics") | |||||
| Page({ | |||||
| data: { | |||||
| data: {}, | |||||
| couponId: null, | |||||
| orderId: '' | |||||
| }, | |||||
| onLoad(e) { | |||||
| console.log(e) | |||||
| wx.showLoading({ | |||||
| title: '加载中...', | |||||
| }) | |||||
| if (e.flag == 'pay') { | |||||
| this.orderFunc(); | |||||
| } else { | |||||
| Http.get({ | |||||
| url: config.api.couponDetail, | |||||
| data: { | |||||
| id: e.id | |||||
| } | |||||
| }).then(res => { | |||||
| wx.hideLoading(); | |||||
| this.setData({ | |||||
| data: res, | |||||
| couponId: e.id | |||||
| }) | |||||
| }) | |||||
| } | |||||
| }, | |||||
| /** | |||||
| * 支付订单更新 | |||||
| */ | |||||
| payOrderUpdate: (orderId, payOrderId, status, reason) => { | |||||
| // 支付成功 | |||||
| Http.post({ | |||||
| url: config.api.payOrderUpdate, | |||||
| data: { | |||||
| payOrderId: payOrderId, | |||||
| orderId: orderId, | |||||
| status: status, | |||||
| reason: reason | |||||
| } | |||||
| }) | |||||
| .then(res => { | |||||
| console.log("payOrderUpdate then", res); | |||||
| wx.showToast({ | |||||
| title: '购买成功', | |||||
| duration: 2500 | |||||
| }) | |||||
| }).catch(err => { | |||||
| console.log("payOrderUpdate catch", err); | |||||
| }) | |||||
| }, | |||||
| payment: (res) => { | |||||
| var that = this; | |||||
| var payOrderId = '' + res.data.out_trade_no; | |||||
| wx.requestPayment({ | |||||
| timeStamp: res.timeStamp, | |||||
| nonceStr: res.nonceStr, | |||||
| package: res.package, | |||||
| signType: 'MD5', | |||||
| paySign: res.paySign, | |||||
| 'success': (res) => { | |||||
| that.payOrderUpdate(that.data.orderId, payOrderId, 1) // 支付成功 | |||||
| console.log(res); | |||||
| console.log('支付成功'); | |||||
| wx.showToast({ | |||||
| title: '购买成功', | |||||
| duration: 2500 | |||||
| }) | |||||
| wx.navigateBack({ | |||||
| delta: 2 | |||||
| }) | |||||
| }, | |||||
| 'fail': (res) => { | |||||
| that.payOrderUpdate(that.data.orderId, payOrderId, 2) // 支付失败 | |||||
| console.log(res) | |||||
| console.log('支付失败'); | |||||
| return; | |||||
| }, | |||||
| 'complete': (res) => { | |||||
| console.log(res); | |||||
| console.log('支付完成'); | |||||
| var url = this.data.url; | |||||
| console.log('get url', url) | |||||
| if (res.errMsg == 'requestPayment:ok') { | |||||
| wx.showModal({ | |||||
| title: '提示', | |||||
| content: '支付成功' | |||||
| }); | |||||
| if (url) { | |||||
| setTimeout(function() { | |||||
| wx.redirectTo({ | |||||
| url: '/pages' + url | |||||
| }); | |||||
| }, 2000) | |||||
| } else { | |||||
| setTimeout(() => { | |||||
| wx.navigateBack() | |||||
| }, 2000) | |||||
| } | |||||
| } else { | |||||
| wx.showModal({ | |||||
| title: '错误提示', | |||||
| content: res.errMsg | |||||
| }); | |||||
| } | |||||
| return; | |||||
| } | |||||
| }) | |||||
| }, | |||||
| orderFunc() { | |||||
| var that = this; | |||||
| wx.showLoading({ | |||||
| title: '加载中...', | |||||
| }) | |||||
| Http.post({ | |||||
| url: config.api.checkPhoneStatus, | |||||
| data: {} | |||||
| }) | |||||
| .then(res => { | |||||
| return Http.post({ | |||||
| url: config.api.orderSave, | |||||
| data: { | |||||
| couponId: that.data.couponId | |||||
| } | |||||
| }) | |||||
| }).catch(err => { | |||||
| console.log(err) | |||||
| if (err.code == 11005) { | |||||
| // 用户手机未授权 | |||||
| wx.redirectTo({ | |||||
| url: '../../getphoneInfo/index?couponId=' + that.data.couponId, | |||||
| }) | |||||
| } | |||||
| if (err.code == 11006) { | |||||
| // 用户手机已加密 | |||||
| wx.redirectTo({ | |||||
| url: '../../phoneinput/phoneinput?couponId=' + that.data.couponId, | |||||
| }) | |||||
| } | |||||
| }) | |||||
| .then(res => { | |||||
| if (res != "undefined") { | |||||
| const orderId = '' + res.data.id; | |||||
| that.setData({ | |||||
| orderId: orderId | |||||
| }) | |||||
| if (res.data.payment > 0) { | |||||
| // 支付金额不为0 | |||||
| Http.post({ | |||||
| url: config.api.payOrderCreate, | |||||
| data: { | |||||
| orderId: orderId | |||||
| } | |||||
| }).then(res => { | |||||
| console.log(res) | |||||
| var payOrderId = '' + res.data.out_trade_no; | |||||
| wx.hideLoading(); | |||||
| //payment(res); | |||||
| that.payOrderUpdate(that.data.orderId, payOrderId, 1) // 支付成功 | |||||
| }) | |||||
| } else { | |||||
| // 免费券 | |||||
| that.payOrderUpdate(orderId, "0", 1) // 支付成功 | |||||
| .then(res => { | |||||
| wx.showToast({ | |||||
| title: "支付成功", | |||||
| duration: 3000 | |||||
| }) | |||||
| }) | |||||
| } | |||||
| } | |||||
| }).catch(err => { | |||||
| console.log(err) | |||||
| }) | |||||
| }, | |||||
| var config = require('../../../config/config.js'); | |||||
| var app = getApp() | |||||
| const Http = require("../../../utils/HttpBasics") | |||||
| Page({ | |||||
| data: { | |||||
| data: {}, | |||||
| couponId: null, | |||||
| orderId: '' | |||||
| }, | |||||
| onLoad(e) { | |||||
| console.log(e) | |||||
| wx.showLoading({ | |||||
| title: '加载中...', | |||||
| }) | |||||
| if (e.flag == 'pay') { | |||||
| this.orderFunc(); | |||||
| } else { | |||||
| Http.get({ | |||||
| url: config.api.couponDetail, | |||||
| data: { | |||||
| id: e.id | |||||
| } | |||||
| }).then(res => { | |||||
| wx.hideLoading(); | |||||
| this.setData({ | |||||
| data: res, | |||||
| couponId: e.id | |||||
| }) | |||||
| }) | |||||
| } | |||||
| }, | |||||
| /** | |||||
| * 支付订单更新 | |||||
| */ | |||||
| payOrderUpdate: (orderId, payOrderId, status, reason) => { | |||||
| // 支付成功 | |||||
| Http.post({ | |||||
| url: config.api.payOrderUpdate, | |||||
| data: { | |||||
| payOrderId: payOrderId, | |||||
| orderId: orderId, | |||||
| status: status, | |||||
| reason: reason | |||||
| } | |||||
| }) | |||||
| .then(res => { | |||||
| console.log("payOrderUpdate then", res); | |||||
| wx.showToast({ | |||||
| title: '购买成功', | |||||
| duration: 2500 | |||||
| }) | |||||
| }).catch(err => { | |||||
| console.log("payOrderUpdate catch", err); | |||||
| }) | |||||
| }, | |||||
| payment: (res) => { | |||||
| var that = this; | |||||
| var payOrderId = '' + res.data.out_trade_no; | |||||
| wx.requestPayment({ | |||||
| timeStamp: res.timeStamp, | |||||
| nonceStr: res.nonceStr, | |||||
| package: res.package, | |||||
| signType: 'MD5', | |||||
| paySign: res.paySign, | |||||
| 'success': (res) => { | |||||
| that.payOrderUpdate(that.data.orderId, payOrderId, 1) // 支付成功 | |||||
| console.log(res); | |||||
| console.log('支付成功'); | |||||
| wx.showToast({ | |||||
| title: '购买成功', | |||||
| duration: 2500 | |||||
| }) | |||||
| wx.navigateBack({ | |||||
| delta: 2 | |||||
| }) | |||||
| }, | |||||
| 'fail': (res) => { | |||||
| that.payOrderUpdate(that.data.orderId, payOrderId, 2) // 支付失败 | |||||
| console.log(res) | |||||
| console.log('支付失败'); | |||||
| return; | |||||
| }, | |||||
| 'complete': (res) => { | |||||
| console.log(res); | |||||
| console.log('支付完成'); | |||||
| var url = this.data.url; | |||||
| console.log('get url', url) | |||||
| if (res.errMsg == 'requestPayment:ok') { | |||||
| wx.showModal({ | |||||
| title: '提示', | |||||
| content: '支付成功' | |||||
| }); | |||||
| if (url) { | |||||
| setTimeout(function() { | |||||
| wx.redirectTo({ | |||||
| url: '/pages' + url | |||||
| }); | |||||
| }, 2000) | |||||
| } else { | |||||
| setTimeout(() => { | |||||
| wx.navigateBack() | |||||
| }, 2000) | |||||
| } | |||||
| } else { | |||||
| wx.showModal({ | |||||
| title: '错误提示', | |||||
| content: res.errMsg | |||||
| }); | |||||
| } | |||||
| return; | |||||
| } | |||||
| }) | |||||
| }, | |||||
| orderFunc() { | |||||
| var that = this; | |||||
| wx.showLoading({ | |||||
| title: '加载中...', | |||||
| }) | |||||
| Http.post({ | |||||
| url: config.api.checkPhoneStatus, | |||||
| data: {} | |||||
| }) | |||||
| .then(res => { | |||||
| return Http.post({ | |||||
| url: config.api.orderSave, | |||||
| data: { | |||||
| couponId: that.data.couponId | |||||
| } | |||||
| }) | |||||
| }).catch(err => { | |||||
| console.log(err) | |||||
| if (err.code == 11005) { | |||||
| // 用户手机未授权 | |||||
| wx.redirectTo({ | |||||
| url: '../../getphoneInfo/index?couponId=' + that.data.couponId, | |||||
| }) | |||||
| } | |||||
| if (err.code == 11006) { | |||||
| // 用户手机已加密 | |||||
| wx.redirectTo({ | |||||
| url: '../../phoneinput/phoneinput?couponId=' + that.data.couponId, | |||||
| }) | |||||
| } | |||||
| }) | |||||
| .then(res => { | |||||
| if (res != "undefined") { | |||||
| const orderId = '' + res.data.id; | |||||
| that.setData({ | |||||
| orderId: orderId | |||||
| }) | |||||
| if (res.data.payment > 0) { | |||||
| // 支付金额不为0 | |||||
| Http.post({ | |||||
| url: config.api.payOrderCreate, | |||||
| data: { | |||||
| orderId: orderId | |||||
| } | |||||
| }).then(res => { | |||||
| console.log(res) | |||||
| var payOrderId = '' + res.data.out_trade_no; | |||||
| wx.hideLoading(); | |||||
| //payment(res); | |||||
| that.payOrderUpdate(that.data.orderId, payOrderId, 1) // 支付成功 | |||||
| }) | |||||
| } else { | |||||
| // 免费券 | |||||
| that.payOrderUpdate(orderId, "0", 1) // 支付成功 | |||||
| .then(res => { | |||||
| wx.showToast({ | |||||
| title: "支付成功", | |||||
| duration: 3000 | |||||
| }) | |||||
| }) | |||||
| } | |||||
| } | |||||
| }).catch(err => { | |||||
| console.log(err) | |||||
| }) | |||||
| }, | |||||
| }) | }) | ||||
| @@ -1,50 +1,50 @@ | |||||
| <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>2天12小时25分钟</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='http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg'></image> | |||||
| </view> | |||||
| <view> | |||||
| <text>iFORMALL(西单大悦城店)</text> | |||||
| <text>北京市西城区西单北大街131号</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 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>2天12小时25分钟</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='http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg'></image> | |||||
| </view> | |||||
| <view> | |||||
| <text>iFORMALL(西单大悦城店)</text> | |||||
| <text>北京市西城区西单北大街131号</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> | </view> | ||||
| @@ -1,210 +1,210 @@ | |||||
| @import '../../../app.wxss'; | |||||
| .coupons { | |||||
| width: 100%; | |||||
| height: 100vh; | |||||
| background: #f6f6f6; | |||||
| position: relative; | |||||
| display: flex; | |||||
| flex-direction: column; | |||||
| } | |||||
| .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 { | |||||
| width: 100%; | |||||
| padding: 10rpx; | |||||
| /* position: fixed; */ | |||||
| /* bottom: 0; */ | |||||
| background: #fff; | |||||
| box-sizing: border-box; | |||||
| } | |||||
| .buy { | |||||
| /* width: 100%; */ | |||||
| height: 88rpx; | |||||
| background: #00C0FF; | |||||
| color: #fff; | |||||
| font-size: 36rpx; | |||||
| line-height: 88rpx; | |||||
| border-radius: 0; | |||||
| @import '../../../app.wxss'; | |||||
| .coupons { | |||||
| width: 100%; | |||||
| height: 100vh; | |||||
| background: #f6f6f6; | |||||
| position: relative; | |||||
| display: flex; | |||||
| flex-direction: column; | |||||
| } | |||||
| .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 { | |||||
| width: 100%; | |||||
| padding: 10rpx; | |||||
| /* position: fixed; */ | |||||
| /* bottom: 0; */ | |||||
| background: #fff; | |||||
| box-sizing: border-box; | |||||
| } | |||||
| .buy { | |||||
| /* width: 100%; */ | |||||
| height: 88rpx; | |||||
| background: #00C0FF; | |||||
| color: #fff; | |||||
| font-size: 36rpx; | |||||
| line-height: 88rpx; | |||||
| border-radius: 0; | |||||
| } | } | ||||
| @@ -27,7 +27,6 @@ Page({ | |||||
| current_scroll: '1' | current_scroll: '1' | ||||
| }, | }, | ||||
| onLoad() { | onLoad() { | ||||
| this.getBusinessList(1) | |||||
| this.getList(0, 1) | this.getList(0, 1) | ||||
| }, | }, | ||||
| getList(key, pageNum) { | getList(key, pageNum) { | ||||
| @@ -50,23 +49,6 @@ Page({ | |||||
| }) | }) | ||||
| }) | }) | ||||
| }, | }, | ||||
| getBusinessList(pageNum) { | |||||
| var that = this | |||||
| Http.get({ | |||||
| url: config.api.businessList, | |||||
| data: { | |||||
| pageNum: pageNum, | |||||
| pageSize: 10, | |||||
| type: 1 | |||||
| } | |||||
| }) | |||||
| .then(function(res) { | |||||
| console.log(res) | |||||
| that.setData({ | |||||
| list: res.data.list | |||||
| }) | |||||
| }, function(error) {}) | |||||
| }, | |||||
| handleChange({ | handleChange({ | ||||
| detail | detail | ||||
| }) { | }) { | ||||
| @@ -1,6 +1,6 @@ | |||||
| <view class="market"> | <view class="market"> | ||||
| <i-tabs class='tabs' current="{{ current_scroll }}" scroll bindchange="handleChangeScroll"> | <i-tabs class='tabs' current="{{ current_scroll }}" scroll bindchange="handleChangeScroll"> | ||||
| <i-tab class='i-tab' wx:for="{{tabs}}" wx:key="unique" key="{{item.id}}" title="{{item.title}}"></i-tab> | |||||
| <i-tab class='i-tab' wx:for="{{tabs}}" wx:key="unique" key="{{item.key}}" title="{{item.name}}"></i-tab> | |||||
| </i-tabs> | </i-tabs> | ||||
| <view class='section' wx:for='{{list}}' wx:key='{{index}}'> | <view class='section' wx:for='{{list}}' wx:key='{{index}}'> | ||||
| <view class='detail_msg'> | <view class='detail_msg'> | ||||
| @@ -1,83 +1,83 @@ | |||||
| .market { | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| } | |||||
| .tabs { | |||||
| width: 100% !important; | |||||
| height: 88rpx; | |||||
| text-align: center; | |||||
| } | |||||
| .i-tab { | |||||
| width: 25% !important; | |||||
| display: inline-block; | |||||
| } | |||||
| .section { | |||||
| margin-top: 2%; | |||||
| } | |||||
| .detail_msg { | |||||
| width: 92%; | |||||
| height: 220rpx !important; | |||||
| background: #fff; | |||||
| display: flex; | |||||
| padding: 0 4%; | |||||
| margin-top: 2%; | |||||
| border-bottom: 1px solid #ededed; | |||||
| } | |||||
| .logo { | |||||
| width: 248rpx; | |||||
| height: 184rpx; | |||||
| border-radius: 30rpx; | |||||
| } | |||||
| .logo image { | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| } | |||||
| .info view:nth-child(1) { | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| padding: 0 4%; | |||||
| } | |||||
| .info { | |||||
| width: 100%; | |||||
| } | |||||
| .info view:nth-child(1) text { | |||||
| font-size: 30rpx; | |||||
| } | |||||
| .info view:nth-child(2) { | |||||
| color: #ff3434; | |||||
| font-size: 24rpx; | |||||
| padding-left: 4%; | |||||
| margin-top: 1%; | |||||
| } | |||||
| .info view:nth-child(2) text { | |||||
| font-size: 22rpx; | |||||
| color: #b8b8b8; | |||||
| } | |||||
| .info view:nth-child(3) { | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| } | |||||
| .info view:nth-child(3) text:nth-child(2) { | |||||
| width: 170rpx; | |||||
| height: 50rpx; | |||||
| color: #fff; | |||||
| line-height: 50rpx; | |||||
| text-align: center; | |||||
| background: #00c0ff; | |||||
| border-radius: 10px; | |||||
| font-size: 28rpx; | |||||
| margin-top: 40rpx; | |||||
| } | |||||
| .market { | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| } | |||||
| .tabs { | |||||
| width: 100% !important; | |||||
| height: 88rpx; | |||||
| text-align: center; | |||||
| } | |||||
| .i-tab { | |||||
| width: 25% !important; | |||||
| display: inline-block; | |||||
| } | |||||
| .section { | |||||
| margin-top: 2%; | |||||
| } | |||||
| .detail_msg { | |||||
| width: 92%; | |||||
| height: 220rpx !important; | |||||
| background: #fff; | |||||
| display: flex; | |||||
| padding: 0 4%; | |||||
| margin-top: 2%; | |||||
| border-bottom: 1px solid #ededed; | |||||
| } | |||||
| .logo { | |||||
| width: 248rpx; | |||||
| height: 184rpx; | |||||
| border-radius: 30rpx; | |||||
| } | |||||
| .logo image { | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| } | |||||
| .info view:nth-child(1) { | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| padding: 0 4%; | |||||
| } | |||||
| .info { | |||||
| width: 100%; | |||||
| } | |||||
| .info view:nth-child(1) text { | |||||
| font-size: 30rpx; | |||||
| } | |||||
| .info view:nth-child(2) { | |||||
| color: #ff3434; | |||||
| font-size: 24rpx; | |||||
| padding-left: 4%; | |||||
| margin-top: 1%; | |||||
| } | |||||
| .info view:nth-child(2) text { | |||||
| font-size: 22rpx; | |||||
| color: #b8b8b8; | |||||
| } | |||||
| .info view:nth-child(3) { | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| } | |||||
| .info view:nth-child(3) text:nth-child(2) { | |||||
| width: 170rpx; | |||||
| height: 50rpx; | |||||
| color: #fff; | |||||
| line-height: 50rpx; | |||||
| text-align: center; | |||||
| background: #00c0ff; | |||||
| border-radius: 10px; | |||||
| font-size: 28rpx; | |||||
| margin-top: 40rpx; | |||||
| } | |||||
| @@ -2,7 +2,7 @@ | |||||
| <view class="index-rushToBuy-title">限时抢购</view> | <view class="index-rushToBuy-title">限时抢购</view> | ||||
| <scroll-view scroll-x class="index-scroll-view"> | <scroll-view scroll-x class="index-scroll-view"> | ||||
| <view class="commodity" wx:for="{{list}}" wx:key="unique"> | <view class="commodity" wx:for="{{list}}" wx:key="unique"> | ||||
| <navigator url="/pages/coupons/details/index"> | |||||
| <navigator url="/pages/coupon/detail/index"> | |||||
| <image class="commodity-img" src="{{item.img}}" /> | <image class="commodity-img" src="{{item.img}}" /> | ||||
| <view class="commodity-info"> | <view class="commodity-info"> | ||||
| <view class="commodity-info-name">{{item.name}}</view> | <view class="commodity-info-name">{{item.name}}</view> | ||||
| @@ -32,7 +32,7 @@ Page({ | |||||
| }) | }) | ||||
| .then(res => { | .then(res => { | ||||
| wx.redirectTo({ | wx.redirectTo({ | ||||
| url: '../coupons/details/index?id=' + that.data.couponId + "&flag=pay", | |||||
| url: '../coupon/detail/index?id=' + that.data.couponId + "&flag=pay", | |||||
| }) | }) | ||||
| }) | }) | ||||
| .catch(error => { | .catch(error => { | ||||
| @@ -32,7 +32,7 @@ | |||||
| </view> | </view> | ||||
| <view class="margin"></view> | <view class="margin"></view> | ||||
| <view class="user-btns"> | <view class="user-btns"> | ||||
| <navigator url="/pages/coupons/index/index"> | |||||
| <navigator url="/pages/couponorder/index/index"> | |||||
| <view class="user-btn app-border-bottom"> | <view class="user-btn app-border-bottom"> | ||||
| <view>券包</view> | <view>券包</view> | ||||
| <view> | <view> | ||||