Bläddra i källkod

Signed-off-by: liuboyan <632697560@qq.com>
提交

liuboyan 4 år sedan
förälder
incheckning
f3f3efeb1f

+ 4 - 0
App.vue

@@ -23,6 +23,10 @@
 		src: url('/static/uni.ttf');
 	}
 
+	page {
+		width: 100%;
+		height: 100%;
+	}
 	/* #endif */
 	::-webkit-scrollbar {
 		display: none;

+ 5 - 0
config/api.js

@@ -1,5 +1,8 @@
 const WX_API_BASE = 'https://www.qianjiadi.com/'
 // const WX_API_BASE = 'https://hubw.jihengcc.cn/'
+// const WX_API_BASE = 'https://hubw.jihengcc.cn/'
+// const WX_API_BASE = 'http://hubw.jihengcc.cn:17080/'
+// const WX_API_BASE = 'http://172.18.1.227:8765/'
 
 module.exports = {
 	//  微信登录
@@ -10,6 +13,8 @@ module.exports = {
 	getIntegral: WX_API_BASE + 'app/member/getUserIntegralById',
 	//  获取积分列表
 	getIntegralList: WX_API_BASE + 'app/member/getIntegralUse',
+	//  查询我的优惠券
+	getCouponList: WX_API_BASE + 'app/member/findCouponListType',
 	//  查询可用优惠券
 	getUsableCouponList: WX_API_BASE + 'app/order/user/addOrderInit/getMemberCouponList',
 	//  查询我的共享种植列表

+ 1 - 1
manifest.json

@@ -1,5 +1,5 @@
 {
-    "name" : "千家地",
+    "name" : "千家地用户端",
     "appid" : "__UNI__ECFC1F2",
     "description" : "千家地用户端",
     "versionName" : "1.0.0",

+ 9 - 9
pages.json

@@ -4,6 +4,11 @@
 	},
 	"pages": [{
 			"path": "pages/index/index",
+			"style": {
+				"navigationBarTitleText": "登录"
+			}
+		}, {
+			"path": "pages/index/home",
 			"style": {
 				"navigationBarTitleText": "首页"
 			}
@@ -25,12 +30,6 @@
 			"style": {
 				"navigationBarTitleText": "个人"
 			}
-		},
-		{
-			"path": "pages/index/login",
-			"style": {
-				"navigationBarTitleText": "登录"
-			}
 		}
 	],
 	"subPackages": [{
@@ -75,7 +74,7 @@
 			"style": {
 				"navigationBarTitleText": "直播详情"
 			}
-		},  {
+		}, {
 			"path": "videoDetail",
 			"style": {
 				"navigationBarTitleText": "短视频详情"
@@ -131,7 +130,8 @@
 		}, {
 			"path": "orderList",
 			"style": {
-				"navigationBarTitleText": "订单中心"
+				"navigationBarTitleText": "订单中心",
+				"backgroundColor": "#f7f7f7"
 			}
 		}, {
 			"path": "orderDetail",
@@ -183,7 +183,7 @@
 		"color": "#9A9A9A",
 		"selectedColor": "#52A63A",
 		"list": [{
-			"pagePath": "pages/index/index",
+			"pagePath": "pages/index/home",
 			"iconPath": "static/images/icon-index.png",
 			"selectedIconPath": "static/images/icon-index-active.png",
 			"text": "首页"

+ 471 - 0
pages/index/home.vue

@@ -0,0 +1,471 @@
+<template>
+	<view class="container">
+		<view class="search">
+			<uni-search-bar radius="100" placeholder="搜索" clearButton="auto" cancelButton="none" bgColor="#ffffff" @confirm="goToGoodList" />
+		</view>
+		<view>
+			<swiper class="swiper" :indicator-dots="false" :autoplay="true" :interval="3000" :duration="500">
+				<swiper-item v-for="(item,index) in advertList" :key="index">
+					<cover-image :src="item.imgPath"></cover-image>
+				</swiper-item>
+			</swiper>
+		</view>
+		<view class="entrance">
+			<view class="entrance-col" @click="goToGoodList(null, 3)">
+				<view class="entrance-button caizhai">自助采摘</view>
+			</view>
+			<view class="entrance-col" @click="goToGoodList(null, 4)">
+				<view class="entrance-button zhongzhi">共享种植</view>
+			</view>
+			<view class="entrance-col" @click="goToGoodList(null, 2)">
+				<view class="entrance-button paimai">拍 卖</view>
+			</view>
+		</view>
+		<view class="index-title">
+			<view class="title-text">精品推荐</view>
+			<view class="title-tip">直播带货,视频推荐</view>
+		</view>
+		<view class="content-box video-box">
+			<view class="video-col" style="margin-right: 11px;" v-if="liveTelecast" @click="goToLiveList(1)">
+				<view class="video-title">直播大厅
+					<view class="circular">
+						<text class="iconfont iconfangxiang"></text>
+					</view>
+				</view>
+				<cover-image class="video-img" :src="liveTelecast.imgUrl"></cover-image>
+				<view class="video-name">{{liveTelecast.liveName}}</view>
+			</view>
+			<view class="video-col" style="margin-left: 11px;" v-if="shortVideo" @click="goToLiveList(2)">
+				<view class="video-title">短视频推荐
+					<view class="circular">
+						<text class="iconfont iconfangxiang"></text>
+					</view>
+				</view>
+				<cover-image class="video-img" :src="shortVideo.coverUrl"></cover-image>
+				<view class="video-name">{{shortVideo.videoName}}</view>
+			</view>
+		</view>
+		<view class="index-title">
+			<view class="title-text">今日特惠</view>
+			<view class="title-tip">精品特价,限量抢购</view>
+		</view>
+		<view class="content-box" style="width: calc(100% - 24px);margin-left: 12px; display: flex;justify-content: space-between;">
+			<view class="discount-col" v-for="(item,index) in discountList" :key="index" @click="goToGoodDetails(item)">
+				<cover-image class="discount-img" :src="item.imgPath"></cover-image>
+				<view class="discount-name">{{item.productName}}</view>
+				<view class="discount-price">
+					<text class="sale-icon">¥</text>
+					<text class="sale-price">{{item.bizPrice}}</text>
+					<text class="price">原价:{{item.originalPrice}}</text>
+				</view>
+			</view>
+		</view>
+		<view class="index-title" style="margin-bottom: 4px;">
+			<view class="title-text">猜你喜欢</view>
+		</view>
+		<scroll-view class="content-box" scroll-y="true" refresher-enabled="true" :refresher-triggered="triggered"
+		 @refresherrefresh="onRefresh" @refresherrestore="onRestore">
+			<view class="goods-row" v-for="(item,index) in goodsList" :key="index" @click="goToGoodDetails(item)">
+				<cover-image class="goods-img" :src="item.imgPath"></cover-image>
+				<view class="goods-info">
+					<view class="goods-name">{{item.productName}}</view>
+					<view class="goods-number">{{item.sellCount}}人付款</view>
+					<text class="goods-price">
+						<text class="sale-icon">¥</text>
+						<text class="sale-price">{{item.bizPrice}}</text>
+						<text class="price">原价:{{item.originalPrice}}</text>
+						<text class="iconfont icongengduo"></text>
+					</text>
+				</view>
+			</view>
+		</scroll-view>
+		<u-top-tips ref="uTips"></u-top-tips>
+	</view>
+</template>
+
+<script>
+	const NET = require('../../utils/request')
+	const API = require('../../config/api')
+	export default {
+		data() {
+			return {
+				liveTelecast: null,
+				shortVideo: null,
+				advertList: [],
+				discountList: [],
+				triggered: false,
+				goodsList: [],
+			}
+		},
+		onLoad() {},
+		onReady() {
+			this.getBaseInfo()
+			setTimeout(() => {
+				this.triggered = true;
+			}, 1000)
+		},
+		methods: {
+			//  查询数据
+			getBaseInfo() {
+				NET.request(API.getAdvert, {}, 'GET').then(res => {
+					this.advertList = res.data
+				}).catch(error => {
+					this.$refs.uTips.show({
+						title: '获取广告列表失败',
+						type: 'warning',
+					})
+				})
+				NET.request(API.getLiveTelecast + '/1/1', {}, 'GET').then(res => {
+					this.liveTelecast = res.data.list.length ? res.data.list[0] : null
+				}).catch(error => {
+					this.$refs.uTips.show({
+						title: '获取直播列表失败',
+						type: 'warning',
+					})
+				})
+				NET.request(API.getShortVideo + '/1/1', {}, 'GET').then(res => {
+					this.shortVideo = res.data.list.length ? res.data.list[0] : null
+				}).catch(error => {
+					this.$refs.uTips.show({
+						title: '获取短视频列表失败',
+						type: 'warning',
+					})
+				})
+				NET.request(API.getPreferentialGoods, {}, 'GET').then(res => {
+					this.discountList = res.data
+				}).catch(error => {
+					this.$refs.uTips.show({
+						title: '获取今日特惠商品列表失败',
+						type: 'warning',
+					})
+				})
+			},
+			//  下拉刷新
+			onRefresh() {
+				this.getPreferGoodsList()
+			},
+			//  刷新终止
+			onRestore() {
+				this.triggered = 'restore'
+			},
+			//  获取猜你喜欢商品列表
+			getPreferGoodsList() {
+				NET.request(API.getPreferGoods, {}, 'GET').then(res => {
+					this.triggered = false;
+					this.goodsList = res.data
+				}).catch(error => {
+					this.$refs.uTips.show({
+						title: '获取猜你喜欢商品列表失败',
+						type: 'warning',
+					})
+				})
+			},
+			//  跳转商品列表
+			goToGoodList(data, type) {
+				uni.navigateTo({
+					url: '/pagesGood/goodList?goodType=' + (type ? type : (1 + '&goodName=' + data.value))
+				});
+			},
+			//  跳转直播大厅
+			goToLiveList(type) {
+				uni.navigateTo({
+					url: '/pagesGood/videoList?videoType=' + type
+				});
+			},
+			//  跳转商品详情
+			goToGoodDetails(item) {
+				uni.navigateTo({
+					url: '/pagesGood/goodDetails?goodId=' + item.productId + '&goodType=' + item.productType
+				});
+			}
+		}
+	}
+</script>
+
+<style lang="less" scoped>
+	.container {
+		background-size: 128px 124px;
+		background-position: center 510px;
+		background-repeat: no-repeat;
+		background-image: url(@/static/images/indexBg.png);
+
+		.search {
+			width: 100%;
+			position: absolute;
+			z-index: 10;
+
+			.uni-searchbar {
+				background-color: transparent;
+			}
+		}
+
+		.swiper {
+			height: 175px;
+			background-color: #6CA63A;
+			position: relative;
+			z-index: -1;
+		}
+
+		.entrance {
+			width: calc(100% - 24px);
+			height: 100px;
+			margin-top: -16px;
+			margin-left: 12px;
+			display: flex;
+			justify-content: space-between;
+			background-color: #FFFFFF;
+			border-radius: 15px;
+			box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.35);
+
+			.entrance-col {
+				width: 96px;
+				height: 72px;
+				margin-top: 15px;
+				background-size: 96px 56px;
+				background-position: center 10px;
+				background-repeat: no-repeat;
+				background-image: url(@/static/images/entrance.png);
+
+				.entrance-button {
+					width: 96px;
+					height: 72px;
+					padding-top: 60px;
+					box-sizing: border-box;
+					text-align: center;
+					font-size: 15px;
+					font-family: PingFang SC;
+					color: #52A63A;
+					line-height: 12px;
+					background-size: 50px;
+					background-position: center top;
+					background-repeat: no-repeat;
+				}
+
+				.caizhai {
+					background-image: url(@/static/images/caizhai.png);
+				}
+
+				.zhongzhi {
+					background-image: url(@/static/images/zhongzhi.png);
+				}
+
+				.paimai {
+					background-image: url(@/static/images/paimai.png);
+				}
+			}
+		}
+
+		.index-title {
+			width: calc(100% - 24px);
+			border-left: 1px solid #6CA63A;
+			padding: 2px 0 2px 5px;
+			margin: 15px 12px 10px 12px;
+
+			.title-text {
+				height: 20px;
+				margin-bottom: 2px;
+				line-height: 20px;
+				font-size: 15px;
+				font-family: PingFang SC;
+				color: #6CA63A;
+			}
+
+			.title-tip {
+				height: 14px;
+				line-height: 14px;
+				font-size: 12px;
+				font-family: PingFang SC;
+				color: #666666;
+			}
+		}
+
+		.content-box {
+			width: 100%;
+
+			.discount-col {
+				width: calc(50% - 6px);
+				background: #FFFFFF;
+				box-shadow: 1px 2px 19px 0px rgba(0, 0, 0, 0.09);
+				border-radius: 5px;
+				padding-bottom: 10px;
+				overflow: hidden;
+
+				.discount-img {
+					height: 170px;
+					object-fit: cover;
+				}
+
+				.discount-name {
+					height: 12px;
+					margin: 7px 6px 10px 6px;
+					font-size: 12px;
+					font-family: PingFang SC;
+					color: #343434;
+					line-height: 14px;
+				}
+
+				.discount-price {
+					width: calc(100% - 12px);
+					margin-left: 6px;
+					height: 18px;
+					line-height: 18px;
+					font-family: PingFang SC;
+					white-space: nowrap;
+					text-overflow: ellipsis;
+					overflow: hidden;
+
+					.sale-icon {
+						font-size: 12px;
+						color: #6CA63A;
+					}
+
+					.sale-price {
+						font-size: 18px;
+						color: #6CA63A;
+						margin-right: 5px;
+					}
+
+					.price {
+						font-size: 10px;
+						text-decoration: line-through;
+						color: #A67954;
+					}
+				}
+			}
+
+			.goods-row {
+				width: calc(100% - 24px);
+				height: 104px;
+				margin: 6px 0 12px 12px;
+				background: #FFFFFF;
+				box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.09);
+				border-radius: 5px;
+				overflow: hidden;
+				display: flex;
+
+				.goods-img {
+					width: 104px;
+					height: 104px;
+					object-fit: cover;
+				}
+
+				.goods-info {
+					width: calc(100% - 104px);
+					padding: 10px 10px 10px 12px;
+					box-sizing: border-box;
+
+					.goods-name {
+						height: 36px;
+						font-size: 15px;
+						font-family: PingFang SC;
+						color: #333333;
+						line-height: 18px;
+						overflow: hidden;
+						text-overflow: ellipsis;
+						display: -webkit-box;
+						-webkit-line-clamp: 2;
+						-webkit-box-orient: vertical;
+						word-wrap: break-word;
+					}
+
+					.goods-number {
+						height: 16px;
+						font-size: 12px;
+						font-family: PingFang SC;
+						color: #666666;
+						line-height: 16px;
+						margin: 6px 0 4px 0;
+					}
+
+					.goods-price {
+						height: 24px;
+						line-height: 24px;
+						font-family: PingFang SC;
+
+						.sale-icon {
+							font-size: 12px;
+							color: #6CA63A;
+							margin-left: -2px;
+						}
+
+						.sale-price {
+							font-size: 22px;
+							color: #6CA63A;
+							margin-right: 6px;
+						}
+
+						.price {
+							font-size: 12px;
+							text-decoration: line-through;
+							color: #A67954;
+						}
+
+						.iconfont {
+							float: right;
+							color: #999999;
+							font-size: 32px;
+							line-height: 28px;
+						}
+					}
+				}
+			}
+		}
+
+		.video-box {
+			width: calc(100% - 24px);
+			margin-left: 12px;
+			box-sizing: border-box;
+			background: #FFFFFF;
+			box-shadow: 1px 2px 19px 0px rgba(0, 0, 0, 0.09);
+			border-radius: 5px;
+			padding: 15px 15px 12px 15px;
+			display: flex;
+
+			.video-col {
+				width: calc(50% - 11px);
+
+				.video-title {
+					height: 16px;
+					line-height: 16px;
+					margin-bottom: 8px;
+					font-size: 15px;
+					font-family: PingFang SC;
+					color: #343434;
+					white-space: nowrap;
+
+					.circular {
+						width: 16px;
+						height: 16px;
+						background-color: #6BA539;
+						border-radius: 50%;
+						margin-left: 6px;
+						text-align: right;
+						display: inline-grid;
+
+						.iconfont {
+							font-size: 14px;
+							color: #FFFFFF;
+							font-weight: bold;
+						}
+					}
+				}
+
+				.video-img {
+					width: 100%;
+					height: 145px;
+					object-fit: cover;
+				}
+
+				.video-name {
+					height: 16px;
+					margin-top: 10px;
+					line-height: 16px;
+					text-align: center;
+					font-size: 15px;
+					font-family: PingFang SC;
+					color: #343434;
+				}
+			}
+		}
+	}
+</style>

+ 140 - 434
pages/index/index.vue

@@ -1,129 +1,91 @@
 <template>
 	<view class="container">
-		<view class="search">
-			<uni-search-bar radius="100" placeholder="搜索" clearButton="auto" cancelButton="none" bgColor="#ffffff" @confirm="goToGoodList" />
-		</view>
-		<view>
-			<swiper class="swiper" :indicator-dots="false" :autoplay="true" :interval="3000" :duration="500">
-				<swiper-item v-for="(item,index) in advertList" :key="index">
-					<cover-image :src="item.imgPath"></cover-image>
-				</swiper-item>
-			</swiper>
-		</view>
-		<view class="entrance">
-			<view class="entrance-col" @click="goToGoodList(null, 3)">
-				<view class="entrance-button caizhai">自助采摘</view>
-			</view>
-			<view class="entrance-col" @click="goToGoodList(null, 4)">
-				<view class="entrance-button zhongzhi">共享种植</view>
-			</view>
-			<view class="entrance-col" @click="goToGoodList(null, 2)">
-				<view class="entrance-button paimai">拍 卖</view>
-			</view>
-		</view>
-		<view class="index-title">
-			<view class="title-text">精品推荐</view>
-			<view class="title-tip">直播带货,视频推荐</view>
-		</view>
-		<view class="content-box video-box">
-			<view class="video-col" style="margin-right: 11px;" v-if="liveTelecast" @click="goToLiveList(1)">
-				<view class="video-title">直播大厅
-					<view class="circular">
-						<text class="iconfont iconfangxiang"></text>
-					</view>
-				</view>
-				<cover-image class="video-img" :src="liveTelecast.imgUrl"></cover-image>
-				<view class="video-name">{{liveTelecast.liveName}}</view>
-			</view>
-			<view class="video-col" style="margin-left: 11px;" v-if="shortVideo" @click="goToLiveList(2)">
-				<view class="video-title">短视频推荐
-					<view class="circular">
-						<text class="iconfont iconfangxiang"></text>
-					</view>
-				</view>
-				<cover-image class="video-img" :src="shortVideo.coverUrl"></cover-image>
-				<view class="video-name">{{shortVideo.videoName}}</view>
-			</view>
-		</view>
-		<view class="index-title">
-			<view class="title-text">今日特惠</view>
-			<view class="title-tip">精品特价,限量抢购</view>
-		</view>
-		<view class="content-box" style="width: calc(100% - 24px);margin-left: 12px; display: flex;justify-content: space-between;">
-			<view class="discount-col" v-for="(item,index) in discountList" :key="index" @click="goToGoodDetails(item)">
-				<cover-image class="discount-img" :src="item.imgPath"></cover-image>
-				<view class="discount-name">{{item.productName}}</view>
-				<view class="discount-price">
-					<text class="sale-icon">¥</text>
-					<text class="sale-price">{{item.bizPrice}}</text>
-					<text class="price">原价:{{item.originalPrice}}</text>
-				</view>
-			</view>
-		</view>
-		<view class="index-title" style="margin-bottom: 4px;">
-			<view class="title-text">猜你喜欢</view>
-		</view>
-		<scroll-view class="content-box" scroll-y="true" refresher-enabled="true" :refresher-triggered="triggered"
-		 @refresherrefresh="onRefresh" @refresherrestore="onRestore">
-			<view class="goods-row" v-for="(item,index) in goodsList" :key="index" @click="goToGoodDetails(item)">
-				<cover-image class="goods-img" :src="item.imgPath"></cover-image>
-				<view class="goods-info">
-					<view class="goods-name">{{item.productName}}</view>
-					<view class="goods-number">{{item.sellCount}}人付款</view>
-					<text class="goods-price">
-						<text class="sale-icon">¥</text>
-						<text class="sale-price">{{item.bizPrice}}</text>
-						<text class="price">原价:{{item.originalPrice}}</text>
-						<text class="iconfont icongengduo"></text>
-					</text>
-				</view>
-			</view>
-		</scroll-view>
+		<image class="authorize-bg" src="../../static/images/loginBg.png"></image>
+		<image class="logo" src="../../static/images/loginLogo.png"></image>
+		<view class="authorize-box">
+			<button class="authorize-button" open-type="getUserInfo" @click="appLoginWx()">
+				<view class="button-text">获取角色信息</view>
+				<view class="iconfont iconshangchuan1"></view>
+			</button>
+			<view class="authorize-info">{{userNmae}}</view>
+			<!-- <button class="authorize-button" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">
+				<view class="button-text">获取手机号</view>
+				<view class="iconfont iconshangchuan1"></view>
+			</button>
+			<view class="authorize-info">{{wxPhoneData? '****************' : ''}}</view> -->
+			<view class="authorize-login" @click="getUserInfo">登录</view>
+		</view>{{tipxx}}
 		<u-top-tips ref="uTips"></u-top-tips>
 	</view>
 </template>
 
 <script>
-	const NET = require('../../utils/request')
-	const API = require('../../config/api')
+	const NET = require('@/utils/request')
+	const API = require('@/config/api')
 	export default {
 		data() {
 			return {
-				liveTelecast: null,
-				shortVideo: null,
-				advertList: [],
-				discountList: [],
-				triggered: false,
-				goodsList: [],
+				wxLoginData: null,
+				wxPhoneData: null,
+				userNmae: '',
+				timer: false,
+				tipxx: '',
 			}
 		},
-		onLoad() {
-		},
-		onReady(){
-			this.getBaseInfo()
+		onReady() {
 			this.appLoginWx()
 			setTimeout(() => {
-				this.triggered = true;
-			}, 1000)
+				this.timer = true
+			}, 10)
 		},
 		methods: {
+			getPhoneNumber(e) {
+				if (this.wxLoginData && this.timer) {
+					let _that = this
+					wx.checkSession({
+						success(res) {
+							_that.tipxx = '未过期'
+						},
+						fail(err) {
+							_that.tipxx = '已过期'
+						}
+					})
+					uni.setStorage({
+						key: 'wxPhoneData',
+						data: {
+							encryptedData2: e.detail.encryptedData,
+							iv2: e.detail.iv,
+						}
+					})
+					this.wxPhoneData = uni.getStorageSync("wxPhoneData")
+				} else {
+					this.$refs.uTips.show({
+						title: '请先等待角色信息获取完成',
+						type: 'warning',
+					})
+				}
+			},
 			//  获取个人数据
-			getUserInfo(info) {
-				NET.request(API.WxLogin, uni.getStorageSync("wxLoginData"), 'POST').then(res => {
-					console.log(res)
+			getUserInfo() {
+				NET.request(API.WxLogin, {
+					...this.wxLoginData,
+					// ...this.wxPhoneData,
+				}, 'POST').then(res => {
 					uni.setStorage({
 						key: 'token',
 						data: res.data.token
-					});
+					})
 					uni.setStorage({
 						key: 'userData',
 						data: {
-							headImage: info.userInfo.avatarUrl,
+							headImage: JSON.parse(this.wxLoginData.rawData).avatarUrl,
 							userName: res.data.name,
 							userId: res.data.userId,
 						}
-					});
-					this.getBaseInfo()
+					})
+					uni.switchTab({
+						url: '/pages/index/home'
+					})
 				}).catch(error => {
 					this.$refs.uTips.show({
 						title: '微信登录授权失败',
@@ -152,10 +114,15 @@
 													rawData: info.rawData,
 													signature: info.signature,
 												}
-											});
-											this.getUserInfo(info)
+											})
+											this.wxLoginData = uni.getStorageSync("wxLoginData")
+											this.userNmae = JSON.parse(this.wxLoginData.rawData).nickName
+											this.$refs.uTips.show({
+												title: '获取角色信息成功',
+												type: 'success',
+											})
 										},
-										fail: () => {
+										fail: (error) => {
 											this.$refs.uTips.show({
 												title: '微信登录授权失败',
 												type: 'warning',
@@ -179,364 +146,103 @@
 					}
 				});
 			},
-			//  查询数据
-			getBaseInfo(){
-					NET.request(API.getAdvert, {}, 'GET').then(res => {
-						this.advertList = res.data
-					}).catch(error => {
-						this.$refs.uTips.show({
-							title: '获取广告列表失败',
-							type: 'warning',
-						})
-					})
-					NET.request(API.getLiveTelecast + '/1/1', {}, 'GET').then(res => {
-						this.liveTelecast = res.data.list.length ? res.data.list[0] : null
-					}).catch(error => {
-						this.$refs.uTips.show({
-							title: '获取直播列表失败',
-							type: 'warning',
-						})
-					})
-					NET.request(API.getShortVideo + '/1/1', {}, 'GET').then(res => {
-						this.shortVideo = res.data.list.length ? res.data.list[0] : null
-					}).catch(error => {
-						this.$refs.uTips.show({
-							title: '获取短视频列表失败',
-							type: 'warning',
-						})
-					})
-					NET.request(API.getPreferentialGoods, {}, 'GET').then(res => {
-						this.discountList = res.data
-					}).catch(error => {
-						this.$refs.uTips.show({
-							title: '获取今日特惠商品列表失败',
-							type: 'warning',
-						})
-					})
-			},
-			//  下拉刷新
-			onRefresh() {
-				this.getPreferGoodsList()
-			},
-			//  刷新终止
-			onRestore() {
-				this.triggered = 'restore'
-			},
-			//  获取猜你喜欢商品列表
-			getPreferGoodsList() {
-				NET.request(API.getPreferGoods, {}, 'GET').then(res => {
-					this.triggered = false;
-					this.goodsList = res.data
-				}).catch(error => {
-					this.$refs.uTips.show({
-						title: '获取猜你喜欢商品列表失败',
-						type: 'warning',
-					})
-				})
-			},
-			//  跳转商品列表
-			goToGoodList(data, type) {
-				uni.navigateTo({
-					url: '/pagesGood/goodList?goodType=' + (type ? type : (1 + '&goodName=' + data.value))
-				});
-			},
-			//  跳转直播大厅
-			goToLiveList(type) {
-				uni.navigateTo({
-					url: '/pagesGood/videoList?videoType=' + type
-				});
-			},
-			//  跳转商品详情
-			goToGoodDetails(item) {
-				uni.navigateTo({
-					url: '/pagesGood/goodDetails?goodId=' + item.productId + '&goodType=' + item.productType
-				});
-			}
-		}
+		},
 	}
 </script>
 
 <style lang="less" scoped>
+	page {
+		width: 100%;
+		height: 100%;
+	}
+
 	.container {
-		background-size: 128px 124px;
-		background-position: center 510px;
-		background-repeat: no-repeat;
-		background-image: url(@/static/images/indexBg.png);
+		width: 100%;
+		height: 100%;
+		float: left;
+		position: absolute;
 
-		.search {
+		.authorize-bg {
 			width: 100%;
+			height: 100%;
 			position: absolute;
-			z-index: 10;
-
-			.uni-searchbar {
-				background-color: transparent;
-			}
+			left: 0;
+			top: 0;
 		}
 
-		.swiper {
-			height: 175px;
-			background-color: #6CA63A;
+		.logo {
+			width: 90px;
+			height: 90px;
+			float: left;
+			position: absolute;
+			left: 50%;
+			top: 40px;
+			transform: translateX(-50%);
 		}
 
-		.entrance {
-			width: calc(100% - 24px);
-			height: 100px;
-			margin-top: -16px;
-			margin-left: 12px;
-			display: flex;
-			justify-content: space-between;
-			background-color: #FFFFFF;
-			border-radius: 15px;
-			box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.35);
-
-			.entrance-col {
-				width: 96px;
-				height: 72px;
-				margin-top: 15px;
-				background-size: 96px 56px;
-				background-position: center 10px;
-				background-repeat: no-repeat;
-				background-image: url(@/static/images/entrance.png);
+		.authorize-box {
+			width: 230px;
+			float: left;
+			position: absolute;
+			left: 50%;
+			top: 170px;
+			transform: translateX(-50%);
+
+			.authorize-button {
+				width: 230px;
+				height: 30px;
+				float: left;
+				padding: 0px;
+				background-color: transparent;
+				border: none;
+				box-shadow: none;
 
-				.entrance-button {
-					width: 96px;
-					height: 72px;
-					padding-top: 60px;
-					box-sizing: border-box;
-					text-align: center;
+				.button-text {
+					height: 30px;
+					float: left;
+					line-height: 30px;
 					font-size: 15px;
 					font-family: PingFang SC;
-					color: #52A63A;
-					line-height: 12px;
-					background-size: 50px;
-					background-position: center top;
-					background-repeat: no-repeat;
-				}
-
-				.caizhai {
-					background-image: url(@/static/images/caizhai.png);
+					color: #FEFEFE;
+					margin-right: 4px;
 				}
 
-				.zhongzhi {
-					background-image: url(@/static/images/zhongzhi.png);
-				}
-
-				.paimai {
-					background-image: url(@/static/images/paimai.png);
+				.iconfont {
+					float: left;
+					color: #FEFEFE;
+					font-size: 28px;
+					line-height: 30px;
 				}
 			}
-		}
-
-		.index-title {
-			width: calc(100% - 24px);
-			border-left: 1px solid #6CA63A;
-			padding: 2px 0 2px 5px;
-			margin: 15px 12px 10px 12px;
 
-			.title-text {
-				height: 20px;
-				margin-bottom: 2px;
-				line-height: 20px;
-				font-size: 15px;
-				font-family: PingFang SC;
-				color: #6CA63A;
+			.authorize-button:after {
+				border: none;
 			}
 
-			.title-tip {
-				height: 14px;
-				line-height: 14px;
+			.authorize-info {
+				width: 230px;
+				height: 36px;
+				float: left;
+				margin-bottom: 30px;
+				border-bottom: 1px solid #FFFFFF;
 				font-size: 12px;
 				font-family: PingFang SC;
-				color: #666666;
-			}
-		}
-
-		.content-box {
-			width: 100%;
-
-			.discount-col {
-				width: calc(50% - 6px);
-				background: #FFFFFF;
-				box-shadow: 1px 2px 19px 0px rgba(0, 0, 0, 0.09);
-				border-radius: 5px;
-				padding-bottom: 10px;
-				overflow: hidden;
-
-				.discount-img {
-					height: 170px;
-					object-fit: cover;
-				}
-
-				.discount-name {
-					height: 12px;
-					margin: 7px 6px 10px 6px;
-					font-size: 12px;
-					font-family: PingFang SC;
-					color: #343434;
-					line-height: 14px;
-				}
-
-				.discount-price {
-					width: calc(100% - 12px);
-					margin-left: 6px;
-					height: 18px;
-					line-height: 18px;
-					font-family: PingFang SC;
-					white-space: nowrap;
-					text-overflow: ellipsis;
-					overflow: hidden;
-
-					.sale-icon {
-						font-size: 12px;
-						color: #6CA63A;
-					}
-
-					.sale-price {
-						font-size: 18px;
-						color: #6CA63A;
-						margin-right: 5px;
-					}
-
-					.price {
-						font-size: 10px;
-						text-decoration: line-through;
-						color: #A67954;
-					}
-				}
+				color: #FEFEFE;
+				line-height: 36px;
 			}
 
-			.goods-row {
-				width: calc(100% - 24px);
-				height: 104px;
-				margin: 6px 0 12px 12px;
+			.authorize-login {
+				width: 220px;
+				height: 36px;
+				float: left;
+				margin: 10px 5px;
 				background: #FFFFFF;
-				box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.09);
-				border-radius: 5px;
-				overflow: hidden;
-				display: flex;
-
-				.goods-img {
-					width: 104px;
-					height: 104px;
-					object-fit: cover;
-				}
-
-				.goods-info {
-					width: calc(100% - 104px);
-					padding: 10px 10px 10px 12px;
-					box-sizing: border-box;
-
-					.goods-name {
-						height: 36px;
-						font-size: 15px;
-						font-family: PingFang SC;
-						color: #333333;
-						line-height: 18px;
-						overflow: hidden;
-						text-overflow: ellipsis;
-						display: -webkit-box;
-						-webkit-line-clamp: 2;
-						-webkit-box-orient: vertical;
-						word-wrap: break-word;
-					}
-
-					.goods-number {
-						height: 16px;
-						font-size: 12px;
-						font-family: PingFang SC;
-						color: #666666;
-						line-height: 16px;
-						margin: 6px 0 4px 0;
-					}
-
-					.goods-price {
-						height: 24px;
-						line-height: 24px;
-						font-family: PingFang SC;
-
-						.sale-icon {
-							font-size: 12px;
-							color: #6CA63A;
-							margin-left: -2px;
-						}
-
-						.sale-price {
-							font-size: 22px;
-							color: #6CA63A;
-							margin-right: 6px;
-						}
-
-						.price {
-							font-size: 12px;
-							text-decoration: line-through;
-							color: #A67954;
-						}
-
-						.iconfont {
-							float: right;
-							color: #999999;
-							font-size: 32px;
-							line-height: 28px;
-						}
-					}
-				}
-			}
-		}
-
-		.video-box {
-			width: calc(100% - 24px);
-			margin-left: 12px;
-			box-sizing: border-box;
-			background: #FFFFFF;
-			box-shadow: 1px 2px 19px 0px rgba(0, 0, 0, 0.09);
-			border-radius: 5px;
-			padding: 15px 15px 12px 15px;
-			display: flex;
-
-			.video-col {
-				width: calc(50% - 11px);
-
-				.video-title {
-					height: 16px;
-					line-height: 16px;
-					margin-bottom: 8px;
-					font-size: 15px;
-					font-family: PingFang SC;
-					color: #343434;
-					white-space: nowrap;
-
-					.circular {
-						width: 16px;
-						height: 16px;
-						background-color: #6BA539;
-						border-radius: 50%;
-						margin-left: 6px;
-						text-align: right;
-						display: inline-grid;
-
-						.iconfont {
-							font-size: 14px;
-							color: #FFFFFF;
-							font-weight: bold;
-						}
-					}
-				}
-
-				.video-img {
-					width: 100%;
-					height: 145px;
-					object-fit: cover;
-				}
-
-				.video-name {
-					height: 16px;
-					margin-top: 10px;
-					line-height: 16px;
-					text-align: center;
-					font-size: 15px;
-					font-family: PingFang SC;
-					color: #343434;
-				}
+				border-radius: 20px;
+				font-size: 15px;
+				font-family: PingFang SC;
+				color: #52A63A;
+				line-height: 36px;
+				text-align: center;
 			}
 		}
 	}

+ 0 - 96
pages/index/login.vue

@@ -1,96 +0,0 @@
-<template>
-	<view>
-		<u-top-tips ref="uTips"></u-top-tips>
-	</view>
-</template>
-
-<script>
-	const NET = require('../../utils/request')
-	const API = require('../../config/api')
-	export default {
-		data() {
-			return {}
-		},
-		onReady() {
-			this.appLoginWx()
-		},
-		methods: {
-			//  获取个人数据
-			getUserInfo(info) {
-				NET.request(API.WxLogin, uni.getStorageSync("wxLoginData"), 'POST').then(res => {
-					uni.setStorage({
-						key: 'token',
-						data: res.data.token
-					});
-					uni.setStorage({
-						key: 'userData',
-						data: {
-							headImage: info.userInfo.avatarUrl,
-							userName: res.data.name,
-							userId: res.data.userId,
-						}
-					});
-					uni.switchTab({
-						url: '/pages/index/index'
-					});
-				}).catch(error => {
-					this.$refs.uTips.show({
-						title: '微信登录授权失败',
-						type: 'warning',
-					})
-				})
-			},
-			//  获取登录权限
-			appLoginWx() {
-				uni.getProvider({
-					service: 'oauth',
-					success: (res) => {
-						if (~res.provider.indexOf('weixin')) {
-							uni.login({
-								provider: 'weixin',
-								success: (res2) => {
-									uni.getUserInfo({
-										provider: 'weixin',
-										success: (info) => {
-											uni.setStorage({
-												key: 'wxLoginData',
-												data: {
-													code: res2.code,
-													encryptedData: info.encryptedData,
-													iv: info.iv,
-													rawData: info.rawData,
-													signature: info.signature,
-												}
-											});
-											this.getUserInfo(info)
-										},
-										fail: () => {
-											this.$refs.uTips.show({
-												title: '微信登录授权失败',
-												type: 'warning',
-											})
-										}
-									})
-								},
-								fail: () => {
-									this.$refs.uTips.show({
-										title: '微信登录授权失败',
-										type: 'warning',
-									})
-								}
-							})
-						} else {
-							this.$refs.uTips.show({
-								title: '请先安装微信或升级版本',
-								type: 'warning',
-							})
-						}
-					}
-				});
-			},
-		},
-	}
-</script>
-
-<style>
-</style>

+ 4 - 0
pages/shop/index.vue

@@ -192,6 +192,7 @@
 	.container {
 		width: 100%;
 		height: 100%;
+		position: absolute;
 
 		.search-box {
 			width: 100%;
@@ -212,6 +213,7 @@
 			height: calc(100% - 58px);
 			border-right: 1px solid #DDDDDD;
 			float: left;
+			overflow-y: auto;
 
 			.sort-left-row {
 				width: 100%;
@@ -244,6 +246,7 @@
 				padding: 9px 2px 0px 7px;
 				box-sizing: border-box;
 				white-space: nowrap;
+				float: left;
 
 				.sort-right-col {
 					height: 26px;
@@ -272,6 +275,7 @@
 				padding: 6px 0 0px 0;
 				box-sizing: border-box;
 				overflow-y: auto;
+				float: left;
 
 				.goods-row {
 					width: calc(100% - 24px);

+ 6 - 5
pagesGood/evaluateList.vue

@@ -1,20 +1,20 @@
 <template>
 	<view class="container">
 		<scroll-view class="message-list-box" scroll-y="true" @scrolltolower="handleLoadMore()">
-			<view class="assess-row" v-for="(item,index) in assessList" :key="index">
+			<view class="assess-row" v-for="(item, index1) in assessList" :key="index1">
 				<cover-image class="assess-head" :src="item.headimg"></cover-image>
 				<view class="assess-info">
 					<view class="assess-name">{{item.nickname}}</view>
 					<view class="assess-date">{{item.evaluateTime}}</view>
 					<view class="assess-sore-box">
-						<u-rate v-model="item.score" active-color="#FFAE21"></u-rate>
+						<u-rate v-model="item.score" active-color="#FFAE21" disabled></u-rate>
 					</view>
 					<view class="assess-text">{{item.evaluateContent}}</view>
 					<view class="assess-img-box">
-						<cover-image class="img-col" v-for="site in item.evaluateImgs" :key="site" :src="site.imgUrl"></cover-image>
+						<cover-image class="img-col" v-for="(site, index2) in item.evaluateImgs" :key="index2" :src="site.imgUrl"></cover-image>
 					</view>
 				</view>
-				<view class="shop-reply-box">
+				<view class="shop-reply-box" v-if="item.replyContent">
 					<view class="shop-head">
 						<view class="iconfont icondianpu"></view>
 						<view class="shop-name">店家回复</view>
@@ -92,11 +92,11 @@
 				float: left;
 				border-top: 1px solid #F6F6F6;
 				padding: 12px 0;
-				display: flex;
 
 				.assess-head {
 					width: 50px;
 					height: 50px;
+					float: left;
 					object-fit: cover;
 					border-radius: 50%;
 				}
@@ -104,6 +104,7 @@
 				.assess-info {
 					width: calc(100% - 62px);
 					margin-left: 12px;
+					float: left;
 
 					.assess-name {
 						height: 18px;

+ 1 - 1
pagesGood/goodDetails.vue

@@ -44,7 +44,7 @@
 					<view class="assess-name">{{item.nickname}}</view>
 					<view class="assess-date">{{item.evaluateTime}}</view>
 					<view class="assess-sore-box">
-						<u-rate v-model="item.score" active-color="#FFAE21"></u-rate>
+						<u-rate v-model="item.score" active-color="#FFAE21" disabled></u-rate>
 					</view>
 					<view class="assess-text">{{item.evaluateContent}}</view>
 					<view class="assess-img-box">

+ 18 - 0
pagesGood/videoDetail.vue

@@ -1,5 +1,8 @@
 <template>
 	<view class="container">
+		<view class="video-box" @click="popupShow = true">
+			<video id="myVideo" class="my-video" :src="videoUrl" @error="videoErrorCallback" controls></video>
+		</view>
 		<view class="popup-open" @click="showGoods()">
 			<view class="iconfont iconzhibo-shangpin"></view>
 		</view>
@@ -35,10 +38,12 @@
 	export default {
 		data() {
 			return {
+				videoUrl: '',
 				goodsList: [],
 			}
 		},
 		onLoad(options) {
+			this.videoUrl = uni.getStorageSync("videoUrl")
 			NET.request(API.getShortGoodsDetail + options.videoId, {}, 'GET').then(res => {
 				this.goodsList = res.data
 			}).catch(res => {
@@ -78,6 +83,19 @@
 		float: left;
 		position: relative;
 
+		.video-box {
+			width: 100%;
+			height: 100%;
+			float: left;
+			position: absolute;
+
+			.my-video {
+				width: 100%;
+				height: 100%;
+				position: absolute;
+			}
+		}
+
 		.popup-open {
 			width: 50px;
 			height: 50px;

+ 7 - 1
pagesGood/videoList.vue

@@ -83,7 +83,13 @@
 				})
 			},
 			//  跳转直播详情
-			goToVideoDetail() {
+			goToVideoDetail(item) {
+				if (this.videoType != 1) {
+					uni.setStorage({
+						key: 'videoUrl',
+						data: item.mediaUrl
+					})
+				}
 				uni.navigateTo({
 					url: '/pagesGood/'(this.videoType == 1 ? ('liveDetail?liveId=' + item.liveId) :
 						('videoDetail?videoId=' + item.videoId))

+ 90 - 20
pagesMain/couponList.vue

@@ -4,17 +4,56 @@
 			<u-tabs :list="tabList" :is-scroll="false" :current="tabIndex" @change="changeTabs" font-size="30" active-color="#52A63A"
 			 inactive-color="#666666" :bold="false" height="90" bar-width="120"></u-tabs>
 		</view>
-		<view class="coupon-row" v-for="(item, index) in couponList" :key="index">
-			<view class="coupon-left">
-				<view class="coupon-left-price"><text style="font-size: 16px;">¥</text>{{item.discountAmount}}</view>
-				<view class="coupon-left-text">满减金额</view>
+		<view class="coupon-box" v-if="tabIndex == 0">
+			<view class="coupon-row" v-for="(site, index2) in couponList1" :key="index2">
+				<view class="coupon-left">
+					<view class="coupon-left-price"><text style="font-size: 16px;">¥</text>{{site.discountAmount}}</view>
+					<view class="coupon-left-text">满减金额</view>
+				</view>
+				<view class="coupon-info">
+					<view class="coupon-text1">{{site.couponName}}</view>
+					<view class="coupon-text1" style="margin-bottom: 4px;">满{{site.fullAmount}}减{{site.discountAmount}}</view>
+					<view class="coupon-text2">{{site.couponType == 1 ? '仅限用于' + site.name + '的店铺' : ''}}</view>
+					<view class="coupon-text2" style="color: #999999;">有效期:{{site.term}}</view>
+				</view>
 			</view>
-			<view class="coupon-info">
-				<view class="coupon-text1">{{item.couponName}}</view>
-				<view class="coupon-text1" style="margin-bottom: 4px;">满{{item.fullAmount}}减{{item.discountAmount}}</view>
-				<view class="coupon-text2">{{item.couponType == 1 ? '仅限用于' + item.supplierName + '的店铺' : ''}}</view>
-				<view class="coupon-text2" style="color: #999999;">有效期:{{item.publishStartTime}}~{{item.useEndTime}}</view>
+			<u-divider :color="isOver ? '#909399' : '#51A539'" :border-color="isOver ? '#909399' : '#51A539'" @click="handleLoadMore()">
+				<u-loading mode="circle" v-if="loadingData"></u-loading>{{loadingData ? '加载中' : (isOver ? '没有更多了' : '点击加载更多')}}
+			</u-divider>
+		</view>
+		<view class="coupon-box" v-if="tabIndex == 1">
+			<view class="coupon-row" v-for="(site, index2) in couponList2" :key="index2">
+				<view class="coupon-left">
+					<view class="coupon-left-price"><text style="font-size: 16px;">¥</text>{{site.discountAmount}}</view>
+					<view class="coupon-left-text">满减金额</view>
+				</view>
+				<view class="coupon-info">
+					<view class="coupon-text1">{{site.couponName}}</view>
+					<view class="coupon-text1" style="margin-bottom: 4px;">满{{site.fullAmount}}减{{site.discountAmount}}</view>
+					<view class="coupon-text2">{{site.couponType == 1 ? '仅限用于' + site.name + '的店铺' : ''}}</view>
+					<view class="coupon-text2" style="color: #999999;">有效期:{{site.term}}</view>
+				</view>
+			</view>
+			<u-divider :color="isOver ? '#909399' : '#51A539'" :border-color="isOver ? '#909399' : '#51A539'" @click="handleLoadMore()">
+				<u-loading mode="circle" v-if="loadingData"></u-loading>{{loadingData ? '加载中' : (isOver ? '没有更多了' : '点击加载更多')}}
+			</u-divider>
+		</view>
+		<view class="coupon-box" v-if="tabIndex == 2">
+			<view class="coupon-row" v-for="(site, index2) in couponList3" :key="index2">
+				<view class="coupon-left">
+					<view class="coupon-left-price"><text style="font-size: 16px;">¥</text>{{site.discountAmount}}</view>
+					<view class="coupon-left-text">满减金额</view>
+				</view>
+				<view class="coupon-info">
+					<view class="coupon-text1">{{site.couponName}}</view>
+					<view class="coupon-text1" style="margin-bottom: 4px;">满{{site.fullAmount}}减{{site.discountAmount}}</view>
+					<view class="coupon-text2">{{site.couponType == 1 ? '仅限用于' + site.name + '的店铺' : ''}}</view>
+					<view class="coupon-text2" style="color: #999999;">有效期:{{site.term}}</view>
+				</view>
 			</view>
+			<u-divider :color="isOver ? '#909399' : '#51A539'" :border-color="isOver ? '#909399' : '#51A539'" @click="handleLoadMore()">
+				<u-loading mode="circle" v-if="loadingData"></u-loading>{{loadingData ? '加载中' : (isOver ? '没有更多了' : '点击加载更多')}}
+			</u-divider>
 		</view>
 		<u-top-tips ref="uTips"></u-top-tips>
 	</view>
@@ -37,27 +76,54 @@
 						name: '已使用'
 					}
 				],
-				couponList: [],
+				loadingData: false,
+				isOver: false,
+				pageIndex1: 1,
 				couponList1: [],
+				pageIndex2: 1,
 				couponList2: [],
+				pageIndex3: 1,
 				couponList3: [],
 			}
 		},
 		onLoad() {
-			NET.request(API.getUsableCouponList, {}, 'GET').then(res => {
-				this.couponList = res.data
-			}).catch(error => {
-				this.$refs.uTips.show({
-					title: '获取优惠券列表失败',
-					type: 'warning',
-				})
-			})
+			this.getList()
 		},
 		methods: {
 			//  切换tab
 			changeTabs(index) {
-				this.couponList = this['couponList' + (index + 1)]
-				this.tabIndex = index;
+				this.tabIndex = index
+				this['pageIndex' + (index + 1)] = 1
+				this['couponList' + (index + 1)] = []
+				this.isOver = false
+				this.loadingData = false
+				this.getList()
+			},
+			//  懒加载
+			handleLoadMore() {
+				if (!this.isOver) {
+					this['pageIndex' + (this.tabIndex + 1)]++
+					this.getList()
+				}
+			},
+			//  获取列表数据
+			getList() {
+				this.loadingData = true
+				NET.request(API.getCouponList, {
+					isUse: this.tabIndex == 0 ? null : (this.tabIndex == 1 ? 0 : 1),
+					pageIndex: this['pageIndex' + (this.tabIndex + 1)],
+					pageSize: 10,
+				}, 'POST').then(res => {
+					this.loadingData = false
+					this.isOver = res.data.list.length != 10
+					this['couponList' + (this.tabIndex + 1)] = this['couponList' + (this.tabIndex + 1)].concat(res.data.list)
+				}).catch(error => {
+					this.loadingData = false
+					this.$refs.uTips.show({
+						title: error.data.msg,
+						type: 'warning',
+					})
+				})
 			},
 		},
 	}
@@ -164,4 +230,8 @@
 			}
 		}
 	}
+
+	/deep/.u-divider {
+		background-color: transparent !important;
+	}
 </style>

+ 3 - 3
pagesMain/orderDetail.vue

@@ -774,7 +774,6 @@
 
 				.order-info-row {
 					width: 100%;
-					height: 26px;
 					float: left;
 					box-sizing: border-box;
 					padding: 0 15px;
@@ -782,14 +781,15 @@
 					font-family: PingFang SC;
 					color: #333333;
 					line-height: 26px;
+					word-break:break-all; 
 				}
 			}
 		}
 
 		.order-handle {
 			width: 100%;
-			position: fixed;
-			bottom: 0px;
+			height: 50px;
+			float: left;
 			border-top: 1px solid #cccccc;
 		}
 	}

+ 14 - 5
pagesMain/orderItem.vue

@@ -37,7 +37,7 @@
 			<u-button size="medium" :plain="true" type="success" shape="circle" :ripple="true" :hair-line="false" class="handle-button"
 			 v-if="tabIndex == 4" @click.stop="handleOrder(6)">追踪物流</u-button>
 			<u-button size="medium" :plain="true" type="success" shape="circle" :ripple="true" :hair-line="false" class="handle-button"
-			 v-if="tabIndex == 5 && orderData.evaluateReplyStatus == 1" @click.stop="handleOrder(7)">评价</u-button>
+			 v-if="tabIndex == 5 && orderData.evaluateStatus == 1" @click.stop="handleOrder(7)">评价</u-button>
 		</view>
 		<u-modal v-model="modalShow" :content="modalContent" @confirm="submitHandle" :async-close="true" :show-cancel-button="true"></u-modal>
 		<u-top-tips ref="uTips"></u-top-tips>
@@ -150,7 +150,7 @@
 				} else if (type == 6) {
 					//  追踪物流
 					uni.navigateTo({
-						url: '/pagesMain/logisticsDeatil?logisticCode=' + this.orderData.logisticCode
+						url: '/pagesMain/logisticsDeatil?logisticCode=' + this.orderData.logisticsNum
 					});
 				} else if (type == 7) {
 					//  评价
@@ -383,11 +383,10 @@
 
 		.handle-box {
 			width: calc(100% - 30px);
-			height: 51px;
 			float: left;
 			margin: 0 15px;
 			box-sizing: border-box;
-			padding: 10px 0;
+			padding: 10px 0 0 0;
 			border-top: 1px solid #EEEEEE;
 			text-align: right;
 
@@ -395,11 +394,21 @@
 				color: #333333 !important;
 				border-color: #BFBFBF !important;
 				background-color: #FFFFFF !important;
-				padding: 0 16px;
+				padding: 0;
 				margin-left: 8px;
+				margin-bottom: 10px;
 				height: 30px;
 				line-height: 30px;
+				display: inline-block;
 			}
 		}
 	}
+
+	/deep/.u-size-medium {
+		padding: 0 12px;
+	}
+
+	/deep/.u-round-circle {
+		padding: 0 12px;
+	}
 </style>

+ 2 - 1
pagesMain/orderList.vue

@@ -43,7 +43,7 @@
 				}, {
 					name: '待收货'
 				}, {
-					name: '已完成'
+					name: '待评价'
 				}, ],
 				pageIndex1: 1,
 				isOver1: false,
@@ -116,6 +116,7 @@
 		height: 100%;
 		float: left;
 		background-color: #f7f7f7;
+		position: absolute;
 
 		.order-tab {
 			width: 100%;

+ 9 - 4
pagesMain/paySuccess.vue

@@ -30,7 +30,7 @@
 			//  返回首页
 			goToIndex() {
 				uni.switchTab({
-					url: '/pages/index/index'
+					url: '/pages/index/home'
 				});
 			},
 		}
@@ -47,7 +47,7 @@
 		width: 100%;
 		height: 100%;
 		background-color: #F3F3F3;
-		position: relative;
+		position: absolute;
 
 		.pay-icon {
 			width: 100%;
@@ -98,15 +98,20 @@
 			transform: translateX(-50%);
 
 			.button1 {
-				background-color: #52A63A;
+				// background-color: #52A63A;
 				margin-bottom: 12px;
+				float: left;
+				width: 100%;
+				height: 34px;
 			}
 
 			.button2 {
 				color: #52A63A !important;
 				border-color: #52A63A !important;
 				background-color: #F3F3F3 !important;
-				;
+				float: left;
+				width: 100%;
+				height: 34px;
 			}
 		}
 	}

BIN
static/images/loginBg.png


BIN
static/images/loginLogo.png