From 81639676ebbc3d9dbc70562135de26a3b026eb78 Mon Sep 17 00:00:00 2001
From: liuliufashi <lx19140000803@163.com>
Date: Thu, 20 Oct 2022 10:22:04 +0800
Subject: [PATCH] 10.20--更新页面

---
 components/chat/chat.vue                                              |  16 +++++++++++++---
 components/footer/footer.vue                                          |  74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------
 components/footer/gift/gift.vue                                       | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 components/footer/more/component/index.vue                            |  47 +++++++++++++++++++++++++++++++++++++++++++++++
 components/footer/more/more.vue                                       |  97 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------
 components/footer/reward/reward.vue                                   |  88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 components/footer/service/service.vue                                 |  72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 components/footer/shopList/shoplist.vue                               | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 components/footer/sign/sign.vue                                       |  55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 components/tabs/tabs.vue                                              |   4 ++--
 pages/index/index.vue                                                 |   5 -----
 static/images/gift/0ea40b8376ef8157791b928a339ed9c9_tplv-obj 1@2x.png | Bin 0 -> 9275 bytes
 static/images/gift/599778030eff04b11420e3d8751bfbb6 1@2x.png          | Bin 0 -> 9306 bytes
 static/images/gift/898bc8988a737b909e952854747c8f7e_tplv-obj 1@2x.png | Bin 0 -> 12959 bytes
 static/images/gift/a7ccf403bd4b727447d9ab06f1d9231c 1@2x.png          | Bin 0 -> 10900 bytes
 static/images/gift/e1972046aa7cc5ae870041a655ddf016_tplv-obj 1@2x.png | Bin 0 -> 15138 bytes
 static/images/reword/bg-reward.png                                    | Bin 0 -> 321312 bytes
 static/images/service.png                                             | Bin 0 -> 91603 bytes
 static/images/shopCart.png                                            | Bin 0 -> 3319 bytes
 static/images/signAfter.png                                           | Bin 0 -> 47618 bytes
 static/images/signBefore.png                                          | Bin 0 -> 49614 bytes
 static/images/推荐商品@2x.png                                     | Bin 3319 -> 0 bytes
 22 files changed, 635 insertions(+), 61 deletions(-)
 create mode 100644 components/footer/gift/gift.vue
 create mode 100644 components/footer/more/component/index.vue
 create mode 100644 components/footer/reward/reward.vue
 create mode 100644 components/footer/service/service.vue
 create mode 100644 components/footer/shopList/shoplist.vue
 create mode 100644 components/footer/sign/sign.vue
 create mode 100644 static/images/gift/0ea40b8376ef8157791b928a339ed9c9_tplv-obj 1@2x.png
 create mode 100644 static/images/gift/599778030eff04b11420e3d8751bfbb6 1@2x.png
 create mode 100644 static/images/gift/898bc8988a737b909e952854747c8f7e_tplv-obj 1@2x.png
 create mode 100644 static/images/gift/a7ccf403bd4b727447d9ab06f1d9231c 1@2x.png
 create mode 100644 static/images/gift/e1972046aa7cc5ae870041a655ddf016_tplv-obj 1@2x.png
 create mode 100644 static/images/reword/bg-reward.png
 create mode 100644 static/images/service.png
 create mode 100644 static/images/shopCart.png
 create mode 100644 static/images/signAfter.png
 create mode 100644 static/images/signBefore.png
 delete mode 100644 static/images/推荐商品@2x.png

diff --git a/components/chat/chat.vue b/components/chat/chat.vue
index 70b6c92..d517fc2 100644
--- a/components/chat/chat.vue
+++ b/components/chat/chat.vue
@@ -1,5 +1,5 @@
 <template>
-	<scroll-view scroll-y="true" class="chat" show-scrollbar="true">
+	<scroll-view lower-threshold="20" scroll-y="true" class="chat" show-scrollbar="true" @scroll="scrollBottom" :class="scrollFalg ? 'pb-5' : ''">
 		<view class="cavasation my-1" v-for="(item,index) in datalist" :key="index+''">
 			<view class="person">
 				<u-avatar :src="item.avatar" size="80"></u-avatar>
@@ -17,6 +17,7 @@
 		name: "chat",
 		data() {
 			return {
+				scrollFalg:false,
 				datalist:[
 					{avatar:"../../static/images/礼物@2x.png",name:"主播",content:"课程生动有趣"},
 					{avatar:"../../static/images/礼物@2x.png",name:"主播",content:"课程生动有趣"},
@@ -27,6 +28,12 @@
 				]
 			}
 		},
+		methods:{
+			scrollBottom(){
+				console.log("333")
+				this.scrollFalg = true;
+			}
+		}
 	}
 </script>
 
@@ -37,11 +44,14 @@
 	.my-1{
 		margin: 10rpx 0;
 	}
+	.pb-5{
+		padding-bottom: 50rpx;
+	}
 	.chat{
 		box-sizing: border-box;
-		height: 700rpx;
+		height:calc(100vh - 500rpx);
 		padding: 40rpx;
-		font-size: 26rpx;
+		// font-size: 26rpx;
 		letter-spacing:2rpx;
 		.person{
 			display: flex;
diff --git a/components/footer/footer.vue b/components/footer/footer.vue
index e9cd951..ad32324 100644
--- a/components/footer/footer.vue
+++ b/components/footer/footer.vue
@@ -1,35 +1,52 @@
 <template>
 	<view class="content">
+		<image v-show="!inputFalg" src="../../static/images/IM.png" mode="widthFix"
+			style="width: 68rpx;margin: 0 20rpx 0 0;"></image>
 		<view class="input">
-			<u--input style="background-color: #d9d9d9;height: 64rpx;padding-left:20rpx;" type="text" border="none" shape="circle" placeholder="说点什么吧..." v-model="value" @change="change"></u--input>
+			<u--input style="background-color: #d9d9d9;height: 64rpx;padding-left:20rpx;" type="text" border="none"
+				shape="circle" placeholder="说点什么吧..." v-model="value" @focus="inputFocus" @blur="inputblur"></u--input>
 		</view>
 
-		<view class="icon">
+		<view class="icon" v-show="inputFalg">
 			<image v-for="(item,index) in imageList" :key="index+''" :src="item.url" style="width:68rpx" mode="widthFix"
 				@click="iconbtn(item.title)"></image>
 		</view>
-		
-		<view class="icon-right">
+
+		<view class="icon-right" v-show="inputFalg">
 			<image class="iconright" v-for="(item,index) in imageListRight" :key="index+''" :src="item.url"
 				style="width:68rpx" mode="widthFix" @click="iconbtn(item.title)"></image>
 		</view>
-		<!-- 更多 -->
-		<more class="absolute" @moreClose="moreClose" :show="moreFalg"></more>
+		<!-- icontab -->
+		<component class="absolute" :is="currentTabComponent" @onClose="onClose" :show="show"></component>
 	</view>
 </template>
 
 <script>
-	import more from "./more/more.vue"
+	import more from "./more/more.vue";
+	import sign from "./sign/sign.vue";
+	import gift from "./gift/gift.vue";
+	import service from "./service/service.vue";
+	import reward from "./reward/reward.vue";
+	import shoplist from "./shopList/shoplist.vue"
 	export default {
 		name: "foot",
-		components:{more},
+		components: {
+			more,
+			sign,
+			gift,
+			service,
+			reward,
+			shoplist
+		},
 		data() {
 			return {
+				inputFalg: true,
+				currentTabComponent: '',
+				show: false,
 				value: '',
-				moreFalg:false,
 				imageList: [{
 						title: "商城",
-						url: "../../static/images/商城@2x.png"
+						url: "../../static/images/shopCart.png"
 					},
 					{
 						title: "礼物",
@@ -68,34 +85,54 @@
 			};
 		},
 		methods: {
-			// 输入框点击事件
-			change(){
-				
+			// 输入框聚焦事件
+			inputFocus() {
+				this.inputFalg = false
+			},
+			inputblur() {
+				this.inputFalg = true
 			},
 			// 图标按钮点击事件
 			iconbtn(title) {
+				this.show = true;
 				switch (title) {
 					case "商城":
+						this.currentTabComponent = shoplist;
 						break;
 					case "礼物":
+						this.currentTabComponent = gift;
 						break;
 					case "打赏":
+						this.currentTabComponent = reward;
 						break;
 					case "更多":
-						this.moreFalg = !this.moreFalg;
+						this.currentTabComponent = more;
+						break;
+					case "签到":
+						this.currentTabComponent = sign;
+						break;
+					case "举手":
+
+						break;
+					case "客服":
+						this.currentTabComponent = service;
 						break;
 				}
 			},
 			// 更多
-			moreClose(){ this.moreFalg = false },
+			onClose(str) {
+				this.show = false;
+				this.currentTabComponent = ''
+			},
 		}
 	}
 </script>
 
 <style lang="scss" scoped>
-	.absolute{
-		position:absolute;
+	.absolute {
+		position: absolute;
 	}
+
 	.content {
 		width: 100%;
 		display: flex;
@@ -103,7 +140,8 @@
 		padding: 0 40rpx;
 
 		.input {
-			width: 294rpx;
+			// width: 294rpx;
+			flex: 1;
 		}
 
 		.icon {
diff --git a/components/footer/gift/gift.vue b/components/footer/gift/gift.vue
new file mode 100644
index 0000000..5ec4a7f
--- /dev/null
+++ b/components/footer/gift/gift.vue
@@ -0,0 +1,122 @@
+<template>
+	<u-popup :show="show" mode="bottom" @close="onClose" :round="20">
+		<view class="box">
+			<view class="header flex">
+				<text>礼物</text>
+				<u-icon name="close" @click="onClose"></u-icon>
+			</view>
+			<swiper indicator-dots>
+				<swiper-item class="flex flex-around">
+					<view v-for="(item,index) in datalist" :key="index+''" class="flex-col"
+						:class="currentIndex == index ? 'active' : ''">
+						<view class="image-padding">
+							<image :src="item.url" style="width:94rpx;" mode="widthFix" @click="giftClick(index)">
+							</image>
+						</view>
+						<text class="">{{currentIndex == index ? "赠送" : item.title}}</text>
+					</view>
+				</swiper-item>
+			</swiper>
+		</view>
+	</u-popup>
+</template>
+<script>
+	export default {
+		name: "more",
+		props: ["show"],
+		data() {
+			return {
+				currentIndex: "",
+				datalist: [{
+						title: "免费",
+						url: "/static/images/gift/599778030eff04b11420e3d8751bfbb6 1@2x.png"
+					},
+					{
+						title: "免费",
+						url: "/static/images/gift/0ea40b8376ef8157791b928a339ed9c9_tplv-obj 1@2x.png"
+					},
+					{
+						title: "免费",
+						url: "/static/images/gift/898bc8988a737b909e952854747c8f7e_tplv-obj 1@2x.png"
+					},
+					{
+						title: "免费",
+						url: "/static/images/gift/a7ccf403bd4b727447d9ab06f1d9231c 1@2x.png"
+					},
+					{
+						title: "99币",
+						url: "/static/images/gift/e1972046aa7cc5ae870041a655ddf016_tplv-obj 1@2x.png"
+					},
+
+				]
+			}
+		},
+		methods: {
+			onClose() {
+				this.$emit("onClose", "more");
+			},
+			giftClick(index) {
+				this.currentIndex = index;
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.mt-1 {
+		margin-top: 10rpx;
+	}
+
+	.flex {
+		display: flex;
+	}
+
+	.flex-around {
+		justify-content: space-around;
+	}
+
+	.image-padding {
+		padding: 16rpx;
+	}
+
+	.flex-col {
+		display: flex;
+		flex-direction: column;
+		justify-content: left;
+		align-items: center;
+		width: 126rpx;
+		color: #777777;
+		font-size: 28rpx;
+	}
+
+	.text-center {
+		text-align: center;
+	}
+
+	.header {
+		justify-content: space-between;
+		padding: 32rpx 40rpx;
+	}
+
+	.box {
+		height: 440rpx;
+	}
+
+	.active {
+		view {
+
+			background-color: #F7F7F7;
+			border-radius: 10rpx 10rpx 0 0;
+		}
+
+		text {
+			display: inline-block;
+			width: 100%;
+			background-color: #FF506F;
+			color: white;
+			text-align: center;
+			padding: 5rpx 0;
+		}
+
+	}
+</style>
diff --git a/components/footer/more/component/index.vue b/components/footer/more/component/index.vue
new file mode 100644
index 0000000..538dd21
--- /dev/null
+++ b/components/footer/more/component/index.vue
@@ -0,0 +1,47 @@
+<template>
+	<u-popup :show="show" mode="bottom"  @close="onClose" :round="20">
+        <view class="box">
+            <view class="header flex">
+				<text>{{title}}</text>
+				<u-icon name="close" @click="onClose"></u-icon>
+			</view>
+            <view>
+				<view v-for="(item,index) in data" :key="index+''" class="flex-col my">
+					<u-button>{{item}}</u-button>
+				</view>
+			</view>
+        </view>
+	</u-popup>
+</template>
+<script>
+  export default {
+	props:["show","data","title"],
+    data() {
+      return {
+		
+      }
+    },
+    methods: {
+      onClose(){
+		  this.$emit("onClose");
+	  },
+    }
+  }
+</script>
+
+<style lang="scss" scoped>
+	.my{
+		margin:12rpx 0;
+	}
+	.flex{
+		display: flex;
+	}
+	.header{
+		justify-content: space-between;
+		padding: 32rpx 0;
+	}
+	.box{
+		height: 440rpx;
+		padding: 0 40rpx;
+	}
+</style>
\ No newline at end of file
diff --git a/components/footer/more/more.vue b/components/footer/more/more.vue
index 755092f..bc97697 100644
--- a/components/footer/more/more.vue
+++ b/components/footer/more/more.vue
@@ -1,48 +1,76 @@
 <template>
-	<u-popup :show="show" mode="bottom"  @close="onClose" :round="20">
-        <view class="box">
-            <view class="header flex">
-				<span>更多</span>
+	<u-popup :show="show" mode="bottom" @close="onClose" :round="20">
+		<view class="box">
+			<view class="header flex">
+				<text>更多</text>
 				<u-icon name="close" @click="onClose"></u-icon>
 			</view>
-            <view class="flex">
+			<view class="flex">
 				<view v-for="(item,index) in datalist" :key="index+''" class="flex-col">
-					<image :src="item.url" style="width:60rpx;border: 1px solid grey;height: 60rpx;" mode="widthFix"></image>
-					<span class="mt-1">{{item.title}}</span>
+					<image @click="skip(index)" :src="item.url" style="width:60rpx;height: 60rpx;" mode="widthFix">
+					</image>
+					<text class="mt-1">{{item.title}}</text>
 				</view>
 			</view>
-        </view>
+		</view>
+		<!-- 子页面 -->
+		<typeSkip :show="typeFalg" :title="title" :data="typeList" @onClose="onClose"></typeSkip>
 	</u-popup>
 </template>
 <script>
-  export default {
-	name:"more",
-	props:["show"],
-    data() {
-      return {
-        datalist:[
-			{title:"私聊" , url:"../../../static/images/IM.png"},
-			{title:"线路切换" , url:"../../../static/images/skip.png"},
-			{title:"直播类型" , url:"../../../static/images/type.png"},
-		]
-      }
-    },
-    methods: {
-      onClose(){
-		  this.$emit("moreClose");
-	  },
-    }
-  }
+	import typeSkip from "./component/index.vue";
+	export default {
+		name: "more",
+		props: ["show"],
+		components: {
+			typeSkip
+		},
+		data() {
+			return {
+				typeFalg: false,
+				title:"",
+				typeList:[],
+				datalist: [{
+						title: "私聊",
+						url: "/static/images/IM.png"
+					},
+					{
+						title: "线路切换",
+						url: "/static/images/skip.png",
+						list: ["线路1", "线路2"]
+					},
+					{
+						title: "直播类型",
+						url: "/static/images/type.png",
+						list:["标准直播","快直播"]
+					},
+				]
+			}
+		},
+		methods: {
+			onClose() {
+				this.$emit("onClose");
+			},
+			skip(index) {
+				this.typeFalg = true;
+				this.title = this.datalist[index].title;
+				console.log(this.title)
+				this.typeList = this.datalist[index].list;
+			}
+		}
+	}
 </script>
 
 <style lang="scss" scoped>
-	.mt-1{
+	.mt-1 {
 		margin-top: 10rpx;
 	}
-	.flex{
+
+	.flex {
 		display: flex;
 	}
-	.flex-col{
+
+	.flex-col {
 		display: flex;
 		flex-direction: column;
 		justify-content: left;
@@ -51,14 +79,17 @@
 		color: #777777;
 		font-size: 28rpx;
 	}
-	.text-center{
+
+	.text-center {
 		text-align: center;
 	}
-	.header{
+
+	.header {
 		justify-content: space-between;
 		padding: 32rpx 40rpx;
 	}
-	.box{
+
+	.box {
 		height: 440rpx;
 	}
-</style>
\ No newline at end of file
+</style>
diff --git a/components/footer/reward/reward.vue b/components/footer/reward/reward.vue
new file mode 100644
index 0000000..4f0dd09
--- /dev/null
+++ b/components/footer/reward/reward.vue
@@ -0,0 +1,88 @@
+<template>
+	<u-overlay :show="show" class="flex">
+		<view class="box flex flex-col">
+			<u-icon name="close" @click="close" class="icon" color="white" size="50"></u-icon>
+			<view class="content">
+				<view class="x-between flex">
+					<text class="money" v-for="item in moneyList" :key="item">{{item}}</text>
+				</view>
+				<u--input class="mt-2" inputAlign="center" style="background-color: white;" placeholder="请输入其他金额" border="surround" v-model="value" @change="change"></u--input>
+			</view>
+			<text class="font-pay">支付</text>
+		</view>
+	</u-overlay>
+</template>
+
+<script>
+	export default {
+		name: "reward",
+		props: ["show"],
+		data() {
+			return {
+				moneyList: ["1元", "2元", "3元"],
+				value:""
+			};
+		},
+		methods: {
+			close() {
+				this.$emit("onClose")
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.mt-2{
+		margin-top: 24rpx;
+	}
+	.mt-5{
+		margin-top: 50rpx;
+	}
+	.flex {
+		display: flex;
+		justify-content: center;
+		align-items: center;
+	}
+
+	.flex-col {
+		flex-direction: column;
+	}
+
+	.x-between {
+		justify-content: space-between;
+	}
+	.icon{
+		position: absolute;
+		top: 380rpx;
+		right: 150rpx;
+	}
+	.money {
+		display: inline-block;
+		width: 112rpx;
+		height: 64rpx;
+		line-height: 64rpx;
+		background-color: #FEE287;
+		color: #FF7A00;
+		border-radius: 10rpx;
+		text-align: center;
+	}
+	.font-pay{
+		color: white;
+		font-size: 26rpx;
+		font-weight: bold;
+		transform: translate(0,50rpx);
+	}
+	.box {
+		width: 560rpx;
+		height: 678rpx;
+		background-image: url("../../../static/images/reword/bg-reward.png");
+		background-repeat: no-repeat;
+		background-size: contain;
+
+		.content {
+			width: 360rpx;
+			text-align: center;
+			margin-top: 300rpx;
+		}
+	}
+</style>
diff --git a/components/footer/service/service.vue b/components/footer/service/service.vue
new file mode 100644
index 0000000..d62f0d6
--- /dev/null
+++ b/components/footer/service/service.vue
@@ -0,0 +1,72 @@
+<template>
+	<view>
+		<u-popup :show="show" @close="close" mode="center" :round="20">
+            <view class="content">
+                <image class="imageHead" src="@/static/images/service.png" style="width:480rpx;" mode="widthFix"></image>
+				<u-icon class="icon" name="close" color="white" @click="close"></u-icon>
+				<swiper class="flex-8" indicator-dots>
+					<swiper-item class="flex" v-for="item in teacherList" :key="item.teacher">
+						<image :src="item.url" style="width: 240rpx;" mode="widthFix"></image>
+						<text>{{item.title}}</text>
+					</swiper-item>
+				</swiper>
+				<view class="flex-2 message">{{message}}</view>
+            </view>
+		</u-popup>
+	</view>
+</template>
+<script>
+	export default {
+		name:"service",
+		props:["show"],
+      data() {
+        return {
+			message:"扫码或长按二维码,立即咨询",
+			teacherList:[
+				{url:"/static/images/gift/599778030eff04b11420e3d8751bfbb6 1@2x.png",title:"汪老师"},
+				{url:"/static/images/gift/599778030eff04b11420e3d8751bfbb6 1@2x.png",title:"李老师"}
+			]
+        }
+      }, 
+      methods: {
+        close() {
+          this.$emit("onClose")
+        }
+      }
+	}
+</script>
+<style lang="scss" scoped>
+	.message{
+		text-align: center;
+	}
+	.flex{
+		display: flex;
+		flex-direction: column;
+		justify-content: center;
+		align-items: center;
+	}
+	.flex-8{
+		flex:9;
+	}
+	.flex-2{
+		flex:1;
+	}
+	.content{
+		width: 480rpx;
+		height: 624rpx;
+		padding-top: 172rpx;
+		padding-bottom: 10rpx;
+		box-sizing: border-box;
+		display: flex;
+		flex-direction: column;
+		.imageHead{
+			position: absolute;
+			top:-60rpx;
+			}
+	}
+	.icon{
+		position: absolute;
+		right: 24rpx;
+		top: 0rpx;
+	}
+</style>
\ No newline at end of file
diff --git a/components/footer/shopList/shoplist.vue b/components/footer/shopList/shoplist.vue
new file mode 100644
index 0000000..4dc8aba
--- /dev/null
+++ b/components/footer/shopList/shoplist.vue
@@ -0,0 +1,116 @@
+<template>
+	<u-popup :show="show" mode="bottom" @close="onClose" :round="20">
+		<u-icon class="icon" name="close" @click="onClose"></u-icon>
+		<view class="box" style="overflow-y: auto;">
+			<view class="flex my" v-for="(item,index) in list" :key="index+''">
+				<image :src="item.url" style="width: 200rpx;" mode="widthFix"></image>
+				<view class="ml-2">
+					<view>{{item.text}}</view>
+					<view class="flex x-between">
+						<text class="price">¥{{item.price}}</text>
+						<text class="oldprice">{{item.oldPrice}}</text>
+						<text class="btn">立即查看</text>
+					</view>
+				</view>
+			</view>
+		</view>
+	</u-popup>
+</template>
+<script>
+	export default {
+		name: "shoplist",
+		props: ["show"],
+		data() {
+			return {
+				list:[
+					{
+						url:"/static/images/banner.png",
+						text:"卡罗莱全自动机械表时尚男士手表官方新款防水腕表潮",
+						price:"2488.00",
+						oldPrice:"2988.00"
+					},
+					{
+						url:"/static/images/banner.png",
+						text:"卡罗莱全自动机械表时尚男士手表官方新款防水腕表潮",
+						price:"2488.00",
+						oldPrice:"2988.00"
+					},
+					{
+						url:"/static/images/banner.png",
+						text:"卡罗莱全自动机械表时尚男士手表官方新款防水腕表潮",
+						price:"2488.00",
+						oldPrice:"2988.00"
+					},
+					{
+						url:"/static/images/banner.png",
+						text:"卡罗莱全自动机械表时尚男士手表官方新款防水腕表潮",
+						price:"2488.00",
+						oldPrice:"2988.00"
+					},
+					{
+						url:"/static/images/banner.png",
+						text:"卡罗莱全自动机械表时尚男士手表官方新款防水腕表潮",
+						price:"2488.00",
+						oldPrice:"2988.00"
+					},
+					{
+						url:"/static/images/banner.png",
+						text:"卡罗莱全自动机械表时尚男士手表官方新款防水腕表潮",
+						price:"2488.00",
+						oldPrice:"2988.00"
+					}
+				]
+			}
+		},
+		methods: {
+			onClose() {
+				this.$emit("onClose");
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.flex {
+		display: flex;
+	}
+	.ml-2{
+		margin-left: 20rpx;
+	}
+	.my{
+		margin: 40rpx 0;
+	}
+	.x-between{
+		justify-content: space-between;
+		align-items: center;
+	}
+	
+	.icon{
+		position: absolute;
+		top:20rpx;
+		right: 20rpx;
+	}
+	
+	.box {
+		height: 700rpx;
+		padding: 40rpx 40rpx 0 40rpx;
+		
+		.price{
+			color: #FE3368;
+		}
+		.oldprice{
+			color: #999999;
+			text-decoration: line-through;
+			font-size: 14rpx;
+			transform: translate(-30rpx,0);
+		}
+		.btn{
+			color: white;
+			background-color: #FE3368;
+			line-height: 70rpx;
+			padding: 0 20rpx;
+			border-radius: 20rpx;
+			font-size: 20rpx;
+		}
+	}
+</style>
diff --git a/components/footer/sign/sign.vue b/components/footer/sign/sign.vue
new file mode 100644
index 0000000..2c896bb
--- /dev/null
+++ b/components/footer/sign/sign.vue
@@ -0,0 +1,55 @@
+<template>
+	<view class="font">
+		<u-popup :show="show" @close="close" mode="center" :round="20">
+			<view class="content">
+				<image @click="sign" class="mb-2" :src="signUrl" style="height: 252rpx;" mode="heightFix"></image>
+				<text v-if="messageFalg">点击上方按钮,即可完成签到</text>
+			</view>
+			<u-icon name="close" class="icon" @click="close"></u-icon>
+		</u-popup>
+	</view>
+</template>
+<script>
+	export default {
+		name:"sign",
+		props:["show"],
+		data() {
+			return {
+				signUrl:"/static/images/signBefore.png",
+				messageFalg:true
+			}
+		},
+		methods: {
+			close() {
+				this.$emit("onClose")
+			},
+			sign(){
+				this.signUrl = "/static/images/signAfter.png";
+				this.messageFalg = false;
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.mb-2{
+		margin-bottom: 20rpx;
+	}
+	.font{
+		color: #999999;
+		font-size: 24rpx;
+	}
+	.content{
+		height: 360rpx;
+		width: 514rpx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		flex-direction: column;
+		.icon{
+			position: absolute;
+			top: 30rpx;
+			right: 30rpx;
+		}
+	}
+</style>
diff --git a/components/tabs/tabs.vue b/components/tabs/tabs.vue
index c9ef05c..d54a7e3 100644
--- a/components/tabs/tabs.vue
+++ b/components/tabs/tabs.vue
@@ -21,7 +21,7 @@
 				}, {
 					name: '课件',
 				}, {
-					name: '简介'
+					name: '直播详情'
 				}]
 			};
 		},
@@ -36,9 +36,9 @@
 <style lang="scss" scoped>
 	.content {
 		display: flex;
-		border: 1px solid grey;
 		height: 80rpx;
 		font-size: 32rpx;
+		box-shadow: 0 2rpx 10rpx #dadada;;
 		.items {
 			flex: 1;
 			text-align: center;
diff --git a/pages/index/index.vue b/pages/index/index.vue
index 14747e3..1d11344 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -4,10 +4,6 @@
 		<view class="banner"></view>
 		<login></login>
 		<tabs></tabs>
-		<!-- 跑马灯 -->
-		<view class="title">
-			<span>{{title}}</span>
-		</view>
 		<!-- 聊天 -->
 		<view class="chat">
 			<chat></chat>
@@ -31,7 +27,6 @@
 		data() {
 			return {
 				loading: true,
-				title: "第五届汽车博览会精彩能容马上呈现",
 				value:''
 			}
 		},
diff --git a/static/images/gift/0ea40b8376ef8157791b928a339ed9c9_tplv-obj 1@2x.png b/static/images/gift/0ea40b8376ef8157791b928a339ed9c9_tplv-obj 1@2x.png
new file mode 100644
index 0000000..ae4cfb4
Binary files /dev/null and b/static/images/gift/0ea40b8376ef8157791b928a339ed9c9_tplv-obj 1@2x.png differ
diff --git a/static/images/gift/599778030eff04b11420e3d8751bfbb6 1@2x.png b/static/images/gift/599778030eff04b11420e3d8751bfbb6 1@2x.png
new file mode 100644
index 0000000..df94d01
Binary files /dev/null and b/static/images/gift/599778030eff04b11420e3d8751bfbb6 1@2x.png differ
diff --git a/static/images/gift/898bc8988a737b909e952854747c8f7e_tplv-obj 1@2x.png b/static/images/gift/898bc8988a737b909e952854747c8f7e_tplv-obj 1@2x.png
new file mode 100644
index 0000000..1296634
Binary files /dev/null and b/static/images/gift/898bc8988a737b909e952854747c8f7e_tplv-obj 1@2x.png differ
diff --git a/static/images/gift/a7ccf403bd4b727447d9ab06f1d9231c 1@2x.png b/static/images/gift/a7ccf403bd4b727447d9ab06f1d9231c 1@2x.png
new file mode 100644
index 0000000..e8629d0
Binary files /dev/null and b/static/images/gift/a7ccf403bd4b727447d9ab06f1d9231c 1@2x.png differ
diff --git a/static/images/gift/e1972046aa7cc5ae870041a655ddf016_tplv-obj 1@2x.png b/static/images/gift/e1972046aa7cc5ae870041a655ddf016_tplv-obj 1@2x.png
new file mode 100644
index 0000000..4335f23
Binary files /dev/null and b/static/images/gift/e1972046aa7cc5ae870041a655ddf016_tplv-obj 1@2x.png differ
diff --git a/static/images/reword/bg-reward.png b/static/images/reword/bg-reward.png
new file mode 100644
index 0000000..6cad726
Binary files /dev/null and b/static/images/reword/bg-reward.png differ
diff --git a/static/images/service.png b/static/images/service.png
new file mode 100644
index 0000000..9409698
Binary files /dev/null and b/static/images/service.png differ
diff --git a/static/images/shopCart.png b/static/images/shopCart.png
new file mode 100644
index 0000000..cf79f01
Binary files /dev/null and b/static/images/shopCart.png differ
diff --git a/static/images/signAfter.png b/static/images/signAfter.png
new file mode 100644
index 0000000..4ac5a36
Binary files /dev/null and b/static/images/signAfter.png differ
diff --git a/static/images/signBefore.png b/static/images/signBefore.png
new file mode 100644
index 0000000..2ce48f4
Binary files /dev/null and b/static/images/signBefore.png differ
diff --git "a/static/images/\346\216\250\350\215\220\345\225\206\345\223\201@2x.png" "b/static/images/\346\216\250\350\215\220\345\225\206\345\223\201@2x.png"
deleted file mode 100644
index cf79f01..0000000
Binary files "a/static/images/\346\216\250\350\215\220\345\225\206\345\223\201@2x.png" and /dev/null differ
--
libgit2 0.27.0