sslyg 3 years ago
parent
commit
54b2704a83

+ 10 - 3
App.vue

@@ -18,7 +18,7 @@
 					url: '/pages/index/index'
 				});
 			}
-			uni.$on("login", () => {
+			uni.$on("login_succeeded", () => {
 				if (this.$store.state.user.group_id === 2) {
 					let iconIndex = 2
 					// #ifdef H5
@@ -31,6 +31,10 @@
 						iconPath: "static/images/kan.png",
 						selectedIconPath: "static/images/kan_selected.png",
 					})
+					uni.setTabBarItem({
+						index: 1,
+						text: '待发货'
+					})
 				} else {
 					let iconIndex = 2
 					// #ifdef H5
@@ -43,7 +47,10 @@
 						iconPath: "static/images/kan.png",
 						selectedIconPath: "static/images/kan_selected.png",
 					})
-
+					uni.setTabBarItem({
+						index: 1,
+						text: '待付款'
+					})
 				}
 			});
 			uni.onTabBarMidButtonTap(() => {
@@ -60,7 +67,7 @@
 			this.$store.commit("user/load")
 			this.$store.dispatch("cart/load");
 
-			uni.$emit("login");
+			uni.$emit("login_succeeded");
 		},
 		onHide: function() {
 			console.log('App Hide')

+ 50 - 0
components/timer-tips/timer-tips.vue

@@ -0,0 +1,50 @@
+<template>
+	<view class="timer-tips">
+		{{time_remaining |timeFilter}}
+	</view>
+</template>
+
+<script>
+	export default {
+		name: "timer-tips",
+		data() {
+			return {
+				time_remaining: 0
+			};
+		},
+		props: {
+			createtime: Number
+		},
+		filters: {
+			timeFilter(value) {
+				if (value < 0) {
+					return '该交易已关闭'
+				} else if (parseInt(value / 60) > 0) {
+					return '交易剩余支付时间 ' + parseInt(value / 60) + '分' + (value % 60) + '秒'
+
+				} else {
+					return '交易剩余支付时间 ' + value + '秒'
+				}
+			}
+
+		},
+		mounted() {
+			let now = parseInt(new Date().getTime() / 1000);
+			this.time_remaining = this.createtime + 1800 - now;
+
+			setInterval(() => {
+				this.time_remaining--
+			}, 1000)
+		}
+	}
+</script>
+
+<style>
+	.timer-tips {
+		background-color: #ffff7f;
+		text-align: center;
+		font-size: 24upx;
+		color: red;
+		line-height: 40upx;
+	}
+</style>

+ 1 - 1
http.js

@@ -19,7 +19,7 @@ function initPramas() {
 			title: msg,
 			icon: "none"
 		})
-		fail(res)
+		fail && fail(res)
 	}
 	const success = arguments[0].success
 	arguments[0].success = (res) => {

+ 9 - 2
manifest.json

@@ -17,7 +17,9 @@
             "delay" : 3000
         },
         /* 模块配置 */
-        "modules" : {},
+        "modules" : {
+            "Payment" : {}
+        },
         /* 应用发布信息 */
         "distribute" : {
             /* android打包配置 */
@@ -44,7 +46,12 @@
             "ios" : {},
             /* SDK配置 */
             "sdkConfigs" : {
-                "ad" : {}
+                "ad" : {},
+                "payment" : {
+                    "alipay" : {
+                        "__platform__" : [ "ios", "android" ]
+                    }
+                }
             },
             "splashscreen" : {
                 "androidStyle" : "default",

+ 10 - 1
pages.json

@@ -227,7 +227,16 @@
 			}
 
 		}
-	],
+	    ,{
+            "path" : "pages/order/cashier",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "收银台",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+    ],
 	"globalStyle": {
 		"navigationBarTextStyle": "white",
 		"navigationBarTitleText": "省心直供",

+ 17 - 13
pages/order/back-order.vue

@@ -1,5 +1,5 @@
 <template>
-	<view class="order">
+	<view id="order" class="order">
 		<view  v-if="orders.length===0" style="margin: 20upx auto;text-align: center; font-size: 28upx;color: #999999;">
 			暂无任何订单
 		</view>
@@ -16,12 +16,12 @@
 				<view class="order-info" @tap="openDetails(order.id)">
 					<view class="product-item" v-for="product in order.products_json">
 						<view class="product-image">
-							<image class="image" :src="product.spec_image" mode="scaleToFill"></image>
+							<image class="image" :src="product.spec_image|imagesFilter" mode="scaleToFill"></image>
 						</view>
 						<view class="product-info">
 							<view class="row">
 								<view class="name">{{product.name}}</view>
-								<view class="price">¥{{product.spec_price}}</view>
+								<view class="price">¥{{product.spec_price|priceFilter}}</view>
 							</view>
 							<view class="row">
 								<view class="spec">{{product.spec_name}}</view>
@@ -34,7 +34,7 @@
 					总价 <text class="warning">¥{{order.total_amount}}</text>
 				</view>
 				<view class="option">
-					<button v-if="order.status === 'wait_pay'" class="pay-btn" type="default">立即支付</button>
+					<button v-if="order.status === 'wait_pay'" class="pay-btn" type="default" @tap="openCashier(order.order_no)">立即支付</button>
 					<button v-if="order.status === 'wait_sign'" class="confirm-btn" type="default">确认收货</button>
 				</view>
 			</view>
@@ -53,15 +53,14 @@
 			}
 		},
 		onLoad() {
-			this.getOrdersData();
-		},
-		onShow() {
 			if (this.$store.state.user.group_id === 2) {
-				this.orderStatus = 'wait_deliver'
-			}
-			if (this.$store.state.user.group_id === 3) {
-				this.orderStatus = 'wait_pay'
-			}
+					this.orderStatus = 'wait_deliver'
+				}
+				if (this.$store.state.user.group_id === 3) {
+					this.orderStatus = 'wait_pay'
+				}
+			
+			this.getOrdersData();
 		},
 		onPageScroll(e) {
 			const query = uni.createSelectorQuery();
@@ -78,6 +77,11 @@
 					url: "order-details?id="+id
 				})
 			},
+			openCashier(order_no) {
+				uni.navigateTo({
+					url: "cashier?order_no="+order_no
+				})
+			},
 			getOrdersData() {
 				this.$http.get({
 					url: "/order/lists",
@@ -101,7 +105,7 @@
 </script>
 
 <style lang="scss">
-	.message {
+	.order {
 		overflow: hidden;
 	}
 

+ 284 - 0
pages/order/cashier.vue

@@ -0,0 +1,284 @@
+<template>
+	<view style="overflow: hidden;">
+		<timer-tips :createtime="orders[0].createtime"></timer-tips>
+		<view class="order-list">
+			<view class="order-item" v-for="order in orders">
+				<view class="order-head">
+					<view class="factory-name">{{order.seller.nickname?order.seller.nickname:'省心直供(该厂家暂未设置昵称)'}}</view>
+				</view>
+				<view class="order-info" @tap="openDetails(order.id)">
+					<view class="product-item" v-for="product in order.products_json">
+						<view class="product-image">
+							<image class="image" :src="product.spec_image|imagesFilter" mode="scaleToFill"></image>
+						</view>
+						<view class="product-info">
+							<view class="row">
+								<view class="name">{{product.name}}</view>
+								<view class="price">¥{{product.spec_price|priceFilter}}</view>
+							</view>
+							<view class="row">
+								<view class="spec">{{product.spec_name}}</view>
+								<view class="num">×{{product.num}}</view>
+							</view>
+						</view>
+					</view>
+				</view>
+				<view class="total-price">
+					总价 <text class="warning">¥{{order.total_amount}}</text>
+				</view>
+			</view>
+		</view>
+		<view class="sum">合计:{{total_amount_sum|priceFilter}}元</view>
+
+		<view class="pay-method">
+			<view class="label">请选择支付方式</view>
+			<view>
+				<view class="item" :class="{'active':pay_method==='alipay'}"
+					@tap="pay_method='alipay',pay_provider='alipay'">
+					<image class="image" src="../../static/alipay.png" mode="scaleToFill"
+						style="width: 50upx;height: 50upx;"></image>支付宝
+				</view>
+				<view class="item" :class="{'active':pay_method==='wechat'}"
+					@tap="pay_method='wechat',pay_provider='wxpay'">
+					<image class="image" src="../../static/wxpay.png" mode="scaleToFill"
+						style="width: 50upx;height: 50upx;"></image>微信支付
+				</view>
+				<view class="item" :class="{'active':pay_method==='balance'}" @tap="pay_method='balance'">
+					<image class="image" src="../../static/logo.png" mode="scaleToFill"
+						style="width: 50upx;height: 50upx;"></image>使用余额
+				</view>
+			</view>
+			<view class="" style="margin-top: 40upx;">
+				<button class="pay-btn" type="default" @tap="pay">立即支付</button>
+			</view>
+		</view>
+
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				pay_method: "alipay",
+				pay_provider: "alipay",
+				orders: [{}],
+				order_no: ""
+			}
+		},
+		computed: {
+			total_amount_sum() {
+				return this.orders.reduce((prev, cur) => {
+					return prev + Number(cur.total_amount)
+				}, 0)
+			}
+		},
+
+		onLoad(option) {
+			this.order_no = option.order_no,
+				this.getCashierData();
+		},
+		methods: {
+			getCashierData() {
+				this.$http.get({
+					url: "/order/cashier",
+					data: {
+						order_no: this.order_no
+					},
+					success: (res) => {
+						this.orders = res.data.data.map((value) => {
+							value.products_json = JSON.parse(value.products_snapshot)
+							return value;
+						})
+					}
+				})
+			},
+			pay() {
+				if (this.pay_method !== 'balance') {
+					this.$http.get({
+						url: '/order/pay',
+						data: {
+							'order_no': this.order_no,
+							'pay_method': this.pay_method,
+							'amount': this.total_amount_sum
+
+						},
+						success: (res) => {
+
+							uni.requestPayment({
+								provider: this.pay_provider,
+								orderInfo: res.data.data,
+								success: (res) => {
+									uni.showModal({
+										content: JSON.stringify(res)
+									})
+								},
+								fail: (res) => {
+									uni.showModal({
+										content: "支付失败",
+									})
+								}
+							})
+						}
+					})
+
+				} else {					
+					this.$http.get({
+						url: '/order/balancePay',
+						data: {
+							'order_no': this.order_no,
+							'pay_method': this.pay_method,
+							'amount': this.total_amount_sum
+						},
+						success: (res) => {
+							uni.navigateTo({
+								url:"/pages/order/order",
+							})
+						}
+					})
+				}
+
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.order {
+		overflow: hidden;
+	}
+
+
+	.order-list {
+		.order-item {
+
+			background: white;
+			margin: 20upx;
+			padding: 20upx;
+			border-radius: 20upx;
+
+			.order-head {
+				display: flex;
+				justify-content: space-between;
+				margin-bottom: 20upx;
+
+				.order-status {
+					color: $primary-color;
+					font-size: 24upx;
+				}
+			}
+
+			.factory-name {
+				font-size: 28upx;
+				font-weight: bold;
+			}
+
+			.product-item {
+				display: flex;
+
+				.product-image {
+					width: 120upx;
+					height: 120upx;
+					margin-right: 20upx;
+					margin-top: 10upx;
+
+					.image {
+						width: 120upx;
+						height: 120upx;
+					}
+				}
+
+				.product-info {
+					flex-grow: 1;
+					font-size: 28upx;
+
+					.name {
+						font-size: 28upx;
+						white-space: normal;
+						display: -webkit-box;
+						-webkit-box-orient: vertical;
+						-webkit-line-clamp: 2;
+						overflow: hidden;
+
+					}
+
+					.num {
+						color: #999999;
+					}
+
+					.spec {
+						font-size: 26upx;
+						background: #CCCCCC;
+						color: white;
+						padding: 0 10upx;
+						border-radius: 10upx;
+					}
+				}
+
+				.row {
+					display: flex;
+					justify-content: space-between;
+					margin-bottom: 10upx;
+				}
+
+			}
+
+			.total-price {
+				text-align: right;
+				font-size: 28upx;
+				padding: 10upx 0;
+
+				.warning {
+					color: $primary-color;
+					font-weight: bold;
+				}
+
+			}
+
+		}
+	}
+
+	.sum {
+		margin: 20upx;
+		font-size: 30upx;
+		text-align: right;
+		font-weight: bold;
+	}
+
+	.pay-method {
+		margin: 20upx;
+		padding: 20upx;
+		background: white;
+
+		.label {
+			font-size: 30upx;
+			margin-bottom: 20upx;
+		}
+
+		.item {
+			height: 80upx;
+			display: flex;
+			align-items: center;
+			font-size: 30upx;
+			border-bottom: 2upx solid #F5F5F5;
+
+			.image {
+				margin-right: 10upx;
+			}
+
+			&.active {
+				background: url(../../static/gou.png) no-repeat;
+				background-size: 40upx 40upx;
+				background-position: 600upx 20upx;
+			}
+		}
+	}
+
+	.pay-btn {
+		margin: 20upx 0;
+		background: $primary-color;
+		color: white;
+		font-size: 32upx;
+		font-weight: bold;
+	}
+</style>

+ 9 - 5
pages/order/order-details.vue

@@ -64,7 +64,7 @@
 			</view>
 			<view class="row" v-if="order.deliver_time">
 				<view class="label">发货时间</view>
-				<view>{{order.deliver_time|datetimeFilter}}</view>				
+				<view>{{order.deliver_time|datetimeFilter}}</view>
 			</view>
 			<view v-if="false" class="option">
 				<view class="option-item">
@@ -78,9 +78,9 @@
 			</view>
 		</view>
 
-		<view class="footer">
+		<view v-if="order.status === 'wait_pay' || order.status === 'wait_sign'" class="footer">
 			<view class="option">
-				<button v-if="order.status === 'wait_pay'" class="pay-btn" type="default">立即支付</button>
+				<button v-if="order.status === 'wait_pay'" class="pay-btn" type="default" @tap="goToCashier">立即支付</button>
 				<button v-if="order.status === 'wait_sign'" class="confirm-btn" type="default">确认收货</button>
 			</view>
 
@@ -93,7 +93,7 @@
 		data() {
 			return {
 				order: {
-					seller:{}
+					seller: {}
 				}
 			}
 
@@ -116,7 +116,11 @@
 					}
 				})
 			},
-
+			goToCashier() {
+				uni.navigateTo({
+					url: "/pages/order/cashier?order_no=" + this.order.order_no
+				})
+			}
 		}
 	}
 </script>

+ 40 - 28
pages/order/order.vue

@@ -1,19 +1,19 @@
 <template>
-	<view class="order">
+	<view id="order" class="order">
 		<view class="header">
 			<view class="title">
 				订单明细
 			</view>
 			<view class="tabs">
 				<view class="tab-item" :class="{'active':orderStatus===undefined}"
-					@tap="orderStatus=undefined,orders=[],getOrdersData()">全部</view>
+					@tap="orderStatus=undefined,orders=[],page=1,getOrdersData()">全部</view>
 				<view class="tab-item" :class="{'active':orderStatus==='wait_deliver'}"
-					@tap="orderStatus='wait_deliver',orders=[],getOrdersData()">已付款</view>
+					@tap="orderStatus='wait_deliver',orders=[],page=1,getOrdersData()">已付款</view>
 				<view class="tab-item" :class="{'active':orderStatus==='complete'}"
-					@tap="orderStatus='complete',orders=[],getOrdersData()">已完成</view>
+					@tap="orderStatus='complete',orders=[],page=1,getOrdersData()">已完成</view>
 			</view>
 		</view>
-		<view  v-if="orders.length===0" style="margin: 20upx auto;text-align: center; font-size: 28upx;color: #999999;">
+		<view v-if="orders.length===0" style="margin: 20upx auto;text-align: center; font-size: 28upx;color: #999999;">
 			暂无任何订单
 		</view>
 		<view class="order-list">
@@ -22,19 +22,20 @@
 					<view class="factory-name">{{order.seller.nickname?order.seller.nickname:'省心直供(该厂家暂未设置昵称)'}}</view>
 					<view v-if="order.status === 'wait_pay'" class="order-status">待付款</view>
 					<view v-if="order.status === 'wait_deliver'" class="order-status">待发货</view>
-					<view v-if="order.status === 'wait_sign'" class="order-status">待签收</view>
+					<view v-if="order.status === 'delivered'" class="order-status">已发货</view>
+					<view v-if="order.status === 'wait_sign'" class="order-status">待取件</view>
 					<view v-if="order.status === 'complete'" class="order-status">已完成</view>
 					<view v-if="order.status === 'invalid'" class="order-status">已失效</view>
 				</view>
 				<view class="order-info" @tap="openDetails(order.id)">
 					<view class="product-item" v-for="product in order.products_json">
 						<view class="product-image">
-							<image class="image" :src="product.spec_image" mode="scaleToFill"></image>
+							<image class="image" :src="product.spec_image|imagesFilter" mode="scaleToFill"></image>
 						</view>
 						<view class="product-info">
 							<view class="row">
 								<view class="name">{{product.name}}</view>
-								<view class="price">¥{{product.spec_price}}</view>
+								<view class="price">¥{{product.spec_price|priceFilter}}</view>
 							</view>
 							<view class="row">
 								<view class="spec">{{product.spec_name}}</view>
@@ -46,8 +47,8 @@
 				<view class="total-price">
 					总价 <text class="warning">¥{{order.total_amount}}</text>
 				</view>
-				<view class="option">
-					<button v-if="order.status === 'wait_pay'" class="pay-btn" type="default">立即支付</button>
+				<view v-if="$store.state.user.group_id===3" class="option">
+					<button v-if="order.status === 'wait_pay'" class="pay-btn" type="default" @tap="goToCashier(order.order_no)">立即支付</button>
 					<button v-if="order.status === 'wait_sign'" class="confirm-btn" type="default">确认收货</button>
 				</view>
 			</view>
@@ -71,7 +72,8 @@
 		onPageScroll(e) {
 			const query = uni.createSelectorQuery();
 			query.select("#order").boundingClientRect(data => {
-				if (e.scrollTop > data.height - uni.getSystemInfoSync().windowHeight * 2) {
+				if (e.scrollTop > data.height - uni.getSystemInfoSync().windowHeight * 2 &&
+					(this.page - 1) * 10 < this.orders.length) {
 					this.getOrdersData();
 				}
 			}).exec();
@@ -80,26 +82,36 @@
 		methods: {
 			openDetails(id) {
 				uni.navigateTo({
-					url: "order-details?id="+id
-					
+					url: "order-details?id=" + id
+
 				})
 			},
 			getOrdersData() {
-				this.$http.get({
-					url: "/order/lists",
-					data: {
-						status: this.orderStatus,
-						limit: 10,
-						page: this.page
-					},
-					success: (res) => {
-						this.orders = [...this.orders, ...res.data.data.rows.map((item) => {
-							item.products_json = JSON.parse(item.products_snapshot)
-							return item;
-						})]
-						this.page++;
-						this.pageLoading = false;
-					}
+				if (!this.pageLoading) {
+					console.log("加载下一页");
+					this.pageLoading = true;
+					this.$http.get({
+						url: "/order/lists",
+						data: {
+							status: this.orderStatus,
+							limit: 10,
+							page: this.page
+						},
+						success: (res) => {
+							this.orders = [...this.orders, ...res.data.data.rows.map((item) => {
+								item.products_json = JSON.parse(item.products_snapshot)
+								return item;
+							})]
+							this.page++;
+							this.pageLoading = false;
+						}
+					})
+
+				}
+			},
+			goToCashier(order_no){
+				uni.navigateTo({
+					url:"/pages/order/cashier?order_no="+order_no
 				})
 			}
 		}

+ 7 - 13
pages/product/product-details.vue

@@ -120,7 +120,7 @@
 				</view>
 				<view class="row row-6 option">
 					<button v-if="option === 'addcart'" class="btn" type="default" @tap="addCart">加入购物车</button>
-					<button v-if="option === 'buy'" class="btn" type="default" @tap="buy">立即购买</button>
+					<button v-if="option === 'buy'" class="btn" type="default" @tap="buy">立即下单</button>
 				</view>
 
 			</view>
@@ -197,24 +197,18 @@
 				this.$http.post({
 					url: '/order/create',
 					data: {
-						'products[]':JSON.stringify(data)
+						'products[]': JSON.stringify(data)
 					},
-					success: (res) => {
-						uni.showModal({
-							content: "下单成功",
-							success: (res) => {
-								if (res.confirm) {
-									uni.navigateTo({
-										url: "/pages/order/order"
-									})
-								}
-							}
+					success: (res) => {						
+						uni.navigateTo({
+							url: "/pages/order/cashier?order_no="+res.data.data
 						})
-
 					}
 				})
 			}
+
 		}
+
 	}
 </script>
 

+ 5 - 12
pages/shopping-cart/shopping-cart.vue

@@ -1,6 +1,6 @@
 <template>
 	<view class="shopping-cart">
-		<view  v-if="cart.length===0" style="margin: 20upx auto;text-align: center; font-size: 28upx;color: #999999;">
+		<view v-if="cart.length===0" style="margin: 20upx auto;text-align: center; font-size: 28upx;color: #999999;">
 			暂未添加任何商品
 		</view>
 		<view class="shopping-cart-item" v-for="seller in cart">
@@ -135,7 +135,7 @@
 				let postData = {}
 				for (let seller of this.cart) {
 					for (let product of seller.products) {
-						if(product.checked){
+						if (product.checked) {
 							postData[`products[${i}]`] = JSON.stringify({
 								id: product.id,
 								spec_index: product.spec_index,
@@ -154,15 +154,8 @@
 							console.log(value)
 							this.$store.commit("cart/remove", JSON.parse(value))
 						}
-						uni.showModal({
-							content: "下单成功",
-							success: (res) => {
-								if (res.confirm) {
-									uni.navigateTo({
-										url: "/pages/order/order"
-									})
-								}
-							}
+						uni.navigateTo({
+							url: "/pages/order/cashier?order_no=" + res.data.data
 						})
 					}
 				})
@@ -349,7 +342,7 @@
 		box-shadow: 0 0 10upx #999999;
 		align-items: center;
 		/* #ifdef H5 */
-		bottom: 100upx;
+		bottom: 90upx;
 		/* #endif */
 		color: white;
 

+ 1 - 1
pages/user/login.vue

@@ -66,7 +66,7 @@
 						success: (res) => {
 							console.log(this.$store)
 							this.$store.dispatch("user/save", res.data.data.userinfo)
-							uni.$emit("login");
+							uni.$emit("login_succeeded");
 							uni.navigateBack();
 						}
 					})

+ 20 - 10
pages/user/user-center.vue

@@ -26,7 +26,7 @@
 		<view class="body">
 			<view class="money">
 				<view class="row">
-					<view class="col">可提现金额(元):<text class="warning">8.86</text></view>
+					<view class="col">可提现金额(元):<text class="warning">{{balance}}</text></view>
 					<view class="col"><button class="btn tixian-btn">立即提现</button></view>
 				</view>
 				<view class="row">
@@ -97,13 +97,13 @@
 				</view>
 				<view>
 					<navigator url="/pages/user/feedback" open-type="navigate" hover-class="none">
-					
-					<view class="icon">
-						<image class="image" src="../../static/images/menu/b6.png" mode=""></image>
-					</view>
-					<view class="name">意见反馈</view>
+
+						<view class="icon">
+							<image class="image" src="../../static/images/menu/b6.png" mode=""></image>
+						</view>
+						<view class="name">意见反馈</view>
 					</navigator>
-					
+
 				</view>
 			</view>
 		</view>
@@ -126,9 +126,17 @@
 			nickname: state => state.user.nickname,
 			user_type: state => state.user.group_id,
 			invite_code: (state) => {
-				return 'H' + ('00000000' + state.user.id).slice(-8);
+				return 'H' + ('00000000' + state.user.id).slice(-6);
 			}
 		}),
+		onLoad() {
+			this.$http.get({
+				url: "/user/current",
+				success: (res) => {
+					this.balance = res.data.data.money
+				}
+			})
+		},
 		onNavigationBarButtonTap(e) {
 			// console.log(e)
 			switch (e.index) {
@@ -165,11 +173,11 @@
 		overflow: hidden;
 		width: 128upx;
 		height: 128upx;
-		
+
 		.image {
 			width: 128upx;
 			height: 128upx;
-			background: white;			
+			background: white;
 		}
 	}
 
@@ -299,6 +307,7 @@
 		padding: 0 20upx;
 		margin-top: 20upx;
 		height: 78upx;
+
 		.text {
 			margin-left: 50upx;
 			background-color: #ff5454;
@@ -306,6 +315,7 @@
 			line-height: 60upx;
 			display: inline-block;
 			margin-top: 10upx;
+
 			.sub {
 				font-size: 24upx;
 			}

BIN
static/alipay.png


BIN
static/gou.png


BIN
static/wxpay.png