瀏覽代碼

地图滑动优化,大转盘实现

yfso 2 年之前
父節點
當前提交
e0ebaffd3b

+ 11 - 1
api/active/active.js

xqd
@@ -42,11 +42,21 @@ export function vote(data){
 		data
 	)
 }
+
+//分享记录接口
+export function activityShare(data){
+	return request.post(
+		`v1/activity/share`,
+		data
+	)
+}
+
 export default {
   getActiveDetail,
   getActiveList,
   kudos,
   getActiveProjectList,
   getActiveProjectDetail,
-  vote
+  vote,
+  activityShare
 }

+ 6 - 5
components/my-nav/my-nav.vue

xqd xqd
@@ -7,8 +7,9 @@
 			</view>
 			<!-- 胶囊位置信息 -->
 			<view class="nav-main flex align-center justify-center" :style="{height: navBarHeight+'px'}">
-				<view class="nav-main-back" @click="back" v-if="backIcon">
-					<uni-icons type="back" size="26" color="#fff"></uni-icons>
+				<view class="nav-main-back" @click="search" v-if="backIcon">
+					<!-- <uni-icons type="search" size="26" color="#000"></uni-icons> -->
+					<image style="width: 32rpx;height: 32rpx;" src="/static/icon/search02.png" mode=""></image>
 				</view>
 				<text class="nav-main-title">{{title}}</text>
 			</view>
@@ -73,9 +74,9 @@
 				}
 			},
 			//返回
-			back() {
-				uni.navigateBack({
-					delta: 1
+			search() {
+				uni.navigateTo({
+					url:'/pages/index/active-list/index'
 				})
 			},
 		}

+ 1 - 1
manifest.json

xqd
@@ -1,6 +1,6 @@
 {
     "name" : "hotel_uni",
-    "appid" : "__UNI__9140D70",
+    "appid" : "__UNI__807A871",
     "description" : "",
     "versionName" : "1.0.0",
     "versionCode" : "100",

+ 8 - 4
pages/goods/goods-detail/index.scss

xqd xqd
@@ -242,6 +242,7 @@ $pageColor:#F9F9F9;
 	}
 
 	.produce {
+		width: 100%;
 		margin-top: 24rpx;
 		padding: 40rpx 30rpx 36rpx;
 		background: #FFFFFF;
@@ -255,18 +256,21 @@ $pageColor:#F9F9F9;
 		}
 
 		.produce-text {
+			width: 100%;
 			margin-top: 26rpx;
 			font-size: 30rpx;
 			color: #333333;
 			line-height: 48rpx;
 			overflow: hidden;
-			
-			img,image{
-				max-width: 100%;
-			}
+			// img,image{
+			// 	max-width: 100%;
+			// 	height: auto;
+			// }
 		}
+		
 	}
 
+
 	.about {
 		padding: 40rpx 30rpx 40rpx;
 		width: 100%;

+ 434 - 420
pages/goods/goods-detail/index.vue

xqd xqd xqd
@@ -1,416 +1,424 @@
-<template>
-	<view class="goods-detail">
-		<navbarTransparent :title="page.title"/>
-		<!-- swiper -->
-		<view class="home-swiper">
-			<!-- <uni-swiper-dot :info="info" :current="current1" :mode="mode" :dots-styles="dotsStyles">
-				<swiper class="swiper-box" @change="change1" circular>
-					<swiper-item v-for="(item ,index) in info" :key="index">
-						<view class="swiper-item" >
-							<image style="width: 100%;height:576rpx;" :src="item.img" mode="aspectFill"></image>
-						</view>
-					</swiper-item>
-				</swiper>
-			</uni-swiper-dot> -->
-			<uni-swiper-dot :mode="mode" :info="info" :current="current1" :dots-styles="dotsStyles">
-				<swiper class="swiper-box" @change="change1" circular>
-					<swiper-item v-for="(item ,index) in info" :key="index"  v-if="resource_type == 1 ">
-						<view class="swiper-item">
-							<image style="width: 100vw;height:100vw;" :src="item.img" mode="aspectFill"></image>
-						</view>
-					</swiper-item>
-					<swiper-item  v-if="resource_type == 2 ">
-						<view class="swiper-item">
-							<video class="baner-video" id="myVideo" ref="myVideo" style="width: 100%; height: 564rpx;"
-								:src="video_url" controls :enable-progress-gesture="false">
-							</video>
-						</view>
-					</swiper-item>
-				</swiper>
-			</uni-swiper-dot>
-		</view>
-
-		<view style="background-color: #f9f9f9;">
-			<!-- 价格 -->
-			<view class="price">
-				<view class="price-top" v-if="produceType == 1">
-					<text>¥</text>
-					<text>{{productDetail.price}}</text>
-				</view>
-				<view class="price-top" v-if="produceType == 2">
-					<text>{{productDetail.price}}</text>
-					<text>积分</text>
-				</view>	
-				<text class="price-text">{{productDetail.name}}</text>
-				<view @click="goOther" class="price-banner" :style="{backgroundImage:'url('+backImageUrl+')'}">
-					<text>加入IHG优悦会会员享受更多福利</text>
-					<image style="width: 12rpx;height: 20rpx;" src="/static/icon/right02.png" mode=""></image>
-				</view>
-				<!--规格-->
-				<view class="price-specs" @click="Recipientopen()">
-					<view class="price-specs-left">
-						<text>选择</text>
-					</view>
-					<view class="price-specs-main" @click="Recipientopen()">
-						<text>{{showAttr||'请选择规格'}}</text>
-					</view>
-					<view @click="Recipientopen()">
-						<image style="width: 12rpx;height: 20rpx;" src="/static/icon/right03.png" mode=""></image>
-					</view>
-				</view>
-			</view>
-
-			<!--酒店信息  -->
-			<view class="about">
-				<text class="about-title">可购买酒店信息</text>
-				<text class="about-name">{{hotelDetail.name}}</text>
-				<view class="about-address">
-					<text style="margin-right:20rpx ;">地址:</text>
-					<text>{{hotelDetail.address?hotelDetail.address:""}}</text>
-				</view>
-				<view class="about-phone">
-					<text style="margin-right:20rpx ;">电话:</text>
-					<text>{{hotelDetail.phone?hotelDetail.phone:""}}</text>
-				</view>
-				<view class="about-all">
-					<text @click="goGoodsHotel(product_id)" style="margin-right: 16rpx;">全部酒店</text>
-					<image @click="goGoodsHotel(product_id)" style="width: 12rpx;height: 20rpx;" src="/static/icon/right04.png"
-						mode=""></image>
-				</view>
-
-			</view>
-
-			<!-- 产品介绍 -->
-			<view class="produce">
-				<view class="produce-title">
-					<text>产品简介</text>
-				</view>
-				<view class="produce-text" v-html="productDetail.details"></view>
-			</view>
-		</view>
-
-		<view class="buy-btn">
-			<view class="buy-btn-left" @click="goHome">
-				<image style="width: 40rpx;height: 42rpx;" src="/static/icon/home01.png" mode=""></image>
-				<text>首页</text>
-			</view>
-			<view class="buy-btn-right" @click="goIntegralOrder" v-if="produceType==1">
-				<text>立即购买</text>
-			</view>
-			<view v-if="produceType==2" class="buy-btn-right" @click="goProductChange(product_id,flavorIsActive)">
-				<text>立即兑换</text>
-			</view>
-		</view>
-		<view style="height: 90px;background-color: #f9f9f9;"></view>
-
-		<!-- 选择规格 -->
-		<uni-popup ref="Recipient" type="bottom" mask-background-color=" rgba(0,0,0,0.3);">
-			<view class="pop">
-				<view class="pop-price">
-					<view class="pop-price-left">
-						<image style="width: 180rpx;height: 136rpx; border-radius:12rpx ;"
-							:src="productDetail.cover_img" mode="" ></image>
-						<view class="pop-price-left-money" v-if="produceType == 1">
-							<text>¥</text>
-							<text>{{productDetail.price}}</text>
-						</view>
-						<view class="pop-price-left-money" v-if="produceType == 2">
-							<text>{{productDetail.price}}</text>
-							<text>积分</text>
-						</view>
-					</view>
-					<image style="width: 52rpx;height: 52rpx;" src="/static/icon/close01.png" mode=""  @click="Recipientclose"></image>
-				</view>				
-				<view class="pop-flavor" v-for="i in attr_groups" :key="i.attr_group_id" style="margin-top: 44rpx;">
-					<text>{{i.attr_group_name}}</text>
-					<view class="tab_flavor">
-						<view class="flavorTitle-item" 
-							:class="{'flavorTitle-item-active':flavorIsActive[i.attr_group_name] === item.attr_name}"
-							v-for="(item,index) in i.attr_list" :key="item.attr_id"
-							@click="flavorchecked(item.attr_name,i.attr_group_name)"
-						>
-							<view :class="{'active-flavor':flavorIsActive[i.attr_group_name] === item.attr_name}">
-								{{item.attr_name}}
-							</view>
-						</view>
-					</view>
-				</view>
-			</view>
-			<view class="purchase" v-if="produceType == 1" @click="goIntegralOrder">
-				<view class="purchase-btn">立即购买</view>
-			</view>
-			<view class="purchase" v-if="produceType == 2"  @click="selectSpecs(product_id,flavorIsActive)">
-				<view class="purchase-btn">立即兑换</view>
-				<!-- <view class="purchase-btn">确认</view> -->
-			</view>
-		</uni-popup>
-		<!-- 二维码购买 -->
-		<uni-popup ref="codePurchase" type="center">
-			<view class="code-purchase">
-				<view class="title"><text>识别下方二维码即可购买</text></view>
-				<view style="margin-left:30rpx;width: 580rpx;height: 2rpx;background: #F0F0F0;"></view>
-				<view class="img">
-					<image src="http://t9.9026.com/imgs/Kudosbg.png"></image>
-				</view>
-				<view class="btn">
-					<view class="cancel" @click="dialogClose"><text>取消</text></view>
-					<view class="download" @click="dialogConfirm"><text>保存图片</text></view>
-				</view>
-			</view>
-		</uni-popup>
-	</view>
-</template>
-
-<script>
-	import navbarTransparent from "@/components/extra/navbarTransparent.vue"
-	export default {
-		components:{navbarTransparent},
-		data() {
-			return {
-				jump_type: '',
-				jump_config: '',
-				resource_type: '',
-				//1:第三方产品2:积分兑换产品
-				produceType:'',
-				// 规格
-				specsText:'',
-				specs:{
-					pack:'',
-					weight:'',
-					flavor:'',
-				},
-				// 产品详情
-				productDetail:'',
-				// 酒店详情
-				hotelDetail:'',
-				// 产品id
-				product_id:'',
-				//激活指定table菜单
-				isActive: 0,
-				flavorIsActive:{},
-				weightIsActive:0,
-				packIsActive:0,
-				backImageUrl: require('../../../static/icon/add01.png'),
-				//轮播图
-				info: [{
-					img: 'http://t9.9026.com/imgs/swiper01.png',
-					name: '酒店预订'
-				}, ],
-				dotsStyles: {
-					backgroundColor: 'rgba(255, 255, 255, .3)',
-					border: '1px rgba(255, 255, 255, .3) solid',
-					color: '#fff',
-					selectedBackgroundColor: 'rgba(255, 255, 255, 1)',
-					selectedBorder: '1px rgba(255, 255, 255, 1) solid'
-				},
-				//指示点显示位置
-				current1: 0,
-				//指示点模式
-				mode: 'dot',
-				attr_groups:[],
-				page: {
-					title: '产品详情'
+<template>
+	<view class="goods-detail">
+		<navbarTransparent :title="page.title" />
+		<!-- swiper -->
+		<view class="home-swiper">
+			<!-- <uni-swiper-dot :info="info" :current="current1" :mode="mode" :dots-styles="dotsStyles">
+				<swiper class="swiper-box" @change="change1" circular>
+					<swiper-item v-for="(item ,index) in info" :key="index">
+						<view class="swiper-item" >
+							<image style="width: 100%;height:576rpx;" :src="item.img" mode="aspectFill"></image>
+						</view>
+					</swiper-item>
+				</swiper>
+			</uni-swiper-dot> -->
+			<uni-swiper-dot :mode="mode" :info="info" :current="current1" :dots-styles="dotsStyles">
+				<swiper class="swiper-box" @change="change1" circular>
+					<swiper-item v-for="(item ,index) in info" :key="index" v-if="resource_type == 1 ">
+						<view class="swiper-item">
+							<image style="width: 100vw;height:100vw;" :src="item.img" mode="aspectFill"></image>
+						</view>
+					</swiper-item>
+					<swiper-item v-if="resource_type == 2 ">
+						<view class="swiper-item">
+							<video class="baner-video" id="myVideo" ref="myVideo" style="width: 100%; height: 564rpx;"
+								:src="video_url" controls :enable-progress-gesture="false">
+							</video>
+						</view>
+					</swiper-item>
+				</swiper>
+			</uni-swiper-dot>
+		</view>
+
+		<view style="background-color: #f9f9f9;">
+			<!-- 价格 -->
+			<view class="price">
+				<view class="price-top" v-if="produceType == 1">
+					<text>¥</text>
+					<text>{{productDetail.price}}</text>
+				</view>
+				<view class="price-top" v-if="produceType == 2">
+					<text>{{productDetail.price}}</text>
+					<text>积分</text>
+				</view>
+				<text class="price-text">{{productDetail.name}}</text>
+				<view @click="goOther" class="price-banner" :style="{backgroundImage:'url('+backImageUrl+')'}">
+					<text>加入IHG优悦会会员享受更多福利</text>
+					<image style="width: 12rpx;height: 20rpx;" src="/static/icon/right02.png" mode=""></image>
+				</view>
+				<!--规格-->
+				<view class="price-specs" @click="Recipientopen()">
+					<view class="price-specs-left">
+						<text>选择</text>
+					</view>
+					<view class="price-specs-main" @click="Recipientopen()">
+						<text>{{showAttr||'请选择规格'}}</text>
+					</view>
+					<view @click="Recipientopen()">
+						<image style="width: 12rpx;height: 20rpx;" src="/static/icon/right03.png" mode=""></image>
+					</view>
+				</view>
+			</view>
+
+			<!--酒店信息  -->
+			<view class="about">
+				<text class="about-title">可购买酒店信息</text>
+				<text class="about-name">{{hotelDetail.name}}</text>
+				<view class="about-address">
+					<text style="margin-right:20rpx ;">地址:</text>
+					<text>{{hotelDetail.address?hotelDetail.address:""}}</text>
+				</view>
+				<view class="about-phone">
+					<text style="margin-right:20rpx ;">电话:</text>
+					<text>{{hotelDetail.phone?hotelDetail.phone:""}}</text>
+				</view>
+				<view class="about-all">
+					<text @click="goGoodsHotel(product_id)" style="margin-right: 16rpx;">全部酒店</text>
+					<image @click="goGoodsHotel(product_id)" style="width: 12rpx;height: 20rpx;"
+						src="/static/icon/right04.png" mode=""></image>
+				</view>
+
+			</view>
+
+			<!-- 产品介绍 -->
+			<view class="produce">
+				<view class="produce-title">
+					<text>产品简介</text>
+				</view>
+				<view class="produce-text">
+					<u-parse :content="productDetail.details"></u-parse>
+				</view>
+
+			</view>
+		</view>
+
+		<view class="buy-btn">
+			<view class="buy-btn-left" @click="goHome">
+				<image style="width: 40rpx;height: 42rpx;" src="/static/icon/home01.png" mode=""></image>
+				<text>首页</text>
+			</view>
+			<view class="buy-btn-right" @click="goIntegralOrder" v-if="produceType==1">
+				<text>立即购买</text>
+			</view>
+			<view v-if="produceType==2" class="buy-btn-right" @click="goProductChange(product_id,flavorIsActive)">
+				<text>立即兑换</text>
+			</view>
+		</view>
+		<view style="height: 90px;background-color: #f9f9f9;"></view>
+
+		<!-- 选择规格 -->
+		<uni-popup ref="Recipient" type="bottom" mask-background-color=" rgba(0,0,0,0.3);">
+			<view class="pop">
+				<view class="pop-price">
+					<view class="pop-price-left">
+						<image style="width: 180rpx;height: 136rpx; border-radius:12rpx ;"
+							:src="productDetail.cover_img" mode=""></image>
+						<view class="pop-price-left-money" v-if="produceType == 1">
+							<text>¥</text>
+							<text>{{productDetail.price}}</text>
+						</view>
+						<view class="pop-price-left-money" v-if="produceType == 2">
+							<text>{{productDetail.price}}</text>
+							<text>积分</text>
+						</view>
+					</view>
+					<image style="width: 52rpx;height: 52rpx;" src="/static/icon/close01.png" mode=""
+						@click="Recipientclose"></image>
+				</view>
+				<view class="pop-flavor" v-for="i in attr_groups" :key="i.attr_group_id" style="margin-top: 44rpx;">
+					<text>{{i.attr_group_name}}</text>
+					<view class="tab_flavor">
+						<view class="flavorTitle-item"
+							:class="{'flavorTitle-item-active':flavorIsActive[i.attr_group_name] === item.attr_name}"
+							v-for="(item,index) in i.attr_list" :key="item.attr_id"
+							@click="flavorchecked(item.attr_name,i.attr_group_name)">
+							<view :class="{'active-flavor':flavorIsActive[i.attr_group_name] === item.attr_name}">
+								{{item.attr_name}}
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="purchase" v-if="produceType == 1" @click="goIntegralOrder">
+				<view class="purchase-btn">立即购买</view>
+			</view>
+			<view class="purchase" v-if="produceType == 2" @click="selectSpecs(product_id,flavorIsActive)">
+				<view class="purchase-btn">立即兑换</view>
+				<!-- <view class="purchase-btn">确认</view> -->
+			</view>
+		</uni-popup>
+		<!-- 二维码购买 -->
+		<uni-popup ref="codePurchase" type="center">
+			<view class="code-purchase">
+				<view class="title"><text>识别下方二维码即可购买</text></view>
+				<view style="margin-left:30rpx;width: 580rpx;height: 2rpx;background: #F0F0F0;"></view>
+				<view class="img">
+					<image src="http://t9.9026.com/imgs/Kudosbg.png"></image>
+				</view>
+				<view class="btn">
+					<view class="cancel" @click="dialogClose"><text>取消</text></view>
+					<view class="download" @click="dialogConfirm"><text>保存图片</text></view>
+				</view>
+			</view>
+		</uni-popup>
+	</view>
+</template>
+
+<script>
+	import navbarTransparent from "@/components/extra/navbarTransparent.vue"
+	export default {
+		components: {
+			navbarTransparent
+		},
+		data() {
+			return {
+				jump_type: '',
+				jump_config: '',
+				resource_type: '',
+				//1:第三方产品2:积分兑换产品
+				produceType: '',
+				// 规格
+				specsText: '',
+				specs: {
+					pack: '',
+					weight: '',
+					flavor: '',
+				},
+				// 产品详情
+				productDetail: '',
+				// 酒店详情
+				hotelDetail: '',
+				// 产品id
+				product_id: '',
+				//激活指定table菜单
+				isActive: 0,
+				flavorIsActive: {},
+				weightIsActive: 0,
+				packIsActive: 0,
+				backImageUrl: require('../../../static/icon/add01.png'),
+				//轮播图
+				info: [{
+					img: 'http://t9.9026.com/imgs/swiper01.png',
+					name: '酒店预订'
+				}, ],
+				dotsStyles: {
+					backgroundColor: 'rgba(255, 255, 255, .3)',
+					border: '1px rgba(255, 255, 255, .3) solid',
+					color: '#fff',
+					selectedBackgroundColor: 'rgba(255, 255, 255, 1)',
+					selectedBorder: '1px rgba(255, 255, 255, 1) solid'
+				},
+				//指示点显示位置
+				current1: 0,
+				//指示点模式
+				mode: 'dot',
+				attr_groups: [],
+				page: {
+					title: '产品详情'
 				},
-				sku:{
+				sku: {
 					keys: [],
-				}
-			}
-		},
+				}
+			}
+		},
 		onReady: function() {
-			this.videoContext = uni.createVideoContext('myVideo')
-		},
-		onLoad(op) {
-			const {id, type} = op;
-			this.admin = this.$store.getters.userInfo
-			this.product_id=id
-			this.produceType = type
-			this.getProductDetail(this.product_id,true)
+			this.videoContext = uni.createVideoContext('myVideo')
 		},
-		computed:{
-			showAttr:function(){
-				if(this.flavorIsActive.length <=0) return false;
+		onLoad(op) {
+			const {
+				id,
+				type
+			} = op;
+			this.admin = this.$store.getters.userInfo
+			this.product_id = id
+			this.produceType = type
+			this.getProductDetail(this.product_id, true)
+		},
+		computed: {
+			showAttr: function() {
+				if (this.flavorIsActive.length <= 0) return false;
 				let text = '';
-				for(const k in this.flavorIsActive){
+				for (const k in this.flavorIsActive) {
 					text += `${k}-${this.flavorIsActive[k]},`
 				}
-				return text.substr(0, text.length-1);
+				return text.substr(0, text.length - 1);
 			},
-			selectedHotelId:function(){
+			selectedHotelId: function() {
 				return this.$store.state.tab.selectedHotelId;
 			}
-		},
+		},
 		methods: {
 			//显示所选规格
-			
-			//获取当前页面路径
-			getPageUrl() {
-				const pages = getCurrentPages();
-				if(pages.length==1){
-					const currentPage = pages[0];
-					console.log(currentPage.options,'--------->currentPage.options')
-					let pageUrl = `/${currentPage.route}?type=${currentPage.options.type}`;
-					return pageUrl
-					console.log('当前页面url:', pageUrl);
-				}else{
-					const currentPage = pages[pages.length - 1];
-					console.log(currentPage.options,'--------->currentPage.options')
-					let pageUrl = `/${currentPage.route}?type=${currentPage.options.type}`;
-					return pageUrl
-					console.log('当前页面url:', pageUrl);
-				}
-			},
-			// 跳转其他小程序
-			goOther() {
-				let _this = this
-				wx.navigateToMiniProgram({
-					appId: 'wx255b58f0992b3c53', //appid
-					path: 'newUIMain/enrollment/enrollment', //path
-					extraData: { //参数
-						foo: 'bar'
-					},
-					// envVersion: 'develop', //开发版develop 开发版 trial   体验版 release 正式版 
-					success(res) {
-						let page = _this.getPageUrl()
-						let user_id = ''
-						 if(_this.admin != null ){
-							 user_id = _this.admin.id
-						 }else{
-							 user_id = 0
-						 }
-						console.log('成功',page)
-						_this.$api.my.userMemberAdd({
-							user_id,
-							page,
-						}).then(res=>{
-							console.log(res.data);
-						})
-						// 打开成功
-					},
-					fail(e) {
-						console.log(e, '失败')
-					}
-				})
-			},	
-			//视频自动播放
-			openVideoPlay() {
-				this.videoContext.play()
-			},
-			// 获取商品详情
-			getProductDetail(product_id, init=false){
-				this.$api.product.getProductDetail({
-					product_id:product_id
-				}).then(res=>{
-					if(res.code==0 && res.data){
-						this.productDetail=res.data
-						this.info = JSON.parse(res.data.img_urls).map(item => {
-							return {
-								img: item
-							}
-						})
-						//跳转h5和小程序
-						this.jump_type = res.data.jump_type,
-							this.jump_config = res.data.jump_config
-						//banner展示视频或者图片
-						this.resource_type = res.data.resource_type
-						this.video_url = res.data.video_url
-						//视频自动播放
-						this.openVideoPlay()
-						//规格对接
-						this.attr_groups = JSON.parse(res.data.attr_group)
-						//获取默认酒店
+
+			//获取当前页面路径
+			getPageUrl() {
+				const pages = getCurrentPages();
+				if (pages.length == 1) {
+					const currentPage = pages[0];
+					console.log(currentPage.options, '--------->currentPage.options')
+					let pageUrl = `/${currentPage.route}?type=${currentPage.options.type}`;
+					return pageUrl
+					console.log('当前页面url:', pageUrl);
+				} else {
+					const currentPage = pages[pages.length - 1];
+					console.log(currentPage.options, '--------->currentPage.options')
+					let pageUrl = `/${currentPage.route}?type=${currentPage.options.type}`;
+					return pageUrl
+					console.log('当前页面url:', pageUrl);
+				}
+			},
+			// 跳转其他小程序
+			goOther() {
+				let _this = this
+				wx.navigateToMiniProgram({
+					appId: 'wx255b58f0992b3c53', //appid
+					path: 'newUIMain/enrollment/enrollment', //path
+					extraData: { //参数
+						foo: 'bar'
+					},
+					// envVersion: 'develop', //开发版develop 开发版 trial   体验版 release 正式版 
+					success(res) {
+						let page = _this.getPageUrl()
+						let user_id = ''
+						if (_this.admin != null) {
+							user_id = _this.admin.id
+						} else {
+							user_id = 0
+						}
+						console.log('成功', page)
+						_this.$api.my.userMemberAdd({
+							user_id,
+							page,
+						}).then(res => {
+							console.log(res.data);
+						})
+						// 打开成功
+					},
+					fail(e) {
+						console.log(e, '失败')
+					}
+				})
+			},
+			//视频自动播放
+			openVideoPlay() {
+				this.videoContext.play()
+			},
+			// 获取商品详情
+			getProductDetail(product_id, init = false) {
+				this.$api.product.getProductDetail({
+					product_id: product_id
+				}).then(res => {
+					if (res.code == 0 && res.data) {
+						this.productDetail = res.data
+						this.info = JSON.parse(res.data.img_urls).map(item => {
+							return {
+								img: item
+							}
+						})
+						//跳转h5和小程序
+						this.jump_type = res.data.jump_type,
+							this.jump_config = res.data.jump_config
+						//banner展示视频或者图片
+						this.resource_type = res.data.resource_type
+						this.video_url = res.data.video_url
+						//视频自动播放
+						this.openVideoPlay()
+						//规格对接
+						this.attr_groups = JSON.parse(res.data.attr_group)
+						//获取默认酒店
 						const hotel_ids = JSON.parse(res.data.hotel_ids);
-						if((hotel_ids.constructor == Array) && (hotel_ids.length > 0)){
+						if ((hotel_ids.constructor == Array) && (hotel_ids.length > 0)) {
 							this.$store.commit("tab/SET_SELECTEDHOTELId", hotel_ids[0])
-						}
-						//
+						}
+						//
 						const sku = JSON.parse(res.data.sku);
 						this.sku.keys = Object.keys(sku.attrs);
 						this.sku.sku = sku.sku;
-						
+
 						//首次默认选中第一个规格
-						if(init){
+						if (init) {
 							this.attr_groups.forEach(item => {
-								this.flavorchecked(item.attr_list[0]?.attr_name,item.attr_group_name)
+								this.flavorchecked(item.attr_list[0]?.attr_name, item.attr_group_name)
 							})
 						}
-					}
-				})
-			},
-			// 获取酒店详情
-			getHotelDetail(id){
-				this.$api.hotel.getHotelDetail({
-					hotel_id:id
-				}).then(res=>{
-					this.hotelDetail=res.data
-				})
-			},
-			//跳转酒店列表
-			goGoodsHotel(id) {
-				uni.navigateTo({
-					url: '/pages/goods/goods-hotel/index?product_id='+id
-				})
-			},
-			//首页
-			goHome() {
-				uni.switchTab({
-					url: '/pages/index/index'
-				})
-			},
-			//二维码购买确认按钮
-			dialogConfirm() {
-				console.log('确认');
-				this.codePurchaseClose()
-			},
-			//二维码购买取消按钮
-			dialogClose() {
-				console.log('取消');
-				this.codePurchaseClose()
-			},
-			//菜单index切换
-			checked(index) {
-				this.isActive = index
-			},
-			// 口味切换
-			flavorchecked(index,name) {
-				this.$set(this.flavorIsActive, name, index)			
-				this.specs.flavor=name
-				if(Object.keys(this.flavorIsActive).length < this.sku.keys.length) return;
-				for(let index=0; index < this.sku.sku.length; index++){
+					}
+				})
+			},
+			// 获取酒店详情
+			getHotelDetail(id) {
+				this.$api.hotel.getHotelDetail({
+					hotel_id: id
+				}).then(res => {
+					this.hotelDetail = res.data
+				})
+			},
+			//跳转酒店列表
+			goGoodsHotel(id) {
+				uni.navigateTo({
+					url: '/pages/goods/goods-hotel/index?product_id=' + id
+				})
+			},
+			//首页
+			goHome() {
+				uni.switchTab({
+					url: '/pages/index/index'
+				})
+			},
+			//二维码购买确认按钮
+			dialogConfirm() {
+				console.log('确认');
+				this.codePurchaseClose()
+			},
+			//二维码购买取消按钮
+			dialogClose() {
+				console.log('取消');
+				this.codePurchaseClose()
+			},
+			//菜单index切换
+			checked(index) {
+				this.isActive = index
+			},
+			// 口味切换
+			flavorchecked(index, name) {
+				this.$set(this.flavorIsActive, name, index)
+				this.specs.flavor = name
+				if (Object.keys(this.flavorIsActive).length < this.sku.keys.length) return;
+				for (let index = 0; index < this.sku.sku.length; index++) {
 					const item = this.sku.sku[index];
 					let res = true;
-					for(const k in this.flavorIsActive){
-						if(item[k] != this.flavorIsActive[k]){
+					for (const k in this.flavorIsActive) {
+						if (item[k] != this.flavorIsActive[k]) {
 							res = false
 						}
 					}
-					if(res){
+					if (res) {
 						this.productDetail.price = item.price;
 						this.productDetail.integral = item.price
 						break;
 					}
-				}		
-						
-			},
-			// // 重量切换
-			// weightchecked(index,name) {
-			// 	this.weightIsActive = index
+				}
+
+			},
+			// // 重量切换
+			// weightchecked(index,name) {
+			// 	this.weightIsActive = index
 			// 	this.specs.weight=name
-			// 	console.log(this.specs.weight);
-			// },
-			// // 包装切换
-			// packchecked(index,name) {
-			// 	this.packIsActive = index
+			// 	console.log(this.specs.weight);
+			// },
+			// // 包装切换
+			// packchecked(index,name) {
+			// 	this.packIsActive = index
 			// 	this.specs.pack=name
-			// 	console.log(this.specs.pack);
-			// },
-			// 立即兑换
-			selectSpecs(id,flavorIsActive){
+			// 	console.log(this.specs.pack);
+			// },
+			// 立即兑换
+			selectSpecs(id, flavorIsActive) {
 				const resArr = [];
-				outer: for(const k in this.flavorIsActive){	
-					inner: for(const i in this.attr_groups){
-						if(this.attr_groups[i].attr_group_name == k){
-							laster: for(const l in this.attr_groups[i].attr_list){
-								if(this.attr_groups[i].attr_list[l].attr_name == this.flavorIsActive[k]){
+				outer: for (const k in this.flavorIsActive) {
+					inner: for (const i in this.attr_groups) {
+						if (this.attr_groups[i].attr_group_name == k) {
+							laster: for (const l in this.attr_groups[i].attr_list) {
+								if (this.attr_groups[i].attr_list[l].attr_name == this.flavorIsActive[k]) {
 									resArr.push(this.attr_groups[i].attr_list[l].attr_id);
 									break inner;
 								}
@@ -421,31 +429,31 @@
 				const selectedIds = resArr.join(':');
 				console.log(this.productDetail.integral);
 				uni.navigateTo({
-					url:`/pages/my/integral/integralOrder?product_id=${this.productDetail.id}&attr=${selectedIds}&integral=${this.productDetail.integral}`
-				})
-				this.Recipientclose()
-			},
-			Recipientopen() {
-				this.$refs.Recipient.open('bottom')
-			},
-			Recipientclose() {
-				this.$refs.Recipient.close()
-			},
-			codePurchaseClose(){
-				this.$refs.codePurchase.close()
-			},
-			// 切换轮播图指示点
-			change1(e) {
-				this.current1 = e.detail.current;
-			},
-			//积分兑换
-			goProductChange(id,flavorIsActive){
+					url: `/pages/my/integral/integralOrder?product_id=${this.productDetail.id}&attr=${selectedIds}&integral=${this.productDetail.integral}`
+				})
+				this.Recipientclose()
+			},
+			Recipientopen() {
+				this.$refs.Recipient.open('bottom')
+			},
+			Recipientclose() {
+				this.$refs.Recipient.close()
+			},
+			codePurchaseClose() {
+				this.$refs.codePurchase.close()
+			},
+			// 切换轮播图指示点
+			change1(e) {
+				this.current1 = e.detail.current;
+			},
+			//积分兑换
+			goProductChange(id, flavorIsActive) {
 				const resArr = [];
-				outer: for(const k in this.flavorIsActive){	
-					inner: for(const i in this.attr_groups){
-						if(this.attr_groups[i].attr_group_name == k){
-							laster: for(const l in this.attr_groups[i].attr_list){
-								if(this.attr_groups[i].attr_list[l].attr_name == this.flavorIsActive[k]){
+				outer: for (const k in this.flavorIsActive) {
+					inner: for (const i in this.attr_groups) {
+						if (this.attr_groups[i].attr_group_name == k) {
+							laster: for (const l in this.attr_groups[i].attr_list) {
+								if (this.attr_groups[i].attr_list[l].attr_name == this.flavorIsActive[k]) {
 									resArr.push(this.attr_groups[i].attr_list[l].attr_id);
 									break inner;
 								}
@@ -455,26 +463,32 @@
 				}
 				const selectedIds = resArr.join(':');
 				uni.navigateTo({
-					url:`/pages/my/integral/integralOrder?product_id=${this.productDetail.id}&attr=${selectedIds}&integral=${this.productDetail.integral}`
+					url: `/pages/my/integral/integralOrder?product_id=${this.productDetail.id}&attr=${selectedIds}&integral=${this.productDetail.integral}`
 				})
-
-			},
-			// 跳转积分兑换
-			goIntegralOrder(){
-				this.$utils.jump({
-					jump_type: this.hotelDetail.buy_jump_type,
-					jump_config: this.hotelDetail.buy_jump_config,
-					attr: JSON.stringify(this.flavorIsActive)
-				})
-			},
+
+			},
+			// 跳转积分兑换
+			goIntegralOrder() {
+				this.$utils.jump({
+					jump_type: this.hotelDetail.buy_jump_type,
+					jump_config: this.hotelDetail.buy_jump_config,
+					attr: JSON.stringify(this.flavorIsActive)
+				})
+			},
 		},
-		watch:{
+		watch: {
 			selectedHotelId(newValue) {
 				console.log(newValue)
 				this.getHotelDetail(newValue);
 			}
 		}
-	}
-</script>
-
-<style lang="scss" scoped src="./index.scss"></style>
+	}
+</script>
+
+<style lang="scss" scoped src="./index.scss"></style>
+<style lang="scss">
+	.produce-text img {
+		width: 100%;
+		object-fit: fill;
+	}
+</style>

+ 23 - 8
pages/goods/goods.vue

xqd xqd xqd
@@ -27,9 +27,16 @@
 						</view>
 					</view>
 				</view>
-			</view>
-			<view class="content">
-
+			</view>
+						
+			<view class="msg-null" v-if="goodsList.length == 0 ">
+				<image src="https://t9.9026.com/imgs/dataNull.png" style="width: 394rpx;height: 396rpx;" mode=""></image>
+				<view class="msg-null-text">
+					<text>暂无数据</text>
+				</view>
+			</view>
+			
+			<view class="content" v-if="goodsList.length > 0 ">
 				<view class="home-hotel-img-content">
 					<template v-for="(item,index) in goodsList">
 						<view v-if="item.status==1" @click="goGoodsDetail(item.id)" class="home-hotel-img-content-item" :key="index"
@@ -45,11 +52,9 @@
 					</template>
 				</view>
 				<!-- 触底 -->
-				<view class="home-bottom">
+				<view class="home-bottom" v-if="goodsList.length > 0 ">
 					<uni-load-more :status="status" color="#CCCCCC" :content-text="contentText" />
 				</view>
-				<!-- <text @click="goGoodsDetail">商品</text>
-			<text @click="goGoodsDetailImg">转盘</text> -->
 			</view>
 		</scroll-view>
 		<view class="return-btn" v-if="isShow" @click="handleBackTop">
@@ -222,10 +227,20 @@
 		align-items: center;
 		font-family: PingFang-SC-Heavy, PingFang-SC;
 		overflow-x: scroll;
-
+	}
+	
+	.msg-null{
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center;
+		.msg-null-text{
+			margin-top: 40rpx;
+			font-size: 28rpx;
+			color: #333;
+		}
 	}
 
-
 	.scroll-y {
 		height: 100vh;
 	}

+ 23 - 9
pages/index/active-detail/index.vue

xqd xqd
@@ -15,8 +15,9 @@
 			<view class="vote-detail">
 				<!-- 改版 -->
 				<view class="vote-detail-top-main1">
+					<view style="display: inline-block; width: 230rpx;" v-if="activeDeatil.activity_status == 1">距活动开始</view>
+					<view style="display: inline-block; width: 230rpx;" v-else>距活动结束</view>
 					<view>
-						距活动结束
 						<text v-if="countdownh>0">{{countdownd}}</text>
 						<text>{{countdownh}}</text>
 						<text>{{countdownm}}</text>
@@ -334,15 +335,28 @@
 						this.title = res.data.title
 						this.activeDeatil = res.data
 						
-						// this.endTime = res.data.end_time
-						this.endTime = (()=>{
-							const endT = res.data?.end_time ? res.data.end_time : "";
-							return endT.replace(/-/g, "/");
-						})()
+						if(res.data.activity_status == 1){
+							this.start_time = (()=>{
+								const endT = res.data?.start_time ? res.data.start_time : "";
+								return endT.replace(/-/g, "/");
+							})()
+							
+							this.timer = setInterval(() => {
+								this.showtime(this.start_time)
+							}, 100);
+						}else{
+							this.endTime = (()=>{
+								const endT = res.data?.end_time ? res.data.end_time : "";
+								return endT.replace(/-/g, "/");
+							})()
+							
+							this.timer = setInterval(() => {
+								this.showtime(this.endTime)
+							}, 100);
+						}
+						
+						
 						
-						this.timer = setInterval(() => {
-							this.showtime(this.endTime)
-						}, 100);
 					}
 				})
 			},

+ 25 - 2
pages/index/active-list/index.vue

xqd xqd xqd
@@ -19,7 +19,15 @@
 				</view>
 			</view>
 		</view>
-		<view class="List">
+		
+		<view class="msg-null" v-if="List.length == 0">
+			<image src="https://t9.9026.com/imgs/dataNull.png" style="width: 394rpx;height: 396rpx;" mode=""></image>
+			<view class="msg-null-text">
+				<text>暂无数据</text>
+			</view>
+		</view>
+				
+		<view class="List" v-if="List.length > 0">
 			<template v-for="(item,index) in List" >
 				<view class="ListItem" v-if="item.show_status" :key="index"  @click="activeDetail(item.id)">
 					<image :src="item.banners?item.cover_img:'http://t9.9026.com/imgs/Kudosbg.png'" style="width: 640rpx;height:420rpx;border-radius: 12rpx;"></image>
@@ -46,7 +54,7 @@
 		</view>
 
 		<!-- 触底 -->
-		<view class="home-bottom">
+		<view class="home-bottom" v-if="List.length > 0">
 			<uni-load-more :status="status" color="#CCCCCC" :content-text="contentText"/>
 		</view>
 	</view>
@@ -193,6 +201,21 @@
 		background: #F9F9F9;
 	}
 	
+	.msg-null{
+		margin-top: 224rpx;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center;
+		padding-top: 60rpx;
+		.msg-null-text{
+			margin-top: 40rpx;
+			font-size: 28rpx;
+			color: #333;
+		}
+	}
+	
+	
 	.home-bottom {
 		background-color: #f9f9f9;
 		padding-bottom: 84rpx;

+ 95 - 81
pages/index/index.vue

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -1,13 +1,12 @@
 <template>
 	<view class="home">
-		<MyNav title="洲际酒店集团中国西区" bgColor="" :backIcon="false"></MyNav>
+		<MyNav title="洲际酒店集团中国西区" bgColor="" :backIcon="true"></MyNav>
 		<!-- swiper -->
 		<view class="home-swiper">
 			<uni-swiper-dot :info="infoList" :current="current1" :mode="mode" :dots-styles="dotsStyles">
 				<swiper class="swiper-box" @change="change1" circular>
 					<swiper-item v-for="(item ,index) in infoList" :key="index">
-						<view class="swiper-item" v-if="item.resource_type == 1"
-							@click="$utils.jump({
+						<view class="swiper-item" v-if="item.resource_type == 1" @click="$utils.jump({
 								jump_type: item.jump_type,
 								jump_config: item.jump_config
 							})">
@@ -25,8 +24,7 @@
 
 		<!-- 金刚图 -->
 		<view class="home-nav">
-			<view class="home-nav-item" v-for="(item,index) in navList" :key="index"
-				@click="$utils.jump({
+			<view class="home-nav-item" v-for="(item,index) in navList" :key="index" @click="$utils.jump({
 					jump_type: item.jump_type,
 					jump_config: item.jump_config
 				})">
@@ -52,7 +50,7 @@
 
 		<!-- 活动图片 -->
 		<view class="home-special-img">
-			<template v-for="(item,index) in specialList" >
+			<template v-for="(item,index) in specialList">
 				<view class="ListItem" v-if="item.show_status" :key="index" @click="$utils.jump({
 					jump_type: 3,
 					jump_config: '/pages/index/active-detail/index',
@@ -63,19 +61,19 @@
 					<view class="kudosicon" @click.stop="kudosActive(item.id,index)">
 						<image style="width:24rpx;height: 24rpx;" src="/static/icon/Kudos.png" v-if="item.is_like==0">
 						</image>
-						<image style="width:24rpx;height: 24rpx;" src="/static/icon/Kudos(1).png" v-if="item.is_like==1">
+						<image style="width:24rpx;height: 24rpx;" src="/static/icon/Kudos(1).png"
+							v-if="item.is_like==1">
 						</image>
 					</view>
 					<text style="color: #333;font-weight: bold;font-size: 28rpx;">{{item.title}}</text>
-				</view> 
-			</template>	
+				</view>
+			</template>
 		</view>
 
 		<!-- 广告图 -->
 		<view class="home-banner" v-if="!isShowAdver">
 			<view class="home-banner-img" v-if="in_page==1 && type == 1 ">
-				<image style="width: 100%; height: 576rpx; border-radius: 12rpx;" :src="advData.img" mode="" 
-				@click="$utils.jump({
+				<image style="width: 100%; height: 576rpx; border-radius: 12rpx;" :src="advData.img" mode="" @click="$utils.jump({
 					jump_type: advData.jump_type,
 					jump_config: advData.jump_config
 				})"></image>
@@ -105,16 +103,14 @@
 		</movable-area>
 
 		<!-- 广告的附图 -->
-		<view class="home-attach" 
-			@click="$utils.jump({
+		<view class="home-attach" @click="$utils.jump({
 				jump_type: advInsetImg.jump_type,
 				jump_config: advInsetImg.jump_config
-			})"
-		>
+			})">
 			<image style="width: 690rpx;height: 156rpx;border-radius: 79rpx;" :src="advInsetImg.img" mode=""></image>
 		</view>
 		<!-- 酒店推荐 -->
-		<view class="home-hotel home-special-area" v-if="false">
+		<view class="home-hotel home-special-area">
 			<view class="home-special-area-left">
 				<text>西区优品</text>
 				<view class="text-shadow"></view>
@@ -124,12 +120,11 @@
 		</view>
 
 		<!-- 酒店推荐图片 -->
-		<view class="home-hotel-img" v-if="false">
-			<view class="home-hotel-img-content" v-if="isDevelopment">
-				<template v-for="(item,index) in goodsList" >
+		<view class="home-hotel-img">
+			<view class="home-hotel-img-content">
+				<template v-for="(item,index) in goodsList">
 					<view v-if="item.status==1" class="home-hotel-img-content-item" :key="index"
-						:style="{marginTop:item.marginTop || 0 }" 
-						@click="goToProduct(item.id)">
+						:style="{marginTop:item.marginTop || 0 }" @click="goToProduct(item.id)">
 						<image class="home-hotel-img-content-item-img"
 							:class="item.short?'home-hotel-img-content-item-img': 'home-hotel-img-content-item-img-long' "
 							:src="item.cover_img" mode=""></image>
@@ -137,12 +132,10 @@
 							<text class="text-top">{{item.name}}</text>
 						</view>
 					</view>
-				</template>	
+				</template>
 			</view>
-			<view v-if="isDevelopment" class="home-hotel-img-more" @click="$utils.jump({
-				jump_type: 4,
-				jump_config: '/pages/goods/goods'
-			})">
+
+			<view class="home-hotel-img-more" @click='geMore'>
 				<text>查看更多商品</text>
 			</view>
 		</view>
@@ -160,12 +153,10 @@
 			<uni-swiper-dot :info="info" mode="default" :current="current2" :dots-styles="dotsStylesBand">
 				<swiper class="swiper-box" circular @change="change2">
 					<swiper-item v-for="(items ,index) in info" :key="index">
-						<view v-for="(item ,j) in items" :key="j" class="swiper-item"
-							@click="$utils.jump({
+						<view v-for="(item ,j) in items" :key="j" class="swiper-item" @click="$utils.jump({
 								jump_type: item.jump_type,
 								jump_config: item.jump_config
-							})"
-						>
+							})">
 							<image style="width:144rpx;height:142rpx;" :src="item.img" mode="aspectFill"></image>
 						</view>
 					</swiper-item>
@@ -218,11 +209,11 @@
 				jup_type: '',
 				jump_config: '',
 				//广告弹框图
-				popupData:{},
+				popupData: {},
 				//弹窗的类型 1只弹一次首次  2就是每次都弹啊
-				times_type:'',
+				times_type: '',
 				//弹窗的显示0不显示 1显示
-				popupImgStatus:'',
+				popupImgStatus: '',
 				//视频封面图
 				isOpenVideo: false,
 				videoCoverImg: '',
@@ -236,26 +227,25 @@
 				advData: {},
 				//广告附图展示图片
 				advertisInsetImg: '',
-				advInsetImg:{},
+				advInsetImg: {},
 				//广告图展示图片:
 				advertisImg: '',
 				//广告图展示视频
-				goodsList: [
-					{
-						cover_img:'https://t9.9026.com/imgs/11.png',
-						name:'2023新春福兔系列礼盒 倾心甄选 待你拥有'
+				goodsList: [{
+						cover_img: 'https://t9.9026.com/imgs/11.png',
+						name: '2023新春福兔系列礼盒 倾心甄选 待你拥有'
 					},
 					{
-						cover_img:'https://t9.9026.com/imgs/22.png',
-						name:'2023新春福兔系列礼盒 倾心甄选 待你拥有'
+						cover_img: 'https://t9.9026.com/imgs/22.png',
+						name: '2023新春福兔系列礼盒 倾心甄选 待你拥有'
 					},
 					{
-						cover_img:'https://t9.9026.com/imgs/33.png',
-						name:'2023新春福兔系列礼盒 倾心甄选 待你拥有'
+						cover_img: 'https://t9.9026.com/imgs/33.png',
+						name: '2023新春福兔系列礼盒 倾心甄选 待你拥有'
 					},
 					{
-						cover_img:'https://t9.9026.com/imgs/44.png',
-						name:'2023新春福兔系列礼盒 倾心甄选 待你拥有'
+						cover_img: 'https://t9.9026.com/imgs/44.png',
+						name: '2023新春福兔系列礼盒 倾心甄选 待你拥有'
 					},
 				],
 				status: 'noMore',
@@ -292,10 +282,10 @@
 				navList: [],
 				//活动专区
 				specialList: [],
-				isDevelopment:false,
+				isDevelopment: false,
 			}
 		},
-		onTabItemTap(e){
+		onTabItemTap(e) {
 			console.log(e)
 		},
 		// 下拉刷新
@@ -326,10 +316,13 @@
 			// uni.navigateTo({
 			// 	url: "/pages/goods/goods-lucky/index?draw_no=k8PgR7PS5ZLQ"
 			// })
+			// this.isDevelopment = true;
+
 
 		},
 		methods: {
 			// **************** Data ***************//
+
 			//获取配置数据
 			getAllSet() {
 				this.$api.document.allSet().then(res => {
@@ -337,7 +330,7 @@
 					this.infoList = this.$store.getters.allset.banners
 					this.navList = this.$store.getters.allset.nav_icon
 					this.info = this.$store.getters.allset.partner
-			
+
 					//广告图
 					this.advertis = this.$store.getters.allset.advertises.filter(item => {
 						return item.in_page == 1
@@ -362,8 +355,8 @@
 					//广告弹框图
 					this.popupData = this.$store.getters.allset.popup_ads[0]
 					//弹窗是否展示
-					this.popupImgStatus =  this.popupData?.status
-					this.times_type =  this.popupData?.times_type
+					this.popupImgStatus = this.popupData?.status
+					this.times_type = this.popupData?.times_type
 					//广告弹框跳转h5和小程序和内部
 					this.jump_type = this.popupData?.jump_type,
 						this.jump_config = this.popupData?.jump_config
@@ -389,19 +382,19 @@
 					type: 1,
 					page: 0,
 				}).then(res => {
-					this.goodsList = res.data.data.slice(0,4)
+					this.goodsList = res.data.data.slice(0, 4)
 					this.shortLong()
-					console.log(this.goodsList,'------>产品图');
+					console.log(this.goodsList, '------>产品图');
 				})
 			},
 			//产品详情
-			produceDetail(id){
-				
+			produceDetail(id) {
+
 				uni.navigateTo({
-					url:`/pages/goods/goods-detail/index?id=${id}&type=1`
+					url: `/pages/goods/goods-detail/index?id=${id}&type=1`
 				})
 			},
-			
+
 			// **************** Dev ***************//
 			shortLong() {
 				this.goodsList.forEach((item, index, arr) => {
@@ -426,10 +419,10 @@
 			},
 			//打开弹框
 			open() {
-				console.log(this.popupImgStatus,this.times_type);
+				console.log(this.popupImgStatus, this.times_type);
 				// 从本地缓存中同步获取指定 key 对应的内容,用于判断是否是第一次打开应用
-				if(this.popupImgStatus == 1){
-					if(this.times_type == 1){
+				if (this.popupImgStatus == 1) {
+					if (this.times_type == 1) {
 						//首次进入弹窗
 						const value = uni.getStorageSync('launchFlag');
 						if (value) {
@@ -442,11 +435,11 @@
 							});
 							this.$refs.popup.open('center')
 						}
-					}else{
-						this.$refs.popup.open('center')//每次都弹
-					}	
-				}else{
-					this.$refs.popup.close()//不显示广告弹框
+					} else {
+						this.$refs.popup.open('center') //每次都弹
+					}
+				} else {
+					this.$refs.popup.close() //不显示广告弹框
 				}
 			},
 			//关闭弹框
@@ -524,19 +517,19 @@
 						}
 					}
 				})
-			},	
-			
-			
+			},
+
+
 			//获取当前页面路径
 			getPageUrl() {
 				const pages = getCurrentPages();
-				console.log(pages,'--------->pages')
-				if(pages.length==1){
+				console.log(pages, '--------->pages')
+				if (pages.length == 1) {
 					const currentPage = pages[0];
 					let pageUrl = `/${currentPage.route}`;
 					return pageUrl
 					console.log('当前页面url:', pageUrl);
-				}else{
+				} else {
 					const currentPage = pages[pages.length - 1];
 					let pageUrl = `/${currentPage.route}`;
 					return pageUrl
@@ -568,7 +561,7 @@
 						}).then(res => {
 							console.log(res.data);
 						})
-			
+
 						// 打开成功
 					},
 					fail(e) {
@@ -576,18 +569,18 @@
 					}
 				})
 			},
-			
+
 			//用户访问
-			getUserVisits(){
+			getUserVisits() {
 				this.$api.my.userVisits({
-					page:'/pages/index/index'
-				}).then(res=>{
+					page: '/pages/index/index'
+				}).then(res => {
 					console.log(res.data);
 				})
 			},
-			
-			
-			
+
+
+
 			//跳转方法
 			// jumpHAppID(id, urls) {
 			// 	if (id == 1) {
@@ -631,10 +624,31 @@
 			// 		})
 			// 	}
 			// },
-			goToProduct(id){
-				uni.navigateTo({
-					url:`/pages/goods/goods-detail/index?id=${id}&type=1`
-				})
+
+			//查看更多商品
+			geMore() {
+				if (this.admin == undefined) {
+					uni.navigateTo({
+						url: '/pages/login/login'
+					})
+				} else {
+					uni.navigateTo({
+						url: '/pages/goods/goods'
+					})
+				}
+			},
+
+			//跳转产品详情
+			goToProduct(id) {
+				if (this.admin == undefined) {
+					uni.navigateTo({
+						url: '/pages/login/login'
+					})
+				} else {
+					uni.navigateTo({
+						url: `/pages/goods/goods-detail/index?id=${id}&type=1`
+					})
+				}
 			},
 			//产品列表
 			goProduceList() {

+ 2 - 2
pages/index/vote-detail/index.vue

xqd xqd
@@ -129,7 +129,7 @@
 					<text v-if="isVoteNum && is_prize==0 ">今日投票数还有 {{userCanVoteNum}} 次
 						点击再次投票可再次为本项目投票也可为其他项目投票</text>
 					<text v-if="is_prize==1">恭喜你中奖了!
-						获得了{{prizeProduct}}的奖品{{prizeProduct.indexOf('积分')==-1?'':',请尽快领取'}}</text>
+						获得了{{prizeProduct}}{{prizeProduct.indexOf('积分')==-1?',请尽快领取':''}}</text>
 				</view>
 				<view class="btn">
 					<view v-if="is_prize==0" class="cancel"
@@ -150,7 +150,7 @@
 			</view>
 		</uni-popup>
 		
-		<Poster ref="poster" :name="voteDetail.project_name" :title="voteDetail.activity.title"/>
+		<Poster :activity_project_id='activity_project_id'  ref="poster" :name="voteDetail.project_name" :title="voteDetail.activity.title"/>
 		
 	</view>
 </template>

+ 20 - 6
pages/index/vote-detail/poster.vue

xqd xqd xqd xqd xqd
@@ -14,11 +14,11 @@
 		<view :class="{'poster-share':true, on:poster.show}">
 			<view>分享到</view>
 			<view class="poster-share-panel">
-				<view >
+				<view @click="shareBtn(activity_project_id)">
 					 <button class="shareButton" open-type="share"><image src="/static/icon/wechat.svg" mode="aspectFit"/>
 					<text>微信分享</text></button>
 				</view>
-				<view @click="save">
+				<view @click="save(activity_project_id)">
 					<image src="/static/icon/wechat_moments.svg" mode="aspectFit"/>
 					<text>保存相册</text>
 				</view>
@@ -34,9 +34,10 @@
 	
 	export default {
 		components: {lPainter},
-		props: ["title", "name", "img", "qrcode"],
+		props: ["title", "name", "img", "qrcode",'activity_project_id'],
 		data() {
 			return {
+				activityId:'',
 				poster:{
 					show:false,
 					path: "",
@@ -132,14 +133,13 @@
 				},
 			};
 		},
+		
 		methods:{
 			show({name, title, imgUrl, qrcodeUrl}){
 				this.poster.base.views[0].text = name;
 				this.poster.base.views[2].text = title;
 				imgUrl && (this.poster.base.views[5].src = imgUrl);
 				qrcodeUrl && (this.poster.base.views[3].src = qrcodeUrl);
-				
-				
 				uni.pageScrollTo({
 					scrollTop: 0,
 					duration: 1
@@ -149,7 +149,13 @@
 			cancel(){
 				this.poster.show = false;
 			},
-			save(){
+			save(id){
+				this.$api.active.activityShare({
+					share_type:2,
+					activity_project_id:id
+				}).then(res=>{
+					console.log(res.data);
+				})
 				uni.saveImageToPhotosAlbum({
 					filePath: this.poster.path,
 					success(res) {
@@ -161,6 +167,14 @@
 					}
 				})
 			},
+			shareBtn(id){
+				this.$api.active.activityShare({
+					share_type:2,
+					activity_project_id:id
+				}).then(res=>{
+					console.log(res.data);
+				})
+			},
 			share(){
 				// wx.downloadFile({
 				// 	url: this.poster.path, // 下载url

+ 55 - 33
pages/login/login.vue

xqd xqd
@@ -60,6 +60,26 @@
 			this.isLoginOff = this.$store.getters.userInfo
 		},
 		methods: {
+			
+			getPageUrl() {
+				const pages = getCurrentPages();
+				console.log(pages,'--------->pages')
+				if(pages.length==1){
+					const currentPage = pages[0];
+					let pageUrl = `${currentPage.$page.fullPath}`;
+					console.log('当前页面url1:', pageUrl);
+					return pageUrl
+					
+				}else{
+					const currentPage = pages[pages.length - 2];
+					let pageUrl = `${currentPage.$page.fullPath}`;
+					console.log('当前页面url2:', pageUrl);
+					return pageUrl
+					
+				}
+			},
+			
+			
 			//关闭遮罩层
 			closeMask() {
 				this.modal.show = false
@@ -82,47 +102,49 @@
 					this.$hideLoading()
 					this.$store.dispatch('user/info', res.data)
 					this.modal.show = false
-					uni.switchTab({
-						url: '/pages/my/my'
-					})
+					
+					//获取登录页前地址
+					let pages = this.getPageUrl()
+					if(pages){
+						uni.reLaunch({
+							url:pages
+						})
+					}else{
+						uni.switchTab({
+							url: '/pages/my/my'
+						})
+					}
 				})
 			},
 			handleGetWechatUserInfo() {
 				this.modal.show = true
 			},
 			// 获取头像
-			handleChooseAvatar(e) {
+			handleChooseAvatar({detail}) {
 				let _this = this
-				console.log(e.detail, '------>e.detail');
-				this.modal.avatar = e.detail.avatarUrl
-				// uni.uploadFile({
-				// 	url:'https://t9.9026.com/static/image',
-				// 	fillPath:_this.modal.avatar,
-				// 	formData:{
-				// 		'user':'text'
-				// 	},
-				// 	success:(res)=>{
-				// 		console.log(res);
-				// 	}
-				// })
+				// this.modal.avatar = detail.avatarUrl
+				uni.getFileSystemManager().readFile({
+				  filePath:detail.avatarUrl, // 选择图片返回的相对路径
+				  encoding: 'base64', // 编码格式
+				  success: res => { // 成功的回调
+				    uni.uploadFile({
+				      url: _this.$setting.BASE_URL + '/v1/user/uploadFile',
+				      // filePath: 'data:image/png;base64,' + res.data,
+				      filePath: detail.avatarUrl,
+				      name: 'file',
+				      success({ data }) {
+				        const res = JSON.parse(data)
+				        const { url } = res.data
+				        _this.modal.avatar = url
+				        console.log('-->data', _this.modal.avatar)
+				      }
+				    })
+				    // this.modal.avatar = detail.avatarUrl
+				    // console.log('data:image/png;base64,' + res.data)
+				  }
+				})
+				
 				
-				// uni.getFileSystemManager().readFile({
-				// 	filePath: e.detail.avatarUrl, //选择图片返回的相对路径
-				// 	encoding: 'base64', //编码格式
-				// 	success: res => { //成功的回调
-				// 		console.log(res);
-				// 		this.imgBase64 = 'data:image/jpeg;base64,' + res.data //不加上这串字符,在页面无法显示的哦
-				// 		this.$api.my.UserUploadFile({
-				// 			file:this.imgBase64 
-				// 		}).then(res=>{
-				// 			console.log(res.data,'------->res.data');
-				// 		})
-						
-				// 	},
-				// 	fail: (e) => {
-				// 		console.log("图片转换失败");
-				// 	}
-				// })
 			},
 			//获取昵称
 			handleChangeNickname(res) {

+ 22 - 15
pages/login/youyue.vue

xqd
@@ -121,21 +121,28 @@
 				this.modal.show = true
 			},
 			// 微信获取头像
-			handleChooseAvatar(e) {
-				console.log(e.detail, '------>e.detail');
-				this.modal.avatar = e.detail.avatarUrl
-				// uni.getFileSystemManager().readFile({
-				// 	filePath: e.detail.avatarUrl, //选择图片返回的相对路径
-				// 	encoding: 'base64', //编码格式
-				// 	success: res => { //成功的回调
-				// 		console.log(res);
-				// 		this.imgBase64 = 'data:image/jpeg;base64,' + res.data //不加上这串字符,在页面无法显示的哦
-				// 		this.modal.avatar = this.imgBase64
-				// 	},
-				// 	fail: (e) => {
-				// 		console.log("图片转换失败");
-				// 	}
-				// })
+			handleChooseAvatar({detail}) {
+				let _this = this
+				uni.getFileSystemManager().readFile({
+				  filePath:detail.avatarUrl, // 选择图片返回的相对路径
+				  encoding: 'base64', // 编码格式
+				  success: res => { // 成功的回调
+				    uni.uploadFile({
+				      url: _this.$setting.BASE_URL + '/v1/user/uploadFile',
+				      // filePath: 'data:image/png;base64,' + res.data,
+				      filePath: detail.avatarUrl,
+				      name: 'file',
+				      success({ data }) {
+				        const res = JSON.parse(data)
+				        const { url } = res.data
+				        _this.modal.avatar = url
+				        console.log('-->data', _this.modal.avatar)
+				      }
+				    })
+				    // this.modal.avatar = detail.avatarUrl
+				    // console.log('data:image/png;base64,' + res.data)
+				  }
+				})
 			},
 			handleChangeNickname(res) {
 				this.modal.nickname = res.detail.value

+ 70 - 23
pages/msg/msg.vue

xqd xqd xqd xqd xqd xqd
@@ -14,30 +14,29 @@
 				</template>
 			</u-input>
 		</view>
-
-		<!-- 消息列表 -->
-		<view class="msgListBox">
-			<view class="childBox" v-for="(item,index) in messageList" :key="index"  @click="jumpPage(item.type,item.relation_id)" >
-				<view class="childBox-top" >{{item.title}}</view>
-				<view  class="childBox-content" >
-					<text>{{item.content}}</text>
-					<image style="width: 12rpx;height: 20rpx;" src="/static/icon/right.png" ></image>
-				</view>
-				<view class="childBox-bom">{{item.created_at}}</view>
+		
+		<view class="msg-null" v-if="messageList.length == 0">
+			<image src="https://t9.9026.com/imgs/dataNull.png" style="width: 394rpx;height: 396rpx;" mode=""></image>
+			<view class="msg-null-text">
+				<text>暂无数据</text>
 			</view>
-			<uni-swipe-action v-if="false">
-				<uni-swipe-action-item :right-options="options" v-for="(item,index) in messageList" :key="index">
+		</view>
+		
+		<!-- 消息列表 -->
+		<view class="msgListBox"  v-if="messageList.length > 0">
+			<uni-swipe-action>
+				<uni-swipe-action-item :right-options="options" v-for="(item,index) in messageList" :key="index" @change="change()"> 
 					<template v-slot:right>
-						<view style="display: flex;align-items: center;justify-content: center;">
-							<image src="/static/icon//data.png" style="width: 60rpx; height: 54rpx;"></image>
-							<text class="slot-button-text">删除</text>
+						<view style="display: flex;align-items: center;justify-content: center;" @click="deleteImg(item.id)">
+							<image src="/static/icon/delete.png" style="width: 36rpx; height: 40rpx; margin-right: 20rpx; "></image>
+							<text class="slot-button-text" style="color: red;">删除</text>
 						</view>
 					</template>
-					<view class="childBox">
+					<view class="childBox" @click="jumpPage(item.type,item.relation_id,item.product_type)">
 						<view class="childBox-top">{{item.title}}</view>
 						<view class="childBox-content">
 							<text>{{item.content}}</text>
-							<image style="width: 12rpx;height: 20rpx;" src="/static/icon/right.png"></image>
+							<image v-if="!isOpenMsg" style="width: 12rpx;height: 20rpx;" src="/static/icon/right.png"></image>
 						</view>
 						<view class="childBox-bom">{{item.created_at}}</view>
 					</view>
@@ -46,7 +45,7 @@
 		</view>
 
 		<!-- 触底 -->
-		<view class="home-bottom">
+		<view class="home-bottom"  v-if="messageList.length > 0">
 			<uni-load-more :status="status" color="#CCCCCC" :content-text="contentText" />
 		</view>
 
@@ -68,6 +67,8 @@
 		},
 		data() {
 			return {
+				//是否展示信息图标
+				isOpenMsg:false,
 				//自定义导航栏
 				bgColor: '#fff',
 				//搜索文字
@@ -95,12 +96,45 @@
 		},
 		methods: {
 			
+			//打开或关闭是触发
+			change(){
+				this.isOpenMsg = !this.isOpenMsg
+				
+			},
+			
+			
+			//删除消息
+			deleteImg(id){
+				this.$api.my.delMessage({
+					message_id:id
+				}).then(res=>{
+					if(res.code == 0 ){
+						console.log(res.data);
+						this.getMessageList()
+					}else{
+						uni.showToast({
+							icon:'none',
+							title:res.msg
+						})
+					}
+					
+				})
+			},
+			
+			
 			//跳转消息详情页面
-			jumpPage(type,id){
+			jumpPage(type,id,product_type){
 				if(type>2){
-					uni.navigateTo({
-						url:'/pages/my/prize/prize'
-					})
+					if(product_type == 1){
+						uni.navigateTo({
+							url:'/pages/my/prize/prize?product_type='+product_type
+						})
+					}else if(product_type == 2 ){
+						uni.navigateTo({
+							url:'/pages/my/prize/prize?product_type='+product_type
+						})
+					}
+					
 				}else{
 					uni.navigateTo({
 						url:'/pages/index/active-detail/index?id='+id
@@ -165,6 +199,19 @@
 		background-color: #f9f9f9;
 		padding-top: 120rpx;
 	}
+	
+	.msg-null{
+		margin-top: 162rpx;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center;
+		.msg-null-text{
+			margin-top: 40rpx;
+			font-size: 28rpx;
+			color: #333;
+		}
+	}
 
 	// 搜索
 	.search {
@@ -199,7 +246,7 @@
 		padding: 48rpx 30rpx;
 		padding-top: 0;
 		margin-top: 24rpx;
-		background: $bgColor;
+		background: #f9f9f9;
 		box-shadow: 0rpx 4rpx 24rpx -10rpx rgba(101, 95, 90, 0.3);
 		border-radius: 12rpx;
 		.childBox {

+ 28 - 5
pages/my/Kudos/Kudos.vue

xqd xqd xqd xqd
@@ -1,7 +1,15 @@
 <template>
 	<view class="kudos">
 		<!-- 点赞列表 -->
-		<view class="List">
+		
+		<view class="msg-null" v-if="List.length == 0 ">
+			<image src="https://t9.9026.com/imgs/dataNull.png" style="width: 394rpx;height: 396rpx;" mode=""></image>
+			<view class="msg-null-text">
+				<text>暂无数据</text>
+			</view>
+		</view>
+		
+		<view class="List" v-if="List.length > 0">
 			<view class="ListItem" v-for="(item,index) in List" :key="index" @click="goVoteDetail(item.id)">
 				<image :src="item.cover_img" style="width: 640rpx;height:420rpx;border-radius: 12rpx;"></image>
 				<view class="kudosicon">
@@ -12,9 +20,10 @@
 					<view class="events">
 						<text>{{item.title}}</text>
 					</view>
-					<view class="voteStatus">
-						<text v-if="false">未开始</text>
-						<text style="color:#FF6503 ;">投票中</text>
+					<view class="voteStatus" style="width: 100rpx;">
+						<text style="font-size: 30rpx;color: #999;" v-if="item.activity_status==1">未开始</text>
+						<text style="font-size: 30rpx;color: #FF6503;" v-if="item.activity_status==2">进行中</text>
+						<text style="font-size: 30rpx;color: #999;" v-if="item.activity_status==3">已结束</text>
 					</view>
 				</view>
 				<view class="foot">
@@ -24,7 +33,7 @@
 			</view>
 		</view>
 		<!-- 已经到底啦 -->
-		<uni-load-more :status="status" color="#CCCCCC" :content-text="contentText"/>
+		<uni-load-more v-if="List.length > 0" :status="status" color="#CCCCCC" :content-text="contentText"/>
 	</view>
 </template>
 
@@ -104,6 +113,20 @@
 		height: 100%;
 		background: $pageColor;
 	}
+	
+	
+	.msg-null{
+		padding-top: 60rpx;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center;
+		.msg-null-text{
+			margin-top: 40rpx;
+			font-size: 28rpx;
+			color: #333;
+		}
+	}
 
 	.List {
 		padding: 0 30rpx;

+ 24 - 9
pages/my/integral/integral.vue

xqd xqd xqd xqd
@@ -32,14 +32,16 @@
 			<view class="listTop">
 				<text>积分兑换</text>
 			</view>
-			<view class="ListContent">
-				<!-- <view :class="item.short?'[contentItemShort,contentItem]':'[contentItemLong,contentItem]'" v-for="item in integralList" @click="goIntegralDetail(item.id)" >
-					<image :src="item.cover_img?item.cover_img:'http://t9.9026.com/imgs/loginBg.png'" ></image>
-					<view class="itemName">{{item.name}}</view>
-					<view class="itemPrice">{{item.integral}}积分</view>
-				</view> -->
+			
+			<view class="msg-null" v-if="integralList.length == 0 ">
+				<image src="https://t9.9026.com/imgs/dataNull.png" style="width: 394rpx;height: 396rpx;" mode=""></image>
+				<view class="msg-null-text">
+					<text>暂无数据</text>
+				</view>
+			</view>
+			
+			<view class="ListContent" v-if="integralList.length > 0 ">
 				<view class="home-hotel-img-content">
-				
 					<view @click="goIntegralDetail(item.id)" class="home-hotel-img-content-item" v-for="(item,index) in integralList" :key="index"
 						:style="{marginTop:item.marginTop || 0 }" >
 						<image class="home-hotel-img-content-item-img"
@@ -47,7 +49,6 @@
 							:src="item.cover_img" mode=""></image>
 						<view class="text">
 							<text class="text-top">{{item.name}}</text>
-							<!-- <text class="text-main">{{item.hotel.name}}</text> -->
 						</view>
 					</view>
 				
@@ -55,7 +56,7 @@
 			</view>
 			
 			<!-- 触底 -->
-			<view class="home-bottom">
+			<view class="home-bottom" v-if="integralList.length > 0 ">
 				<uni-load-more :status="status" color="#CCCCCC" :content-text="contentText" />
 			</view>
 			
@@ -173,6 +174,20 @@
 		height: 100%;
 		background:$bgColor ;
 	}
+	
+	.msg-null{
+		padding-top: 60rpx;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center;
+		.msg-null-text{
+			margin-top: 40rpx;
+			font-size: 28rpx;
+			color: #333;
+		}
+	}
+	
 	.home-bottom {
 		background-color: #FFF;
 		padding-bottom: 84rpx;

+ 78 - 56
pages/my/integral/integralOrder.vue

xqd
@@ -328,66 +328,88 @@
 					return
 				}
 				if(this.is_virtual == 0){
-					if(this.Data.express_type == 1){
-						this.$api.product.integralExchange({
-							...this.Data
-						}).then(res => {
-							if (res.code == 0) {
-								uni.navigateTo({
-									url: '/pages/my/prize/exchangeDetail'
-								})
-							} else {
-								uni.showToast({
-									icon: 'none',
-									title: res.msg
-								})
+					let _this = this
+					uni.showModal({
+						title: '提示',
+						content: '确认使用积分兑换',
+						success: function (res) {
+							if (res.confirm) {
+								if(_this.Data.express_type == 1){
+									_this.$api.product.integralExchange({
+										..._this.Data
+									}).then(res => {
+										if (res.code == 0) {
+											uni.navigateTo({
+												url: '/pages/my/prize/exchangeDetail'
+											})
+										} else {
+											uni.showToast({
+												icon: 'none',
+												title: res.msg
+											})
+										}
+									})
+								}else{
+									let obj ={}
+									obj.express_type = _this.Data.express_type
+									obj.product_id = _this.Data.product_id
+									obj.receiver = _this.Data.receiver
+									obj.phone = _this.Data.phone
+									obj.hotel_id = _this.Data.hotel_id
+									obj.attr = _this.Data.attr
+									_this.$api.product.integralExchange({
+										...obj
+									}).then(res => {
+										if (res.code == 0) {
+											uni.navigateTo({
+												url: '/pages/my/prize/exchangeDetail'
+											})
+										} else {
+											uni.showToast({
+												icon: 'none',
+												title: res.msg
+											})
+										}
+									})
+								}
+							} else if (res.cancel) {
+								console.log('用户点击取消');
 							}
-						})
-					}else{
-						let obj ={}
-						obj.express_type = this.Data.express_type
-						obj.product_id = this.Data.product_id
-						obj.receiver = this.Data.receiver
-						obj.phone = this.Data.phone
-						obj.hotel_id = this.Data.hotel_id
-						obj.attr = this.Data.attr
-						this.$api.product.integralExchange({
-							...obj
-						}).then(res => {
-							if (res.code == 0) {
-								uni.navigateTo({
-									url: '/pages/my/prize/exchangeDetail'
-								})
-							} else {
-								uni.showToast({
-									icon: 'none',
-									title: res.msg
+						}
+					});
+				}else{
+					let _this = this
+					uni.showModal({
+						title: '提示',
+						content: '确认使用积分兑换',
+						success: function (res) {
+							if (res.confirm) {
+								let obj ={}
+								obj.express_type = _this.Data.express_type
+								obj.product_id = _this.Data.product_id
+								obj.receiver = _this.Data.receiver
+								obj.phone = _this.Data.phone
+								obj.hotel_id = _this.Data.hotel_id
+								obj.attr = _this.Data.attr
+								_this.$api.product.integralExchange({
+									...obj
+								}).then(res => {
+									if (res.code == 0) {
+										uni.navigateTo({
+											url: '/pages/my/prize/exchangeDetail'
+										})
+									} else {
+										uni.showToast({
+											icon: 'none',
+											title: res.msg
+										})
+									}
 								})
+							} else if (res.cancel) {
+								console.log('用户点击取消');
 							}
-						})
-					}
-				}else{
-					let obj ={}
-					obj.express_type = this.Data.express_type
-					obj.product_id = this.Data.product_id
-					obj.receiver = this.Data.receiver
-					obj.phone = this.Data.phone
-					obj.hotel_id = this.Data.hotel_id
-					obj.attr = this.Data.attr
-					this.$api.product.integralExchange({
-						...obj
-					}).then(res => {
-						if (res.code == 0) {
-							uni.navigateTo({
-								url: '/pages/my/prize/exchangeDetail'
-							})
-						} else {
-							uni.showToast({
-								icon: 'none',
-								title: res.msg
-							})
 						}
-					})
+					});
 				}
 			},
 			

+ 35 - 6
pages/my/integral/integralRecord.vue

xqd xqd xqd xqd
@@ -10,10 +10,15 @@
 					</view>
 				</view>
 		</view>
-		
+		<view class="msg-null" v-if="incomeList.length == 0 && isActive == 0 ">
+			<image src="https://t9.9026.com/imgs/dataNull.png" style="width: 394rpx;height: 396rpx;" mode=""></image>
+			<view class="msg-null-text">
+				<text>暂无数据</text>
+			</view>
+		</view>
 		<!-- 收入 -->
-		<view class="List" v-if="isActive == 0">
-			<view class="ListItem" v-for="item in incomeList">
+		<view class="List" v-if="isActive == 0 && incomeList.length > 0 ">
+			<view class="ListItem" v-for="(item,index) in incomeList" :key="index">
 				<view style="display: flex; justify-content: space-between;">
 					<view class="title"><text>{{item.change_integral}}积分</text> </view>
 					<view class='data'><text>{{item.created_at}}</text></view>
@@ -23,9 +28,15 @@
 			</view>
 		</view>
 		
+		<view class="msg-null" v-if="spendingList.length == 0 && isActive == 1 ">
+			<image src="https://t9.9026.com/imgs/dataNull.png" style="width: 394rpx;height: 396rpx;" mode=""></image>
+			<view class="msg-null-text">
+				<text>暂无数据</text>
+			</view>
+		</view>
 		<!-- 支出 -->
-		<view class="List" :style="{'--height':ListHeight+'rpx'}" v-if="isActive == 1">
-			<view class="ListItem" v-for="item in spendingList">
+		<view class="List" :style="{'--height':ListHeight+'rpx'}" v-if="isActive == 1 && spendingList.length > 0" >
+			<view class="ListItem" v-for="(item,index) in spendingList" :key="index" >
 				<view style="display: flex; justify-content: space-between;">
 					<view class="title"><text>{{item.change_integral}}积分</text> </view>
 					<view class='data'><text>{{item.created_at}}</text></view>
@@ -36,7 +47,10 @@
 		</view>
 		
 		<!-- 已经到底啦 -->
-		<view class="home-bottom" style="margin-top: 88rpx;padding-bottom: 60rpx;" >
+		<view class="home-bottom" style="margin-top: 88rpx;padding-bottom: 60rpx;"   v-if="isActive == 0 && incomeList.length > 0 ">
+			<uni-load-more :status="status" color="#CCCCCC" :content-text="contentText"/>
+		</view>
+		<view class="home-bottom" style="margin-top: 88rpx;padding-bottom: 60rpx;"   v-if="isActive == 1 && spendingList.length > 0 ">
 			<uni-load-more :status="status" color="#CCCCCC" :content-text="contentText"/>
 		</view>
 	</view>
@@ -121,6 +135,21 @@
 		height: 100%;
 		background: $pageColor;
 	}
+	
+	.msg-null{
+		padding-top: 60rpx;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center;
+		.msg-null-text{
+			margin-top: 40rpx;
+			font-size: 28rpx;
+			color: #333;
+		}
+	}
+	
+	
 	.segmented{
 		height: 112rpx;
 		width: 750rpx;

+ 27 - 5
pages/my/my.vue

xqd xqd xqd
@@ -149,7 +149,6 @@
 
 		onShow() {
 			this.admin = this.$store.getters.userInfo
-			console.log(this.admin);
 		},
 
 		methods: {
@@ -186,9 +185,32 @@
 				})
 			},
 			// 微信获取头像
-			handleChooseAvatar(e) {
-				console.log(e.detail);
-				this.modal.avatar = e.detail.avatarUrl
+			handleChooseAvatar({detail}) {
+				// console.log(e.detail);
+				// this.modal.avatar = e.detail.avatarUrl
+				let _this = this
+				uni.getFileSystemManager().readFile({
+				  filePath:detail.avatarUrl, // 选择图片返回的相对路径
+				  encoding: 'base64', // 编码格式
+				  success: res => { // 成功的回调
+				    uni.uploadFile({
+				      url: _this.$setting.BASE_URL + '/v1/user/uploadFile',
+				      // filePath: 'data:image/png;base64,' + res.data,
+				      filePath: detail.avatarUrl,
+				      name: 'file',
+				      success({ data }) {
+				        const res = JSON.parse(data)
+				        const { url } = res.data
+				        _this.modal.avatar = url
+				        console.log('-->data', _this.modal.avatar)
+				      }
+				    })
+				    // this.modal.avatar = detail.avatarUrl
+				    // console.log('data:image/png;base64,' + res.data)
+				  }
+				})
+				
+				
 			},
 			handleChangeNickname(res) {
 				this.modal.nickname = res.detail.value
@@ -402,7 +424,7 @@
 				left: 200rpx;
 
 				.unlogin {
-					width: 220rpx;
+					width: 360rpx;
 					font-size: 44rpx;
 					font-family: PingFang-SC-Heavy, PingFang-SC;
 					font-weight: 500;

+ 47 - 12
pages/my/myorders/orderDetail.vue

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -9,6 +9,16 @@
 			<view class="orderStatus" v-if="status == 4 && is_virtual == 0 && express_type == 1 ">已完成</view>
 			<view class="orderStatus" v-if="status == 4 && is_virtual == 1">已核销</view>
 			<view class="orderStatus" v-if="status == 4 && is_virtual == 0 && express_type == 2 ">已核销</view>
+
+			<view class="nav-write" v-if="status == 4 && is_virtual == 1">
+				<text>核销时间:</text>
+				<text>{{goodsDet.complete_time}}</text>
+			</view>
+			<view class="nav-write" v-if="status == 4 && is_virtual == 0 && express_type == 2">
+				<text>核销时间:</text>
+				<text>{{goodsDet.complete_time}}</text>
+			</view>
+
 		</view>
 
 		<view class="midBox">
@@ -88,6 +98,15 @@
 				</view>
 				<view class="copyorder" @click="copyOrder(goodsDet.order_no)">复制</view>
 			</view>
+
+			<view class="myorder" style="margin-top: 68rpx;">
+				<view class="orderTitle">核销信息</view>
+				<view class="orderMsg"><text>核销员</text><text style="margin-left: 54rpx;">{{goodsDet.staff.user.nickname}}</text>
+				</view>
+				<view class="orderMsg"><text>核销时间</text><text style="margin-left: 26rpx;">{{goodsDet.complete_time}}</text>
+				</view>
+			</view>
+
 		</view>
 
 		<!-- 产品信息 -->
@@ -96,10 +115,11 @@
 				<text>产品信息</text>
 			</view>
 			<view class="shopCard">
-				<image :src="goodsDet.img_urls"></image>
+				<image v-if="goodsDet.product_type == 3 " :src="goodsDet.img_urls"></image>
+				<image v-if="goodsDet.product_type != 3 " style="border-radius: 12rpx;" :src="productImg[0]"></image>
 				<view style="margin-left: 24rpx;">
 					<text class="name">{{goodsDet.product_name}}</text>
-					<!-- <text class="tag">礼盒装 2000积分</text> -->
+					<text class="tag" v-if="source_type == 3">{{goodsDet.integral}}积分</text>
 				</view>
 			</view>
 			<view class="shopNumber">
@@ -123,12 +143,14 @@
 	export default {
 		data() {
 			return {
+				//产品图片
+				productImg: '',
 				//积分
-				integral:'',
+				integral: '',
 				//订单产品来源
-				source_type:'',
+				source_type: '',
 				//订单号
-				order_no:'',
+				order_no: '',
 				//门店详情
 				hotelDet: '',
 				//订单详情
@@ -148,7 +170,7 @@
 				this.order_id = o.id
 				this.orderDeatil()
 			}
-			if(o.order_no){
+			if (o.order_no) {
 				this.order_no = o.order_no
 				this.getConfirmOrderDetail()
 			}
@@ -175,15 +197,16 @@
 					this.hotelDet = res.data
 				})
 			},
-			
-			getConfirmOrderDetail(){
+
+			getConfirmOrderDetail() {
 				this.$api.orders.confirmOrderDetail({
-					order_no:this.order_no
-				}).then(res=>{
+					order_no: this.order_no
+				}).then(res => {
 					this.is_virtual = res.data.is_virtual
 					this.status = res.data.status
 					this.express_type = res.data.express_type
 					this.goodsDet = res.data
+					this.productImg = JSON.parse(res.data.img_urls)
 					this.source_type = res.data.source_type
 					this.integral = res.data.integral
 					if (this.goodsDet.express_type == 2 && this.goodsDet.hotel_id) {
@@ -191,7 +214,7 @@
 					}
 				})
 			},
-			
+
 			//订单详情
 			orderDeatil() {
 				this.$api.orders.getOrderDetail({
@@ -201,6 +224,7 @@
 					this.status = res.data.status
 					this.express_type = res.data.express_type
 					this.goodsDet = res.data
+					this.productImg = JSON.parse(res.data.img_urls)
 					this.source_type = res.data.source_type
 					this.integral = res.data.integral
 					if (this.goodsDet.express_type == 2 && this.goodsDet.hotel_id) {
@@ -246,7 +270,7 @@
 
 	.nav {
 		width: 750rpx;
-		height: 108rpx;
+		// height: 108rpx;
 		background: $bgColor;
 		border-radius: 0px 0px 16rpx 16rpx;
 		padding: 32rpx 0 0 28rpx;
@@ -260,6 +284,17 @@
 		}
 	}
 
+	//核销时间
+	.nav-write {
+		background-color: #FFFFFF;
+		color: #333333;
+		font-size: 40rpx;
+		margin-top: 32rpx;
+		padding-bottom: 36rpx;
+	}
+
+
+
 	.midBox {
 		margin-top: 24rpx;
 		width: 750rpx;

+ 38 - 8
pages/my/myorders/orders.vue

xqd xqd xqd xqd xqd xqd xqd xqd
@@ -23,7 +23,15 @@
 				</view>
 			</view>
 		</view>
-		<view style="background-color: #f9f9f9;">
+
+		<view class="msg-null" v-if="orderList.length == 0 ">
+			<image src="https://t9.9026.com/imgs/dataNull.png" style="width: 394rpx;height: 396rpx;" mode=""></image>
+			<view class="msg-null-text">
+				<text>暂无数据</text>
+			</view>
+		</view>
+
+		<view style="background-color: #f9f9f9;" v-if="orderList.length > 0 ">
 			<view class="card" v-for="(item,index) in orderList" :key="index" @click="goOrderDetail(item.id)">
 				<view class="toptitle">
 					<view>订单号:{{item.order_no}}</view>
@@ -39,7 +47,9 @@
 					<view v-if="item.status == 4 && item.is_virtual == 0 && item.express_type == 2">已核销</view>
 				</view>
 				<view class="shopCard">
-					<image :src="item.img_urls"></image>
+					<image v-if="item.product_type != 3 " :src="JSON.parse(item.img_urls)[0]"></image>
+					<image v-if="item.product_type == 3 " :src="item.img_urls"></image>
+
 					<view style="margin-left: 24rpx;">
 						<text class="name">{{item.product_name}}</text>
 						<text class="tag" v-if="item.source_type == 3">{{item.integral}}积分</text>
@@ -63,9 +73,9 @@
 						v-if="item.status ==2 && item.is_virtual == 0&&item.express_type == 2">
 						<text>核销码</text>
 					</view>
-					<view class="btnitem" v-if="item.status == 1">
+					<!-- <view class="btnitem" v-if="item.status == 1">
 						<text>取消</text>
-					</view>
+					</view> -->
 					<view class="btnitem" v-if="item.status == 1">
 						<text>兑换</text>
 					</view>
@@ -77,7 +87,7 @@
 			</view>
 		</view>
 		<!-- 已经到底啦 -->
-		<view class="home-bottom">
+		<view class="home-bottom" v-if="orderList.length > 0 ">
 			<uni-load-more :status="status" color="#CCCCCC" :content-text="contentText" />
 		</view>
 
@@ -134,16 +144,20 @@
 
 			//确定收货
 			takeOver(id) {
+				uni.showLoading({
+					title: '加载中'
+				})
 				this.$api.orders.confirmReceipt({
 					order_id: id
 				}).then(res => {
 					if (res.code === 0) {
+						uni.hideLoading()
 						uni.showToast({
 							icon: "none",
 							title: '收货成功'
 						})
 						//重新拉数据
-						this.getMyOrder(o.isActive)
+						this.getMyOrder(this.isActive)
 					} else {
 						uni.showToast({
 							icon: "none",
@@ -231,7 +245,7 @@
 										icon: 'success',
 										duration: 2000
 									})
-									this.$refs.popup.close()
+									that.$refs.popup.close()
 								},
 								fail: function() {
 									uni.showToast({
@@ -252,7 +266,7 @@
 					}
 				});
 			},
-		},
+		}
 	}
 </script>
 
@@ -278,6 +292,22 @@
 	}
 
 
+	.msg-null {
+		padding-top: 60rpx;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center;
+
+		.msg-null-text {
+			margin-top: 40rpx;
+			font-size: 28rpx;
+			color: #333;
+		}
+	}
+
+
+
 	::v-deep .segmented-control__text {
 		font-size: 32rpx !important;
 		font-family: PingFang-SC-Heavy, PingFang-SC;

+ 10 - 0
pages/my/prize/exchangeDetail.vue

xqd
@@ -62,6 +62,16 @@
 			this.getAdvertis()
 			this.admin = this.$store.getters.userInfo
 		},
+		onBackPress(e){
+			console.log("监听返回按钮事件",e);
+			//正常返回页面
+			uni.navigateTo({
+			 	url:"/pages/my/integral/integral"
+			})
+			// 此处一定要return为true,否则页面不会返回到指定路径
+			return true;
+		},
+		
 
 		methods: {
 			//广告图

+ 44 - 10
pages/my/prize/prize.vue

xqd xqd xqd xqd
@@ -10,30 +10,51 @@
 				</view>
 			</view>
 		</view>
+		
+		<view class="msg-null" v-if="isActive == 0 && PhysicalPrizes.length == 0 ">
+			<image src="https://t9.9026.com/imgs/dataNull.png" style="width: 394rpx;height: 396rpx;" mode=""></image>
+			<view class="msg-null-text">
+				<text>暂无数据</text>
+			</view>
+		</view>
+		
+		<view class="msg-null" v-if="isActive == 1 && VirtualPrizes.length == 0 ">
+			<image src="https://t9.9026.com/imgs/dataNull.png" style="width: 394rpx;height: 396rpx;" mode=""></image>
+			<view class="msg-null-text">
+				<text>暂无数据</text>
+			</view>
+		</view>
+		<view class="msg-null" v-if="isActive == 2 && VirtualPrizes.length == 0 ">
+			<image src="https://t9.9026.com/imgs/dataNull.png" style="width: 394rpx;height: 396rpx;" mode=""></image>
+			<view class="msg-null-text">
+				<text>暂无数据</text>
+			</view>
+		</view>
+		
 
-		<view style="margin-bottom: 60rpx; ">
+		<view style="margin-bottom: 60rpx;" >
 			<!-- 实物奖品 -->
-			<view class="prizeList" :style="{'--height':ListHeight+'rpx'}" v-if="isActive == 0">
+			<view class="prizeList" :style="{'--height':ListHeight+'rpx'}" v-if="isActive == 0  && PhysicalPrizes.length > 0  ">
 				<view class="ListItem" v-for="(item,index) in PhysicalPrizes" :key="index">
 					<view class="title"><text>{{item.name}}</text></view>
-					<view class='data'><text>{{item.created_at}}</text></view>
+					<view class='data'><text>{{item.exchange_start_time}}--{{item.exchange_end_time}}</text></view>
 					<view class="alreadyBtn" v-if="item.status == 2">
 						<text>已兑换</text>
 					</view>
 					<view class="instantBtn" v-if="item.status == 1" @click="goExchangePhy(item.id)">
 						<text>立即兑换</text>
 					</view>
-					<view class="instantBtn" v-if="item.status == 3" >
+					<view class="alreadyBtn" v-if="item.status == 3" >
 						<text>已过期</text>
 					</view>
 				</view>
 			</view>
 			
 			<!-- 线下奖品 -->
-			<view class="prizeList" :style="{'--height':ListHeight+'rpx'}" v-if="isActive == 1">
+			<view class="prizeList" :style="{'--height':ListHeight+'rpx'}" v-if="isActive == 1  && VirtualPrizes.length > 0 ">
 				<view class="ListItem" v-for="(item,index) in VirtualPrizes" :key="index">
 					<view class="title"><text>{{item.name}}</text></view>
-					<view class='data'><text>{{item.created_at}}</text></view>
+					<view class='data'><text>{{item.exchange_start_time}}--{{item.exchange_end_time}}</text></view>
 					<view class="instantBtn" v-if="item.status == 1" @click="goExchangeVir(item.id)">
 						<text>立即兑换</text>
 					</view>
@@ -51,7 +72,7 @@
 			</view>
 			
 			<!-- 中奖记录 -->
-			<view class="prizeList" :style="{'--height':ListHeight+'rpx'}" v-if="isActive == 2">
+			<view class="prizeList" :style="{'--height':ListHeight+'rpx'}" v-if="isActive == 2 && prizeRecord.length > 0 ">
 				<view class="ListItem" v-for="(item,index) in prizeRecord" :key="index"> 
 					<view style="display: flex; justify-content: space-between;">
 						<view class="title"><text>{{item.name}}</text> </view>
@@ -63,7 +84,9 @@
 		</view>
 		
 		<!-- 已经到底啦 -->
-		<uni-load-more :status="status" color="#CCCCCC" :content-text="contentText" />
+		<uni-load-more v-if="isActive == 0  && PhysicalPrizes.length > 0  " :status="status" color="#CCCCCC" :content-text="contentText" />
+		<uni-load-more v-if="isActive == 1  && VirtualPrizes.length > 0  " :status="status" color="#CCCCCC" :content-text="contentText" />
+		<uni-load-more v-if="isActive == 2  && prizeRecord.length > 0  " :status="status" color="#CCCCCC" :content-text="contentText" />
 
 	</view>
 </template>
@@ -161,8 +184,19 @@
 		height: 100%;
 		background: $pageColor;
 	}
-
-
+	
+	.msg-null{
+		padding-top: 60rpx;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center;
+		.msg-null-text{
+			margin-top: 40rpx;
+			font-size: 28rpx;
+			color: #333;
+		}
+	}
 
 	.segmented {
 		width: 750rpx;

+ 26 - 6
pages/my/verification/orderVerification.vue

xqd xqd xqd xqd xqd
@@ -19,20 +19,20 @@
 		<!-- 商品信息 -->
 		<view class="card" >
 			<view class="toptitle">
-				<view>洲际天堂大饭店</view>
+				<view>{{hotelName}}</view>
 				<view v-if="items.status == 3">未核销</view>
 				<view v-if="items.status == 4">已核销</view>
 			</view>
 			<view class="shopCard">
-				<image  :src="items.img_urls"></image>
+				<image style="border-radius: 12rpx;"  :src="productImg[0]"></image>
 				<view style="margin-left: 24rpx;">
 					<text class="name">{{items.product_name}}</text>
-					<text class="tag" v-if="items.source_type == 3">礼盒装 2000积分</text>
+					<text class="tag" v-if="items.source_type == 3"> {{items.integral}}积分</text>
 				</view>
 			</view>
 			<view class="points" v-if="items.source_type == 3">
 				<text class="totalName">共计:</text>
-				<text class="totalContent">2000积分</text>
+				<text class="totalContent">{{items.integral}}积分</text>
 			</view>
 			<view class="btn" >
 				<text>核销</text>
@@ -40,8 +40,8 @@
 		</view>
 		
 		<!-- 核销订单按钮 -->
-		<view class="bottombtn">
-			<view class="btnitem" @click="verificationOrder">
+		<view class="bottombtn" @click="verificationOrder">
+			<view class="btnitem">
 				<text>核销订单</text>
 			</view>
 		</view>
@@ -53,6 +53,10 @@
 	export default{
 		data(){
 			return{
+				//产品图片
+				productImg:'',
+				//酒店名称
+				hotelName:'',
 				//订单号
 				order_no:'',
 				//订单详情
@@ -84,6 +88,17 @@
 					this.FormData.contact = res.data.phone
 					this.FormData.date = res.data.created_at
 					this.order_no = res.data.order_no
+					this.productImg = JSON.parse(res.data.img_urls)
+					//酒店详情
+					this.hotelDetail(res.data.hotel_id)
+				})
+			},
+			//酒店详情
+			hotelDetail(id){
+				this.$api.hotel.getHotelDetail({
+					hotel_id:id
+				}).then(res=>{
+					this.hotelName = res.data.name
 				})
 			},
 			
@@ -106,6 +121,11 @@
 										title:'核销成功'
 									})
 									_this.orderDetail()
+									setTimeout(()=>{
+										uni.redirectTo({
+											url:'/pages/my/verification/verification?type='+2
+										})
+									},500)
 									
 								}else{
 									uni.showToast({

+ 32 - 9
pages/my/verification/verification.vue

xqd xqd xqd xqd xqd
@@ -26,7 +26,16 @@
 					</view>
 			</view>
 		</view>
-		<view>
+		
+		<view class="msg-null" v-if="orderList.length == 0 ">
+			<image src="https://t9.9026.com/imgs/dataNull.png" style="width: 394rpx;height: 396rpx;" mode=""></image>
+			<view class="msg-null-text">
+				<text>暂无数据</text>
+			</view>
+		</view>
+		
+		
+		<view  v-if="orderList.length > 0 " style="background-color: #f9f9f9;">
 			<view class="card" v-for="(item,index) in orderList" :key="index" @click="goOrderDetail(item.order_no)" >
 				<view class="toptitle">
 					<view>{{item.hotel.name}}</view>
@@ -34,7 +43,9 @@
 					<view v-if="item.status == 4">已核销</view>
 				</view>
 				<view class="shopCard">
-					<image  :src="item.img_urls"></image>
+					<image v-if="item.product_type != 3 " :src="JSON.parse(item.img_urls)[0]"></image>
+					<image  v-if="item.product_type == 3 "  :src="item.img_urls"></image>
+					
 					<view style="margin-left: 24rpx;">
 						<text class="name">{{item.product_name}}</text>
 						<text class="tag" v-if="item.source_type == 3" >{{item.integral}}积分</text>
@@ -51,7 +62,7 @@
 		</view>
 
 		<!-- 已经到底啦 -->
-		<view class="home-bottom">
+		<view class="home-bottom"  v-if="orderList.length > 0 ">
 			<uni-load-more :status="status" color="#CCCCCC" :content-text="contentText"/>
 		</view>
 	</view>
@@ -79,8 +90,12 @@
 				orderList:[],
 			}
 		},
-		onLoad() {
-			this.getMyOrder(1)
+		onLoad(o) {
+			if(o.type == 2){
+				this.checked(o.type)
+			}else{
+				this.getMyOrder(1)
+			}
 		},
 		methods:{
 			
@@ -166,10 +181,18 @@
 		height: 100%;
 		background: $pageColor;
 	}
-	// ::v-deep .segmented-control__item{
-	// 	justify-content: center !important;
-	// 	margin: 0 30rpx;
-	// }
+	.msg-null{
+		padding-top: 60rpx;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center;
+		.msg-null-text{
+			margin-top: 40rpx;
+			font-size: 28rpx;
+			color: #333;
+		}
+	}
 		
 	.nav {
 		height: 216rpx;

+ 2 - 2
setting.js

xqd
@@ -3,8 +3,8 @@
  */
 const IS_DEV = process.env.NODE_ENV === 'development'
 
-// const URL = 'https://t9.9026.com'
-const URL = 'https://ihg.9026.com'
+const URL = 'https://t9.9026.com'
+// const URL = 'https://ihg.9026.com'
 
 	
 module.exports = {

二進制
static/icon/delete.png