lhl 3 years ago
parent
commit
2fc712d5cf

+ 2 - 1
App.vue

@@ -29,7 +29,7 @@
 			recharge_switch: 0, // 充值开关
 			store_user_min_recharge: 0, //最小充值
 			yue_pay_status: 0, //余额支付开关
-			alipay_open: 0, //支付宝支付开关
+			alipay_open: 1, //支付宝支付开关
 			routine_logo: '', //首页logo
 			site_logo: '',
 			site_name: '', //名称
@@ -198,6 +198,7 @@
 	@import 'static/css/base.css';
 	@import 'static/iconfont/iconfont.css';
 	@import 'static/css/style.scss';
+	@import 'static/css/cmy.css';
 	view {
 		box-sizing: border-box;
 	}

+ 16 - 1
api/activity.js

@@ -244,4 +244,19 @@ export function getNewPeopleCouponLst(data) {
 		noAuth: true
 	});
 }
-
+
+
+/**
+ * 获取积分商品列表
+ */
+export function getJfList(data) {
+	return request.get('product/spu/hot/integral')
+}
+
+
+/**
+ * 获取消费专区商品列表
+ */
+export function getXfList(data) {
+	return request.get('product/spu/hot/consumption')
+}

+ 30 - 18
pages.json

@@ -13,6 +13,18 @@
 				}
 			}
 		},
+		{
+			"path": "pages/index/bdzq",
+			"style": {
+				"navigationBarTitleText": "积分专区"
+			}
+		},
+		{
+			"path": "pages/index/xfqzq",
+			"style": {
+				"navigationBarTitleText": "消费专区"
+			}
+		},
 		{
 			"path": "pages/order_addcart/order_addcart",
 			"style": {
@@ -1132,32 +1144,32 @@
 		"backgroundColor": "#ffffff",
 		"list": [{
 				"pagePath": "pages/index/index",
-				"iconPath": "static/images/1-001.png",
-				"selectedIconPath": "static/images/1-002.png",
+				"iconPath": "static/tabbar/tab-home.png",
+				"selectedIconPath": "static/tabbar/tab-home-current.png",
 				"text": "首页"
 			},
-			{
-				"pagePath": "pages/goods_cate/goods_cate",
-				"iconPath": "static/images/2-001.png",
-				"selectedIconPath": "static/images/2-002.png",
-				"text": "分类"
-			},
-			{
-				"pagePath": "pages/plant_grass/index",
-				"iconPath": "static/images/5-001.png",
-				"selectedIconPath": "static/images/5-002.png",
-				"text": "逛逛"
-			},
+			// {
+			// 	"pagePath": "pages/goods_cate/goods_cate",
+			// 	"iconPath": "static/images/2-001.png",
+			// 	"selectedIconPath": "static/images/2-002.png",
+			// 	"text": "分类"
+			// },
+			// {
+			// 	"pagePath": "pages/plant_grass/index",
+			// 	"iconPath": "static/images/5-001.png",
+			// 	"selectedIconPath": "static/images/5-002.png",
+			// 	"text": "逛逛"
+			// },
 			{
 				"pagePath": "pages/order_addcart/order_addcart",
-				"iconPath": "static/images/3-001.png",
-				"selectedIconPath": "static/images/3-002.png",
+				"iconPath": "static/tabbar/tab-cart.png",
+				"selectedIconPath": "static/tabbar/tab-cart-current.png",
 				"text": "购物车"
 			},
 			{
 				"pagePath": "pages/user/index",
-				"iconPath": "static/images/4-001.png",
-				"selectedIconPath": "static/images/4-002.png",
+				"iconPath": "static/tabbar/tab-my.png",
+				"selectedIconPath": "static/tabbar/tab-my-current.png",
 				"text": "我的"
 			}
 		]

+ 4 - 10
pages/columnGoods/goods_search_con/index.vue

@@ -193,15 +193,6 @@
 </template>
 
 <script>
-	// +----------------------------------------------------------------------
-	// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
-	// +----------------------------------------------------------------------
-	// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
-	// +----------------------------------------------------------------------
-	// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
-	// +----------------------------------------------------------------------
-	// | Author: CRMEB Team <admin@crmeb.com>
-	// +----------------------------------------------------------------------
 	import {
 		getProductslist,
 		getProductHot,
@@ -251,7 +242,7 @@
 					console.log('222')
 					this.downStatus = false
 					this.storeScroll = true
-					this.storeMerchantList('')
+					this.storeMerchantList('tab')
 				}
 			}
 		},
@@ -510,6 +501,9 @@
 			// 查找店铺
 			storeMerchantList(type) {
 				if (!this.storeScroll) return
+				if(type == 'tab') {
+					this.storeList = []
+				}
 				this.loading = true
 				let serachData = {
 					keyword: this.where.keyword,

+ 17 - 11
pages/goods_details/index.vue

@@ -20,10 +20,10 @@
 									<text class='num'>{{storeInfo.price}}</text>
 								</view>
-								<view @click="listenerActionSheet" class="fenxiang_btn">
+								<!-- <view @click="listenerActionSheet" class="fenxiang_btn">
 									<view class='iconfont icon-fenxiang'></view>
 									分享
-								</view>
+								</view> -->
 							</view>
 							<view class='integral_count skeleton-rect'>
 								<text v-if="storeInfo.max_integral > 0" class='integral'>积分最高可抵扣{{storeInfo.max_integral}}元</text>
@@ -210,14 +210,14 @@
 				</scroll-view>
 			</view>
 			<view class='footer acea-row row-between-wrapper'>
-				<view v-if="storeInfo.merchant && storeInfo.merchant.services_type == 1" class="item skeleton-rect" @click="call">
+				<!-- <view v-if="storeInfo.merchant && storeInfo.merchant.services_type == 1" class="item skeleton-rect" @click="call">
 					<view class="iconfont icon-kefu"></view>
 					<view>{{showSkeleton ? 'xxxxxx' : '客服'}}</view>
 				</view>
 				<view v-else class="item skeleton-rect" @click="couponTap2">
 					<view class="iconfont icon-kefu"></view>
 					<view>{{showSkeleton ? 'xxxxxx' : '客服'}}</view>
-				</view>
+				</view> -->
 				<view @click="setCollect" class='item skeleton-rect'>
 					<view class='iconfont icon-shoucang1' v-if="storeInfo.isRelation"></view>
 					<view class='iconfont icon-shoucang' v-else></view>
@@ -231,12 +231,13 @@
 					<view>{{showSkeleton ? 'xxxxxx' : '购物车'}}</view>
 				</navigator>
 				<view v-if="attr.productSelect.stock != 0" class='bnt acea-row skeleton-rect'>
-					<form @submit="joinCart" report-submit='true'>
-						<button v-if="storeInfo.type != 1" class='joinCart bnts' form-type="submit">加入购物车</button>
-					</form>
-					<form @submit="goBuy" report-submit='true' v-if="attr.productSelect">
-						<button class='buy bnts' :class="storeInfo.type == 1 ? 'virtual_buy' : ''" form-type="submit" :disabled="attr.productSelect.stock == 0">立即购买</button>
-					</form>
+						<form @submit="joinCart" report-submit='true' v-if="storeInfo.is_integral == 0 && storeInfo.is_consumption == 0">
+							<button v-if="storeInfo.type != 1" class='joinCart bnts' form-type="submit">加入购物车</button>
+						</form>
+						<form @submit="goBuy" report-submit='true' v-if="attr.productSelect">
+							<button class='buy bnts' :class="{ 'virtual_buy' : storeInfo.type == 1,'xfjf':(storeInfo.is_integral == 1 || storeInfo.is_consumption == 1)}" form-type="submit" :disabled="attr.productSelect.stock == 0">立即购买</button>
+						</form>
+					
 				</view>
 				<view v-else class='bnt acea-row skeleton-rect'>
 					<form report-submit='true'>
@@ -1178,7 +1179,7 @@
 						that.isOpen = that.attr.cartAttr = false;
 						if (news) {
 							uni.navigateTo({
-								url: '/pages/users/order_confirm/index?cartId=' + res.data.cart_id
+								url: '/pages/users/order_confirm/index?cartId=' + res.data.cart_id + '&is_xfq=' + that.storeInfo.is_consumption + '&is_jf=' + that.storeInfo.is_integral
 							});
 						} else {
 							that.$util.Tips({
@@ -1726,6 +1727,11 @@
 			width: 444rpx;
 			border-radius: 50rpx;
 		}
+		&.xfjf {
+			width: 444rpx;
+			border-radius: 50rpx;
+			// background: red;
+		}
 	}
 
 	.product-con .footer .bnt .joinCart {

+ 270 - 0
pages/index/bdzq.vue

@@ -0,0 +1,270 @@
+<template>
+	<view class="content">
+		<!-- #ifdef APP-PLUS -->
+		<view class="status_bar"></view>
+		<!-- #endif -->
+		<view class="body-title">
+			<view class="goback-box" @click="toBack">
+				<image class="goback" src="../../static/icon/fanhui.png" mode=""></image>
+			</view>
+			<view class="header">积分专区</view>
+		</view>
+		<view class="top-bg flex">
+			<image src="../../static/img/bd-mbg.png" mode=""></image>
+		</view>
+		<view class="bastgood-box">
+			<view class="bg-bg">
+
+			</view>
+			<view v-for="(item, index) in list" :key="item.product_id" class="guess-item" @click.stop="navTo('/pages/goods_details/index?id=' + item.product_id)">
+				<image :src="item.image"></image>
+				<view class="guess-box">
+					<view class="title clamp2">{{item.store_info}}</view>
+					<view class="info">
+						<view class="price-box flex">
+							<image src="../../static/icon/xfq.png" mode="widthFix"></image>
+							<!-- <view class="jiang">赠送积分{{item.give_integral*1}}个</view> -->
+							<view class="jiang">赠送积分</view>
+						</view>
+						<view class="price">¥{{ item.price*1 }}
+							<view class="yuanprice">¥{{item.ot_price*1}}</view>
+						</view>
+					</view>
+
+					<view class="btn" >
+						立即购买</view>
+				</view>
+			</view>
+			<!-- <uni-load-more :status="loadingType"></uni-load-more> -->
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		getJfList
+	} from '@/api/activity.js'
+	export default {
+		data() {
+			return {
+				page: 1,
+				limit: 10,
+				list: [],
+				loadingType: 'more'
+			}
+		},
+		onLoad() {
+			this.getProducts()
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+			this.getProducts()
+		},
+		onReady() {
+
+		},
+		methods: {
+			navTo(url) {
+				uni.navigateTo({
+					url
+				})
+			},
+			toBack() {
+				uni.switchTab({
+					url: '/pages/index/index'
+				})
+			},
+			getProducts() {
+				let obj = this
+				if (obj.loadingType == 'noMore' || obj.loadingType == 'loading') {
+					return
+				}
+				obj.loadingType = 'loading'
+				getJfList({
+					page: obj.page,
+					limit: obj.limit
+				}).then(res => {
+					console.log(res)
+					obj.list = obj.list.concat(res.data.list)
+					obj.page++
+					if (obj.limit == res.data.length) {
+						obj.loadingType = 'more'
+					} else {
+						obj.loadingType = 'noMore'
+					}
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		background: #fff;
+		height: auto;
+		min-height: 100%;
+	}
+
+	.status_bar {
+		height: var(--status-bar-height);
+		width: 100%;
+		background: #ff6100;
+	}
+
+	.body-title {
+		height: 80rpx;
+		text-align: center;
+		font-size: 35rpx;
+		background-color: #ff6100;
+		position: relative;
+
+		.header {
+			position: absolute;
+			left: 0;
+			top: 0;
+			width: 100%;
+			font-size: 36rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #fffeff;
+			height: 80rpx;
+			font-size: 36rpx;
+			font-weight: 700;
+			z-index: 9;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+		}
+
+		.goback-box {
+			position: absolute;
+			left: 18rpx;
+			top: 0;
+			height: 80rpx;
+			display: flex;
+			align-items: center;
+		}
+
+		.goback {
+			z-index: 100;
+			width: 34rpx;
+			height: 34rpx;
+		}
+	}
+
+	.top-bg {
+		background: #ff6100;
+		justify-content: center;
+		align-items: center;
+		padding: 30rpx 0;
+
+		image {
+			width: 700rpx;
+			height: 350rpx;
+			border-radius: 20rpx;
+
+		}
+	}
+
+	.bastgood-box {
+		background-color: #ffffff;
+		position: relative;
+
+		.bg-bg {
+			position: absolute;
+			height: 380rpx;
+			width: 750rpx;
+			top: 0;
+			left: 0;
+			background: linear-gradient(180deg, #ff6100, #fff);
+		}
+
+		.guess-item {
+			display: flex;
+			width: 710rpx;
+			background: #ffffff;
+			box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+			border-radius: 10rpx;
+			padding: 15rpx;
+			margin: 0rpx auto 20rpx;
+			position: relative;
+
+			image {
+				width: 236rpx;
+				height: 236rpx;
+				border-radius: 10rpx;
+			}
+
+			.guess-box {
+				padding: 12rpx 0 15rpx 24rpx;
+				width: 436rpx;
+				display: flex;
+				flex-direction: column;
+				justify-content: space-between;
+
+				.title {
+					font-size: 32rpx;
+					padding-left: 4rpx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #333333;
+					width: 368rpx;
+					line-height: 36rpx;
+				}
+
+				.price-box {
+					// margin-top: 76rpx;
+					justify-content: flex-start;
+
+					image {
+						width: 28rpx;
+					}
+
+					.jiang {
+						padding-left: 4rpx;
+						font-size: 24rpx;
+						font-family: PingFang SC;
+						font-weight: bold;
+						color: #b59467;
+					}
+				}
+
+				.price {
+					font-size: 36rpx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #ff1135;
+					display: flex;
+					align-items: center;
+
+					.yuanprice {
+						font-size: 26rpx;
+						font-family: PingFang SC;
+						font-weight: 500;
+						text-decoration: line-through;
+						color: #999999;
+						padding-left: 6rpx;
+					}
+				}
+
+				.btn {
+					width: 138rpx;
+					height: 52rpx;
+					background: #ff4c4c;
+					border-radius: 26rpx;
+					font-size: 26rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #ffffff;
+					line-height: 52rpx;
+					text-align: center;
+					position: absolute;
+					bottom: 25rpx;
+					right: 25rpx;
+				}
+			}
+		}
+	}
+</style>

File diff suppressed because it is too large
+ 1077 - 1049
pages/index/index.vue


+ 268 - 0
pages/index/xfqzq.vue

@@ -0,0 +1,268 @@
+<template>
+	<view class="content">
+		<!-- #ifdef APP-PLUS -->
+		<view class="status_bar"></view>
+		<!-- #endif -->
+		<view class="body-title">
+			<view class="goback-box" @click="toBack">
+				<image class="goback" src="../../static/icon/fanhui.png" mode=""></image>
+			</view>
+			<view class="header">消费券专区</view>
+		</view>
+		<view class="top-bg flex">
+			<image src="../../static/img/xf-mbg.png" mode=""></image>
+		</view>
+		<view class="bastgood-box">
+			<view class="bg-bg"></view>
+			<view v-for="(item, index) in list" :key="item.id" class="guess-item" @click.stop="navTo('/pages/goods_details/index?id='+ item.product_id)">
+				<image :src="item.image"></image>
+				<view class="guess-box">
+					<view class="title clamp2">{{item.store_name}}</view>
+					<view class="info">
+						<view class="price-box flex">
+							<image src="../../static/icon/xfq.png" mode="widthFix"></image>
+							<view class="jiang">可抵用消费券</view>
+						</view>
+						<view class="price">¥{{ item.price }}
+							<view class="yuanprice">¥{{item.ot_price*1}}</view>
+						</view>
+					</view>
+
+					<view class="btn" >
+						立即购买</view>
+				</view>
+			</view>
+			<!-- <uni-load-more :status="loadingType"></uni-load-more> -->
+		</view>
+
+	</view>
+</template>
+
+<script>
+	import {
+		getXfList
+	} from '@/api/activity.js'
+	export default {
+		data() {
+			return {
+				page: 1,
+				limit: 10,
+				list: [],
+				loadingType: 'more'
+			}
+		},
+		onLoad() {
+			this.getProducts()
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+			this.getProducts()
+		},
+		onReady() {
+
+		},
+		methods: {
+			navTo(url) {
+				uni.navigateTo({
+					url
+				})
+			},
+			toBack() {
+				uni.switchTab({
+					url: '/pages/index/index'
+				})
+			},
+			getProducts() {
+				let obj = this
+				if (obj.loadingType == 'noMore' || obj.loadingType == 'loading') {
+					return
+				}
+				obj.loadingType = 'loading'
+				getXfList({
+					page: obj.page,
+					limit: obj.limit
+				}).then(res => {
+					console.log(res)
+					obj.list = obj.list.concat(res.data.list)
+					obj.page++
+					if (obj.limit == res.data.length) {
+						obj.loadingType = 'more'
+					} else {
+						obj.loadingType = 'noMore'
+					}
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		background-color: #fff;
+		height: auto;
+		min-height: 100%;
+	}
+
+	.status_bar {
+		height: var(--status-bar-height);
+		width: 100%;
+		background: #f32b09;
+	}
+
+	.top-bg {
+		background: #f32b09;
+		justify-content: center;
+		align-items: center;
+		padding: 30rpx 0;
+
+		image {
+			width: 700rpx;
+			height: 350rpx;
+			border-radius: 20rpx;
+
+		}
+	}
+
+	.bastgood-box {
+		background-color: #ffffff;
+		position: relative;
+
+		.bg-bg {
+			position: absolute;
+			height: 380rpx;
+			width: 750rpx;
+			top: 0;
+			left: 0;
+			background: linear-gradient(180deg, #f32b09, #fff);
+		}
+
+		.guess-item {
+			display: flex;
+			width: 710rpx;
+			background: #ffffff;
+			box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+			border-radius: 10rpx;
+			padding: 15rpx;
+			margin: 0rpx auto 20rpx;
+			position: relative;
+
+			image {
+				width: 236rpx;
+				height: 236rpx;
+				border-radius: 10rpx;
+			}
+
+			.guess-box {
+				padding: 12rpx 0 15rpx 24rpx;
+				width: 436rpx;
+				display: flex;
+				flex-direction: column;
+				justify-content: space-between;
+
+				.title {
+					font-size: 32rpx;
+					padding-left: 4rpx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #333333;
+					width: 368rpx;
+					line-height: 36rpx;
+				}
+
+				.price-box {
+					// margin-top: 76rpx;
+					justify-content: flex-start;
+
+					image {
+						width: 28rpx;
+					}
+
+					.jiang {
+						padding-left: 4rpx;
+						font-size: 24rpx;
+						font-family: PingFang SC;
+						font-weight: bold;
+						color: #b59467;
+					}
+				}
+
+				.price {
+					font-size: 36rpx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #ff1135;
+					display: flex;
+					align-items: center;
+
+					.yuanprice {
+						font-size: 26rpx;
+						font-family: PingFang SC;
+						font-weight: 500;
+						text-decoration: line-through;
+						color: #999999;
+						padding-left: 6rpx;
+					}
+				}
+
+				.btn {
+					width: 138rpx;
+					height: 52rpx;
+					background: #ff4c4c;
+					border-radius: 26rpx;
+					font-size: 26rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #ffffff;
+					line-height: 52rpx;
+					text-align: center;
+					position: absolute;
+					bottom: 25rpx;
+					right: 25rpx;
+				}
+			}
+		}
+	}
+
+	.body-title {
+		height: 80rpx;
+		text-align: center;
+		font-size: 35rpx;
+		background-color: #f32b09;
+		position: relative;
+
+		.header {
+			position: absolute;
+			left: 0;
+			top: 0;
+			width: 100%;
+			font-size: 36rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #fffeff;
+			height: 80rpx;
+			font-size: 36rpx;
+			font-weight: 700;
+			z-index: 9;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+		}
+
+		.goback-box {
+			position: absolute;
+			left: 18rpx;
+			top: 0;
+			height: 80rpx;
+			display: flex;
+			align-items: center;
+		}
+
+		.goback {
+			z-index: 100;
+			width: 34rpx;
+			height: 34rpx;
+		}
+	}
+</style>

+ 32 - 18
pages/users/order_confirm/index.vue

@@ -435,7 +435,15 @@
 				textareaStatus: true,
 				deliveryName: '快递配送',
 				//支付方式
-				cartArr: [{
+				cartArr: [
+					{
+						"name": "余额支付",
+						"icon": "icon-icon-test",
+						value: 'balance',
+						title: '可用余额:',
+						payStatus: this.$store.getters.globalData.yue_pay_status,
+					},
+					{
 						"name": "微信支付",
 						"icon": "icon-weixin2",
 						value: 'weixin',
@@ -452,29 +460,24 @@
 						value: 'alipayQr',
 						// #endif
 						title: '支付宝支付',
-						payStatus: this.$store.getters.globalData.alipay_open
-					},
-					{
-						"name": "余额支付",
-						"icon": "icon-icon-test",
-						value: 'balance',
-						title: '可用余额:',
-						payStatus: this.$store.getters.globalData.yue_pay_status,
-					},
-					{
-						"name": "线下支付",
-						"icon": "icon-yinhangqia",
-						value: 'offline',
-						title: '线下支付',
-						payStatus: 2,
+						// payStatus: this.$store.getters.globalData.alipay_open
+						payStatus: 1,
 					},
+					
+					// {
+					// 	"name": "线下支付",
+					// 	"icon": "icon-yinhangqia",
+					// 	value: 'offline',
+					// 	title: '线下支付',
+					// 	payStatus: 2,
+					// },
 				],
 				tagStyle: {
 					img: 'width:100%;display:block;',
 					video: 'width:100%;'
 				},
-				payType: 'weixin', //支付方式
-				openType: 1, //优惠券打开方式 1=使用
+				payType: 'balance', //支付方式
+				openType: 0, //优惠券打开方式 1=使用
 				active: 0, //支付方式切换
 				coupon: {
 					status: false,
@@ -586,6 +589,17 @@
 		mounted: function() {
 		},
 		onLoad: function(options) {
+			if(options.is_xfq == 1 || options.is_jf == 1) {
+				
+			}else {
+				this.cartArr = [{
+						"name": "余额支付",
+						"icon": "icon-icon-test",
+						value: 'balance',
+						title: '可用余额:',
+						payStatus: this.$store.getters.globalData.yue_pay_status,
+					}]
+			}
 			this.seckillId = options.seckillId
 			// #ifdef H5
 			this.from = this.$wechat.isWeixin() ? 'weixin' : 'h5'

+ 551 - 0
static/css/cmy.css

@@ -0,0 +1,551 @@
+/*初始化类*/
+@font-face {
+	font-family: 'iconfont';
+	/* project id 1482221 */
+	src: url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.eot');
+	src: url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.eot?#iefix') format('embedded-opentype'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.woff2') format('woff2'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.woff') format('woff'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.ttf') format('truetype'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.svg#iconfont') format('svg');
+}
+
+.acea-row {
+	display: -webkit-box;
+	display: -moz-box;
+	display: -webkit-flex;
+	display: -ms-flexbox;
+	display: flex;
+	-webkit-box-lines: multiple;
+	-moz-box-lines: multiple;
+	-o-box-lines: multiple;
+	-webkit-flex-wrap: wrap;
+	-ms-flex-wrap: wrap;
+	flex-wrap: wrap
+}
+
+.acea-row.row-middle {
+	-webkit-box-align: center;
+	-moz-box-align: center;
+	-o-box-align: center;
+	-ms-flex-align: center;
+	-webkit-align-items: center;
+	align-items: center
+}
+
+.bg-color-red {
+	background-color: #e93323 !important;
+}
+
+.acea-row.row-right {
+	-webkit-box-pack: end;
+	-moz-box-pack: end;
+	-o-box-pack: end;
+	-ms-flex-pack: end;
+	-webkit-justify-content: flex-end;
+	justify-content: flex-end
+}
+
+.acea-row.row-between-wrapper {
+	-webkit-box-align: center;
+	-moz-box-align: center;
+	-o-box-align: center;
+	-ms-flex-align: center;
+	-webkit-align-items: center;
+	align-items: center;
+	-webkit-box-pack: justify;
+	-moz-box-pack: justify;
+	-o-box-pack: justify;
+	-ms-flex-pack: justify;
+	-webkit-justify-content: space-between;
+	justify-content: space-between
+}
+
+.acea-row.row-column-around {
+	-webkit-flex-direction: column;
+	-ms-flex-direction: column;
+	flex-direction: column;
+	justify-content: space-around;
+	-webkit-justify-content: space-around
+}
+
+.acea-row.row-center-wrapper {
+	-webkit-box-align: center;
+	-moz-box-align: center;
+	-o-box-align: center;
+	-ms-flex-align: center;
+	-webkit-align-items: center;
+	align-items: center;
+	-webkit-box-pack: center;
+	-moz-box-pack: center;
+	-o-box-pack: center;
+	-ms-flex-pack: center;
+	-webkit-justify-content: center;
+	justify-content: center
+}
+
+.iconfont {
+	font-family: "iconfont" !important;
+	font-size: 34rpx;
+	font-style: normal;
+	-webkit-font-smoothing: antialiased;
+	-webkit-text-stroke-width: 0rpx;
+	-moz-osx-font-smoothing: grayscale;
+}
+
+.iconedit:before {
+	content: "\e649";
+}
+
+.iconfavorfill:before {
+	content: "\e64b";
+}
+
+.iconfavor:before {
+	content: "\e64c";
+}
+
+.iconlocation:before {
+	content: "\e651";
+}
+
+.iconroundcheckfill:before {
+	content: "\e656";
+}
+
+.iconroundcheck:before {
+	content: "\e657";
+}
+
+.iconunfold:before {
+	content: "\e661";
+}
+
+.iconlikefill:before {
+	content: "\e668";
+}
+
+.iconlike:before {
+	content: "\e669";
+}
+
+.iconshop:before {
+	content: "\e676";
+}
+
+.iconcart:before {
+	content: "\e6af";
+}
+
+.icondelete:before {
+	content: "\e6b4";
+}
+
+.iconhome:before {
+	content: "\e6b8";
+}
+
+.iconcartfill:before {
+	content: "\e6b9";
+}
+
+.iconhomefill:before {
+	content: "\e6bb";
+}
+
+.iconlock:before {
+	content: "\e6c0";
+}
+
+.iconfriendadd:before {
+	content: "\e6ca";
+}
+
+.iconfold:before {
+	content: "\e6de";
+}
+
+.iconapps:before {
+	content: "\e729";
+}
+
+.iconadd:before {
+	content: "\e767";
+}
+
+.iconmove:before {
+	content: "\e768";
+}
+
+.icontriangledownfill:before {
+	content: "\e79b";
+}
+
+.icontriangleupfill:before {
+	content: "\e79c";
+}
+
+.iconshaixuan:before {
+	content: "\e74a";
+}
+
+.iconyanzhengma:before {
+	content: "\e684";
+}
+
+.iconjifen:before {
+	content: "\e60f";
+}
+
+.iconwuliuxinxi:before {
+	content: "\e62b";
+}
+
+.iconmessage:before {
+	content: "\e78a";
+}
+
+.iconsetting:before {
+	content: "\e78e";
+}
+
+.iconaddition:before {
+	content: "\e6e0";
+}
+
+.iconclose:before {
+	content: "\e6e9";
+}
+
+.iconenter:after {
+	content: "\e6f8";
+}
+
+.iconprompt:before {
+	content: "\e71b";
+}
+
+.iconreturn:before {
+	content: "\e720";
+}
+
+.iconsearch:before {
+	content: "\e741";
+}
+
+.iconpengyouquan:before {
+	content: "\e62c";
+}
+
+.iconweixin:before {
+	content: "\e60e";
+}
+
+.iconzhifubao:before {
+	content: "\e673";
+}
+
+.iconyue:before {
+	content: "\e618";
+}
+
+.iconweixin1:before {
+	content: "\e622";
+}
+
+.iconlock1:before {
+	content: "\e64d";
+}
+
+.iconuser:before {
+	content: "\e64e";
+}
+
+.iconchenggongtixianshouyi:before {
+	content: "\e64f";
+}
+
+.iconviptuiguangdingdan:before {
+	content: "\e650";
+}
+
+.icondaifukuan:before {
+	content: "\e652";
+}
+
+.icondaijiesuanshouyi:before {
+	content: "\e653";
+}
+
+.icondaidakuanshouyi:before {
+	content: "\e654";
+}
+
+.icondaifahuo:before {
+	content: "\e655";
+}
+
+.icondaishouhuoshouyi:before {
+	content: "\e658";
+}
+
+.icondaishouhuo:before {
+	content: "\e659";
+}
+
+.iconwuxiaoshouyi:before {
+	content: "\e65a";
+}
+
+.icontixianmingxi:before {
+	content: "\e65b";
+}
+
+.iconshouyi:before {
+	content: "\e65c";
+}
+
+.iconkouchutixianshouxufei:before {
+	content: "\e65d";
+}
+
+.iconyishenqingshouyi:before {
+	content: "\e65e";
+}
+
+.icontuihuanhuo:before {
+	content: "\e65f";
+}
+
+
+/*水平线*/
+.hr {
+	width: 100%;
+	position: relative;
+	border-bottom: 1px solid #dddddd;
+	/* height: 0.5rpx; */
+}
+
+/* 一行显示 */
+.clamp {
+	overflow: hidden;
+	text-overflow: ellipsis;
+	white-space: nowrap;
+	display: block;
+}
+
+/* 二行显示 */
+.clamp2 {
+	overflow: hidden;
+	text-overflow: ellipsis;
+	display: -webkit-box;
+	-webkit-line-clamp: 2;
+	-webkit-box-orient: vertical;
+}
+
+/* 二行显示 */
+.ellipsis {
+	overflow: hidden;
+	text-overflow: ellipsis;
+	display: -webkit-box;
+	-webkit-box-orient: vertical;
+	-webkit-line-clamp: 2;
+}
+
+.common-hover {
+	background: #f5f5f5;
+}
+
+/* 角标 */
+.corner {
+	background-color: #e51c23;
+	position: absolute;
+	right: -18rpx;
+	top: -18rpx;
+	color: #FFFFFF;
+	text-align: center;
+	border-radius: 999px;
+	font-size: 24rpx !important;
+	min-width: 35rpx;
+	min-height: 35rpx;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	line-height: 1;
+}
+
+.flex_item {
+	display: flex;
+	align-items: center;
+	/* justify-content: space-between; */
+}
+
+/* 左右顶格加上下居中 */
+.flex-between-center {
+	display: flex;
+	justify-content: space-between;
+	align-items: center;
+}
+
+/* flex布局-整体居中 */
+.flex-center {
+	display: flex;
+	align-items: center;
+	justify-content: center;
+}
+
+.flex-start {
+	display: flex;
+	align-items: center;
+	justify-content: flex-start;
+}
+
+/*文字对齐*/
+.text-left {
+	text-align: left !important;
+}
+
+.text-center {
+	text-align: center !important;
+}
+
+.text-justify {
+	text-align: justify !important;
+}
+
+.text-right {
+	text-align: right !important;
+}
+
+.text-default {
+	color: #212121 !important;
+}
+
+.text-white {
+	color: #ffffff !important;
+}
+
+.text-primary {
+	color: #00bcd4 !important;
+}
+
+.text-success {
+	color: #009688 !important;
+}
+
+.text-info {
+	color: #03a9f4 !important;
+}
+
+.text-warning {
+	color: #ffc107 !important;
+}
+
+.text-danger {
+	color: #e51c23 !important;
+}
+
+.text-pink {
+	color: #e91e63 !important;
+}
+
+.text-purple {
+	color: #673ab7 !important;
+}
+
+.text-indigo {
+	color: #3f51b5 !important;
+}
+
+.text-gray {
+	color: #999999 !important;
+}
+
+.bg-default {
+	background-color: #f5f5f5 !important;
+}
+
+.bg-primary {
+	background-color: #00bcd4 !important;
+}
+
+.bg-success {
+	background-color: #009688 !important;
+}
+
+.bg-info {
+	background-color: #03a9f4 !important;
+}
+
+.bg-warning {
+	background-color: #FFB238 !important;
+}
+
+.bg-danger {
+	background-color: #DC4D46 !important;
+}
+
+.bg-pink {
+	background-color: #e91e63 !important;
+}
+
+.bg-purple {
+	background-color: #673ab7 !important;
+}
+
+.bg-indigo {
+	background-color: #3f51b5 !important;
+}
+
+.bg-white {
+	background-color: white !important;
+}
+
+.bg-gray {
+	background-color: #e3e3e3 !important;
+}
+
+/* 边框 */
+.border-radius-15 {
+	border-radius: 15rpx;
+}
+
+.border-radius-10 {
+	border-radius: 10rpx;
+}
+
+.border-radius-all {
+	border-radius: 1000rpx;
+}
+
+/* 底部边线 */
+.borde-b {
+	border-bottom: 1px solid #dddddd;
+}
+
+/* 弹性盒子 */
+.flex {
+	display: flex;
+	align-items: center;
+	justify-content: space-between;
+}
+
+.items-left {
+	justify-content: flex-start;
+}
+
+.items-right {
+	justify-content: flex-end;
+}
+
+.flex-shrink-false {
+	flex-shrink: 0;
+}
+
+.flex-grow-true {
+	flex-grow: 1;
+}
+
+.position-relative {
+	position: relative;
+}

BIN
static/icon/c1.png


BIN
static/icon/c2.png


BIN
static/icon/c3.png


BIN
static/icon/c4.png


BIN
static/icon/c5.png


BIN
static/icon/c6.png


BIN
static/icon/fanhui.png


BIN
static/icon/search-h.png


BIN
static/icon/xfq.png


BIN
static/img/bd-mbg.png


BIN
static/img/sbkh.jpg


BIN
static/img/xf-mbg.png


BIN
static/tabbar/tab-cart-current.png


BIN
static/tabbar/tab-cart.png


BIN
static/tabbar/tab-home-current.png


BIN
static/tabbar/tab-home.png


BIN
static/tabbar/tab-my-current.png


BIN
static/tabbar/tab-my.png


+ 24 - 0
utils/platform.js

@@ -0,0 +1,24 @@
+export function isAndroid() {  
+    var ua = navigator.userAgent,  
+            _isAndroid = ua.indexOf('Android') > -1 || ua.indexOf('Linux') > -1;  
+    return _isAndroid;  
+}  
+
+export function isIOS() {  
+    return !!navigator.userAgent.match(/(i[^;]+\;(U;)? CPU.+Mac OS X)/);  
+}  
+
+export function isPad() {  
+    return navigator.userAgent.toLowerCase().match(/iPad/i) == "ipad";  
+}  
+
+export function isWinPad() {  
+    return navigator.userAgent.indexOf("Windows NT") >= 0;  
+}  
+
+export default {
+	isAndroid,
+	isIOS,
+	isPad,
+	isWinPad
+}

Some files were not shown because too many files changed in this diff