hwb0 %!s(int64=3) %!d(string=hai) anos
pai
achega
6340542154

+ 1 - 0
App.vue

@@ -65,6 +65,7 @@
 	}
 
 	.container {
+		background-color: #fff;
 		font-size: 14px;
 		color: #333;
 		padding: 10px;

+ 0 - 1
components/custom-tab-bar/custom-tab-bar.vue

@@ -30,7 +30,6 @@
 		},
 		methods: {
 			changeTabbar(e) {
-				console.log(e);
 				if (e == 'index') {
 					uni.switchTab({
 						url: '/pages/index/index'

+ 0 - 1
components/image-show/image-show.vue

@@ -30,7 +30,6 @@
 		},
 		methods:{
 			imageClose(){
-				console.log('关闭');
 				this.$emit('close')
 			},
 		}

+ 2 - 2
manifest.json

@@ -1,5 +1,5 @@
 {
-    "name" : "mp-ui-mobile",
+    "name" : "mp-ui-user",
     "appid" : "__UNI__EC837ED",
     "description" : "",
     "versionName" : "1.0.0",
@@ -50,7 +50,7 @@
     "quickapp" : {},
     /* 小程序特有相关 */
     "mp-weixin" : {
-        "appid" : "wxc3a684f1196f6e15",
+        "appid" : "wx8533800e393dbd6b",
         "setting" : {
             "urlCheck" : false,
             "es6" : true,

+ 15 - 0
pages.json

@@ -17,6 +17,21 @@
 		"path": "pages/goods/detail"
 	}, {
 		"path": "pages/order/settlement"
+	}, {
+		"path": "pages/login/index"
+
+	}, {
+		"path": "pages/about/index"
+	}, {
+		"path": "pages/prize/index"
+	}, {
+		"path": "pages/ticket/index"
+	}, {
+		"path": "pages/bean/index"
+	}, {
+		"path": "pages/prize/coupon"
+	}, {
+		"path": "pages/prize/detail"
 	}],
 	"tabBar": {
 		"custom": true,

+ 59 - 0
pages/about/index.vue

@@ -0,0 +1,59 @@
+<template>
+	<view>
+		<u-navbar :placeholder="true" bgColor="#fff" :autoBack="true" :border="true" title="关于我们"></u-navbar>
+		<view class="about">
+			<view class="flex about-logo">
+				<image src="../../static/logo.png" mode=""></image>
+				<view class="edition">v 1.0.0</view>
+			</view>
+			<view class="about-action">
+				<u-cell-group :border="false">
+					<u-cell title="隐私保护声明" :isLink="true"></u-cell>
+					<u-cell title="用户使用协议" :isLink="true">
+					</u-cell>
+				</u-cell-group>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+
+			};
+		}
+	}
+</script>
+<style lang="scss" scoped>
+	/deep/ .u-cell__body {
+		padding: 20rpx 0;
+	}
+</style>
+<style lang="scss" scoped>
+	.about {
+		height: 100vh;
+		background-color: #FFFFFF;
+
+		&-logo {
+			flex-direction: column;
+
+			image {
+				width: 164rpx;
+				height: 164rpx;
+				border-radius: 10rpx;
+				margin-top: 88rpx;
+			}
+			
+			.edition{
+				line-height: 40rpx;
+				margin-top: 18rpx;
+			}
+		}
+		
+		&-action{
+			padding: 20rpx 60rpx;
+		}
+	}
+</style>

+ 2 - 12
pages/address/create.vue

@@ -66,7 +66,6 @@
 		 * 生命周期函数--监听页面加载
 		 */
 		onLoad(options) {
-			console.log(options);
 			this.addrId = options.addrId
 			if (options.addrId) {
 				this.getAddrDetail()
@@ -78,7 +77,7 @@
 				$http.post('/api/v1/mp/channel/mall/addr/query', {
 					addrId: this.addrId
 				}).then(res => {
-					console.log(res);
+
 					if (res.code == 0) {
 						let item = res.data
 						this.form = {
@@ -95,23 +94,19 @@
 				let provinceRes = await $http.post('/api/v1/mp/area/listByPid', {
 					pid: 0
 				})
-				console.log(`省`, provinceRes);
 
 				let cityRes = await $http.post('/api/v1/mp/area/listByPid', {
 					pid: provinceRes && provinceRes.data && provinceRes.data[0].areaId
 				})
-				console.log(`市`, cityRes);
 				let areaRes = await $http.post('/api/v1/mp/area/listByPid', {
 					pid: cityRes && cityRes.data && cityRes.data[0].areaId
 				})
-				console.log(`区`, areaRes);
 				picker.setColumnValues(0, provinceRes.data)
 				picker.setColumnValues(1, cityRes.data)
 				picker.setColumnValues(2, areaRes.data)
 
 			},
 			selectArea() {
-				console.log(this.$refs.uPicker);
 				this.getArea()
 				this.show = true
 			},
@@ -124,16 +119,13 @@
 					// 微信小程序无法将picker实例传出来,只能通过ref操作
 					picker = this.$refs.uPicker
 				} = e
-				console.log(columnIndex, value);
 				if (columnIndex === 0) {
 					let cityRes = await $http.post('/api/v1/mp/area/listByPid', {
 						pid: value && value[0].areaId
 					})
-					console.log(`市`, cityRes);
 					let areaRes = await $http.post('/api/v1/mp/area/listByPid', {
 						pid: cityRes && cityRes.data && cityRes.data[0].areaId
-					})
-					console.log(`区`, areaRes);
+					});
 					picker.setColumnValues(1, cityRes.data)
 					picker.setColumnValues(2, areaRes.data)
 				}
@@ -141,7 +133,6 @@
 					let areaRes = await $http.post('/api/v1/mp/area/listByPid', {
 						pid: value && value[1].areaId
 					})
-					console.log(`区`, areaRes);
 					picker.setColumnValues(2, areaRes.data)
 				}
 
@@ -204,7 +195,6 @@
 				}
 				let url = this.addrId ? '/api/v1/mp/channel/mall/addr/update' : '/api/v1/mp/channel/mall/addr/create'
 				$http.post(url, this.form).then(res => {
-					console.log(res);
 					if (res.code == 0) {
 						uni.$u.toast('保存成功');
 						setTimeout(() => {

+ 0 - 8
pages/address/index.vue

@@ -83,10 +83,6 @@
 
 			// 获取页面数据
 			getPageData() {
-				// let info = uni.createSelectorQuery().select(".addres-list");
-				// info.boundingClientRect(function(data) { 
-				// 	console.log(data);
-				// }).exec()
 				const app = this
 				app.isLoading = true
 				Promise.all([app.getDefaultId(), app.getAddressList()])
@@ -99,10 +95,8 @@
 			// 获取收货地址列表
 			getAddressList() {
 				$http.post('/api/v1/mp/channel/mall/addr/list', {}).then(res => {
-					console.log(res);
 					if (res.code == 0) {
 						this.list = res.data
-						console.log(this.list);
 					}
 				})
 			},
@@ -110,7 +104,6 @@
 			// 获取默认的收货地址
 			getDefaultId() {
 				$http.post('/api/v1/mp/channel/mall/addr/queryDefault', {}).then(res => {
-					console.log(res);
 					if (res.code == 0) {
 						this.defaultId = res.data.addrId
 					}
@@ -176,7 +169,6 @@
 				$http.post('/api/v1/mp/channel/mall/addr/setDefault', {
 					addrId: addressId
 				}).then(res => {
-					console.log(res);
 					this.getPageData()
 				})
 			}

+ 98 - 0
pages/bean/index.vue

@@ -0,0 +1,98 @@
+<template>
+	<view>
+		<u-navbar :placeholder="true" bgColor="#fff" :autoBack="true" :border="true" title="我的盲豆"></u-navbar>
+		<view class="bean">
+			<view class="bean-balance">500</view>
+			<view class="bean-list">
+				<view class="flex bean-list-item">
+					<view class="flex left">
+						<view class="title">商品兑换</view>
+						<view class="date">2021-11-29 14:10:22</view>
+					</view>
+					<view class="flex right">
+						<view class="amt">-200</view>
+						<view class="balance">余额:234</view>
+					</view>
+				</view>
+				<view class="flex bean-list-item">
+					<view class="flex left">
+						<view class="title">商品兑换</view>
+						<view class="date">2021-11-29 14:10:22</view>
+					</view>
+					<view class="flex right">
+						<view class="amt">-200</view>
+						<view class="balance">余额:234</view>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+
+			};
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.bean {
+		margin: 20rpx 10rpx;
+
+		&-balance {
+			height: 230rpx;
+			line-height: 230rpx;
+			border-radius: 10rpx;
+			background: url(https://file02.16sucai.com/d/file/2014/1103/1b73e5346d5579badbc83cb15586f0a8.jpg) center no-repeat;
+			font-size: 50rpx;
+			padding-left: 180rpx;
+			font-weight: bold;
+			margin-bottom: 20rpx;
+		}
+
+		&-list {
+			background-color: #FFFFFF;
+			padding: 0 40rpx;
+
+			&-item {
+				justify-content: space-between;
+				padding: 24rpx 0;
+				border-bottom: 1px solid rgba(236, 236, 236, 100);
+				
+				.left{
+					flex-direction: column;
+					justify-content: space-between;
+					align-items: flex-start;
+				}
+				
+				.right{
+					flex-direction: column;
+					justify-content: space-between;
+					align-items: flex-end;
+				}
+				
+				.title{
+					font-size: 32rpx;
+					font-weight: bold;
+					margin-bottom: 32rpx;
+				}
+				
+				.amt{
+					margin-bottom: 32rpx;
+				}
+				
+				.balance{
+					color: #606060;
+				}
+			}
+
+			&-item:last-child {
+				border-bottom: none;
+			}
+		}
+	}
+</style>

+ 63 - 8
pages/core/index.vue

@@ -1,11 +1,22 @@
 <template>
 	<view>
-		<u-navbar leftIconSize="0" :placeholder="true" bgColor="#E96737">
+		<u-navbar leftIconSize="0" :placeholder="true" bgColor="#fff">
 			<view class="u-nav-slot" slot="left">
-				<text>购物车</text>
+				<text>兑换大厅</text>
 			</view>
 		</u-navbar>
-		
+		<view class="core">
+			<view class="flex core-list">
+				<navigator url="/pages/goods/detail" class="core-list-item" hover-class="navigator-hover">
+					<view class="flex iamge-wrap">
+						<image src="../../static/logo.png" mode="scaleToFill"></image>
+					</view>
+					<view class="title">Apple iMac 24英寸 4.5K屏 新款八核M1芯片(7核图形处理</view>
+					<view class="bean">900</view>
+				</navigator>
+				<view class="core-list-item"></view>
+			</view>
+		</view>
 		<custom-tab-bar :activeValue="'core'" />
 	</view>
 </template>
@@ -20,21 +31,65 @@
 		},
 		data() {
 			return {
-				
+
 			};
 		},
 		onShow() {
-			
+
 		},
 		methods: {
-		
+
 		},
 	}
 </script>
 
 <style lang="scss" scoped>
-	
+
 </style>
 <style lang="scss" scoped>
-	
+	.core {
+		margin: 20rpx 0;
+
+		&-list {
+			justify-content: space-around;
+			flex-wrap: wrap;
+
+			&-item {
+				width: 320rpx;
+				box-sizing: border-box;
+				padding: 0 14rpx;
+				background-color: #FFFFFF;
+				padding-bottom: 24rpx;
+				border-radius: 10rpx;
+				margin-bottom: 40rpx;
+
+				.iamge-wrap {
+					image {
+						width: 150rpx;
+						height: 200rpx;
+						padding: 50rpx 0;
+					}
+				}
+
+				.title {
+					font-size: 24rpx;
+					line-height: 40rpx;
+					overflow: hidden;
+					text-overflow: ellipsis;
+					display: -webkit-box;
+					-webkit-box-orient: vertical;
+					-webkit-line-clamp: 2;
+				}
+
+				.bean {
+					font-size: 24rpx;
+					color: #EB7009;
+				}
+			}
+			
+			&-item:last-child{
+				padding: 0;
+			}
+		}
+	}
 </style>

+ 15 - 48
pages/goods/detail.vue

@@ -1,45 +1,12 @@
 <template>
 	<view>
-		<u-navbar title="详情" :border="true" :placeholder="true" :autoBack="true" leftIconColor="#fff"
-			bgColor="#E96737" />
+		<u-navbar title="兑换详情" :border="true" :placeholder="true" :autoBack="true" bgColor="#fff" />
 		<view class="detail">
 			<view class="detail-top">
 				<u-swiper :list="picUrlArr" height="320" :indicator="true" :circular="true"></u-swiper>
 			</view>
-			<view class="flex detail-info">
-				<view class="detail-info__left">
-					<text class="title">{{ info.title }}</text>
-					<text class="num">销售分佣比{{ info.saleCommRate }}%</text>
-				</view>
-				<view class="detail-info__right">
-					<text class="money">¥{{ $numberFormat(info.pkgSalePrice) }}</text>
-					<text>销量 {{ info.saleQty }}</text>
-				</view>
-			</view>
 			<view class="detail-sku">
 				<view class="detail-sku-title">参数</view>
-				<view class="detail-sku-item">
-					<view>规格:{{ info.pkgUnit }}张/包</view>
-					<view>面值:{{ $numberFormat(info.facePrice) }}元</view>
-				</view>
-			</view>
-			<view class="detail-goods">
-				<view class="detail-goods-title">可获得商品</view>
-				<view class="detail-goods-list">
-					<view class="detail-goods-list-item" v-for="(item, index) in prizeList" :key="index">
-						<view class="detail-goods-list-item__value">
-							<view class="flex image-wrap">
-								<image :src="item.picUrl" mode="scaleToFill"></image>
-							</view>
-							<view class="info">
-								<text>{{ item.title }}</text>
-								<text>价值:¥{{ $numberFormat(item.value) }}</text>
-								<text>概率:{{ item.hitRate }}%</text>
-							</view>
-							<view class="name">{{ item.name }}</view>
-						</view>
-					</view>
-				</view>
 			</view>
 		</view>
 		<view class="footer-fixed">
@@ -64,13 +31,17 @@
 		data() {
 			return {
 				boxId: '',
-				picUrlArr: [],
+				picUrlArr: [
+					'https://cdn.uviewui.com/uview/swiper/swiper1.png',
+					'https://cdn.uviewui.com/uview/swiper/swiper2.png',
+					'https://cdn.uviewui.com/uview/swiper/swiper3.png',
+				],
 				info: {},
 				prizeList: [],
 			};
 		},
 		onLoad(opthios) {
-			this.getDetail(opthios.boxId)
+			// this.getDetail(opthios.boxId)
 		},
 		methods: {
 			getDetail(id) {
@@ -79,19 +50,18 @@
 				}).then(res => {
 					if (res.code == 0) {
 						this.info = res.data
-						console.log(res.data);
+
 						let picUrlArr = res.data.picUrl.split(',')
 						picUrlArr.forEach(item => {
 							this.picUrlArr.push(env.filePublic + item)
 						})
-						
+
 						let prizeList = res.data.prizeList
-						
-						prizeList.forEach(item=>{
+
+						prizeList.forEach(item => {
 							item.picUrl = env.filePublic + item.picUrl
 						})
-						
-						console.log(prizeList);
+
 						this.prizeList = prizeList
 					}
 				})
@@ -103,7 +73,6 @@
 					orderNum: 1
 				}
 				$http.post(`/api/v1/mp/channel/mall/cart/add`, data).then(res => {
-					console.log(res);
 					if (res.code == 0) {
 						uni.$u.toast('加入购物车成功');
 					}
@@ -126,9 +95,7 @@
 </script>
 
 <style lang="scss" scoped>
-	/deep/ .u-navbar__content__title.u-navbar__content__title {
-		color: #FFFFFF;
-	}
+	
 </style>
 <style lang="scss" scoped>
 	.detail {
@@ -246,8 +213,8 @@
 							height: 120rpx;
 						}
 					}
-					
-					.name{
+
+					.name {
 						position: absolute;
 						line-height: 28rpx;
 						padding: 6rpx 20rpx;

+ 110 - 0
pages/login/index.vue

@@ -0,0 +1,110 @@
+<template>
+	<view class="flex container">
+		<u-navbar :placeholder="true" bgColor="#fff" :autoBack="true" title="微信授权"></u-navbar>
+		<view class="login">
+			<view class="flex login-image">
+				<view class="image"></view>
+			</view>
+			<view class="login-txt">呱呱刮</view>
+			<view class="login-txt">呱呱刮将为您提供</view>
+			<view class="login-title">商品兑换、盲票购买等服务 请先完成授权登录</view>
+			<view class="login-btn">
+				<button open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">微信授权登录</button>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import $http from '@/utils/request.js'
+	export default {
+		data() {
+			return {
+
+			};
+		},
+		methods: {
+			getPhoneNumber(e) {
+				$http.post('/api/v1/mp/user/wxauth/mobile', {
+					code: e.detail.code,
+					identity: 2
+				}).then(res => {
+				
+				}).catch(() => {
+				
+				})
+			},
+			getInfo() {
+				uni.getUserProfile({
+					desc: '用于填充用户默认信息',
+					success(info) {
+						uni.login({
+							success(res) {
+								$http.post('/api/v1/mp/user/wxauth', {
+									...{
+										code: res.code
+									},
+									...info.userInfo
+								}).then(res => {
+
+								}).catch(() => {
+
+								})
+							}
+						})
+					},
+					fail() {
+
+					}
+				})
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.container {
+		height: 100vh;
+		width: 100%;
+		flex-direction: column;
+	}
+
+	.login {
+		&-image {
+			.image {
+				width: 164rpx;
+				height: 164rpx;
+				border-radius: 10rpx;
+				margin-bottom: 14rpx;
+				background-color: $uni-bg-color;
+			}
+		}
+
+		&-txt {
+			text-align: center;
+			line-height: 40rpx;
+			font-weight: bold;
+			margin-bottom: 20rpx;
+		}
+
+		&-title {
+			text-align: center;
+			font-size: 24rpx;
+			font-weight: normal;
+			margin-bottom: 50rpx;
+		}
+
+		&-btn {
+			button {
+				width: 570rpx;
+				height: 60rpx;
+				line-height: 60rpx;
+				border-radius: 30rpx;
+				background-color: rgba(235, 112, 9, 100);
+				color: rgba(255, 255, 255, 100);
+				text-align: center;
+				font-size: 28rpx;
+			}
+		}
+	}
+</style>

+ 0 - 3
pages/order/detail.vue

@@ -111,7 +111,6 @@
 			};
 		},
 		onLoad(opthios) {
-			console.log(opthios);
 			this.orderId = opthios.id
 			this.getDetail()
 		},
@@ -120,7 +119,6 @@
 				$http.post('/api/v1/mp/channel/mall/order/detail', {
 					orderId: this.orderId
 				}).then(res => {
-					console.log(res);
 					this.info = res.data
 					this.status = JSON.parse(res.data.status)
 					res.data.items.forEach(item => {
@@ -128,7 +126,6 @@
 						item.picUrl = env.filePublic + picUrlArr[0]
 					})
 					this.list = res.data.items
-					console.log(this.info, this.addr, this.list);
 				})
 			},
 

+ 1 - 5
pages/order/index.vue

@@ -1,5 +1,5 @@
 <template>
-	<view class="aaa">
+	<view>
 		<u-navbar title="我的订单" @leftClick="back" :border="true" :placeholder="true" :autoBack="false"
 			leftIconColor="#fff" bgColor="#E96737" />
 		<view class="order">
@@ -121,7 +121,6 @@
 				}
 				$http.post(`/api/v1/mp/channel/mall/order/list?pageNum=${ this.pageNum }&pageSize=15`,
 					data).then(res => {
-					console.log(res);
 					if (res.code == 0) {
 						res.rows.forEach(item => {
 							let items = item.items
@@ -133,7 +132,6 @@
 						})
 						this.total = res.total
 						this.list = this.list.concat(res.rows)
-						console.log(this.list);
 					}
 				})
 			},
@@ -172,9 +170,7 @@
 		},
 
 		onReachBottom() {
-			console.log(111);
 			// 判断是否有数据
-			console.log(this.total);
 			if (this.total >= this.pageNum * 15) {
 				setTimeout(() => {
 					++this.pageNum

+ 0 - 21
pages/order/settlement.vue

@@ -140,19 +140,10 @@
 				$http.post('/api/v1/mp/channel/mall/order/submit', {
 					memo: ""
 				}).then(res => {
-					console.log(res);
 					if (res.code == 0) {
 						uni.navigateTo({
 							url:`/pages/order/index?back=1`
 						})
-						// $http.post('/api/v1/mp/channel/mall/order/pay', {
-						// 	orderId: res.msg,
-						// 	payType: 2
-						// }).then(res => {
-						// 	console.log(res);
-						// }).catch(err => {
-						// 	console.log(err);
-						// })
 					}
 					if (res.code == 1016) {
 						uni.showModal({
@@ -179,7 +170,6 @@
 				}
 				
 				$http.post('/api/v1/mp/channel/mall/order/settle', data).then(res => {
-					console.log(res);
 					if (res.code == 0) {
 						this.info = res.data
 						this.addr = res.data.addr
@@ -189,7 +179,6 @@
 						})
 						this.list = res.data.items
 					}
-					console.log(this.info);
 				})
 			},
 
@@ -197,7 +186,6 @@
 				$http.post('/api/v1/mp/channel/mall/addr/query', {
 					addrId: this.addrId
 				}).then(res => {
-					console.log(res);
 					if (res.code == 0) {
 						let item = res.data
 						this.form = {
@@ -214,23 +202,19 @@
 				let provinceRes = await $http.post('/api/v1/mp/area/listByPid', {
 					pid: 0
 				})
-				console.log(`省`, provinceRes);
 
 				let cityRes = await $http.post('/api/v1/mp/area/listByPid', {
 					pid: provinceRes && provinceRes.data && provinceRes.data[0].areaId
 				})
-				console.log(`市`, cityRes);
 				let areaRes = await $http.post('/api/v1/mp/area/listByPid', {
 					pid: cityRes && cityRes.data && cityRes.data[0].areaId
 				})
-				console.log(`区`, areaRes);
 				picker.setColumnValues(0, provinceRes.data)
 				picker.setColumnValues(1, cityRes.data)
 				picker.setColumnValues(2, areaRes.data)
 
 			},
 			selectArea() {
-				console.log(this.$refs.uPicker);
 				this.getArea()
 				this.show = true
 			},
@@ -243,16 +227,13 @@
 					// 微信小程序无法将picker实例传出来,只能通过ref操作
 					picker = this.$refs.uPicker
 				} = e
-				console.log(columnIndex, value);
 				if (columnIndex === 0) {
 					let cityRes = await $http.post('/api/v1/mp/area/listByPid', {
 						pid: value && value[0].areaId
 					})
-					console.log(`市`, cityRes);
 					let areaRes = await $http.post('/api/v1/mp/area/listByPid', {
 						pid: cityRes && cityRes.data && cityRes.data[0].areaId
 					})
-					console.log(`区`, areaRes);
 					picker.setColumnValues(1, cityRes.data)
 					picker.setColumnValues(2, areaRes.data)
 				}
@@ -260,7 +241,6 @@
 					let areaRes = await $http.post('/api/v1/mp/area/listByPid', {
 						pid: value && value[1].areaId
 					})
-					console.log(`区`, areaRes);
 					picker.setColumnValues(2, areaRes.data)
 				}
 
@@ -330,7 +310,6 @@
 				}
 				let url = '/api/v1/mp/channel/mall/addr/create'
 				$http.post(url, this.form).then(res => {
-					console.log(res);
 					if (res.code == 0) {
 						uni.$u.toast('保存成功');
 						this.getDetail()

+ 162 - 0
pages/prize/coupon.vue

@@ -0,0 +1,162 @@
+<template>
+	<view>
+		<u-navbar :placeholder="true" bgColor="#fff" :autoBack="true" :border="true" title="卡券使用记录"></u-navbar>
+		<!-- 卡券筛选 -->
+		<view class="prize-state">
+			<u-tabs @change="changeTab" :scrollable="false" :list="stateArr" lineWidth="40" lineHeight="1"
+				lineColor="#D70909" :activeStyle="{
+									color: '#D70909',
+									transform: 'scale(1)'
+								}" :inactiveStyle="{
+									color: '#333',
+									transform: 'scale(1)'
+								}" itemStyle="padding-left: 25px; padding-right: 25px; height: 44px;">
+			</u-tabs>
+		</view>
+		<!-- 已使用 -->
+		<view class="prize-coupon">
+			<view class="prize-coupon-list">
+				<view class="flex prize-coupon-list-item">
+					<image src="../../static/logo.png" mode=""></image>
+					<view class="flex info">
+						<view class="flex desc">
+							<view class="title">200元代金券</view>
+							<view class="txt">使用期限:2022.03.02-2022.04.01</view>
+							<view class="txt">适用范围:星巴克xxx店</view>
+						</view>
+						<view class="flex btn">
+							<view class="amt"><text>¥</text>100</view>
+						</view>
+						<view class="state">已使用</view>
+					</view>
+				</view>
+
+				<view class="flex prize-coupon-list-item">
+					<image src="../../static/logo.png" mode=""></image>
+					<view class="flex info">
+						<view class="flex desc">
+							<view class="title">200元代金券</view>
+							<view class="txt">使用期限:2022.03.02-2022.04.01</view>
+							<view class="txt">适用范围:星巴克xxx店</view>
+						</view>
+						<view class="flex btn">
+							<view class="amt"><text>¥</text>100</view>
+						</view>
+						<view class="state">已过期</view>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				stateArr: [{
+					name: '已使用'
+				}, {
+					name: '已过期',
+				}],
+				state: 0,
+			};
+		},
+		methods: {
+			changeTab(e) {
+				if (e.index == 0) {
+					this.state = 0
+				} else if (e.index == 1) {
+					this.state = 1
+				}
+			},
+
+			changeChecked() {
+
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.prize-state {
+		position: fixed;
+		background-color: #FFFFFF;
+		width: 100%;
+		padding-bottom: 16rpx;
+		z-index: 10;
+	}
+
+	.prize-coupon {
+		margin-top: 104rpx;
+		padding: 40rpx 30rpx 100rpx;
+
+		&-list {
+
+			&-item {
+				justify-content: space-between;
+				background-color: #FFFFFF;
+				padding: 40rpx 20rpx;
+				border-radius: 10rpx;
+				margin-bottom: 40rpx;
+
+				image {
+					width: 94rpx;
+					height: 132rpx;
+				}
+
+				.info {
+					position: relative;
+					justify-content: space-between;
+					flex: 1;
+				}
+
+				.desc {
+					height: 132rpx;
+					flex-direction: column;
+					justify-content: space-between;
+					align-items: flex-start;
+					padding-left: 20rpx;
+				}
+
+				.txt {
+					font-size: 24rpx;
+				}
+
+				.btn {
+					flex-direction: column;
+				}
+
+				.amt {
+					font-size: 48rpx;
+					font-weight: bold;
+					line-height: 72rpx;
+				}
+
+				text {
+					font-size: 24rpx;
+				}
+				
+				.state{
+					position: absolute;
+					right: 50rpx;
+					transform: rotate(20deg);
+					-webkit-transform:rotate(20deg);
+					width: 150rpx;
+					height: 150rpx;
+					line-height: 150rpx;
+					border: #E1E1E1 4px solid;
+					border-radius: 50%;
+					background-color: #f9f2ef;
+					text-align: center;
+					color: #000000;
+					opacity: .5;
+				}
+			}
+
+			&-item:last-child {
+				margin-bottom: 0;
+			}
+		}
+	}
+</style>

+ 106 - 0
pages/prize/detail.vue

@@ -0,0 +1,106 @@
+<template>
+	<view>
+		<u-navbar :placeholder="true" bgColor="#fff" :autoBack="true" :border="true" title="卡券详情"></u-navbar>
+		<view class="detail">
+			<view class="flex detail-item">
+				<image src="../../static/logo.png" mode=""></image>
+				<view class="flex info">
+					<view class="flex desc">
+						<view class="title">200元代金券</view>
+						<view class="txt">使用期限:2022.03.02-2022.04.01</view>
+						<view class="txt">适用范围:星巴克xxx店</view>
+					</view>
+					<view class="flex btn">
+						<view class="amt"><text>¥</text>100</view>
+					</view>
+				</view>
+			</view>
+			<view class="flex detail-code">
+				<image src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fhbimg.b0.upaiyun.com%2F211e185f4b9df58bfe5dd69803b1df006b6cffd8b1b2-RtehJE_fw658&refer=http%3A%2F%2Fhbimg.b0.upaiyun.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1649408501&t=2dcfddb70458864d1c284b0020a3977d" mode=""></image>
+			</view>
+			<view class="detail-explain">
+				<view class="txt">使用说明:</view>
+				<view class="txt">1. 仅限星巴克杭州地区门店可使用</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			};
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.detail{
+		margin: 20rpx;
+		padding: 26rpx 24rpx;
+		background-color: #FFFFFF;
+		border-radius: 10rpx;
+		
+		&-item {
+			justify-content: space-between;
+			padding-bottom: 26rpx;
+			border-bottom: 1px dashed rgba(236, 236, 236, 100);
+			
+			image {
+				width: 94rpx;
+				height: 132rpx;
+			}
+		
+			.info {
+				position: relative;
+				justify-content: space-between;
+				flex: 1;
+			}
+		
+			.desc {
+				height: 132rpx;
+				flex-direction: column;
+				justify-content: space-between;
+				align-items: flex-start;
+				padding-left: 20rpx;
+			}
+		
+			.txt {
+				font-size: 24rpx;
+			}
+		
+			.btn {
+				flex-direction: column;
+			}
+		
+			.amt {
+				font-size: 48rpx;
+				font-weight: bold;
+				line-height: 72rpx;
+			}
+		
+			text {
+				font-size: 24rpx;
+			}
+		}
+		
+		&-code{
+			padding: 60rpx 0;
+			
+			image{
+				width: 426rpx;
+				height: 426rpx;
+			}
+		}
+		
+		&-explain{
+			font-size: 24rpx;
+			
+			.txt{
+				line-height: 50rpx;
+			}
+		}
+	}
+</style>

+ 310 - 0
pages/prize/index.vue

@@ -0,0 +1,310 @@
+<template>
+	<view>
+		<u-navbar :placeholder="true" bgColor="#fff" :autoBack="true" :border="true" title="我的奖品库"></u-navbar>
+		<!-- 奖品选择 -->
+		<view class="prize-state">
+			<u-tabs @change="changeTab" :scrollable="false" :list="stateArr" lineWidth="40" lineHeight="1"
+				lineColor="#D70909" :activeStyle="{
+									color: '#D70909',
+									transform: 'scale(1)'
+								}" :inactiveStyle="{
+									color: '#333',
+									transform: 'scale(1)'
+								}" itemStyle="padding-left: 25px; padding-right: 25px; height: 44px;">
+			</u-tabs>
+		</view>
+		<!-- 实物商品 -->
+		<view class="prize-goods" v-if="state == 0">
+			<view class="prize-goods-list">
+				<view class="flex prize-goods-list-item">
+					<view class="flex checkbox">
+						<u-checkbox-group>
+							<u-checkbox :value="checked" shape="circle" :checked="checked" activeColor="#E96737"
+								@change="changeChecked($event, item)"></u-checkbox>
+						</u-checkbox-group>
+					</view>
+					<view class="flex info">
+						<image src="../../static/logo.png" mode=""></image>
+						<view class="flex desc">
+							<view class="content">Apple iPhone 13 (A2634) 128GB 星光色 支持移动联通电信5G 双卡双待手机</view>
+							<view class="num">数量:2</view>
+						</view>
+					</view>
+				</view>
+				<view class="flex prize-goods-list-item">
+					<view class="flex checkbox">
+						<u-checkbox-group>
+							<u-checkbox :value="checked" shape="circle" :checked="checked" activeColor="#E96737"
+								@change="changeChecked($event, item)"></u-checkbox>
+						</u-checkbox-group>
+					</view>
+					<view class="flex info">
+						<image src="../../static/logo.png" mode=""></image>
+						<view class="flex desc">
+							<view class="content">Apple iPhone 13 (A2634) 128GB 星光色 支持移动联通电信5G 双卡双待手机</view>
+							<view class="num">数量:2</view>
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<!-- 卡券 -->
+		<view class="prize-coupon" v-else>
+			<view class="prize-coupon-list">
+				<navigator url="/pages/prize/detail" class="flex prize-coupon-list-item" hover-class="navigator-hover">
+					<image src="../../static/logo.png" mode=""></image>
+					<view class="flex info">
+						<view class="flex desc">
+							<view class="title">200元代金券</view>
+							<view class="txt">使用期限:2022.03.02-2022.04.01</view>
+							<view class="txt">适用范围:星巴克xxx店</view>
+						</view>
+						<view class="flex btn">
+							<view class="amt"><text>¥</text>100</view>
+							<view class="action">立即使用</view>
+						</view>
+					</view>
+				</navigator>
+				<navigator url="/pages/prize/detail" class="flex prize-coupon-list-item" hover-class="navigator-hover">
+					<image src="../../static/logo.png" mode=""></image>
+					<view class="flex info">
+						<view class="flex desc">
+							<view class="title">200元代金券</view>
+							<view class="txt">使用期限:2022.03.02-2022.04.01</view>
+							<view class="txt">适用范围:星巴克xxx店</view>
+						</view>
+						<view class="flex btn">
+							<view class="amt"><text>¥</text>100</view>
+							<view class="action">立即使用</view>
+						</view>
+					</view>
+				</navigator>
+			</view>
+		</view>
+		
+		<view class="prize-action">
+			<!-- 实物商品提货 -->
+			<view class="flex prize-action-goods" v-if="state == 0">
+				<view class="flex checkbox">
+					<u-checkbox-group>
+						<u-checkbox :value="checked" shape="circle" :checked="checked" activeColor="#E96737"
+							@change="changeChecked($event, item)"></u-checkbox>
+					</u-checkbox-group>
+				</view>
+				<view class="btn">立即提货</view>
+			</view>
+			<!-- 卡券使用记录 -->
+			<view class="flex prize-action-coupon" @click="toCoupon" v-else>
+				<view class="title">卡券使用记录</view>
+				<u-icon name="arrow-right" size="15" color="#333"></u-icon>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				stateArr: [{
+					name: '实物商品'
+				}, {
+					name: '卡券',
+				}],
+				state: 0,
+				checked: false,
+
+			};
+		},
+		methods: {
+			// 切换奖品
+			changeTab(e) {
+				if (e.index == 0) {
+					this.state = 0
+				} else if (e.index == 1) {
+					this.state = 1
+				}
+			},
+
+			changeChecked() {
+
+			},
+			
+			// 查看卡券使用记录
+			toCoupon(){
+				uni.navigateTo({
+					url:'/pages/prize/coupon'
+				})
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.prize-state {
+		position: fixed;
+		background-color: #FFFFFF;
+		width: 100%;
+		padding-bottom: 16rpx;
+		z-index: 10;
+	}
+
+	.prize-goods {
+		margin-top: 104rpx;
+		padding: 40rpx 30rpx 100rpx;
+
+		&-list {
+			
+			&-item {
+				justify-content: space-between;
+				padding: 36rpx 16rpx;
+				background-color: #fff;
+				border-radius: 10rpx;
+				margin-bottom: 40rpx;
+
+				.checkbox {}
+
+				.info {
+					flex: 1;
+					justify-content: flex-start;
+				}
+
+				image {
+					width: 122rpx;
+					height: 164rpx;
+				}
+
+				.desc {
+					height: 164rpx;
+					padding-left: 22rpx;
+					flex: 1;
+					flex-direction: column;
+					align-items: flex-end;
+					justify-content: space-between;
+				}
+
+				.content {
+					line-height: 40rpx;
+					overflow: hidden;
+					text-overflow: ellipsis;
+					display: -webkit-box;
+					-webkit-box-orient: vertical;
+					-webkit-line-clamp: 2;
+				}
+
+				.num {
+					color: #8C8C8C;
+				}
+			}
+
+			&-item:last-child {
+				margin-bottom: 0;
+			}
+		}
+	}
+
+	.prize-coupon {
+		margin-top: 104rpx;
+		padding: 40rpx 30rpx 100rpx;
+		
+		&-list{
+			
+			&-item{
+				justify-content: space-between;
+				background-color: #FFFFFF;
+				padding: 40rpx 20rpx;
+				border-radius: 10rpx;
+				margin-bottom: 40rpx;
+			
+				image{
+					width: 94rpx;
+					height: 132rpx;
+				}
+				
+				.info{
+					justify-content: space-between;
+					flex: 1;
+				}
+				
+				.desc{
+					height: 132rpx;
+					flex-direction: column;
+					justify-content: space-between;
+					align-items: flex-start;
+					padding-left: 20rpx;
+				}
+				
+				.txt{
+					font-size: 24rpx;
+				}
+				
+				.btn{
+					flex-direction: column;
+				}
+				
+				.amt{
+					font-size: 48rpx;
+					font-weight: bold;
+					line-height: 72rpx;
+				}
+				
+				text{
+					font-size: 24rpx;
+				}
+				
+				.action{
+					width: 124rpx;
+					height: 40rpx;
+					line-height: 40rpx;
+					border-radius: 20rpx;
+					background-color: rgba(215, 9, 9, 100);
+					color: rgba(255, 255, 255, 100);
+					font-size: 24rpx;
+					text-align: center
+				}
+			}
+			&-item:last-child{
+				margin-bottom: 0;
+			}
+		}
+	}
+
+	.prize-action {
+		position: fixed;
+		bottom: var(--window-bottom);
+		left: 0;
+		right: 0;
+		z-index: 10;
+		box-shadow: 0 -4rpx 10rpx 0 rgba(151, 151, 151, 0.24);
+		background: #fff;
+		width: 100%;
+
+		// 设置ios刘海屏底部横线安全区域
+		padding-bottom: constant(safe-area-inset-bottom);
+		padding-bottom: env(safe-area-inset-bottom);
+
+		&-goods {
+			justify-content: space-between;
+			padding: 30rpx 40rpx;
+
+			.btn {
+				width: 250rpx;
+				height: 60rpx;
+				line-height: 60rpx;
+				border-radius: 10rpx;
+				background-color: rgba(235, 112, 9, 100);
+				color: rgba(255, 255, 255, 100);
+				font-size: 28rpx;
+				text-align: center;
+			}
+		}
+		
+		&-coupon{
+			padding: 30rpx 40rpx;
+			.title{
+				margin-right: 20rpx;
+				line-height: 40rpx;
+			}
+		}
+	}
+</style>

+ 141 - 0
pages/ticket/index.vue

@@ -0,0 +1,141 @@
+<template>
+	<view>
+		<u-navbar :placeholder="true" bgColor="#fff" :autoBack="true" :border="true" title="我的盲票包"></u-navbar>
+		<!-- 卡券筛选 -->
+		<view class="prize-state">
+			<u-tabs @change="changeTab" :scrollable="false" :list="stateArr" lineWidth="40" lineHeight="1"
+				lineColor="#D70909" :activeStyle="{
+									color: '#D70909',
+									transform: 'scale(1)'
+								}" :inactiveStyle="{
+									color: '#333',
+									transform: 'scale(1)'
+								}" itemStyle="padding-left: 25px; padding-right: 25px; height: 44px;">
+			</u-tabs>
+		</view>
+		<!-- 兑奖列表 -->
+		<view class="prize-coupon">
+			<view class="prize-coupon-list">
+				<view class="flex prize-coupon-list-item">
+					<image src="../../static/logo.png" mode=""></image>
+					<view class="flex info">
+						<view class="flex desc">
+							<view class="title">零跑汽车盲票</view>
+							<view class="txt">面值:10元</view>
+							<view class="txt">序列号:1212121212121212</view>
+						</view>
+						<view class="flex btn">
+							<view class="action">立即开刮</view>
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				stateArr: [{
+					name: '待兑奖'
+				}, {
+					name: '已兑奖',
+				}],
+				state: 0,
+			};
+		},
+		methods: {
+			changeTab(e) {
+				if (e.index == 0) {
+					this.state = 0
+				} else if (e.index == 1) {
+					this.state = 1
+				}
+			},
+
+			changeChecked() {
+
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.prize-state {
+		position: fixed;
+		background-color: #FFFFFF;
+		width: 100%;
+		padding-bottom: 16rpx;
+		z-index: 10;
+	}
+
+	.prize-coupon {
+		margin-top: 104rpx;
+		padding: 40rpx 30rpx 100rpx;
+
+		&-list {
+
+			&-item {
+				justify-content: space-between;
+				background-color: #FFFFFF;
+				padding: 40rpx 20rpx;
+				border-radius: 10rpx;
+				margin-bottom: 40rpx;
+
+				image {
+					width: 124rpx;
+					height: 174rpx;
+				}
+
+				.info {
+					position: relative;
+					justify-content: space-between;
+					flex: 1;
+				}
+
+				.desc {
+					height: 174rpx;
+					flex-direction: column;
+					justify-content: space-between;
+					align-items: flex-start;
+					padding-left: 20rpx;
+				}
+
+				.txt {
+					font-size: 24rpx;
+				}
+
+				.btn {
+					flex-direction: column;
+				}
+
+				.amt {
+					font-size: 48rpx;
+					font-weight: bold;
+					line-height: 72rpx;
+				}
+
+				text {
+					font-size: 24rpx;
+				}
+				
+				.action{
+					width: 124rpx;
+					height: 40rpx;
+					line-height: 40rpx;
+					border-radius: 20rpx;
+					background-color: rgba(215, 9, 9, 100);
+					color: rgba(255, 255, 255, 100);
+					font-size: 24rpx;
+					text-align: center
+				}
+			}
+
+			&-item:last-child {
+				margin-bottom: 0;
+			}
+		}
+	}
+</style>

+ 76 - 133
pages/user/index.vue

@@ -1,52 +1,45 @@
 <template>
 	<view>
-		<u-navbar leftIconSize="0" :placeholder="true" bgColor="#E96737">
-			<view class="u-nav-slot" slot="left">
-				<text>我的</text>
-			</view>
-		</u-navbar>
-		<view class="user">
-			<view class="user-ava">
-				<view class="user-ava-img">
-					<image :src="avatar" mode="aspectFill"></image>
-				</view>
-				<view class="user-ava-info">
-					<view>{{ userInfo.nickName }}</view>
-					<view>{{ userInfo.userName }}</view>
-				</view>
-			</view>
-		</view>
+		<!-- 非H5撑高元素 -->
+		<view class="status_bar"></view>
+		<!-- 头部背景 -->
+		<view class="user"></view>
+		<!-- 账户信息 -->
 		<view class="account">
-			<view class="flex account-action">
-				<view>账户明细</view>
-				<view class="flex account-action-icon" @click="toAccountDatail">
-					<text>明细</text>
-					<u-icon name="arrow-right" color="#E96737" size="16"></u-icon>
-				</view>
+			<view class="flex account-ava">
+				<image src="../../static/logo.png" mode=""></image>
+				<view class="account-ava-name" v-if="loginState">寒露</view>
+				<view class="account-ava-no" @click="toLogin">登录</view>
 			</view>
 			<view class="flex account-info">
-				<view class="account-info-amt">¥{{ $numberFormat(info.money) }}</view>
-				<button type="default" @click="toWithdraw">提现</button>
-			</view>
-			<view class="account-details">
-				<view class="account-details-item">
-					<text>冻结金额:</text>
-					<text>¥{{ $numberFormat(info.frozenMoney) }}</text>
-				</view>
+				<navigator url="/pages/prize/index" class="flex account-info-item" hover-class="navigator-hover">
+					<view>7</view>
+					<view>我的奖品库</view>
+				</navigator>
+				<navigator url="/pages/ticket/index" class="flex account-info-item" hover-class="navigator-hover">
+					<view>7</view>
+					<view>我的盲票包</view>
+				</navigator>
+				<navigator url="/pages/bean/index" class="flex account-info-item" hover-class="navigator-hover">
+					<view>7</view>
+					<view>我的盲豆</view>
+				</navigator>
 			</view>
 		</view>
+		<!-- 操作项 -->
 		<view class="action">
 			<u-cell-group :border="false">
-				<u-cell icon="coupon" title="我的地址" :isLink="true" :url="'/pages/address/index'"></u-cell>
-				<u-cell icon="order" title="我的订单" :isLink="true" :border="false" :url="'/pages/order/index'"></u-cell>
+				<u-cell icon="order" title="我的订单" :isLink="true" :url="'/pages/order/index'"></u-cell>
+				<u-cell icon="map" title="我的地址" :isLink="true" :url="'/pages/address/index'"></u-cell>
+				<u-cell icon="kefu-ermai" title="联系客服" :isLink="true"></u-cell>
+				<u-cell icon="info-circle" title="关于我们" :border="false" :isLink="true" :url="'/pages/about/index'">
+				</u-cell>
 			</u-cell-group>
 		</view>
-
-
 		<view class="cancel">
 			<u-cell icon="close-circle" title="注销登录" :isLink="true" :border="false" @click="logout"></u-cell>
 		</view>
-		
+
 		<custom-tab-bar :activeValue="'user'" />
 	</view>
 </template>
@@ -61,31 +54,27 @@
 		},
 		data() {
 			return {
-				userInfo: {},
+				loginState: false, // 判断是否登录
+				userInfo: {}, //
 				avatar: '',
 				certifyStatus: {},
 				info: {},
-				
 			};
 		},
-		
+
 		onShow() {
-			
+			this.loginState = uni.getStorageSync('token') ? true : false
 		},
 
 		methods: {
-			toAccountDatail() {
-				uni.navigateTo({
-					url: '/pages/account/detail'
-				})
-			},
-
-			toWithdraw() {
+			// 跳转登录
+			toLogin() {
 				uni.navigateTo({
-					url: '/pages/account/withdraw'
+					url: "/pages/login/index"
 				})
 			},
 
+			// 注销登录
 			logout() {
 				uni.showModal({
 					title: '注销登录',
@@ -104,13 +93,6 @@
 				})
 			},
 		},
-
-		created() {
-			this.userInfo = getApp().globalData.userInfo
-			this.avatar = env.filePublic + getApp().globalData.userInfo.avatar
-			console.log(getApp().globalData);
-		},
-
 	}
 </script>
 
@@ -118,113 +100,74 @@
 	/deep/ .u-cell__body {
 		padding: 20rpx 0;
 	}
-</style>
 
-<style lang="scss" scoped>
-	.u-nav-slot text {
-		color: #FFFFFF;
-		font-size: 32rpx;
+	.status_bar {
+		width: 100%;
+		height: var(--status-bar-height);
 	}
+</style>
 
+<style lang="scss" scoped>
 	.user {
 		display: flex;
 		align-items: center;
-		height: 340rpx;
+		height: 230rpx;
 		padding: 0 36rpx;
-		background-color: $uni-bg-color;
-
-		&-ava {
-			display: flex;
-			height: 144rpx;
-			margin-top: -30rpx;
-
-			&-img {
-				width: 144rpx;
-				height: 144rpx;
-				border-radius: 150rpx;
-				background-color: #FFF;
-				border: 3rpx solid #FFF;
-				margin-bottom: 32rpx;
-				box-shadow: 0 0 24rpx #FFFFFF32;
-				overflow: hidden;
-
-				image {
-					width: 144rpx;
-					height: 144rpx;
-				}
-			}
-
-			&-info {
-				flex: 1;
-				padding: 0 32rpx;
-				color: #FFF;
-				height: 144rpx;
-				display: flex;
-				flex-direction: column;
-				justify-content: center;
-
-				view:nth-child(1) {
-					margin-bottom: 10rpx;
-				}
-			}
-		}
+		background: url(https://file02.16sucai.com/d/file/2014/1103/1b73e5346d5579badbc83cb15586f0a8.jpg) center no-repeat;
 	}
 
 	.account {
 		margin: 0 20rpx;
-		padding: 30rpx;
+		padding: 34rpx;
 		background-color: #FFFFFF;
 		border-radius: 10rpx;
-		margin-top: -60rpx;
-		margin-bottom: 20rpx;
-
-		&-action {
-			justify-content: space-between;
-			margin-bottom: 40rpx;
-
-			&-icon {
-				text {
-					color: $uni-text-color;
-					margin-right: 10rpx;
-					font-size: 28rpx;
-				}
-			}
-		}
+		margin-top: -106rpx;
+		margin-bottom: 40rpx;
 
-		&-info {
-			justify-content: space-between;
-			margin-bottom: 30rpx;
+		&-ava {
+			justify-content: flex-start;
+			margin-bottom: 46rpx;
+
+			image {
+				width: 106rpx;
+				height: 106rpx;
+				border-radius: 50%;
+				overflow: hidden;
+			}
 
-			&-amt {
-				font-size: 40rpx;
-				font-weight: bold;
+			&-name {
+				margin-left: 20rpx;
+				font-size: 32rpx;
 			}
 
-			button {
-				width: 144rpx;
-				height: 48rpx;
-				line-height: 48rpx;
-				font-size: 28rpx;
-				border-radius: 30rpx;
-				background-color: rgba(235, 112, 9, 100);
-				color: rgba(255, 255, 255, 100);
-				margin: 0;
+			&-no {
+				margin-left: 20rpx;
+				color: #C0C0C0;
+				font-size: 32rpx;
 			}
 		}
 
-		&-details {
-			display: flex;
-			font-size: 28rpx;
+		&-info {
+			justify-content: space-around;
 
 			&-item {
-				margin-right: 40rpx;
+				flex-direction: column;
+
+				view {
+					line-height: 40rpx;
+				}
+
+				view:first-child {
+					line-height: 56rpx;
+					font-size: 40rpx;
+				}
 			}
 		}
 	}
 
 	.action {
 		margin: 0 20rpx;
-		padding: 10rpx 20rpx;
+		padding: 10rpx 20rpx 0;
 		background-color: #FFFFFF;
 		border-radius: 10rpx;
 		margin-bottom: 40rpx;

BIN=BIN
static/bg/user_bg.png


+ 0 - 1
uni_modules/uview-ui/components/u-skeleton/u-skeleton.vue

@@ -110,7 +110,6 @@
 					item.height = uni.$u.addUnit(rowHeight)
 					rows.push(item)
 				}
-				// console.log(rows);
 				return rows
 			},
 			uTitleWidth() {

+ 1 - 1
uni_modules/uview-ui/libs/config/config.js

@@ -3,7 +3,7 @@ const version = '2.0.28'
 
 // 开发环境才提示,生产环境不会提示
 if (process.env.NODE_ENV === 'development') {
-	console.log(`\n %c uView V${version} %c https://www.uviewui.com/ \n\n`, 'color: #ffffff; background: #3c9cff; padding:5px 0;', 'color: #3c9cff;background: #ffffff; padding:5px 0;');
+	// console.log(`\n %c uView V${version} %c https://www.uviewui.com/ \n\n`, 'color: #ffffff; background: #3c9cff; padding:5px 0;', 'color: #3c9cff;background: #ffffff; padding:5px 0;');
 }
 
 export default {

+ 0 - 1
utils/request.js

@@ -82,7 +82,6 @@ const $upload = (fileUrl, type) => {
 
 const $put = (url, data) => {
 	var formData = new FormData()
-	console.log(formData);
 	Object.keys(data).forEach(key => {
 		formData.append(key, data[key])
 	})