Ver código fonte

425功能调整

vaecebyZ 1 ano atrás
pai
commit
adb2511c74

+ 2 - 0
components/zs-img/index.vue

@@ -70,6 +70,8 @@
 			this.Observer.relativeToViewport({bottom: -50}).observe('.lazy' + this.elIndex, (res) => {
 				let width = this.width.replace("px","").replace("r","");
 				let height = this.height.replace("px","").replace("r","");
+				width = 4*width
+				height = 4*height
 			  this.url1 = this.src +'?x-oss-process=image/resize,m_fixed,w_'+ Math.ceil(rpxTopx(width))+',h_'+ Math.ceil(rpxTopx(height))
 			})
 		},

+ 1 - 1
components/zs-search/index.vue

@@ -75,7 +75,7 @@
 		top: 0%;
 		left: 0;
 		position: relative;
-		margin: 0 30rpx;
+		margin: 0 20rpx;
 		.input{
 			box-sizing: border-box;
 			padding-left: 100rpx;

+ 15 - 3
detail/goodsDetail/index.vue

@@ -1,6 +1,8 @@
 <template>
   <view class="goodsDetail">
-    <image class="good-img" :src="info.goodsPath" mode="aspectFit"></image>
+    <view class="good-img-box">
+      <image class="good-img" :src="info.goodsPath" ></image>
+    </view>
     <view class="goods-info">
       <view class="price-box">
         <view class="left">
@@ -30,6 +32,7 @@
             class="type-item"
             :class="[active == d ? 'active' : '']"
             v-for="(i, d) in item.specValues"
+            @click="handleSpec(item, i, d)"
             :key="i.specId"
           >
             {{ i.specValue }}
@@ -135,6 +138,9 @@ export default {
   },
   methods: {
     filterMsg(val) {
+      if(!isNaN(val)){
+        val=val + "天";
+      }
       return val.replace(/\n/g, "<br>");
     },
     jump(url) {
@@ -171,6 +177,9 @@ export default {
         });
       }
     },
+    handleSpec(item,i,d){
+      this.active = d
+    },
     detail(goodsId) {
       detail({ goodsId, resource: 2 }).then((res) => {
         if (res.state == "Success") {
@@ -226,10 +235,13 @@ export default {
   background: #f9f9f9;
   padding-bottom: 200rpx;
   min-height: 100vh;
-  .good-img {
+  .good-img-box {
     width: 100%;
     height: 660rpx;
-    vertical-align: bottom;
+    .good-img{
+      width: 100%;
+      height: 100%;
+    }
   }
   .goods-info {
     padding: 24rpx;

+ 1 - 1
manifest.json

@@ -1,5 +1,5 @@
 {
-    "name" : "慧研学惠生活",
+    "name" : "印象贵大文创",
     "appid" : "__UNI__4E38610",
     "description" : "",
     "versionName" : "1.0.0",

+ 1 - 0
my/order/detail.vue

@@ -408,6 +408,7 @@ export default {
       });
       let that = this;
       let miniPayRequest = this.info.payment.miniPayRequest;
+      miniPayRequest = JSON.parse(miniPayRequest);
 			// 打开慧研学
       uni.navigateToMiniProgram({
         appId: "wx3be1d6d84d46cdf7",

+ 1 - 1
pages.json

@@ -7,7 +7,7 @@
 		{
 			"path": "pages/index/index",
 			"style": {
-				"navigationBarTitleText": "慧研学惠生活",
+				"navigationBarTitleText": "",
 				"navigationStyle": "custom"
 			}
 		},

+ 7 - 6
pages/index/index.vue

@@ -60,7 +60,7 @@
         </view>
       </view>
 
-      <view class="swiper-box" style="height: 160rpx">
+      <view class="swiper-box" style="height: 200rpx">
         <view class="progress">
           {{ current1 + 1 + "/" + advList1.length }}
         </view>
@@ -246,7 +246,7 @@ export default {
         getAdv({
           currentPage: 1,
           pageSize: 99,
-
+          belongType: 1,
           advertsType: 1,
         }).then((res) => {
           if (res.state == "Success") {
@@ -265,6 +265,7 @@ export default {
         getAdv({
           currentPage: 1,
           pageSize: 99,
+          belongType: 1,
           advertsType: 2,
         }).then((res) => {
           if (res.state == "Success") {
@@ -422,10 +423,10 @@ page {
 
 .swiper-box {
   position: relative;
-  margin: 0 24rpx 10rpx;
+  margin: 0 20rpx 10rpx;
   padding-top: 20rpx;
-  width: 702rpx;
-  height: 280rpx;
+  width: 710rpx;
+  height: 320rpx;
   border-radius: 16rpx;
 
   .progress {
@@ -528,7 +529,7 @@ page {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
-  padding: 0 24rpx;
+  padding: 0 20rpx;
 
   .left {
     .adv-swiper {

+ 22 - 326
pages/life/index.vue

@@ -1,133 +1,10 @@
 <template>
 	<view class="home">
-		<zs-skeleton :loading="loading"></zs-skeleton>
-
-		<zs-banner :city="city" :background="background" position @search="handleSearch"></zs-banner>
-
 		<view class="login-home">
-			<!-- 登录显示的套餐列表 -->
-			<view class="discount-list">
-				<view class="discount-item" v-for="(item,index) in discountsList" :key="index" @click="goDetail(item.domainUrl,item.id,item.secondaryImg,item.menuName)">
-					<image class="icon" :src="item.imgUrl" mode=""></image>
-					<view class="title">{{item.menuName}}</view>
-					<view class="tag" v-if="item.labelAbove">
-						{{item.labelAbove}}
-					</view>
-					<view class="desc">
-						{{item.labelBelow || ''}}
-					</view>
-				</view>
-			</view>
-			
-			<view class="swiper-box">
-				<view class="progress">
-					{{current+1+'/'+advList.length}}
-				</view>
-				<swiper class="swiper" @change="swiperChange" :current="current" :indicator-dots="false" circular :autoplay="true"
-					:interval="3000" :duration="1000">
-					<swiper-item v-for="(item,index) in advList" :key="item.id"  @click="jump(item.jumpUrl)">
-						<image class="swiper-item" mode="" :src="item.advertsImg">
-						</image>
-					</swiper-item>
-						
-				</swiper>
-			</view>
-
-
-			<!-- 广告位 -->
-<!-- 			<view class="advertise-box">
-				<view class="item" v-for="item in advList" :key="item.id">
-					<zs-img
-						:src="item.advertsImg"
-						width="335rpx" height="188rpx" radius="full" mode=""></zs-img>
-				</view>
-			</view> -->
-
-			<view class="content">
-
-				<!-- 列表 -->
-				<zs-list class="store-box" mt="0" @load="loadMore" :status="status">
-					<view class="left">
-						<!-- 广告banner -->
-					<!-- 	<swiper class="adv-swiper" v-if="advList1.length" indicator-active-color="#fff" indicator-color="rgba(255, 255, 255, .46)" :indicator-dots="advList1.length>1" circular  autoplay>
-						
-							<swiper-item v-for="item in advList1" :key="item" @click="jump(item.jumpUrl)">
-								<image class="adv-item"
-									:src="item.advertsImg"
-									mode=""></image>
-							</swiper-item>
-						</swiper> -->
-
-						
-						<view class="store-item" v-for="(item,index) in list" :key="index" @click="goGoodsDetail(item)">
-							<template v-if="item.isAdv">
-								<image class="ad" :src="item.advertsImg" mode="widthFix"></image>
-							</template>
-							<template v-else>
-								<zs-img :src="item.goodsVos[0].goodsImg" width="340rpx" height="340rpx" mode="widthFix"></zs-img>
-								<view class="info">
-									<view class="title">
-										{{item.goodsVos[0].goodsName}}
-									</view>
-									<view class="desc">
-										{{item.goodsVos[0].goodsDescribe}}
-									</view>
-									<view class="price-box">
-										<view class="left">
-											<view class="unit">
-												¥
-											</view>
-											<view class="price">
-											{{item.goodsVos[0].realPrice}}
-											</view>
-										</view>
-										
-										<view class="right">
-											销量{{item.goodsVos[0].saleNum}}
-										</view>
-									</view>
-								</view>
-							</template>
-							
-						</view>
-					</view>
-					<view class="right">
-						
-						<view class="store-item" v-for="(item,index) in list1" :key="index" @click="goGoodsDetail(item)">
-							<template v-if="item.isAdv">
-								<image class="ad" :src="item.advertsImg" mode="widthFix"></image>
-							</template>
-							<template v-else>
-								<zs-img :src="item.goodsVos[0].goodsImg" width="340rpx" height="340rpx" mode="widthFix"></zs-img>
-								<view class="info">
-									<view class="title">
-										{{item.goodsVos[0].goodsName}}
-									</view>
-									<view class="desc">
-										{{item.goodsVos[0].goodsDescribe}}
-									</view>
-									<view class="price-box">
-										<view class="left">
-											<view class="unit">
-												¥
-											</view>
-											<view class="price">
-											{{item.goodsVos[0].realPrice}}
-											</view>
-										</view>
-										
-										<view class="right">
-											销量{{item.goodsVos[0].saleNum}}
-										</view>
-									</view>
-								</view>
-							</template>
-						</view>
-					</view>
-
-				</zs-list>
+			<image class="img" src="https://oss.dev.zonelife.cn/static/guida/img/life/hold_on2.png"></image>
+			<view class="text">
+				印象生活,尽请期待...
 			</view>
-
 		</view>
 		<zs-tab-bar :value="2"></zs-tab-bar>
 	</view>
@@ -156,6 +33,12 @@
 				discountsList: [],//菜单
 				advList:[],
 				advList1:[],
+				holdList:[
+					{
+						advertsImg:'https://oss.dev.zonelife.cn/static/guida/img/life/hold_on.jpg',
+						id:1
+					}
+				],
 				list: [],
 				list1: [],
 				query:{
@@ -468,208 +351,21 @@
 		}
 
 		.login-home {
-			// background: linear-gradient(178deg, #FFFFFF 0%, #F9F9F9 100%);
-			// background: #FFF;
-
-			.discount-list {
-				display: flex;
-				flex-wrap: wrap;
-				// padding: 30rpx 0;
-				margin: 0 24rpx 20rpx;
-				// background: #fff;
-				border-radius: 16rpx;
-				position: relative;
-				top: 20rpx;
-				padding-top: 20rpx;
-				.discount-item {
-					width: 20%;
-					display: flex;
-					flex-direction: column;
-					align-items: center;
-					margin-top: 20rpx;
-					margin-bottom: 20rpx;
-					position: relative;
-
-					.icon {
-						width: 80rpx;
-						height: 80rpx;
-					}
-
-					.title {
-						font-size: 24rpx;
-						margin-top: 10rpx;
-						font-weight: 300;
-						color: #222222;
-					}
-
-					.tag {
-						position: absolute;
-						top: -20rpx;
-						left: 50%;
-						background: #FF0615;
-						box-shadow: inset 0rpx 6rpx 12rpx 2rpx rgba(255, 255, 255, 0.16);
-						border-radius: 12rpx 14rpx 14rpx 0rpx;
-						color: #fff;
-						white-space: nowrap;
-						font-size: 18rpx;
-						line-height: 24rpx;
-						height: 24rpx;
-						padding: 0 10rpx;
-						z-index: 1;
-						// width: fit-content;
-						background-size: 100% 34rpx;
-					}
-
-					.desc {
-						color: #FF0817;
-						font-size: 16rpx;
-						text-align: center;
-						margin-top: 4rpx;
-					}
-				}
-			}
-
-			.title-img {
-				width: 686rpx;
-				height: 166rpx;
-				margin: 24rpx 32rpx;
-			}
-			.swiper-box{
-				position: relative;
-				margin: 0 24rpx 20rpx;
-				padding-top: 20rpx;
-				width: 702rpx;
-				height: 284rpx;
-				border-radius: 16rpx;
-				.progress{
-					position: absolute;
-					top: 38rpx;
-					right: 20rpx;
-					z-index: 2;
-					color: #FFFFFF;
-					font-size: 16rpx;
-					background: rgba(255, 255, 255, 0.3);
-					padding: 2rpx 10rpx;
-					border-radius: 14rpx;
-				}
-				.swiper {
-					position: relative;
-					height: 100%;
-					.swiper-item {
-						width: 100%;
-						height: 100%;
-						border-radius: 16rpx;
-						object-fit: cover;
-					}
-				}
-			}
-
-			.advertise-box {
-				display: flex;
-				justify-content: space-between;
-				margin: 0 24rpx;
-				padding: 20rpx 0;
-				
-			}
-
-			.content {
-				border-radius: 16rpx 16rpx 0 0;
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			// justify-content: center;
+			height: 100vh;
+			.img {
+				margin-top: 524rpx;
+				width: 252rpx;
+				height: 252rpx;
 			}
 
-
-			.zs-list {
-				display: flex;
-				flex-wrap: wrap;
-				justify-content: space-between;
-				padding: 0 24rpx;
-
-				.left {
-					.adv-swiper{
-						width: 340rpx;
-						height: 444rpx;
-						margin-bottom: 25rpx;
-						.adv-item{
-							width: 340rpx;
-							height: 444rpx;
-						}
-					}
-				}
-					.ad{
-						width: 340rpx;
-						border-radius: 16rpx;
-					}
-
-				.store-item {
-					width: 340rpx;
-					margin-bottom: 20rpx;
-					// box-shadow: 0rpx 0rpx 24rpx 2rpx rgba(0, 0, 0, 0.08);
-					border-radius: 16rpx;
-					background: #fff;
-
-					.icon {
-						width: 100%;
-						height: 300rpx;
-						border-radius: 16rpx 16rpx 0 0;
-					}
-
-					.info{
-						flex: 1;
-						padding: 16rpx;
-						display: flex;
-						flex-direction: column;
-						justify-content: space-between;
-						position: relative;
-						.title{
-							font-size: 28rpx;
-							font-weight: bold;
-							width: 100%;
-							white-space: nowrap;
-							overflow: hidden;
-							text-overflow: ellipsis;
-							margin-top: 10rpx;
-						}
-						
-						.desc{
-							font-size: 24rpx;
-							color: #AAAAAA;
-							overflow: hidden;
-							text-overflow: ellipsis;
-							/* 弹性伸缩盒子模型显示 */
-							display: -webkit-box;
-							/* 限制在一个块元素显示的文本的行数 */
-							-webkit-line-clamp: 2;
-							/* 设置或检索伸缩盒对象的子元素的排列方式 */
-							-webkit-box-orient: vertical;
-							margin-top: 12rpx;
-						}
-						
-						.price-box{
-							display: flex;
-							justify-content: space-between;
-							align-items: center;
-							margin-top: 12rpx;
-							.left{
-								display: flex;
-								align-items: flex-end;
-								.unit{
-									font-size: 20rpx;
-									color: #FF4D3A;
-									font-weight: bold;
-								}
-								.price{
-									font-size: 32rpx;
-									color: #FF4D3A;
-									font-weight: bold;
-								}
-							}
-							.right{
-								font-size: 24rpx;
-								color: #AAAAAA;
-							}
-						}
-						
-					}
-				}
+			.text {
+				font-size: 32rpx;
+				color: #CCCCCC;
+				margin-top: 28rpx;
 			}
 		}
 

+ 661 - 0
pages/life/index.vue.bak

@@ -0,0 +1,661 @@
+<template>
+	<view class="home">
+		<zs-skeleton :loading="loading"></zs-skeleton>
+
+		<zs-banner :city="city" :background="background" position @search="handleSearch"></zs-banner>
+
+		<view class="login-home">
+			
+			<view class="discount-list">
+				<view class="discount-item" v-for="(item,index) in discountsList" :key="index" @click="goDetail(item.domainUrl,item.id,item.secondaryImg,item.menuName)">
+					<image class="icon" :src="item.imgUrl" mode=""></image>
+					<view class="title">{{item.menuName}}</view>
+					<view class="tag" v-if="item.labelAbove">
+						{{item.labelAbove}}
+					</view>
+					<view class="desc">
+						{{item.labelBelow || ''}}
+					</view>
+				</view>
+			</view>
+			
+			<view class="swiper-box">
+				<view class="progress">
+					{{current+1+'/'+advList.length}}
+				</view>
+				<swiper class="swiper" @change="swiperChange" :current="current" :indicator-dots="false" circular :autoplay="true"
+					:interval="3000" :duration="1000">
+					<swiper-item v-for="(item,index) in advList" :key="item.id"  @click="jump(item.jumpUrl)">
+						<image class="swiper-item" mode="" :src="item.advertsImg">
+						</image>
+					</swiper-item>
+						
+				</swiper>
+			</view>
+
+
+
+			<view class="content">
+
+
+				<zs-list class="store-box" mt="0" @load="loadMore" :status="status">
+					<view class="left">
+
+
+						
+						<view class="store-item" v-for="(item,index) in list" :key="index" @click="goGoodsDetail(item)">
+							<template v-if="item.isAdv">
+								<image class="ad" :src="item.advertsImg" mode="widthFix"></image>
+							</template>
+							<template v-else>
+								<zs-img :src="item.goodsVos[0].goodsImg" width="340rpx" height="340rpx" mode="widthFix"></zs-img>
+								<view class="info">
+									<view class="title">
+										{{item.goodsVos[0].goodsName}}
+									</view>
+									<view class="desc">
+										{{item.goodsVos[0].goodsDescribe}}
+									</view>
+									<view class="price-box">
+										<view class="left">
+											<view class="unit">
+												¥
+											</view>
+											<view class="price">
+											{{item.goodsVos[0].realPrice}}
+											</view>
+										</view>
+										
+										<view class="right">
+											销量{{item.goodsVos[0].saleNum}}
+										</view>
+									</view>
+								</view>
+							</template>
+							
+						</view>
+					</view>
+					<view class="right">
+						
+						<view class="store-item" v-for="(item,index) in list1" :key="index" @click="goGoodsDetail(item)">
+							<template v-if="item.isAdv">
+								<image class="ad" :src="item.advertsImg" mode="widthFix"></image>
+							</template>
+							<template v-else>
+								<zs-img :src="item.goodsVos[0].goodsImg" width="340rpx" height="340rpx" mode="widthFix"></zs-img>
+								<view class="info">
+									<view class="title">
+										{{item.goodsVos[0].goodsName}}
+									</view>
+									<view class="desc">
+										{{item.goodsVos[0].goodsDescribe}}
+									</view>
+									<view class="price-box">
+										<view class="left">
+											<view class="unit">
+												¥
+											</view>
+											<view class="price">
+											{{item.goodsVos[0].realPrice}}
+											</view>
+										</view>
+										
+										<view class="right">
+											销量{{item.goodsVos[0].saleNum}}
+										</view>
+									</view>
+								</view>
+							</template>
+						</view>
+					</view>
+
+				</zs-list>
+			</view>
+
+		</view>
+		<zs-tab-bar :value="2"></zs-tab-bar>
+	</view>
+</template>
+
+<script>
+	import {
+		getUserDetail,
+		getMenu,
+		getAdv
+	} from '@/api/common.js'
+	import { search } from '@/api/shop.js';
+	// 腾讯地图
+	var QQMapWX = require('../../libs/qqmap-wx-jssdk.min.js');
+	var qqmapsdk = new QQMapWX({key:'KX5BZ-B64RC-RO62W-AMWAZ-VVTC3-YAFXF'});
+	export default {
+		data() {
+			return {
+				background:false,
+				loading: false,
+				userId: '',
+				city:'定位中',
+				status: 'more',
+				current:0,
+				bannerList:[],
+				discountsList: [],//菜单
+				advList:[],
+				advList1:[],
+				list: [],
+				list1: [],
+				query:{
+					queryName:'',
+					'location.lat':0,
+					'location.lon':0,
+					pageCurrent:1,
+					pageSize:10
+				},
+				
+			}
+		},
+		
+		methods: {
+			// swiper变动
+			swiperChange(val) {
+				this.current = val.target.current
+			},
+			jump(url){
+				uni.reLaunch({
+					url
+				})
+			},
+			// 点击搜索
+			handleSearch(){
+				if(!uni.getStorageSync('token')){
+					return uni.showModal({
+						title:'请登录',
+						confirmText:'去登录',
+						success(res){
+							console.log(res);
+							if(res.confirm){
+								uni.navigateTo({
+									url:'/login/login/login?redirect=/pages/index/index'
+								})
+							}
+						}
+					})
+				}
+				uni.reLaunch({
+					url:'./search'
+				})
+				// if(!val) return
+				// this.query.queryName = val
+				// this.query.pageCurrent = 1
+				// this.list = []
+				// this.list1 = []
+				// this.status = 'more'
+				// this.search()
+			},
+			// 获取当前城市
+			getCity(){
+				let that = this
+				return new Promise((resolve,reject)=>{
+					uni.getLocation({
+							type: 'gcj02',
+							success: (res) => {
+								// 解析地址
+								that.query['location.lat'] = res.latitude
+								that.query['location.lon'] = res.longitude
+								// 存储经纬度
+								uni.setStorageSync('location',JSON.stringify({latitude:res.latitude,longitude:res.longitude}))
+								qqmapsdk.reverseGeocoder({
+									location: {
+										latitude: res.latitude,
+										longitude: res.longitude
+									},
+									success: function(res) {
+										// 市
+										that.city = res.result.address_component.city
+										console.log(9999,that.city,res);
+										if(uni.setStorageSync('districtList')&&uni.getStorageSync('city')==that.city) return
+										uni.setStorageSync('city',res.result.address_component.city)
+										// 获取市区的行政区
+										qqmapsdk.getDistrictByCityId({
+										  // 传入对应省份ID获得城市数据,传入城市ID获得区县数据,依次类推
+										  id: res.result.ad_info.city_code.substr(3), //对应接口getCityList返回数据的Id,如:北京是'110000'
+										  success: function(res) {//成功后的回调
+										    console.log('对应城市ID下的区县数据:', res.result[0]);
+											let data = res.result[0]
+											data.map(item=>{
+												item.label = item.fullname
+											})
+											uni.setStorageSync('districtList',JSON.stringify(data))
+										  },
+										  fail: function(error) {
+										    console.error(error);
+										  },
+										  complete: function(res) {
+										    console.log(res);
+										  }
+										});
+										resolve()
+									},
+									fail: function(res) {
+										that.city = '定位失败'
+									},
+								})
+								  
+								
+							},
+							fail: () => {
+								console.log("获取经纬度失败");
+							},
+						})
+				})
+			},
+
+			// 跳转优惠详情
+			goDetail(url,id,banner,title) {
+				uni.navigateTo({
+					url: `${url}?id=${id}&title=${title}`,
+					success(res) {
+						res.eventChannel.emit('banner', banner)
+					}
+				})
+			},
+			goGoodsDetail(item) {
+				uni.setStorageSync('shopInfo', JSON.stringify(item))
+				uni.reLaunch({
+					url: `../../detail/goodsDetail/index?id=${item.goodsVos[0].goodsId}`
+				})
+			},
+
+			// 更多套餐
+			handleMore() {
+				uni.reLaunch({
+					// url:'../../login/login/login'
+					url: '../../combo/combo/combo'
+				})
+			},
+
+			// 获取用户详情
+			getUserDetail() {
+				getUserDetail().then(res => {
+					uni.setStorageSync('userInfo', JSON.stringify(res.content))
+				})
+			},
+			loadMore() {
+				if(this.query['location.lat']&&this.query['location.lon']){
+					this.search()
+				}
+			},
+			search() {
+				if(this.status == 'noMore') return
+				this.status = 'loading'
+				search({
+					...this.query,
+					belongType:2,
+					isExceptGZU:true
+				}).then(res=>{
+					if(res.state == 'Success'){
+						this.loading = false
+						let list = []
+						let list1 = []
+						let data = res.content.records
+						data.map((item,index)=>{
+							if(index%2 == 0){
+								list.push(item)
+							}else{
+								list1.push(item)
+							}
+						})
+						this.list = this.list.concat(list)
+						this.list1 = this.list1.concat(list1)
+						if(this.query.pageCurrent == res.content.pages){
+							this.status = 'noMore'
+						}else{
+							this.status = 'more'
+							this.query.pageCurrent++
+						}
+						if(!this.advList1.length){
+							this.getGoodsAdv().then(()=>{
+								this.advList1.map(item=>{
+									if(item.showSort<= (this.list.length + this.list1.length)){
+										if((item.showSort-1)%2 == 0){
+											this.list.splice(Math.ceil(item.showSort/2)-1,0,{isAdv:true,...item})
+										}else{
+											this.list1.splice(Math.ceil(item.showSort/2)-1,0,{isAdv:true,...item})
+										}
+									}
+								})
+							}
+						  )
+						}else{
+							this.advList1.map(item=>{
+								if(item.showSort<= (this.list.length + this.list1.length)){
+									if((item.showSort-1)%2 == 0){
+										this.list.splice(Math.ceil(item.showSort/2)-1,0,{isAdv:true,...item})
+									}else{
+										this.list1.splice(Math.ceil(item.showSort/2)-1,0,{isAdv:true,...item})
+									}
+								}
+							})
+						}
+						// 获取商品里面的广告
+						// getAdv({currentPage:1,pageSize:99,advertsType:2,status:1}).then(res1=>{
+						// 	if(res.state == 'Success'){
+						// 		res1.content.records.map(item=>{
+						// 			data.splice(item.showSort-1,0,{isAdv:true,...item})
+						// 		})
+						// 		console.log(data);
+						// 		data.map((item,index)=>{
+						// 			if(index%2){
+						// 				list.push(item)
+						// 			}else{
+						// 				list1.push(item)
+						// 			}
+						// 		})
+						// 		this.list = this.list.concat(list)
+						// 		this.list1 = this.list1.concat(list1)
+						// 		// let total = this.list.length+this.list1.length
+						// 		// if(total>=res.content.total){
+						// 		if(this.query.pageCurrent == res.content.pages){
+						// 			this.status = 'noMore'
+						// 		}else{
+						// 			this.status = 'more'
+						// 			this.query.pageCurrent++
+						// 		}
+						// 	}
+						// })
+						
+						
+					}
+				})
+			},
+			// 金刚区
+			getMenu(){
+				return new Promise((resolve,reject)=>{
+					getMenu({belongType: 1,currentPage:1,pageSize:10,status:2}).then(res=>{
+						if(res.state == 'Success'){
+							this.discountsList = res.content.records
+							resolve(1)
+						}
+					})
+				})
+			},
+			// 广告位
+			getAdv(){
+				return new Promise((resolve,reject)=>{
+					getAdv({belongType:2,currentPage:1,pageSize:99,advertsType:1,status:1}).then(res=>{
+						if(res.state == 'Success'){
+							this.advList = res.content.records
+							// this.advList = res.content.records.filter((item,index)=>index<2)
+							// this.advList1 = res.content.records.filter((item,index)=>index>=2)
+							resolve(2)
+						}
+					})
+				})
+			},
+			// 获取商品列表内广告位
+			getGoodsAdv(){
+				return new Promise((resolve,reject)=>{
+					getAdv({belongType:2,currentPage:1,pageSize:99,advertsType:2,status:1}).then(res=>{
+						if(res.state == 'Success'){
+							this.advList1 = res.content.records
+							resolve(2)
+						}
+					})
+				})
+			},
+		},
+		onPageScroll(e) {
+				if(e.scrollTop >= 50){
+					this.background = true
+				}else{
+					this.background = false
+				}
+		},
+		onShow() {
+			if (uni.getStorageSync('token')&&!uni.getStorageSync('userInfo')) {
+				this.getUserDetail()
+			}
+		},
+		onHide() {},
+		onLoad(query){
+			
+			 uni.setStorageSync('inviteCode',decodeURIComponent(query.scene))
+		},
+		created() {
+			this.loading = true
+			Promise.all([this.getMenu(),this.getAdv(),this.getCity()]).then(res=>{
+				this.search()
+			})
+			
+		}
+	}
+</script>
+
+<style lang="scss">
+	.home {
+		// padding-bottom:120rpx;
+		// background: linear-gradient(180deg, #FFFFFF 0%, #DCE8FF 100%);
+		background: #F9F9F9;
+
+		.card-title {
+			display: flex;
+			justify-content: center;
+
+			.title {
+				font-size: 32rpx;
+				text-align: center;
+				color: #fff;
+				width: 210rpx;
+				line-height: 64rpx;
+				background: linear-gradient(360deg, #3074F8 0%, #568FFF 100%);
+				border-radius: 0rpx 0rpx 24rpx 24rpx;
+			}
+
+		}
+
+		.login-home {
+			// background: linear-gradient(178deg, #FFFFFF 0%, #F9F9F9 100%);
+			// background: #FFF;
+
+			.discount-list {
+				display: flex;
+				flex-wrap: wrap;
+				// padding: 30rpx 0;
+				margin: 0 24rpx 20rpx;
+				// background: #fff;
+				border-radius: 16rpx;
+				position: relative;
+				top: 20rpx;
+				padding-top: 20rpx;
+				.discount-item {
+					width: 20%;
+					display: flex;
+					flex-direction: column;
+					align-items: center;
+					margin-top: 20rpx;
+					margin-bottom: 20rpx;
+					position: relative;
+
+					.icon {
+						width: 80rpx;
+						height: 80rpx;
+					}
+
+					.title {
+						font-size: 24rpx;
+						margin-top: 10rpx;
+						font-weight: 300;
+						color: #222222;
+					}
+
+					.tag {
+						position: absolute;
+						top: -20rpx;
+						left: 50%;
+						background: #FF0615;
+						box-shadow: inset 0rpx 6rpx 12rpx 2rpx rgba(255, 255, 255, 0.16);
+						border-radius: 12rpx 14rpx 14rpx 0rpx;
+						color: #fff;
+						white-space: nowrap;
+						font-size: 18rpx;
+						line-height: 24rpx;
+						height: 24rpx;
+						padding: 0 10rpx;
+						z-index: 1;
+						// width: fit-content;
+						background-size: 100% 34rpx;
+					}
+
+					.desc {
+						color: #FF0817;
+						font-size: 16rpx;
+						text-align: center;
+						margin-top: 4rpx;
+					}
+				}
+			}
+
+			.title-img {
+				width: 686rpx;
+				height: 166rpx;
+				margin: 24rpx 32rpx;
+			}
+			.swiper-box{
+				position: relative;
+				margin: 0 24rpx 20rpx;
+				padding-top: 20rpx;
+				width: 702rpx;
+				height: 284rpx;
+				border-radius: 16rpx;
+				.progress{
+					position: absolute;
+					top: 38rpx;
+					right: 20rpx;
+					z-index: 2;
+					color: #FFFFFF;
+					font-size: 16rpx;
+					background: rgba(255, 255, 255, 0.3);
+					padding: 2rpx 10rpx;
+					border-radius: 14rpx;
+				}
+				.swiper {
+					position: relative;
+					height: 100%;
+					.swiper-item {
+						width: 100%;
+						height: 100%;
+						border-radius: 16rpx;
+						object-fit: cover;
+					}
+				}
+			}
+
+			.advertise-box {
+				display: flex;
+				justify-content: space-between;
+				margin: 0 24rpx;
+				padding: 20rpx 0;
+				
+			}
+
+			.content {
+				border-radius: 16rpx 16rpx 0 0;
+			}
+
+
+			.zs-list {
+				display: flex;
+				flex-wrap: wrap;
+				justify-content: space-between;
+				padding: 0 24rpx;
+
+				.left {
+					.adv-swiper{
+						width: 340rpx;
+						height: 444rpx;
+						margin-bottom: 25rpx;
+						.adv-item{
+							width: 340rpx;
+							height: 444rpx;
+						}
+					}
+				}
+					.ad{
+						width: 340rpx;
+						border-radius: 16rpx;
+					}
+
+				.store-item {
+					width: 340rpx;
+					margin-bottom: 20rpx;
+					// box-shadow: 0rpx 0rpx 24rpx 2rpx rgba(0, 0, 0, 0.08);
+					border-radius: 16rpx;
+					background: #fff;
+
+					.icon {
+						width: 100%;
+						height: 300rpx;
+						border-radius: 16rpx 16rpx 0 0;
+					}
+
+					.info{
+						flex: 1;
+						padding: 16rpx;
+						display: flex;
+						flex-direction: column;
+						justify-content: space-between;
+						position: relative;
+						.title{
+							font-size: 28rpx;
+							font-weight: bold;
+							width: 100%;
+							white-space: nowrap;
+							overflow: hidden;
+							text-overflow: ellipsis;
+							margin-top: 10rpx;
+						}
+						
+						.desc{
+							font-size: 24rpx;
+							color: #AAAAAA;
+							overflow: hidden;
+							text-overflow: ellipsis;
+							/* 弹性伸缩盒子模型显示 */
+							display: -webkit-box;
+							/* 限制在一个块元素显示的文本的行数 */
+							-webkit-line-clamp: 2;
+							/* 设置或检索伸缩盒对象的子元素的排列方式 */
+							-webkit-box-orient: vertical;
+							margin-top: 12rpx;
+						}
+						
+						.price-box{
+							display: flex;
+							justify-content: space-between;
+							align-items: center;
+							margin-top: 12rpx;
+							.left{
+								display: flex;
+								align-items: flex-end;
+								.unit{
+									font-size: 20rpx;
+									color: #FF4D3A;
+									font-weight: bold;
+								}
+								.price{
+									font-size: 32rpx;
+									color: #FF4D3A;
+									font-weight: bold;
+								}
+							}
+							.right{
+								font-size: 24rpx;
+								color: #AAAAAA;
+							}
+						}
+						
+					}
+				}
+			}
+		}
+
+	}
+</style>

+ 7 - 8
pages/my/index.vue

@@ -20,12 +20,11 @@
         </view>
       </view>
 
-      <view class="vip-card">
-        <!-- <view class="vip-title">会员专属</view> -->
+      <!-- <view class="vip-card">
         <view class="vip-btn" @click="jump('../../my/memberCenter/index')"
           >开通</view
         >
-      </view>
+      </view> -->
     </view>
     <view
       style="font-size: 34rpx; font-weight: bold; margin: 30rpx 0 20rpx 30rpx"
@@ -117,11 +116,11 @@ export default {
       ],
       settingList: [
         // 会员码 、 收获地址 、 我的收藏 、 我的优惠券
-        {
-          name: "vip",
-          title: "会员码",
-          path: "../../my/memberCenter/index",
-        },
+        // {
+        //   name: "vip",
+        //   title: "会员码",
+        //   // path: "../../my/memberCenter/index",
+        // },
         {
           name: "location",
           title: "收货地址",

+ 1 - 1
utils/config.js

@@ -1,5 +1,5 @@
 // export const BASE_URL = 'https://api.dev.zonelife.cn';
-export let BASE_URL = 'https://api.dev.zonelife.cn';
+export let BASE_URL = 'https://api.zonelife.cn';
 
 // export const SHOP_ID = '65aa19c3e2cc5b1095f087fc';//测试视频会员店铺
 export const SHOP_ID = '65aa17f980f6d56f44643a1f';//生产视频会员店铺