lhl 2 سال پیش
والد
کامیت
1c008b581f
100فایلهای تغییر یافته به همراه9893 افزوده شده و 6516 حذف شده
  1. 299 263
      App.vue
  2. 188 0
      components/add-number.vue
  3. 2 2
      manifest.json
  4. 651 609
      pages.json
  5. 1343 1086
      pages/index/index.vue
  6. 94 87
      pages/money/paySuccess.vue
  7. 477 432
      pages/money/wallet.vue
  8. 429 259
      pages/money/withdrawal.vue
  9. 790 680
      pages/order/order.vue
  10. 224 198
      pages/product/common/productBottom.vue
  11. 221 207
      pages/public/register.vue
  12. 169 0
      pages/shop/djqQm.vue
  13. 485 0
      pages/shop/giftDetail.vue
  14. 230 0
      pages/shop/joinshop.vue
  15. 385 0
      pages/shop/shopDetail.vue
  16. 377 0
      pages/shop/shopList.vue
  17. 457 0
      pages/shop/yhqDetail.vue
  18. 471 456
      pages/user/award.vue
  19. 119 0
      pages/user/hxjl.vue
  20. 390 358
      pages/user/team.vue
  21. 754 729
      pages/user/user.vue
  22. 555 550
      static/css/cmy.css
  23. 53 0
      static/css/flex.css
  24. 36 0
      static/css/padding.css
  25. BIN
      static/icon/call.png
  26. BIN
      static/icon/colse.png
  27. BIN
      static/icon/dh.png
  28. BIN
      static/icon/dw.png
  29. BIN
      static/icon/g-l.png
  30. BIN
      static/icon/sc01.png
  31. BIN
      static/icon/sc010.png
  32. BIN
      static/icon/sc02.png
  33. BIN
      static/icon/sc03.png
  34. BIN
      static/icon/sc04.png
  35. BIN
      static/icon/sc05.png
  36. BIN
      static/icon/sc06.png
  37. BIN
      static/icon/sc07.png
  38. BIN
      static/icon/sc08.png
  39. BIN
      static/icon/sc09.png
  40. BIN
      static/icon/shop-logo.png
  41. BIN
      static/icon/shoucang.png
  42. BIN
      static/icon/u-v.png
  43. BIN
      static/img/back.png
  44. BIN
      static/img/my-bg.png
  45. BIN
      static/img/sign-popup.png
  46. BIN
      static/img/store2.png
  47. BIN
      static/img/store3.png
  48. BIN
      static/img/yhq-w.png
  49. BIN
      static/tabBar/order-action.png
  50. BIN
      static/tabBar/order.png
  51. BIN
      static/tabBar/tab-pink-current.png
  52. BIN
      static/tabBar/tab-pink.png
  53. BIN
      static/user/erweima.png
  54. BIN
      static/user/mybank.png
  55. BIN
      static/user/shenqing.png
  56. BIN
      static/user/user1.png
  57. BIN
      static/user/user10.png
  58. BIN
      static/user/user11.png
  59. BIN
      static/user/user12.png
  60. BIN
      static/user/user13.png
  61. BIN
      static/user/user2.png
  62. BIN
      static/user/user3.png
  63. BIN
      static/user/user4.png
  64. BIN
      static/user/user5.png
  65. BIN
      static/user/user6.png
  66. BIN
      static/user/user7.png
  67. BIN
      static/user/user8.png
  68. BIN
      static/user/user9.png
  69. BIN
      static/user/wx.png
  70. BIN
      static/user/zfb.png
  71. 48 48
      store/index.js
  72. BIN
      unpackage/dist/build/h5/h5.rar
  73. 2 2
      unpackage/dist/build/h5/index.html
  74. 555 550
      unpackage/dist/build/h5/static/css/cmy.css
  75. 53 0
      unpackage/dist/build/h5/static/css/flex.css
  76. 36 0
      unpackage/dist/build/h5/static/css/padding.css
  77. BIN
      unpackage/dist/build/h5/static/icon/call.png
  78. BIN
      unpackage/dist/build/h5/static/icon/colse.png
  79. BIN
      unpackage/dist/build/h5/static/icon/dh.png
  80. BIN
      unpackage/dist/build/h5/static/icon/dw.png
  81. BIN
      unpackage/dist/build/h5/static/icon/g-l.png
  82. BIN
      unpackage/dist/build/h5/static/icon/sc01.png
  83. BIN
      unpackage/dist/build/h5/static/icon/sc010.png
  84. BIN
      unpackage/dist/build/h5/static/icon/sc02.png
  85. BIN
      unpackage/dist/build/h5/static/icon/sc03.png
  86. BIN
      unpackage/dist/build/h5/static/icon/sc04.png
  87. BIN
      unpackage/dist/build/h5/static/icon/sc05.png
  88. BIN
      unpackage/dist/build/h5/static/icon/sc06.png
  89. BIN
      unpackage/dist/build/h5/static/icon/sc07.png
  90. BIN
      unpackage/dist/build/h5/static/icon/sc08.png
  91. BIN
      unpackage/dist/build/h5/static/icon/sc09.png
  92. BIN
      unpackage/dist/build/h5/static/icon/shop-logo.png
  93. BIN
      unpackage/dist/build/h5/static/icon/shoucang.png
  94. BIN
      unpackage/dist/build/h5/static/icon/u-v.png
  95. BIN
      unpackage/dist/build/h5/static/img/back.png
  96. BIN
      unpackage/dist/build/h5/static/img/call.94b30316.png
  97. BIN
      unpackage/dist/build/h5/static/img/dh.35663c8e.png
  98. BIN
      unpackage/dist/build/h5/static/img/missing-face.01b4ac4f.png
  99. BIN
      unpackage/dist/build/h5/static/img/my-bg.2649b7b0.png
  100. BIN
      unpackage/dist/build/h5/static/img/my-bg.png

+ 299 - 263
App.vue

@@ -1,264 +1,300 @@
-<script>
-/**
- * vuex管理登陆状态,具体可以参考官方登陆模板示例
- */
-import { mapMutations } from 'vuex';
-// #ifdef H5
-import { weixindata, setRouter } from './utils/wxAuthorized';
-// #endif
-// #ifdef APP-PLUS
-import { getUpApp } from './utils/upApp.js';
-// #endif
-export default {
-	data() {
-		return {
-			/* 保存微信信息 */
-			appData: {}
-		};
-	},
-	methods: {
-		...mapMutations('user', ['setUserInfo', 'login', 'hasLogin'])
-	},
-	onLaunch: function(urlObj) {
-		let obj = this;
-		// 加载缓存中的用户信息
-		let userInfo = uni.getStorageSync('userInfo') || '';
-		// 判断是否拥有用户信息
-		if (userInfo.uid) {
-			//更新登陆状态
-			uni.getStorage({
-				key: 'userInfo',
-				success: res => {
-					obj.setUserInfo(res.data);
-					obj.login(res.data);
-				}
-			});
-		}
-		// #ifdef H5
-		// 保存路由对象
-		setRouter(this.$router);
-		//判断是否已经缓存浏览器
-		let bool = uni.getStorageSync('weichatBrowser') || '';
-		if (bool === '') {
-			//判断是否为微信浏览
-			bool = navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger';
-			// 保存当前是否为微信内核浏览器
-			uni.setStorageSync('weichatBrowser', bool);
-		}
-		if (bool) {
-			// 加载微信信息
-			weixindata();
-		}
-		// #endif
-		// #ifdef APP-PLUS
-		// 判断是否升级
-		getUpApp();
-		// 获取当前运行系统
-		let system = uni.getStorageSync('platform') || '';
-		if (!system) {
-			uni.setStorage({
-				key: 'platform',
-				data: uni.getSystemInfoSync().platform
-			});
-		}
-		// #endif
-	},
-	onShow: function() {
-		// 加载拦截
-		// console.log('App Show');
-	},
-	onHide: function() {
-		// console.log('App Hide');
-	}
-};
-</script>
-
-<style lang="scss">
-/*全局公共样式和字体图标*/
-@import '/static/css/cmy.css';
-@import "uview-ui/index.scss";
-view,
-scroll-view,
-swiper,
-swiper-item,
-cover-view,
-cover-image,
-icon,
-text,
-rich-text,
-progress,
-button,
-checkbox,
-form,
-input,
-label,
-radio,
-slider,
-switch,
-textarea,
-navigator,
-audio,
-camera,
-image,
-video {
-	box-sizing: border-box;
-}
-/* 骨架屏替代方案 */
-.Skeleton {
-	background: #f3f3f3;
-	padding: 20rpx 0;
-	border-radius: 8rpx;
-}
-
-/* 图片载入替代方案 */
-.image-wrapper {
-	font-size: 0;
-	background: #f3f3f3;
-	border-radius: 4px;
-	image {
-		width: 100%;
-		height: 100%;
-		transition: 0.6s;
-		opacity: 0;
-		&.loaded {
-			opacity: 1;
-		}
-	}
-}
-
-// 设置富文本中图片最大宽度
-uni-rich-text img {
-	max-width: 100% !important;
-}
-/*边框*/
-.b-b:after,
-.b-t:after {
-	position: absolute;
-	z-index: 3;
-	left: 0;
-	right: 0;
-	height: 0;
-	content: '';
-	transform: scaleY(0.5);
-	border-bottom: 1px solid $border-color-base;
-}
-
-.b-b:after {
-	bottom: 0;
-}
-
-.b-t:after {
-	top: 0;
-}
-
-/* button样式改写 */
-uni-button,
-button {
-	height: 80rpx;
-	line-height: 80rpx;
-	font-size: $font-lg + 2rpx;
-	font-weight: normal;
-
-	&.no-border:before,
-	&.no-border:after {
-		border: 0;
-	}
-}
-
-uni-button[type='default'],
-button[type='default'] {
-	color: $font-color-dark;
-}
-
-/* input 样式 */
-.input-placeholder {
-	color: #999999;
-}
-
-.placeholder {
-	color: #999999;
-}
-// 边距样式
-@for $i from 1 to 4 {
-	.margin-l-#{$i * 10} {
-		margin-left: $i * 10rpx !important;
-	}
-	.margin-r-#{$i * 10} {
-		margin-right: $i * 10rpx !important;
-	}
-	.margin-t-#{$i * 10} {
-		margin-top: $i * 10rpx !important;
-	}
-	.margin-b-#{$i * 10} {
-		margin-bottom: $i * 10rpx !important;
-	}
-	.margin-#{$i * 10} {
-		margin: $i * 10rpx !important;
-	}
-	.margin-v-#{$i * 10} {
-		margin-top: $i * 10rpx !important;
-		margin-bottom: $i * 10rpx !important;
-	}
-	.margin-c-#{$i * 10} {
-		margin-left: $i * 10rpx !important;
-		margin-right: $i * 10rpx !important;
-	}
-	.padding-l-#{$i * 10} {
-		padding-left: $i * 10rpx !important;
-	}
-	.padding-r-#{$i * 10} {
-		padding-right: $i * 10rpx !important;
-	}
-	.padding-t-#{$i * 10} {
-		padding-top: $i * 10rpx !important;
-	}
-	.padding-b-#{$i * 10} {
-		padding-bottom: $i * 10rpx !important;
-	}
-	.padding-#{$i * 10} {
-		padding: $i * 10rpx !important;
-	}
-	.padding-v-#{$i * 10} {
-		padding-top: $i * 10rpx !important;
-		padding-bottom: $i * 10rpx !important;
-	}
-	.padding-c-#{$i * 10} {
-		padding-left: $i * 10rpx !important;
-		padding-right: $i * 10rpx !important;
-	}
-}
-// 字体大小
-.font-size-sm {
-	font-size: $font-sm;
-}
-.font-size-base {
-	font-size: $font-base;
-}
-.font-size-lg {
-	font-size: $font-lg;
-}
-// 字体颜色
-.font-color-yellow {
-	color: $color-yellow;
-}
-.font-color-gray {
-	color: $color-gray;
-}
-.font-color-red {
-	color: $color-red;
-}
-// 边框颜色
-.border-color-yellow {
-	border: 1rpx solid $color-yellow;
-}
-
-// 修改默认背景颜色
-uni-page-wrapper {
-	background-color: $page-color-base;
-}
-page {
-	background-color: $page-color-base;
-	// 设置默认字体
-	font-family: PingFang SC, STHeitiSC-Light, Helvetica-Light, arial, sans-serif, Droid Sans Fallback;
-}
+<script>
+	/**
+	 * vuex管理登陆状态,具体可以参考官方登陆模板示例
+	 */
+	import {
+		mapMutations
+	} from 'vuex';
+	// #ifdef H5
+	import {
+		weixindata,
+		setRouter
+	} from './utils/wxAuthorized';
+	// #endif
+	// #ifdef APP-PLUS
+	import {
+		getUpApp
+	} from './utils/upApp.js';
+	// #endif
+	export default {
+		data() {
+			return {
+				/* 保存微信信息 */
+				appData: {}
+			};
+		},
+		methods: {
+			...mapMutations('user', ['setUserInfo', 'login', 'hasLogin'])
+		},
+		onLaunch: function(urlObj) {
+			let obj = this;
+			// 加载缓存中的用户信息
+			let userInfo = uni.getStorageSync('userInfo') || '';
+			// 判断是否拥有用户信息
+			if (userInfo.uid) {
+				//更新登陆状态
+				uni.getStorage({
+					key: 'userInfo',
+					success: res => {
+						obj.setUserInfo(res.data);
+						obj.login(res.data);
+					}
+				});
+			}
+			// #ifdef H5
+			// 保存路由对象
+			setRouter(this.$router);
+			//判断是否已经缓存浏览器
+			let bool = uni.getStorageSync('weichatBrowser') || '';
+			if (bool === '') {
+				//判断是否为微信浏览
+				bool = navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger';
+				// 保存当前是否为微信内核浏览器
+				uni.setStorageSync('weichatBrowser', bool);
+			}
+			if (bool) {
+				// 加载微信信息
+				weixindata();
+			}
+			// #endif
+			// #ifdef APP-PLUS
+			// 判断是否升级
+			getUpApp();
+			// 获取当前运行系统
+			let system = uni.getStorageSync('platform') || '';
+			if (!system) {
+				uni.setStorage({
+					key: 'platform',
+					data: uni.getSystemInfoSync().platform
+				});
+			}
+			// #endif
+		},
+		onShow: function() {
+			// 加载拦截
+			// console.log('App Show');
+		},
+		onHide: function() {
+			// console.log('App Hide');
+		}
+	};
+</script>
+
+<style lang="scss">
+	/*全局公共样式和字体图标*/
+	@import '/static/css/cmy.css';
+	@import '/static/css/flex.css';
+	@import '/static/css/padding.css';
+	@import "uview-ui/index.scss";
+
+	view,
+	scroll-view,
+	swiper,
+	swiper-item,
+	cover-view,
+	cover-image,
+	icon,
+	text,
+	rich-text,
+	progress,
+	button,
+	checkbox,
+	form,
+	input,
+	label,
+	radio,
+	slider,
+	switch,
+	textarea,
+	navigator,
+	audio,
+	camera,
+	image,
+	video {
+		box-sizing: border-box;
+	}
+
+	/* 骨架屏替代方案 */
+	.Skeleton {
+		background: #f3f3f3;
+		padding: 20rpx 0;
+		border-radius: 8rpx;
+	}
+
+	/* 图片载入替代方案 */
+	.image-wrapper {
+		font-size: 0;
+		background: #f3f3f3;
+		border-radius: 4px;
+
+		image {
+			width: 100%;
+			height: 100%;
+			transition: 0.6s;
+			opacity: 0;
+
+			&.loaded {
+				opacity: 1;
+			}
+		}
+	}
+
+	// 设置富文本中图片最大宽度
+	uni-rich-text img {
+		max-width: 100% !important;
+	}
+
+	/*边框*/
+	.b-b:after,
+	.b-t:after {
+		position: absolute;
+		z-index: 3;
+		left: 0;
+		right: 0;
+		height: 0;
+		content: '';
+		transform: scaleY(0.5);
+		border-bottom: 1px solid $border-color-base;
+	}
+
+	.b-b:after {
+		bottom: 0;
+	}
+
+	.b-t:after {
+		top: 0;
+	}
+
+	/* button样式改写 */
+	uni-button,
+	button {
+		height: 80rpx;
+		line-height: 80rpx;
+		font-size: $font-lg + 2rpx;
+		font-weight: normal;
+
+		&.no-border:before,
+		&.no-border:after {
+			border: 0;
+		}
+	}
+
+	uni-button[type='default'],
+	button[type='default'] {
+		color: $font-color-dark;
+	}
+
+	/* input 样式 */
+	.input-placeholder {
+		color: #999999;
+	}
+
+	.placeholder {
+		color: #999999;
+	}
+
+	// 边距样式
+	@for $i from 1 to 4 {
+		.margin-l-#{$i * 10} {
+			margin-left: $i * 10rpx !important;
+		}
+
+		.margin-r-#{$i * 10} {
+			margin-right: $i * 10rpx !important;
+		}
+
+		.margin-t-#{$i * 10} {
+			margin-top: $i * 10rpx !important;
+		}
+
+		.margin-b-#{$i * 10} {
+			margin-bottom: $i * 10rpx !important;
+		}
+
+		.margin-#{$i * 10} {
+			margin: $i * 10rpx !important;
+		}
+
+		.margin-v-#{$i * 10} {
+			margin-top: $i * 10rpx !important;
+			margin-bottom: $i * 10rpx !important;
+		}
+
+		.margin-c-#{$i * 10} {
+			margin-left: $i * 10rpx !important;
+			margin-right: $i * 10rpx !important;
+		}
+
+		.padding-l-#{$i * 10} {
+			padding-left: $i * 10rpx !important;
+		}
+
+		.padding-r-#{$i * 10} {
+			padding-right: $i * 10rpx !important;
+		}
+
+		.padding-t-#{$i * 10} {
+			padding-top: $i * 10rpx !important;
+		}
+
+		.padding-b-#{$i * 10} {
+			padding-bottom: $i * 10rpx !important;
+		}
+
+		.padding-#{$i * 10} {
+			padding: $i * 10rpx !important;
+		}
+
+		.padding-v-#{$i * 10} {
+			padding-top: $i * 10rpx !important;
+			padding-bottom: $i * 10rpx !important;
+		}
+
+		.padding-c-#{$i * 10} {
+			padding-left: $i * 10rpx !important;
+			padding-right: $i * 10rpx !important;
+		}
+	}
+
+	// 字体大小
+	.font-size-sm {
+		font-size: $font-sm;
+	}
+
+	.font-size-base {
+		font-size: $font-base;
+	}
+
+	.font-size-lg {
+		font-size: $font-lg;
+	}
+
+	// 字体颜色
+	.font-color-yellow {
+		color: $color-yellow;
+	}
+
+	.font-color-gray {
+		color: $color-gray;
+	}
+
+	.font-color-red {
+		color: $color-red;
+	}
+
+	// 边框颜色
+	.border-color-yellow {
+		border: 1rpx solid $color-yellow;
+	}
+
+	// 修改默认背景颜色
+	uni-page-wrapper {
+		background-color: $page-color-base;
+	}
+
+	page {
+		background-color: $page-color-base;
+		// 设置默认字体
+		font-family: PingFang SC, STHeitiSC-Light, Helvetica-Light, arial, sans-serif, Droid Sans Fallback;
+	}
 </style>

+ 188 - 0
components/add-number.vue

@@ -0,0 +1,188 @@
+<template>
+	<view class="uni-numbox">
+		<view class="uni-numbox-minus" @click="_calcValue('subtract')">
+			<text class="iconfont iconmove" :class="minDisabled?'uni-numbox-disabled': ''"></text>
+		</view>
+		<input class="uni-numbox-value" type="number" :disabled="disabled" :value="inputValue" @blur="_onBlur">
+		<view class="uni-numbox-plus" @click="_calcValue('add')">
+			<text class="iconfont iconaddred" :class="maxDisabled?'uni-numbox-disabled': ''"></text>
+		</view>
+	</view>
+</template>
+<script>
+	export default {
+		name: 'uni-number-box',
+		props: {
+			isMax: {
+				type: Boolean,
+				default: false
+			},
+			isMin: {
+				type: Boolean,
+				default: false
+			},
+			index: {
+				type: Number,
+				default: 0
+			},
+			value: {
+				type: Number,
+				default: 0
+			},
+			min: {
+				type: Number,
+				default: -Infinity
+			},
+			max: {
+				type: Number,
+				default: Infinity
+			},
+			step: {
+				type: Number,
+				default: 1
+			},
+			disabled: {
+				type: Boolean,
+				default: false
+			}
+		},
+		data() {
+			return {
+				inputValue: this.value,
+				minDisabled: false,
+				maxDisabled: false
+			}
+		},
+		created() {
+			this.maxDisabled = this.isMax;
+			this.minDisabled = this.isMin;
+		},
+		computed: {
+
+		},
+		watch: {
+			inputValue(number) {
+				const data = {
+					number: number,
+					index: this.index
+				}
+				this.$emit('eventChange', data);
+			}
+		},
+		methods: {
+			_calcValue(type) {
+				const scale = this._getDecimalScale();
+				let value = this.inputValue * scale;
+				let newValue = 0;
+				let step = this.step * scale;
+
+				if (type === 'subtract') {
+					newValue = value - step;
+					if (newValue <= this.min) {
+						this.minDisabled = true;
+					}
+					if (newValue < this.min) {
+						newValue = this.min
+					}
+					if (newValue < this.max && this.maxDisabled === true) {
+						this.maxDisabled = false;
+					}
+				} else if (type === 'add') {
+					newValue = value + step;
+					if (newValue >= this.max) {
+						this.maxDisabled = true;
+					}
+					if (newValue > this.max) {
+						newValue = this.max
+					}
+					if (newValue > this.min && this.minDisabled === true) {
+						this.minDisabled = false;
+					}
+				}
+				if (newValue === value) {
+					return;
+				}
+				this.inputValue = newValue / scale;
+			},
+			_getDecimalScale() {
+				let scale = 1;
+				// 浮点型
+				if (~~this.step !== this.step) {
+					scale = Math.pow(10, (this.step + '').split('.')[1].length);
+				}
+				return scale;
+			},
+			_onBlur(event) {
+				let value = event.detail.value;
+				if (!value) {
+					this.inputValue = 0;
+					return
+				}
+				value = +value;
+				if (value > this.max) {
+					value = this.max;
+				} else if (value < this.min) {
+					value = this.min
+				}
+
+				this.inputValue = value
+			}
+		}
+	}
+</script>
+<style>
+	.uni-numbox {
+		/* position:absolute; */
+		/* left: 30rpx; */
+		/* bottom: 0; */
+		display: flex;
+		justify-content: flex-start;
+		align-items: center;
+		width: 320rpx;
+		height: 77rpx;
+		background: #f5f5f5;
+	}
+
+	.uni-numbox-minus,
+	.uni-numbox-plus {
+		margin: 0;
+		background-color: #f5f5f5;
+		width: 90rpx;
+		height: 100%;
+		line-height: 70rpx;
+		text-align: center;
+		position: relative;
+	}
+
+	.uni-numbox-minus .yticon,
+	.uni-numbox-plus .yticon {
+		font-size: 36rpx;
+		color: #555;
+	}
+
+	.uni-numbox-minus {
+		border-right: none;
+		border-top-left-radius: 6rpx;
+		border-bottom-left-radius: 6rpx;
+	}
+
+	.uni-numbox-plus {
+		border-left: none;
+		border-top-right-radius: 6rpx;
+		border-bottom-right-radius: 6rpx;
+	}
+
+	.uni-numbox-value {
+		position: relative;
+		background-color: #f5f5f5;
+		width: 140rpx;
+		height: 50rpx;
+		text-align: center;
+		padding: 0;
+		font-size: 30rpx;
+	}
+
+	.uni-numbox-disabled.iconfont {
+		color: #d6d6d6;
+	}
+</style>

+ 2 - 2
manifest.json

@@ -64,7 +64,7 @@
         }
     },
     "h5" : {
-        "title" : "玲卿+",
+        "title" : "想亮商城",
         "domain" : "",
         "router" : {
             "base" : "/index/",
@@ -74,7 +74,7 @@
             "proxy" : {
                 "/api" : {
                     // "target" : "http://lnpt.frp.liuniu946.com/api",
-                    "target" : "https://hy.liuniu946.com/api",
+                    "target" : "http://xxl.liuniu946.com/api",
                     // "changeOrigin": true,
                     "pathRewrite" : {
                         "/api" : "" // rewrite path

+ 651 - 609
pages.json

@@ -1,610 +1,652 @@
-{
-	"easycom": {
-		"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
-	},
-	"pages": [{
-			"path": "pages/index/index",
-			"style": {
-				"navigationBarTitleText": "玲卿+",
-				"app-plus": {
-					"titleNView": false
-				}
-			}
-		},
-		{
-			"path": "pages/index/sign",
-			"style": {
-				"navigationBarTitleText": "天天领现金",
-				"app-plus": {
-					"titleNView": false
-				}
-			}
-		},
-		{
-			"path": "pages/shoping/list",
-			"style": {
-				"navigationBarTitleText": "店铺列表"
-				
-			}
-		},
-		{
-			"path": "pages/public/register",
-			"style": {
-				"navigationBarTitleText": "注册",
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				}
-			}
-		},
-		{
-			"path": "pages/user/jiedianDetails",
-			"style": {
-				"navigationBarTitleText": "节点团队",
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				}
-			}
-		},
-	 {
-			"path": "pages/public/login",
-			"style": {
-				"navigationBarTitleText": "登录",
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				}
-			}
-		},
-		{
-			"path": "pages/public/wxLogin",
-			"style": {
-				"navigationBarTitleText": "微信登录",
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				}
-			}
-		},
-
-		{
-			"path": "pages/public/forget",
-			"style": {
-				"navigationBarTitleText": "忘记密码",
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				}
-			}
-		},
-		{
-			"path": "pages/user/jiedian",
-			"style": {
-				"navigationBarTitleText": "我的节点"
-			}
-		},
-		{
-			"path": "pages/user/team",
-			"style": {
-				"navigationBarTitleText": "我的推广"
-			}
-		},
-		{
-			"path": "pages/user/cash",
-			"style": {
-				"navigationBarTitleText": "我的现金"
-			}
-		},
-		{
-			"path": "pages/money/withdmoenys",
-			"style": {
-				"navigationBarTitleText": "转账"
-			}
-		},
-		{
-			"path": "pages/product/groupBooking/index",
-			"style": {
-				"enablePullDownRefresh": true,
-				"navigationBarTitleText": "超值拼团"
-			}
-		},
-		{
-			"path": "pages/product/groupBooking/detail",
-			"style": {
-				"navigationBarTitleText": "拼团列表",
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				}
-			}
-		},
-		{
-			"path": "pages/product/groupBooking/productCollage", //拼团商品
-			"style": {
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				},
-				"navigationBarTitleText": "商品详情"
-			}
-		},
-		{
-			"path": "pages/product/groupBooking/inviteImg",
-			"style": {
-				"navigationBarTitleText": "拼团邀请图",
-				"app-plus": {
-					"titleNView": false
-				}
-			}
-		},
-		{
-			"path": "pages/product/groupBooking/productGroup",
-			"style": {
-				"navigationBarTitleText": "拼团详情展示",
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				}
-			}
-		},
-		// {
-		// 	"path": "pages/product/groupBooking/groupdetails",
-		// 	"style": {
-		// 		"navigationBarTitleText": "拼团详情",
-		// 		"app-plus": {
-		// 			"titleNView": false
-		// 		}
-		// 	}
-		// },
-		{
-			"path": "pages/product/reply",
-			"style": {
-				"navigationBarTitleText": "商品评价",
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				}
-			}
-		},
-		{
-			"path": "pages/product/product",
-			"style": {
-				"navigationBarTitleText": "详情展示",
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				}
-			}
-		},
-		{
-			"path": "pages/product/seckill",
-			"style": {
-				"navigationBarTitleText": "限时秒杀"
-			}
-		},
-		{
-			"path": "pages/product/list",
-			"style": {
-				"enablePullDownRefresh": true,
-				"navigationBarTitleText": "商品列表"
-			}
-		},
-		{
-			"path": "pages/product/search",
-			"style": {
-				"enablePullDownRefresh": true,
-				// #ifdef APP-PLUS
-				"navigationStyle": "custom",
-				// #endif
-				// #ifndef MP || APP-PLUS
-				"app-plus": {
-					"titleNView": {
-						"searchInput": {
-							"backgroundColor": "rgba(231, 231, 231,.7)",
-							"borderRadius": "16px",
-							"placeholder": "请输入关键字",
-							"disabled": false,
-							"placeholderColor": "#606266",
-							"align": "left"
-						},
-						"buttons": [{
-							"text": "搜索",
-							"fontSize": "14",
-							"color": "#303133",
-							"background": "rgba(0,0,0,0)",
-							"width": "40px"
-						}]
-					}
-				},
-				// #endif
-				"navigationBarTitleText": "搜索"
-			}
-		},
-		{
-			"path": "pages/product/classify",
-			"style": {
-				"navigationStyle": "custom",
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				}
-			}
-		},
-		{
-			"path": "pages/set/set",
-			"style": {
-				"navigationBarTitleText": "设置"
-			}
-		},
-		{
-			"path": "pages/set/address",
-			"style": {
-				"navigationBarTitleText": "收货地址"
-			}
-		},
-		{
-			"path": "pages/set/addressManage",
-			"style": {
-				"navigationBarTitleText": ""
-			}
-		},
-		{
-			"path": "pages/set/phone",
-			"style": {
-				"navigationBarTitleText": "绑定手机号"
-			}
-		},
-		{
-			"path": "pages/set/user",
-			"style": {
-				"navigationBarTitleText": "绑定上级"
-			}
-		},
-		{
-			"path": "pages/set/password",
-			"style": {
-				"navigationBarTitleText": "修改密码"
-			}
-		},
-		{
-			"path": "pages/set/userinfo",
-			"style": {
-				"navigationBarTitleText": "修改资料"
-			}
-		}, {
-			"path": "pages/cart/cart",
-			"style": {
-				"navigationBarTitleText": "购物车"
-			}
-		},
-
-		{
-			"path": "pages/user/user",
-			"style": {
-				// #ifndef MP-WEIXIN
-				"navigationStyle": "custom",
-				// "app-plus": {
-				// 	"bounce": "none",
-				// 	"titleNView": {
-				// 		"type": "transparent",
-				// 		"buttons": [{
-				// 				"fontSrc": "/static/yticon.ttf",
-				// 				"text": "\ue60f",
-				// 				"fontSize": "24",
-				// 				"color": "#303133",
-				// 				"width": "46px",
-				// 				"background": "rgba(0,0,0,0)"
-				// 			},
-				// 			{
-				// 				"fontSrc": "/static/yticon.ttf",
-				// 				"text": "\ue744",
-				// 				"fontSize": "28",
-				// 				"color": "#303133",
-				// 				"background": "rgba(0,0,0,0)",
-				// 				"redDot": true
-				// 			}
-				// 		]
-				// 	}
-				// },
-				// #endif
-				"navigationBarTitleText": "个人中心"
-			}
-		},
-		{
-			"path": "pages/user/award",
-			"style": {
-				"navigationBarTitleText": "奖励明细",
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				}
-			}
-		},
-		{
-			"path": "pages/user/withdrawal",
-			"style": {
-				"navigationBarTitleText": "奖励提现"
-			}
-		},
-		{
-			"path": "pages/user/notice",
-			"style": {
-				"navigationBarTitleText": "通知"
-			}
-		},
-		{
-			"path": "pages/user/favorites",
-			"style": {
-				"navigationBarTitleText": "收藏夹"
-			}
-		}, {
-			"path": "pages/user/coupon",
-			"style": {
-				"navigationBarTitleText": "我的卡卷"
-			}
-		},
-		{
-			"path": "pages/user/scoreAccumulate",
-			"style": {
-				"navigationBarTitleText": "积分明细"
-			}
-		},
-		{
-			"path": "pages/user/mygx",
-			"style": {
-				"navigationBarTitleText": "我的贡献"
-			}
-		},
-		{
-			"path": "pages/order/order",
-			"style": {
-				"navigationBarTitleText": "我的订单",
-				"app-plus": {
-					"bounce": "none"
-				}
-			}
-		},
-
-		{
-			"path": "pages/order/expressInfo",
-			"style": {
-				"navigationBarTitleText": "快递详情"
-			}
-		},
-		{
-			"path": "pages/order/orderDetail",
-			"style": {
-				"navigationBarTitleText": "订单详情",
-				"app-plus": {
-					"bounce": "none"
-				}
-			}
-		},
-		{
-			"path": "pages/order/evaluate",
-			"style": {
-				"navigationBarTitleText": "评论"
-			}
-		},
-		{
-			"path": "pages/order/orderRefund",
-			"style": {
-				"navigationBarTitleText": "申请退款"
-			}
-		},
-		{
-			"path": "pages/order/createOrder",
-			"style": {
-				"navigationBarTitleText": "创建订单"
-			}
-		}, {
-			"path": "pages/money/pay",
-			"style": {
-				"navigationBarTitleText": "支付"
-			}
-		},
-		{
-			"path": "pages/money/paySuccess",
-			"style": {
-				"navigationBarTitleText": "支付成功"
-			}
-		},
-		{
-			"path": "pages/money/wallet",
-			"style": {
-				"navigationBarTitleText": "我的钱包",
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				}
-			}
-		},
-		{
-			"path": "pages/money/account",
-			"style": {
-				"navigationBarTitleText": "提现账号"
-			}
-		},
-		{
-			"path": "pages/money/withdrawal",
-			"style": {
-				"navigationBarTitleText": "提现"
-			}
-		},
-		{
-			"path": "pages/money/recharge",
-			"style": {
-				"navigationBarTitleText": "充值"
-			}
-		},
-		{
-			"path": "pages/category/category",
-			"style": {
-				// #ifdef APP-PLUS
-				"navigationStyle": "custom",
-				// #endif
-				// #ifndef MP
-				"app-plus": {
-					"bounce": "none",
-					"titleNView": {
-						"searchInput": {
-							"backgroundColor": "rgba(231, 231, 231,.7)",
-							"borderRadius": "16px",
-							"placeholder": "商品搜索",
-							"disabled": true,
-							"placeholderColor": "#606266",
-							"align": "left"
-						}
-					}
-				},
-				// #endif
-				"navigationBarTitleText": "分类"
-			}
-		},
-		{
-			"path": "pages/redirect/redirect",
-			"style": {
-				"navigationBarTitleText": "微信登录跳转页面",
-				"app-plus": {
-					"titleNView": false
-				}
-			}
-		},
-		{
-			"path": "pages/category/business",
-			"style": {
-				"navigationBarTitleText": "商圈"
-			}
-		},
-		{
-			"path": "pages/game/game",
-			"style": {
-				"navigationBarTitleText": "响亮游戏"
-			}
-		},
-		{
-			"path": "pages/user/shareQrCode",
-			"style": {
-				"navigationBarTitleText": "邀请好友"
-			}
-		}
-	    ,{
-            "path" : "pages/index/vipShop",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/product/miaosha",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/money/success",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-    ],
-	"subPackages": [{
-		"root": "pages/activity",
-		"name": "activity",
-		"pages": [{
-				"path": "goods_bargain/index",
-				"style": {
-					"navigationStyle": "custom"
-						// #ifdef MP
-						,
-					"navigationBarTextStyle": "#fff"
-					// #endif
-				}
-			},
-			{
-				"path": "goods_bargain_details/index",
-				"style": {
-					"navigationStyle": "custom"
-						// #ifdef MP
-						,
-					"navigationBarTextStyle": "#fff"
-					// #endif
-				}
-			},
-			{
-				"path": "bargain/index",
-				"style": {
-					"navigationBarTitleText": "砍价记录"
-				}
-			}
-		]
-	}],
-	"globalStyle": {
-		"navigationBarTextStyle": "black",
-		"navigationBarTitleText": "玲卿+",
-		"navigationBarBackgroundColor": "#FFFFFF",
-		"backgroundColor": "#f8f8f8",
-		//#ifdef H5
-		"navigationStyle": "custom"
-		//#endif
-	},
-	"tabBar": {
-		"color": "#666666",
-		"selectedColor": "#f65067",
-		"borderStyle": "black",
-		"backgroundColor": "#ffffff",
-		"list": [{
-				"pagePath": "pages/index/index",
-				"iconPath": "static/tabBar/tab-home.png",
-				"selectedIconPath": "static/tabBar/tab-home-current.png",
-				"text": "首页"
-			},
-			{
-				"pagePath": "pages/category/category",
-				"iconPath": "static/tabBar/tab-cate.png",
-				"selectedIconPath": "static/tabBar/tab-cate-current.png",
-				"text": "分类"
-			},
-			// {
-			// 	"pagePath": "pages/game/game",
-			// 	"iconPath": "static/tabBar/tab-cate.png",
-			// 	"selectedIconPath": "static/tabBar/tab-cate-current.png",
-			// 	"text": "响亮游戏"
-			// },
-			{
-				"pagePath": "pages/cart/cart",
-				"iconPath": "static/tabBar/tab-cart.png",
-				"selectedIconPath": "static/tabBar/tab-cart-current.png",
-				"text": "购物车"
-			},
-			{
-				"pagePath": "pages/user/user",
-				"iconPath": "static/tabBar/tab-my.png",
-				"selectedIconPath": "static/tabBar/tab-my-current.png",
-				"text": "我的"
-			}
-		]
-	}
+{
+	"easycom": {
+		"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
+	},
+	"pages": [{
+			"path": "pages/index/index",
+			"style": {
+				"navigationBarTitleText": "想亮商城",
+				"app-plus": {
+					"titleNView": false
+				}
+			}
+		},
+		{
+			"path": "pages/index/sign",
+			"style": {
+				"navigationBarTitleText": "天天领现金",
+				"app-plus": {
+					"titleNView": false
+				}
+			}
+		},
+		{
+			"path": "pages/shoping/list",
+			"style": {
+				"navigationBarTitleText": "店铺列表"
+
+			}
+		},
+		{
+			"path": "pages/shop/joinshop",
+			"style": {
+				"navigationBarTitleText": "商家入驻"
+
+			}
+		},
+		{
+			"path": "pages/shop/shopList",
+			"style": {
+				"navigationBarTitleText": "商家列表"
+
+			}
+		},
+		{
+			"path": "pages/shop/djqQm",
+			"style": {
+				"navigationBarTitleText": "代金券券码"
+
+			}
+		},
+		{
+			"path": "pages/shop/yhqDetail",
+			"style": {
+				"navigationBarTitleText": "优惠券详情"
+
+			}
+		},
+		{
+			"path": "pages/shop/shopDetail",
+			"style": {
+				"navigationBarTitleText": "商家详情"
+
+			}
+		},
+		{
+			"path": "pages/shop/giftDetail",
+			"style": {
+				"navigationBarTitleText": "礼包详情"
+
+			}
+		},
+		{
+			"path": "pages/public/register",
+			"style": {
+				"navigationBarTitleText": "注册",
+				"app-plus": {
+					"titleNView": {
+						"type": "transparent"
+					}
+				}
+			}
+		},
+		{
+			"path": "pages/user/jiedianDetails",
+			"style": {
+				"navigationBarTitleText": "节点团队",
+				"app-plus": {
+					"titleNView": {
+						"type": "transparent"
+					}
+				}
+			}
+		},
+		{
+			"path": "pages/user/hxjl",
+			"style": {
+				"navigationBarTitleText": "核销历史"
+			}
+		},
+		{
+			"path": "pages/public/login",
+			"style": {
+				"navigationBarTitleText": "登录",
+				"app-plus": {
+					"titleNView": {
+						"type": "transparent"
+					}
+				}
+			}
+		},
+		{
+			"path": "pages/public/wxLogin",
+			"style": {
+				"navigationBarTitleText": "微信登录",
+				"app-plus": {
+					"titleNView": {
+						"type": "transparent"
+					}
+				}
+			}
+		},
+
+		{
+			"path": "pages/public/forget",
+			"style": {
+				"navigationBarTitleText": "忘记密码",
+				"app-plus": {
+					"titleNView": {
+						"type": "transparent"
+					}
+				}
+			}
+		},
+		{
+			"path": "pages/user/jiedian",
+			"style": {
+				"navigationBarTitleText": "我的节点"
+			}
+		},
+		{
+			"path": "pages/user/team",
+			"style": {
+				"navigationBarTitleText": "我的推广"
+			}
+		},
+		{
+			"path": "pages/user/cash",
+			"style": {
+				"navigationBarTitleText": "我的现金"
+			}
+		},
+		{
+			"path": "pages/money/withdmoenys",
+			"style": {
+				"navigationBarTitleText": "转账"
+			}
+		},
+		{
+			"path": "pages/product/groupBooking/index",
+			"style": {
+				"enablePullDownRefresh": true,
+				"navigationBarTitleText": "超值拼团"
+			}
+		},
+		{
+			"path": "pages/product/groupBooking/detail",
+			"style": {
+				"navigationBarTitleText": "拼团列表",
+				"app-plus": {
+					"titleNView": {
+						"type": "transparent"
+					}
+				}
+			}
+		},
+		{
+			"path": "pages/product/groupBooking/productCollage", //拼团商品
+			"style": {
+				"app-plus": {
+					"titleNView": {
+						"type": "transparent"
+					}
+				},
+				"navigationBarTitleText": "商品详情"
+			}
+		},
+		{
+			"path": "pages/product/groupBooking/inviteImg",
+			"style": {
+				"navigationBarTitleText": "拼团邀请图",
+				"app-plus": {
+					"titleNView": false
+				}
+			}
+		},
+		{
+			"path": "pages/product/groupBooking/productGroup",
+			"style": {
+				"navigationBarTitleText": "拼团详情展示",
+				"app-plus": {
+					"titleNView": {
+						"type": "transparent"
+					}
+				}
+			}
+		},
+		// {
+		// 	"path": "pages/product/groupBooking/groupdetails",
+		// 	"style": {
+		// 		"navigationBarTitleText": "拼团详情",
+		// 		"app-plus": {
+		// 			"titleNView": false
+		// 		}
+		// 	}
+		// },
+		{
+			"path": "pages/product/reply",
+			"style": {
+				"navigationBarTitleText": "商品评价",
+				"app-plus": {
+					"titleNView": {
+						"type": "transparent"
+					}
+				}
+			}
+		},
+		{
+			"path": "pages/product/product",
+			"style": {
+				"navigationBarTitleText": "详情展示",
+				"app-plus": {
+					"titleNView": {
+						"type": "transparent"
+					}
+				}
+			}
+		},
+		{
+			"path": "pages/product/seckill",
+			"style": {
+				"navigationBarTitleText": "限时秒杀"
+			}
+		},
+		{
+			"path": "pages/product/list",
+			"style": {
+				"enablePullDownRefresh": true,
+				"navigationBarTitleText": "商品列表"
+			}
+		},
+		{
+			"path": "pages/product/search",
+			"style": {
+				"enablePullDownRefresh": true,
+				// #ifdef APP-PLUS
+				"navigationStyle": "custom",
+				// #endif
+				// #ifndef MP || APP-PLUS
+				"app-plus": {
+					"titleNView": {
+						"searchInput": {
+							"backgroundColor": "rgba(231, 231, 231,.7)",
+							"borderRadius": "16px",
+							"placeholder": "请输入关键字",
+							"disabled": false,
+							"placeholderColor": "#606266",
+							"align": "left"
+						},
+						"buttons": [{
+							"text": "搜索",
+							"fontSize": "14",
+							"color": "#303133",
+							"background": "rgba(0,0,0,0)",
+							"width": "40px"
+						}]
+					}
+				},
+				// #endif
+				"navigationBarTitleText": "搜索"
+			}
+		},
+		{
+			"path": "pages/product/classify",
+			"style": {
+				"navigationStyle": "custom",
+				"app-plus": {
+					"titleNView": {
+						"type": "transparent"
+					}
+				}
+			}
+		},
+		{
+			"path": "pages/set/set",
+			"style": {
+				"navigationBarTitleText": "设置"
+			}
+		},
+		{
+			"path": "pages/set/address",
+			"style": {
+				"navigationBarTitleText": "收货地址"
+			}
+		},
+		{
+			"path": "pages/set/addressManage",
+			"style": {
+				"navigationBarTitleText": ""
+			}
+		},
+		{
+			"path": "pages/set/phone",
+			"style": {
+				"navigationBarTitleText": "绑定手机号"
+			}
+		},
+		{
+			"path": "pages/set/user",
+			"style": {
+				"navigationBarTitleText": "绑定上级"
+			}
+		},
+		{
+			"path": "pages/set/password",
+			"style": {
+				"navigationBarTitleText": "修改密码"
+			}
+		},
+		{
+			"path": "pages/set/userinfo",
+			"style": {
+				"navigationBarTitleText": "修改资料"
+			}
+		}, {
+			"path": "pages/cart/cart",
+			"style": {
+				"navigationBarTitleText": "购物车"
+			}
+		},
+
+		{
+			"path": "pages/user/user",
+			"style": {
+				// #ifndef MP-WEIXIN
+				"navigationStyle": "custom",
+				// "app-plus": {
+				// 	"bounce": "none",
+				// 	"titleNView": {
+				// 		"type": "transparent",
+				// 		"buttons": [{
+				// 				"fontSrc": "/static/yticon.ttf",
+				// 				"text": "\ue60f",
+				// 				"fontSize": "24",
+				// 				"color": "#303133",
+				// 				"width": "46px",
+				// 				"background": "rgba(0,0,0,0)"
+				// 			},
+				// 			{
+				// 				"fontSrc": "/static/yticon.ttf",
+				// 				"text": "\ue744",
+				// 				"fontSize": "28",
+				// 				"color": "#303133",
+				// 				"background": "rgba(0,0,0,0)",
+				// 				"redDot": true
+				// 			}
+				// 		]
+				// 	}
+				// },
+				// #endif
+				"navigationBarTitleText": "个人中心"
+			}
+		},
+		{
+			"path": "pages/user/award",
+			"style": {
+				"navigationBarTitleText": "奖励明细",
+				"app-plus": {
+					"titleNView": {
+						"type": "transparent"
+					}
+				}
+			}
+		},
+		{
+			"path": "pages/user/withdrawal",
+			"style": {
+				"navigationBarTitleText": "奖励提现"
+			}
+		},
+		{
+			"path": "pages/user/notice",
+			"style": {
+				"navigationBarTitleText": "通知"
+			}
+		},
+		{
+			"path": "pages/user/favorites",
+			"style": {
+				"navigationBarTitleText": "收藏夹"
+			}
+		}, {
+			"path": "pages/user/coupon",
+			"style": {
+				"navigationBarTitleText": "我的卡卷"
+			}
+		},
+		{
+			"path": "pages/user/scoreAccumulate",
+			"style": {
+				"navigationBarTitleText": "积分明细"
+			}
+		},
+		{
+			"path": "pages/user/mygx",
+			"style": {
+				"navigationBarTitleText": "我的贡献"
+			}
+		},
+		{
+			"path": "pages/order/order",
+			"style": {
+				"navigationBarTitleText": "我的订单",
+				"app-plus": {
+					"bounce": "none"
+				}
+			}
+		},
+
+		{
+			"path": "pages/order/expressInfo",
+			"style": {
+				"navigationBarTitleText": "快递详情"
+			}
+		},
+		{
+			"path": "pages/order/orderDetail",
+			"style": {
+				"navigationBarTitleText": "订单详情",
+				"app-plus": {
+					"bounce": "none"
+				}
+			}
+		},
+		{
+			"path": "pages/order/evaluate",
+			"style": {
+				"navigationBarTitleText": "评论"
+			}
+		},
+		{
+			"path": "pages/order/orderRefund",
+			"style": {
+				"navigationBarTitleText": "申请退款"
+			}
+		},
+		{
+			"path": "pages/order/createOrder",
+			"style": {
+				"navigationBarTitleText": "创建订单"
+			}
+		}, {
+			"path": "pages/money/pay",
+			"style": {
+				"navigationBarTitleText": "支付"
+			}
+		},
+		{
+			"path": "pages/money/paySuccess",
+			"style": {
+				"navigationBarTitleText": "支付成功"
+			}
+		},
+		{
+			"path": "pages/money/wallet",
+			"style": {
+				"navigationBarTitleText": "我的钱包",
+				"app-plus": {
+					"titleNView": {
+						"type": "transparent"
+					}
+				}
+			}
+		},
+		{
+			"path": "pages/money/account",
+			"style": {
+				"navigationBarTitleText": "提现账号"
+			}
+		},
+		{
+			"path": "pages/money/withdrawal",
+			"style": {
+				"navigationBarTitleText": "提现"
+			}
+		},
+		{
+			"path": "pages/money/recharge",
+			"style": {
+				"navigationBarTitleText": "充值"
+			}
+		},
+		{
+			"path": "pages/category/category",
+			"style": {
+				// #ifdef APP-PLUS
+				"navigationStyle": "custom",
+				// #endif
+				// #ifndef MP
+				"app-plus": {
+					"bounce": "none",
+					"titleNView": {
+						"searchInput": {
+							"backgroundColor": "rgba(231, 231, 231,.7)",
+							"borderRadius": "16px",
+							"placeholder": "商品搜索",
+							"disabled": true,
+							"placeholderColor": "#606266",
+							"align": "left"
+						}
+					}
+				},
+				// #endif
+				"navigationBarTitleText": "分类"
+			}
+		},
+		{
+			"path": "pages/redirect/redirect",
+			"style": {
+				"navigationBarTitleText": "微信登录跳转页面",
+				"app-plus": {
+					"titleNView": false
+				}
+			}
+		},
+		{
+			"path": "pages/category/business",
+			"style": {
+				"navigationBarTitleText": "商圈"
+			}
+		},
+		{
+			"path": "pages/game/game",
+			"style": {
+				"navigationBarTitleText": "响亮游戏"
+			}
+		},
+		{
+			"path": "pages/user/shareQrCode",
+			"style": {
+				"navigationBarTitleText": "邀请好友"
+			}
+		}, {
+			"path": "pages/index/vipShop",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false
+			}
+
+		}, {
+			"path": "pages/product/miaosha",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false
+			}
+
+		}, {
+			"path": "pages/money/success",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false
+			}
+
+		}
+	],
+	"subPackages": [{
+		"root": "pages/activity",
+		"name": "activity",
+		"pages": [{
+				"path": "goods_bargain/index",
+				"style": {
+					"navigationStyle": "custom"
+						// #ifdef MP
+						,
+					"navigationBarTextStyle": "#fff"
+					// #endif
+				}
+			},
+			{
+				"path": "goods_bargain_details/index",
+				"style": {
+					"navigationStyle": "custom"
+						// #ifdef MP
+						,
+					"navigationBarTextStyle": "#fff"
+					// #endif
+				}
+			},
+			{
+				"path": "bargain/index",
+				"style": {
+					"navigationBarTitleText": "砍价记录"
+				}
+			}
+		]
+	}],
+	"globalStyle": {
+		"navigationBarTextStyle": "black",
+		"navigationBarTitleText": "玲卿+",
+		"navigationBarBackgroundColor": "#FFFFFF",
+		"backgroundColor": "#f8f8f8",
+		//#ifdef H5
+		"navigationStyle": "custom"
+		//#endif
+	},
+	"tabBar": {
+		"color": "#666666",
+		"selectedColor": "#f65067",
+		"borderStyle": "black",
+		"backgroundColor": "#ffffff",
+		"list": [{
+				"pagePath": "pages/index/index",
+				"iconPath": "static/tabBar/tab-cate.png",
+				"selectedIconPath": "static/tabBar/tab-cate-current.png",
+				"text": "首页"
+			},
+			// {
+			// 	"pagePath": "pages/category/category",
+			// 	"iconPath": "static/tabBar/tab-cate.png",
+			// 	"selectedIconPath": "static/tabBar/tab-cate-current.png",
+			// 	"text": "分类"
+			// },
+			// {
+			// 	"pagePath": "pages/game/game",
+			// 	"iconPath": "static/tabBar/tab-cate.png",
+			// 	"selectedIconPath": "static/tabBar/tab-cate-current.png",
+			// 	"text": "响亮游戏"
+			// },
+			{
+				"pagePath": "pages/order/order",
+				"iconPath": "static/tabBar/order.png",
+				"selectedIconPath": "static/tabBar/order-action.png",
+				"text": "我的订单"
+			},
+			{
+				"pagePath": "pages/user/user",
+				"iconPath": "static/tabBar/tab-my.png",
+				"selectedIconPath": "static/tabBar/tab-my-current.png",
+				"text": "我的"
+			}
+		]
+	}
 }

+ 1343 - 1086
pages/index/index.vue

@@ -1,1087 +1,1344 @@
-<template>
-	<view class="container">
-		<view class="carousel-section">
-			<!-- 背景色区域 -->
-			<view class="bg"></view>
-			<!-- 标题栏和状态栏占位符 -->
-			<view class="titleNview-placing"></view>
-			<!-- 搜素栏 -->
-			<view class="search flex">
-				<view class="input-box flex" @click.stop="clickSearch">
-					<view class=" input-content flex">
-						<view class="iconfont iconsearch"></view>
-						<view class="input"><input type="text" disabled value="输入关键字搜索" /></view>
-					</view>
-				</view>
-			</view>
-			<swiper class="carousel" autoplay="true" duration="400" interval="5000" @change="swiperChange"
-				:indicator-dots="true" indicator-active-color="#FFFFFF">
-				<!-- <swiper class="carousel" autoplay="true" duration="400" interval="5000"> -->
-				<swiper-item v-for="(item, index) in carouselList" :key="index" class="carousel-item">
-					<image :src="item.pic" mode="aspectFill" @click="bannerNavToUrl(item)"></image>
-				</swiper-item>
-			</swiper>
-		</view>
-		<view class="navbar">
-			<view class="navbar-box flex">
-				<view class="navbar-item" @click="navTo('/pages/product/list')">
-					<image class="nitem-image" src="../../static/sy/sy12.png" mode=""></image>
-					<view class="nitem-font">全部分类</view>
-				</view>
-				<view class="navbar-item" @click="navTo('/pages/index/vipShop')">
-					<image class="nitem-image" src="../../static/sy/sy14.png" mode=""></image>
-					<view class="nitem-font">超值拼团</view>
-				</view>
-				<view class="navbar-item" @click="navTo('')">
-					<image class="nitem-image" src="../../static/sy/sy15.png" mode=""></image>
-					<view class="nitem-font">公司介绍</view>
-				</view>
-				<view class="navbar-item" @click="navTo('/pages/user/shareQrCode')">
-					<image class="nitem-image" src="../../static/sy/sy13.png" mode=""></image>
-					<view class="nitem-font">邀请有礼</view>
-				</view>
-			</view>
-		</view>
-		<seckill></seckill>
-		<view class=" jx">
-			<view class="jx-box">
-				<view class="jx-box-title">
-					<image src="../../static/sy/sy03.png" mode=""></image>
-				</view>
-				<view class="jx-box-img">
-					<image src="../../static/sy/sy09.png" mode=""></image>
-				</view>
-			</view>
-			<view class="jx-box-content" v-for="item in vipList" @click="navToDetailPage(item)">
-				<view class="content-left">
-					<image :src=item.image mode=""></image>
-				</view>
-				<view class="content-right">
-					<view class="shop-name">
-						{{item.store_name}}
-					</view>
-					<view class="shop-content">
-						<view class="shop-content-left">
-							<view class="price-box">
-								<view class="yuan-price">
-									¥{{item.ot_price}}
-								</view>
-								<image src="../../static/sy/sy06.png" mode=""></image>
-								<view class="j-price">
-									直降{{item.ot_price*1-item.price*1}}元
-								</view>
-							</view>
-							<view class="price-x">
-								¥{{item.price}}
-							</view>
-						</view>
-						<view class="shop-content-right">
-							立即购买
-						</view>
-					</view>
-				</view>
-			</view>
-			<view class="cai" @click="navTo('/pages/index/vipShop')">
-				查看更多<span style ="margin-left: 5rpx;">></span>
-			</view>
-		</view>
-		<view class="product-box">
-			<view class="product-title">
-				<view class="bb">
-				</view>
-				<view class="pt-title">猜你喜欢</view>
-				<view class="bb">
-				</view>
-			</view>
-			<view class="hotgoods">
-				<view class="hotgoods-item" v-for="item in firstList" :key="item.id" @click="navToDetailPage(item)">
-					<view class="image-wrapper">
-
-						<image class="image" :src="item.image" mode="scaleToFill"></image>
-					</view>
-					<view class="hotgoods-box">
-						<view class="title clamp2">{{ item.store_name }}</view>
-						<view class="titlee">{{ item.store_name }}</view>
-					</view>
-					<view class="hot-price">
-						<!-- <view class="hotPrice-box">会员价</view> -->
-						<view class="price">
-							<text class="font-size-sm">¥</text>
-							{{ item.price * 1 }}
-						</view>
-						<view class="yuanPrice">¥{{ item.price }}</view>
-					</view>
-				</view>
-			</view>
-		</view>
-		<!-- <u-tabbar activeColor="#434A54" v-model="current" :list="tabbar" :mid-button="true"></u-tabbar> -->
-	</view>
-</template>
-
-<script>
-	import {
-		lookSubpoints,
-		lookOneself
-	} from '../../api/user.js';
-	import seckill from '../../components/seckill/seckill.vue';
-	import {
-		loadIndexs,
-		getVip
-	} from '@/api/index.js';
-	import {
-		getUserInfo,
-		spread
-	} from '@/api/user.js';
-	import {
-		setCoupons
-	} from '@/api/functionalUnit.js';
-	import {
-		getBargainList
-	} from '@/api/product.js';
-	import {
-		interceptor
-	} from '@/utils/loginUtils';
-	import {
-		mapState,
-		mapMutations
-	} from 'vuex';
-	import {
-		tabbar
-	} from '@/utils/tabbar.js';
-	// #ifdef H5
-	import {
-		weixindata,
-		shareLoad
-	} from '@/utils/wxAuthorized';
-	// #endif
-	export default {
-		components: {
-			seckill
-		},
-		data() {
-			return {
-				tabbar: tabbar,
-				current: 0,
-				shareShow: false, //分享海报
-				pageProportion: 0, //保存页面基于750宽度的比例
-				swiperHeight: 0,
-				checkid: 0,
-				titleNViewBackground: '',
-				longitude: 0, //经度
-				latitude: 0, //纬度
-				swiperCurrent: 0,
-				swiperLength: 0,
-				carouselList: [], //轮播列表
-				bastList: [], //会员礼包
-				shoplist: [], //商店列表
-				page: 1,
-				limit: 5,
-				vipList: [], //vip商品
-				firstList: [],
-			};
-		},
-		computed: {
-			...mapState(['loginInterceptor', 'baseURL']),
-			...mapState('user', ['hasLogin', 'userInfo'])
-		},
-		onLoad: function(option) {
-			this.getaddress();
-			// #ifdef MP
-			if (option.scene) {
-				// 存储小程序邀请人
-				uni.setStorage({
-					key: 'spread_code',
-					data: option.scene
-				});
-			}
-			// #endif
-			// #ifdef H5
-			this.IndexShare();
-			//#endif
-		},
-		onShow: function() {
-			getVip({
-				page: 1,
-				limit: 3,
-				is_vip: 3
-			}).then(res => {
-				this.vipList = res.data
-				res.data.forEach(e => {
-					e.isVip = e.store_type ? "3" : "0"
-				})
-				console.log(res.data, 'vip商品');
-			})
-			// 判断是否强制登录
-			if (!this.hasLogin) {
-				// 登录拦截
-				interceptor();
-			}
-			this.loadData();
-			this.getBargainList();
-		},
-		//下拉刷新
-		onPullDownRefresh() {
-			this.loadData();
-		},
-		// #ifndef MP
-		// 监听导航栏输入框点击事件
-		onNavigationBarSearchInputClicked(e) {
-			//跳转到搜索页面
-			this.clickSearch();
-		},
-		//点击导航栏 buttons 时触发
-		onNavigationBarButtonTap(e) {
-			const index = e.index;
-			if (index === 0) {
-				this.$api.msg('点击了扫描');
-			} else if (index === 1) {
-				// #ifdef APP-PLUS
-				const pages = getCurrentPages();
-				const page = pages[pages.length - 1];
-				const currentWebview = page.$getAppWebview();
-				currentWebview.hideTitleNViewButtonRedDot({
-					index
-				});
-				// #endif
-				uni.navigateTo({
-					url: '/pages/user/notice'
-				});
-			}
-		},
-		// #endif
-		methods: {
-			...mapMutations(['setLat', 'setLon']),
-			// #ifdef H5
-			IndexShare() {
-				let obj = this;
-				let pages = getCurrentPages();
-				// 获取当前页面
-				let page = pages[pages.length - 1];
-				let path = '#/' + page.route + '?';
-				// 保存传值
-				for (let i in page.options) {
-					path += i + '=' + page.options[i] + '&';
-				}
-				console.log(obj.Path);
-				// 保存邀请人
-				path += 'spread=' + this.userInfo.uid;
-				let data = {
-					link: this.baseURL + '/index/' + path,
-					title: this.userInfo.nickname + '邀请您进入玲卿+',
-					desc: '欢迎加入玲卿+',
-					imgUrl: 'https://xl.liuniu946.com/index/static/img/logo.jpg'
-				};
-				console.log(data, '分享数据');
-				shareLoad(data);
-			},
-			// #endif
-			getaddress() {
-				console.log('dizhi+++++++++++');
-				let obj = this;
-				// uni.getLocation({
-				// 	type: 'gcj02',
-				// 	success: res => {
-				// 		console.log(res, 123456);
-				// 		obj.setLat(res.latitude);
-				// 		obj.setLon(res.longitude);
-				// 	},
-				// 	fail: err => {
-				// 		console.log(err, 'shi+++++++++++++++');
-				// 		openMap().then(e => {
-				// 			this.getaddress();
-				// 		});
-				// 	}
-				// });
-				weixindata().then(wxOjb => {
-					console.log(wxOjb, '获取微信');
-					wxOjb.getLocation({
-						type: 'gcj02',
-						success: res => {
-							console.log(res, 123456);
-							obj.setLat(res.latitude);
-							obj.setLon(res.longitude);
-						},
-						fail: err => {
-							console.log(err, 'shi+++++++++++++++');
-							openMap().then(e => {
-								this.getaddress();
-							});
-						}
-					});
-				});
-			},
-			//砍价商品推荐详情页
-			navToDetailPages(item) {
-				let id = item.product_id;
-				//let type = 2;
-
-				uni.navigateTo({
-					url: '/pages/product/product?id=' + id
-				});
-			},
-			navTo(url) {
-				if (url == '') {
-					this.$api.msg('暂未开通,敬请期待');
-				} else {
-					uni.navigateTo({
-						url
-					});
-				}
-			},
-			openSubscribe: function(e) {
-				let page = e;
-				// #ifndef MP
-				uni.navigateTo({
-					url: page
-				});
-				// #endif
-				// #ifdef MP
-				uni.showLoading({
-					title: '正在加载'
-				});
-				openBargainSubscribe()
-					.then(res => {
-						uni.hideLoading();
-						uni.navigateTo({
-							url: page
-						});
-					})
-					.catch(err => {
-						uni.hideLoading();
-					});
-				// #endif
-			},
-			getBargainList() {
-				let that = this;
-
-				getBargainList({
-						page: that.page,
-						limit: that.limit
-					})
-					.then(function(res) {
-						// that.$set(that, 'bargainlist', res.data.slice(0, 2));
-					})
-					.catch(res => {
-						console.log(res, 'getBargainList');
-					});
-			},
-			Mask() {
-				this.MaskShow = false;
-				this.shareShow = true;
-				uni.setStorage({
-					key: 'FirstEntry',
-					data: true,
-					success: function() {
-						console.log(uni.getStorageSync('FirstEntry'), 'Mask');
-					}
-				});
-			},
-			Toshare() {
-				if (this.userInfo == '') {
-					getUserInfo({})
-						.then(({
-							data
-						}) => {
-							this.setUserInfo(data);
-							this.userInfo = data;
-						})
-						.catch(e => {});
-				} else {
-					this.shareShow = false;
-					uni.navigateTo({
-						url: '/pages/user/shareQrCode?spread=' + this.userInfo.uid
-					});
-				}
-			},
-			Tocancel() {
-				this.shareShow = false;
-			},
-			// 监听切换事件
-			listChange(e) {
-				this.checkid = e.detail.current;
-			},
-			// 點擊搜索框
-			clickSearch() {
-				uni.navigateTo({
-					url: '/pages/product/search'
-				});
-			},
-			// 点击触发领取优惠券
-			setCoupons(item) {
-				// 判断是否已经领取了优惠券
-				let obj = this;
-				uni.showModal({
-					title: '领取提示',
-					content: '是否领取优惠券',
-					success(e) {
-						if (e.confirm) {
-							setCoupons({
-								couponId: item.id
-							}).then(e => {
-								item.is_use = true;
-								uni.showToast({
-									title: '领取成功',
-									type: 'top',
-									duration: 2000
-								});
-							});
-						}
-					}
-				});
-			},
-			//商品种类切换
-			change(item) {
-				let id = item;
-				this.checkid = id;
-				if (this.checkid == 1) {
-					// console.log(1);
-					this.detail = this.selected_detail;
-				} else if (this.checkid == 2) {
-					// console.log(2);
-					this.detail = this.new_product;
-				} else {
-					this.detail = this.cheap_good;
-				}
-			},
-			// 监听图片加载完成
-			onImageError(key, index) {
-				this[key][index].image = '/static/error/errorImage.jpg';
-			},
-			// 请求载入数据
-			async loadData() {
-				loadIndexs({})
-					.then(({
-						data
-					}) => {
-						let goods = data.info;
-						console.log(goods, '商品信息');
-						this.carouselList = data.banner;
-						this.swiperLength = this.carouselList.length;
-						this.bastList = data.giftInfo; //会员礼包
-						data.info.firstList.forEach(e => {
-							e.isVip = e.store_type ? "3" : "0"
-						})
-						this.firstList = data.info.firstList //首页商品
-						uni.stopPullDownRefresh();
-					})
-					.catch(e => {
-						uni.stopPullDownRefresh();
-					});
-			},
-			//轮播图切换修改背景色
-			swiperChange(e) {
-				const index = e.detail.current;
-				this.swiperCurrent = index;
-				this.titleNViewBackground = this.carouselList[index].background;
-			},
-			//详情页
-			navToDetailPage(item) {
-				let id = item.id;
-				uni.navigateTo({
-					url: '/pages/product/product?id=' + id + '&isVip=' + item.isVip
-				});
-			},
-
-			// 轮播图跳转
-			bannerNavToUrl(item) {
-				// #ifdef H5
-				console.log(item.wap_url.indexOf('http'), 'banner');
-				if (item.wap_url.indexOf('http') >= 0) {
-					window.location.href = item.wap_url;
-				}
-				// #endif
-				//测试数据没有写id,用title代替
-				uni.navigateTo({
-					url: item.wap_url
-				});
-			}
-		}
-	};
-</script>
-
-<style lang="scss">
-	page {
-		background: #EEEFEE;
-	}
-
-	.carousel-section {
-		position: relative;
-		padding-top: 10px;
-
-		.bg {
-			position: absolute;
-			top: 0;
-			left: 0;
-			width: 750rpx;
-			height: 378rpx;
-
-			image {
-				width: 100%;
-				height: 100%;
-			}
-		}
-
-		.titleNview-placing {
-			height: var(--status-bar-height);
-			box-sizing: content-box;
-		}
-
-		.search {
-			justify-content: flex-start;
-			padding: 10rpx 32rpx 20rpx;
-			align-items: center;
-
-			.address {
-				width: 32rpx;
-				height: 38rpx;
-			}
-
-			.shop-name {
-				height: 38rpx;
-				position: relative;
-				top: -4rpx;
-				z-index: 100;
-				font-size: 30rpx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				padding-left: 10rpx;
-			}
-
-			.shop-jt {
-				margin-left: 8rpx;
-				width: 16rpx;
-				height: 10rpx;
-			}
-
-			.input-box {
-				margin-left: 10rpx;
-				position: relative;
-				z-index: 99;
-				width: 710rpx;
-				height: 60rpx;
-				background: #EEEEEE;
-				border-radius: 30rpx;
-
-				.input-content {
-					position: relative;
-					z-index: 11;
-					border-radius: 99rpx;
-					flex-grow: 1;
-					padding: 5rpx 30rpx;
-					background: #EEEEEE;
-
-					.iconsearch {
-						font-size: 50rpx;
-						color: #CBCBCB;
-					}
-
-					.input {
-						margin-left: 19rpx;
-						flex-grow: 1;
-						color: #CBCBCB;
-
-						input {
-							font-size: 28rpx;
-
-							color: #CBCBCB;
-						}
-					}
-				}
-
-				.input-button {
-					padding-left: 20rpx;
-					font-size: $font-base;
-					height: 100%;
-				}
-			}
-		}
-	}
-
-	.carousel {
-		position: relative;
-		z-index: 3;
-		width: 100%;
-		height: 360rpx;
-
-		.carousel-item {
-			width: 100%;
-			height: 100%;
-			padding: 0 28rpx;
-			overflow: hidden;
-		}
-
-		image {
-			width: 100%;
-			height: 100%;
-			border-radius: $border-radius-sm;
-		}
-	}
-
-	.navbar {
-		position: relative;
-		z-index: 2;
-		padding: 0 50rpx;
-		margin-top: -200rpx;
-		width: 750rpx;
-		height: 420rpx;
-		background: #ffffff;
-		border-radius: 40rpx;
-
-		.navbar-box {
-			padding-top: 250rpx;
-
-			.navbar-item {
-				display: flex;
-				flex-direction: column;
-				align-items: center;
-				width: 20%;
-
-				.nitem-image {
-					width: 90rpx;
-					height: 90rpx;
-				}
-
-				.nitem-font {
-					margin-top: 22rpx;
-					font-size: 26rpx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #000000;
-				}
-			}
-		}
-
-
-	}
-
-	.jx {
-		background: #fff;
-		width: 750rpx;
-	}
-
-	.jx-box {
-		background: #fff;
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		width: 750rpx;
-
-		.jx-box-title {
-			margin: 50rpx 0;
-			width: 610rpx;
-			height: 30rpx;
-
-			image {
-				width: 100%;
-				height: 100%;
-			}
-		}
-
-		.jx-box-img {
-			width: 750rpx;
-			height: 220rpx;
-
-			image {
-				width: 100%;
-				height: 100%;
-			}
-		}
-	}
-
-	.cai {
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		padding-bottom: 20rpx;
-		font-size: 28rpx;
-		font-weight: 500;
-		color: #999999;
-	}
-
-	.jx-box-content {
-		display: flex;
-
-		.content-left {
-			margin: 20rpx 15rpx;
-			width: 236rpx;
-			height: 236rpx;
-			background: #E2E2E2;
-			border-radius: 10rpx;
-
-			image {
-				width: 100%;
-				height: 100%;
-			}
-		}
-
-
-		.content-right {
-			display: flex;
-			flex-direction: column;
-			justify-content: space-around;
-
-			.shop-name {
-				width: 382rpx;
-				font-size: 32rpx;
-				font-weight: bold;
-				color: #333333;
-
-				overflow: hidden;
-				text-overflow: ellipsis;
-				display: -webkit-box;
-				-webkit-box-orient: vertical;
-				-webkit-line-clamp: 2;
-			}
-
-			.shop-content {
-				width: 455rpx;
-				display: flex;
-				justify-content: space-between;
-
-				.shop-content-left {
-					display: flex;
-					flex-direction: column;
-
-
-
-					.price-box {
-						display: flex;
-						align-items: center;
-
-						.yuan-price {
-							font-size: 26rpx;
-							font-weight: 500;
-							text-decoration: line-through;
-							color: #999999;
-						}
-
-						image {
-							margin: 0 10rpx;
-							width: 16rpx;
-							height: 18rpx;
-						}
-
-						.j-price {
-							font-size: 24rpx;
-							font-weight: bold;
-							color: #B59467;
-						}
-					}
-
-					.price-x {
-						font-size: 36rpx;
-						font-weight: bold;
-						color: #FF4C4C;
-					}
-				}
-
-				.shop-content-right {
-					margin-top: 20rpx;
-					align-items: center;
-					text-align: center;
-					width: 137rpx;
-					height: 52rpx;
-					font-size: 26rpx;
-					font-weight: 500;
-					color: #F8DABA;
-					background: #303030;
-					border-radius: 26rpx;
-					line-height: 52rpx;
-				}
-			}
-		}
-	}
-
-	.product-box {
-		margin-top: 20rpx;
-		background: #ffffff;
-		padding: 26rpx 30rpx 20rpx;
-
-		.product-title {
-			display: flex;
-			align-items: center;
-			justify-content: center;
-
-
-			.pt-image {
-				width: 36rpx;
-				height: 36rpx;
-			}
-
-			.bb {
-				width: 120rpx;
-				height: 1rpx;
-				background: #989898;
-			}
-
-			.pt-title {
-				margin: 0 28rpx;
-				font-size: 30rpx;
-				font-weight: 500;
-				color: #363636;
-			}
-
-			.pt-tip {
-				margin-left: 16rpx;
-				font-size: 20rpx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #95a0b1;
-			}
-		}
-
-		.hotgoods {
-			margin-top: 38rpx;
-			width: 100%;
-			display: flex;
-			flex-wrap: wrap;
-			padding: 0 0 30rpx;
-
-			.hotgoods-item {
-				width: 44%;
-				background: #FFFFFF;
-				margin: 20rpx;
-				box-shadow: 0px 0px 20px 0px rgba(50, 50, 52, 0.06);
-				border-radius: 10px;
-
-				.image-wrapper {
-					width: 100%;
-					height: 330rpx;
-					border-radius: 3px;
-					overflow: hidden;
-					position: relative;
-
-					.image-bg {
-						position: absolute;
-						top: 0;
-						left: 0;
-						right: 0;
-						bottom: 0;
-						width: 100%;
-						height: 100%;
-						opacity: 1;
-						border-radius: 12rpx 12rpx 0 0;
-						z-index: 2;
-					}
-
-					.image {
-						width: 100%;
-						height: 100%;
-						opacity: 1;
-						border-radius: 12rpx 12rpx 0 0;
-					}
-				}
-
-				.title {
-					margin-top: 20rpx;
-					font-size: 28rpx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #333333;
-				}
-
-				.hotgoods-box {
-					height: 100rpx;
-				}
-
-				.titlee {
-					margin-left: 15rpx;
-					font-size: 26rpx;
-					font-weight: 500;
-					color: #666666;
-					white-space: nowrap;
-					overflow: hidden;
-					text-overflow: ellipsis;
-
-				}
-
-				.hot-price {
-					display: flex;
-					justify-content: flex-start;
-					align-items: center;
-					padding: 14rpx 0 30rpx;
-
-					.hotPrice-box {
-						width: 70rpx;
-						height: 28rpx;
-						background: linear-gradient(90deg, #c79a4c, #f9df7f);
-						border-radius: 5rpx;
-						text-align: center;
-						line-height: 28rpx;
-						font-size: 20rpx;
-						font-weight: 400;
-						color: #ffffff;
-					}
-
-					.price {
-						margin-left: 10rpx;
-						font-size: 36rpx;
-						color: #ff0000;
-						font-weight: 500;
-					}
-
-					.yuanPrice {
-						margin-left: 10rpx;
-						font-size: 20rpx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						text-decoration: line-through;
-						color: #999999;
-					}
-
-					.cart-icon {
-						image {
-							width: 44rpx;
-							height: 44rpx;
-						}
-					}
-				}
-			}
-		}
-	}
-
-	.shop {
-		margin-top: 20rpx;
-		background: #ffffff;
-		padding: 0 12rpx;
-
-		.shop-title {
-			padding: 30rpx 0 20rpx;
-			display: flex;
-			align-items: center;
-			border-bottom: 1px solid #e3e6e7;
-
-			.shop-item {
-				width: 25%;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-
-				.sitem-font {
-					font-size: 26rpx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #333333;
-				}
-
-				.jt-down {
-					width: 10rpx;
-					height: 8rpx;
-					margin-left: 12rpx;
-				}
-			}
-		}
-	}
-
-	.shop-main {
-		padding: 32rpx 18rpx 0 12rpx;
-		align-items: flex-start;
-		justify-content: flex-start;
-
-		.main-left {
-			width: 180rpx;
-			height: 180rpx;
-			border-radius: 10rpx;
-		}
-
-		.main-right {
-			width: 500rpx;
-			justify-content: space-between;
-			align-items: flex-start;
-			margin-left: 20rpx;
-			padding: 13rpx 0 35rpx;
-			border-bottom: 1px solid #eaeced;
-
-			.shopm-info {
-				max-width: 60%;
-				line-height: 1;
-
-				.shopm-title {
-					display: flex;
-					justify-content: flex-start;
-
-					.shopmt-font {
-						font-size: 34rpx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #333333;
-					}
-
-					.shopmt-good {
-						margin-left: 6rpx;
-						width: 30rpx;
-						height: 30rpx;
-						border: 1px solid #ff4c4c;
-						border-radius: 5rpx;
-						font-size: 20rpx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #ff4c4c;
-						text-align: center;
-						line-height: 30rpx;
-					}
-				}
-
-				.address {
-					margin-top: 16rpx;
-					font-size: 24rpx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #666666;
-				}
-
-				.shopmt-tip {
-					position: relative;
-					display: inline-block;
-					flex-grow: 0;
-					margin-top: 52rpx;
-					padding: 8rpx;
-					background: #fcf3f0;
-					border-radius: 16rpx 16rpx 16rpx 0px;
-					font-size: 20rpx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #ff440d;
-				}
-			}
-
-			.right {
-				height: 100%;
-				margin-top: 5rpx;
-				display: flex;
-				flex-direction: column;
-
-				.mright-top {
-					display: flex;
-					justify-content: flex-end;
-					align-items: center;
-
-					.mrt-image {
-						width: 20rpx;
-						height: 28rpx;
-					}
-
-					.mrt-font {
-						margin-left: 8rpx;
-						font-size: 22rpx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #666666;
-					}
-				}
-
-				.mright-bottom {
-					margin-top: 80rpx;
-					display: flex;
-					justify-content: flex-end;
-
-					.mrb-item {
-						width: 46rpx;
-						height: 46rpx;
-						margin-left: 14rpx;
-					}
-				}
-			}
-		}
-	}
+<template>
+	<view class="container">
+		<view class="carousel-section">
+			<!-- 背景色区域 -->
+			<!-- <view class="bg"></view> -->
+			<!-- 标题栏和状态栏占位符 -->
+			<!-- <view class="titleNview-placing"></view> -->
+			<!-- 搜素栏 -->
+			<view class="search flex">
+				<view class="input-box flex" @click.stop="clickSearch">
+					<view class=" input-content flex">
+						<view class="iconfont iconsearch"></view>
+						<view class="input"><input type="text" disabled value="输入关键字搜索" /></view>
+					</view>
+				</view>
+			</view>
+			<swiper class="carousel" autoplay="true" duration="400" interval="5000" @change="swiperChange"
+				:indicator-dots="true" indicator-active-color="#FFFFFF">
+				<!-- <swiper class="carousel" autoplay="true" duration="400" interval="5000"> -->
+				<swiper-item v-for="(item, index) in carouselList" :key="index" class="carousel-item">
+					<image :src="item.pic" mode="aspectFill" @click="bannerNavToUrl(item)"></image>
+				</swiper-item>
+			</swiper>
+		</view>
+		<view class="shop-list flex">
+			<view class="shop-item flex" v-for="(item,index) in shopList" @click="$api.msg('功能建设中,敬请期待')">
+				<image :src="'../../static/icon/sc0' + (index + 1) + '.png'" mode="" class="shop-img"></image>
+				<view class="shop-name">
+					{{item.name}}
+				</view>
+			</view>
+		</view>
+		<!-- 商品列表 -->
+		<view class="" style="background: #fff;margin-top: 20rpx;padding-bottom: 20rpx;">
+			<view class="title-wrapper flex">
+				<image src="../../static/icon/shop-logo.png" mode=""></image>
+				<view class="">礼包商品</view>
+				<view class="title-b">超值体验</view>
+			</view>
+			<view class="gift-info">
+				<view class="" style="padding-top: 20rpx;font-weight: bold;font-size: 32rpx;">
+					最强商家联盟
+				</view>
+				<view class="">
+					买到就是赚到
+				</view>
+			</view>
+			<view class="gift-good-list p-r">
+				<view class="gift-list p-a flex f-j-s">
+					<view class="gift-item flex f-d-c f-j-c" v-for="item in goodList"
+						@click="navto('/pages/product/product?id=' + item.id)">
+						<image :src="item.image" mode=""></image>
+						<view class="gift-name clamp">
+							{{item.store_name}}
+						</view>
+						<view class="gift-price">
+							¥{{item.price}}
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		lookSubpoints,
+		lookOneself
+	} from '../../api/user.js';
+	import seckill from '../../components/seckill/seckill.vue';
+	import {
+		loadIndexs,
+		getVip
+	} from '@/api/index.js';
+	import {
+		getUserInfo,
+		spread
+	} from '@/api/user.js';
+	import {
+		setCoupons
+	} from '@/api/functionalUnit.js';
+	import {
+		getBargainList,
+		getProducts
+	} from '@/api/product.js';
+	import {
+		interceptor
+	} from '@/utils/loginUtils';
+	import {
+		mapState,
+		mapMutations
+	} from 'vuex';
+	import {
+		tabbar
+	} from '@/utils/tabbar.js';
+	// #ifdef H5
+	import {
+		weixindata,
+		shareLoad
+	} from '@/utils/wxAuthorized';
+	// #endif
+	export default {
+		components: {
+			seckill
+		},
+		data() {
+			return {
+				tabbar: tabbar,
+				current: 0,
+				shareShow: false, //分享海报
+				pageProportion: 0, //保存页面基于750宽度的比例
+				swiperHeight: 0,
+				checkid: 0,
+				titleNViewBackground: '',
+				longitude: 0, //经度
+				latitude: 0, //纬度
+				swiperCurrent: 0,
+				swiperLength: 0,
+				carouselList: [], //轮播列表
+				bastList: [], //会员礼包
+				shoplist: [], //商店列表
+				page: 1,
+				limit: 5,
+				vipList: [], //vip商品
+				firstList: [],
+				goodList: [],
+				shopList: [{
+						sid: 0,
+						name: "美食"
+					},
+					{
+						sid: 0,
+						name: "电影"
+					},
+					{
+						sid: 0,
+						name: "娱乐"
+					},
+					{
+						sid: 0,
+						name: "美发"
+					},
+					{
+						sid: 0,
+						name: "景点"
+					},
+					{
+						sid: 0,
+						name: "健身"
+					},
+					{
+						sid: 0,
+						name: "休闲"
+					},
+					{
+						sid: 0,
+						name: "美容"
+					},
+					{
+						sid: 0,
+						name: "民宿"
+					},
+					{
+						sid: 0,
+						name: "超市"
+					}
+				]
+			};
+		},
+		computed: {
+			...mapState(['loginInterceptor', 'baseURL']),
+			...mapState('user', ['hasLogin', 'userInfo'])
+		},
+		onLoad: function(option) {
+			this.getaddress();
+			// #ifdef MP
+			if (option.scene) {
+				// 存储小程序邀请人
+				uni.setStorage({
+					key: 'spread_code',
+					data: option.scene
+				});
+			}
+			// #endif
+			// #ifdef H5
+			this.IndexShare();
+			//#endif
+		},
+		onShow: function() {
+			this.getGoodList()
+			// getVip({
+			// 	page: 1,
+			// 	limit: 3,
+			// 	is_vip: 3
+			// }).then(res => {
+			// 	this.vipList = res.data
+			// 	res.data.forEach(e => {
+			// 		e.isVip = e.store_type ? "3" : "0"
+			// 	})
+			// 	console.log(res.data, 'vip商品');
+			// })
+			// 判断是否强制登录
+			// if (!this.hasLogin) {
+			// 	// 登录拦截
+			// 	interceptor();
+			// }
+			this.loadData();
+			this.getBargainList();
+		},
+		//下拉刷新
+		onPullDownRefresh() {
+			this.loadData();
+		},
+		// #ifndef MP
+		// 监听导航栏输入框点击事件
+		onNavigationBarSearchInputClicked(e) {
+			//跳转到搜索页面
+			this.clickSearch();
+		},
+		//点击导航栏 buttons 时触发
+		onNavigationBarButtonTap(e) {
+			const index = e.index;
+			if (index === 0) {
+				this.$api.msg('点击了扫描');
+			} else if (index === 1) {
+				// #ifdef APP-PLUS
+				const pages = getCurrentPages();
+				const page = pages[pages.length - 1];
+				const currentWebview = page.$getAppWebview();
+				currentWebview.hideTitleNViewButtonRedDot({
+					index
+				});
+				// #endif
+				uni.navigateTo({
+					url: '/pages/user/notice'
+				});
+			}
+		},
+		// #endif
+		methods: {
+			...mapMutations(['setLat', 'setLon']),
+			getGoodList() {
+				let obj = this
+				getProducts({
+					page: 1,
+					limit: 50,
+					cid: 1
+				}).then(res => {
+					console.log(res, 'libao')
+					obj.goodList = res.data
+				})
+			},
+			navto(url) {
+				uni.navigateTo({
+					url,
+					fail() {
+						uni.switchTab({
+							url
+						})
+					}
+				})
+			},
+			// #ifdef H5
+			IndexShare() {
+				let obj = this;
+				let pages = getCurrentPages();
+				// 获取当前页面
+				let page = pages[pages.length - 1];
+				let path = '#/' + page.route + '?';
+				// 保存传值
+				for (let i in page.options) {
+					path += i + '=' + page.options[i] + '&';
+				}
+				console.log(obj.Path);
+				// 保存邀请人
+				path += 'spread=' + this.userInfo.uid;
+				let data = {
+					link: this.baseURL + '/index/' + path,
+					title: this.userInfo.nickname + '邀请您进入玲卿+',
+					desc: '欢迎加入玲卿+',
+					imgUrl: 'https://xl.liuniu946.com/index/static/img/logo.jpg'
+				};
+				console.log(data, '分享数据');
+				shareLoad(data);
+			},
+			// #endif
+			getaddress() {
+				console.log('dizhi+++++++++++');
+				let obj = this;
+				// uni.getLocation({
+				// 	type: 'gcj02',
+				// 	success: res => {
+				// 		console.log(res, 123456);
+				// 		obj.setLat(res.latitude);
+				// 		obj.setLon(res.longitude);
+				// 	},
+				// 	fail: err => {
+				// 		console.log(err, 'shi+++++++++++++++');
+				// 		openMap().then(e => {
+				// 			this.getaddress();
+				// 		});
+				// 	}
+				// });
+				weixindata().then(wxOjb => {
+					console.log(wxOjb, '获取微信');
+					wxOjb.getLocation({
+						type: 'gcj02',
+						success: res => {
+							console.log(res, 123456);
+							obj.setLat(res.latitude);
+							obj.setLon(res.longitude);
+						},
+						fail: err => {
+							console.log(err, 'shi+++++++++++++++');
+							openMap().then(e => {
+								this.getaddress();
+							});
+						}
+					});
+				});
+			},
+			//砍价商品推荐详情页
+			navToDetailPages(item) {
+				let id = item.product_id;
+				//let type = 2;
+
+				uni.navigateTo({
+					url: '/pages/product/product?id=' + id
+				});
+			},
+			navTo(url) {
+				if (url == '') {
+					this.$api.msg('暂未开通,敬请期待');
+				} else {
+					uni.navigateTo({
+						url
+					});
+				}
+			},
+			openSubscribe: function(e) {
+				let page = e;
+				// #ifndef MP
+				uni.navigateTo({
+					url: page
+				});
+				// #endif
+				// #ifdef MP
+				uni.showLoading({
+					title: '正在加载'
+				});
+				openBargainSubscribe()
+					.then(res => {
+						uni.hideLoading();
+						uni.navigateTo({
+							url: page
+						});
+					})
+					.catch(err => {
+						uni.hideLoading();
+					});
+				// #endif
+			},
+			getBargainList() {
+				let that = this;
+
+				getBargainList({
+						page: that.page,
+						limit: that.limit
+					})
+					.then(function(res) {
+						// that.$set(that, 'bargainlist', res.data.slice(0, 2));
+					})
+					.catch(res => {
+						console.log(res, 'getBargainList');
+					});
+			},
+			Mask() {
+				this.MaskShow = false;
+				this.shareShow = true;
+				uni.setStorage({
+					key: 'FirstEntry',
+					data: true,
+					success: function() {
+						console.log(uni.getStorageSync('FirstEntry'), 'Mask');
+					}
+				});
+			},
+			Toshare() {
+				if (this.userInfo == '') {
+					getUserInfo({})
+						.then(({
+							data
+						}) => {
+							this.setUserInfo(data);
+							this.userInfo = data;
+						})
+						.catch(e => {});
+				} else {
+					this.shareShow = false;
+					uni.navigateTo({
+						url: '/pages/user/shareQrCode?spread=' + this.userInfo.uid
+					});
+				}
+			},
+			Tocancel() {
+				this.shareShow = false;
+			},
+			// 监听切换事件
+			listChange(e) {
+				this.checkid = e.detail.current;
+			},
+			// 點擊搜索框
+			clickSearch() {
+				uni.navigateTo({
+					url: '/pages/product/search'
+				});
+			},
+			// 点击触发领取优惠券
+			setCoupons(item) {
+				// 判断是否已经领取了优惠券
+				let obj = this;
+				uni.showModal({
+					title: '领取提示',
+					content: '是否领取优惠券',
+					success(e) {
+						if (e.confirm) {
+							setCoupons({
+								couponId: item.id
+							}).then(e => {
+								item.is_use = true;
+								uni.showToast({
+									title: '领取成功',
+									type: 'top',
+									duration: 2000
+								});
+							});
+						}
+					}
+				});
+			},
+			//商品种类切换
+			change(item) {
+				let id = item;
+				this.checkid = id;
+				if (this.checkid == 1) {
+					// console.log(1);
+					this.detail = this.selected_detail;
+				} else if (this.checkid == 2) {
+					// console.log(2);
+					this.detail = this.new_product;
+				} else {
+					this.detail = this.cheap_good;
+				}
+			},
+			// 监听图片加载完成
+			onImageError(key, index) {
+				this[key][index].image = '/static/error/errorImage.jpg';
+			},
+			// 请求载入数据
+			async loadData() {
+				loadIndexs({})
+					.then(({
+						data
+					}) => {
+						let goods = data.info;
+						console.log(goods, '商品信息');
+						this.carouselList = data.banner;
+						this.swiperLength = this.carouselList.length;
+						this.bastList = data.giftInfo; //会员礼包
+						data.info.firstList.forEach(e => {
+							e.isVip = e.store_type ? "3" : "0"
+						})
+						this.firstList = data.info.firstList //首页商品
+						uni.stopPullDownRefresh();
+					})
+					.catch(e => {
+						uni.stopPullDownRefresh();
+					});
+			},
+			//轮播图切换修改背景色
+			swiperChange(e) {
+				const index = e.detail.current;
+				this.swiperCurrent = index;
+				this.titleNViewBackground = this.carouselList[index].background;
+			},
+			//详情页
+			navToDetailPage(item) {
+				let id = item.id;
+				uni.navigateTo({
+					url: '/pages/product/product?id=' + id + '&isVip=' + item.isVip
+				});
+			},
+
+			// 轮播图跳转
+			bannerNavToUrl(item) {
+				// #ifdef H5
+				console.log(item.wap_url.indexOf('http'), 'banner');
+				if (item.wap_url.indexOf('http') >= 0) {
+					window.location.href = item.wap_url;
+				}
+				// #endif
+				//测试数据没有写id,用title代替
+				uni.navigateTo({
+					url: item.wap_url
+				});
+			}
+		}
+	};
+</script>
+
+<style lang="scss">
+	page {
+		background: #EEEFEE;
+	}
+
+	.carousel-section {
+		position: relative;
+		// padding-top: 10px;
+
+		.bg {
+			position: absolute;
+			top: 0;
+			left: 0;
+			width: 750rpx;
+			height: 378rpx;
+
+			image {
+				width: 100%;
+				height: 100%;
+			}
+		}
+
+		.titleNview-placing {
+			height: var(--status-bar-height);
+			box-sizing: content-box;
+		}
+
+		.search {
+			justify-content: flex-start;
+			padding: 10rpx 32rpx 20rpx;
+			align-items: center;
+			background-color: #fff;
+
+			.address {
+				width: 32rpx;
+				height: 38rpx;
+			}
+
+			.shop-name {
+				height: 38rpx;
+				position: relative;
+				top: -4rpx;
+				z-index: 100;
+				font-size: 30rpx;
+				font-family: PingFang SC;
+				font-weight: 500;
+				padding-left: 10rpx;
+			}
+
+			.shop-jt {
+				margin-left: 8rpx;
+				width: 16rpx;
+				height: 10rpx;
+			}
+
+			.input-box {
+				margin-left: 10rpx;
+				position: relative;
+				z-index: 99;
+				width: 710rpx;
+				height: 60rpx;
+				background: #EEEEEE;
+				border-radius: 30rpx;
+
+				.input-content {
+					position: relative;
+					z-index: 11;
+					border-radius: 99rpx;
+					flex-grow: 1;
+					padding: 5rpx 30rpx;
+					background: #EEEEEE;
+
+					.iconsearch {
+						font-size: 50rpx;
+						color: #CBCBCB;
+					}
+
+					.input {
+						margin-left: 19rpx;
+						flex-grow: 1;
+						color: #CBCBCB;
+
+						input {
+							font-size: 28rpx;
+
+							color: #CBCBCB;
+						}
+					}
+				}
+
+				.input-button {
+					padding-left: 20rpx;
+					font-size: $font-base;
+					height: 100%;
+				}
+			}
+		}
+	}
+
+	.carousel {
+		position: relative;
+		z-index: 3;
+		width: 100%;
+		height: 360rpx;
+		background-color: #fff;
+
+		.carousel-item {
+			width: 100%;
+			height: 100%;
+			padding: 0 28rpx;
+			overflow: hidden;
+		}
+
+		image {
+			width: 100%;
+			height: 100%;
+			border-radius: $border-radius-sm;
+		}
+	}
+
+	.navbar {
+		position: relative;
+		z-index: 2;
+		padding: 0 50rpx;
+		margin-top: -200rpx;
+		width: 750rpx;
+		height: 420rpx;
+		background: #ffffff;
+		border-radius: 40rpx;
+
+		.navbar-box {
+			padding-top: 250rpx;
+
+			.navbar-item {
+				display: flex;
+				flex-direction: column;
+				align-items: center;
+				width: 20%;
+
+				.nitem-image {
+					width: 90rpx;
+					height: 90rpx;
+				}
+
+				.nitem-font {
+					margin-top: 22rpx;
+					font-size: 26rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #000000;
+				}
+			}
+		}
+
+
+	}
+
+	.jx {
+		background: #fff;
+		width: 750rpx;
+	}
+
+	.jx-box {
+		background: #fff;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		width: 750rpx;
+
+		.jx-box-title {
+			margin: 50rpx 0;
+			width: 610rpx;
+			height: 30rpx;
+
+			image {
+				width: 100%;
+				height: 100%;
+			}
+		}
+
+		.jx-box-img {
+			width: 750rpx;
+			height: 220rpx;
+
+			image {
+				width: 100%;
+				height: 100%;
+			}
+		}
+	}
+
+	.cai {
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		padding-bottom: 20rpx;
+		font-size: 28rpx;
+		font-weight: 500;
+		color: #999999;
+	}
+
+	.jx-box-content {
+		display: flex;
+
+		.content-left {
+			margin: 20rpx 15rpx;
+			width: 236rpx;
+			height: 236rpx;
+			background: #E2E2E2;
+			border-radius: 10rpx;
+
+			image {
+				width: 100%;
+				height: 100%;
+			}
+		}
+
+
+		.content-right {
+			display: flex;
+			flex-direction: column;
+			justify-content: space-around;
+
+			.shop-name {
+				width: 382rpx;
+				font-size: 32rpx;
+				font-weight: bold;
+				color: #333333;
+
+				overflow: hidden;
+				text-overflow: ellipsis;
+				display: -webkit-box;
+				-webkit-box-orient: vertical;
+				-webkit-line-clamp: 2;
+			}
+
+			.shop-content {
+				width: 455rpx;
+				display: flex;
+				justify-content: space-between;
+
+				.shop-content-left {
+					display: flex;
+					flex-direction: column;
+
+
+
+					.price-box {
+						display: flex;
+						align-items: center;
+
+						.yuan-price {
+							font-size: 26rpx;
+							font-weight: 500;
+							text-decoration: line-through;
+							color: #999999;
+						}
+
+						image {
+							margin: 0 10rpx;
+							width: 16rpx;
+							height: 18rpx;
+						}
+
+						.j-price {
+							font-size: 24rpx;
+							font-weight: bold;
+							color: #B59467;
+						}
+					}
+
+					.price-x {
+						font-size: 36rpx;
+						font-weight: bold;
+						color: #FF4C4C;
+					}
+				}
+
+				.shop-content-right {
+					margin-top: 20rpx;
+					align-items: center;
+					text-align: center;
+					width: 137rpx;
+					height: 52rpx;
+					font-size: 26rpx;
+					font-weight: 500;
+					color: #F8DABA;
+					background: #303030;
+					border-radius: 26rpx;
+					line-height: 52rpx;
+				}
+			}
+		}
+	}
+
+	.product-box {
+		margin-top: 20rpx;
+		background: #ffffff;
+		padding: 26rpx 30rpx 20rpx;
+
+		.product-title {
+			display: flex;
+			align-items: center;
+			justify-content: center;
+
+
+			.pt-image {
+				width: 36rpx;
+				height: 36rpx;
+			}
+
+			.bb {
+				width: 120rpx;
+				height: 1rpx;
+				background: #989898;
+			}
+
+			.pt-title {
+				margin: 0 28rpx;
+				font-size: 30rpx;
+				font-weight: 500;
+				color: #363636;
+			}
+
+			.pt-tip {
+				margin-left: 16rpx;
+				font-size: 20rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #95a0b1;
+			}
+		}
+
+		.hotgoods {
+			margin-top: 38rpx;
+			width: 100%;
+			display: flex;
+			flex-wrap: wrap;
+			padding: 0 0 30rpx;
+
+			.hotgoods-item {
+				width: 44%;
+				background: #FFFFFF;
+				margin: 20rpx;
+				box-shadow: 0px 0px 20px 0px rgba(50, 50, 52, 0.06);
+				border-radius: 10px;
+
+				.image-wrapper {
+					width: 100%;
+					height: 330rpx;
+					border-radius: 3px;
+					overflow: hidden;
+					position: relative;
+
+					.image-bg {
+						position: absolute;
+						top: 0;
+						left: 0;
+						right: 0;
+						bottom: 0;
+						width: 100%;
+						height: 100%;
+						opacity: 1;
+						border-radius: 12rpx 12rpx 0 0;
+						z-index: 2;
+					}
+
+					.image {
+						width: 100%;
+						height: 100%;
+						opacity: 1;
+						border-radius: 12rpx 12rpx 0 0;
+					}
+				}
+
+				.title {
+					margin-top: 20rpx;
+					font-size: 28rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #333333;
+				}
+
+				.hotgoods-box {
+					height: 100rpx;
+				}
+
+				.titlee {
+					margin-left: 15rpx;
+					font-size: 26rpx;
+					font-weight: 500;
+					color: #666666;
+					white-space: nowrap;
+					overflow: hidden;
+					text-overflow: ellipsis;
+
+				}
+
+				.hot-price {
+					display: flex;
+					justify-content: flex-start;
+					align-items: center;
+					padding: 14rpx 0 30rpx;
+
+					.hotPrice-box {
+						width: 70rpx;
+						height: 28rpx;
+						background: linear-gradient(90deg, #c79a4c, #f9df7f);
+						border-radius: 5rpx;
+						text-align: center;
+						line-height: 28rpx;
+						font-size: 20rpx;
+						font-weight: 400;
+						color: #ffffff;
+					}
+
+					.price {
+						margin-left: 10rpx;
+						font-size: 36rpx;
+						color: #ff0000;
+						font-weight: 500;
+					}
+
+					.yuanPrice {
+						margin-left: 10rpx;
+						font-size: 20rpx;
+						font-family: PingFang SC;
+						font-weight: 500;
+						text-decoration: line-through;
+						color: #999999;
+					}
+
+					.cart-icon {
+						image {
+							width: 44rpx;
+							height: 44rpx;
+						}
+					}
+				}
+			}
+		}
+	}
+
+	.shop {
+		margin-top: 20rpx;
+		background: #ffffff;
+		padding: 0 12rpx;
+
+		.shop-title {
+			padding: 30rpx 0 20rpx;
+			display: flex;
+			align-items: center;
+			border-bottom: 1px solid #e3e6e7;
+
+			.shop-item {
+				width: 25%;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+
+				.sitem-font {
+					font-size: 26rpx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #333333;
+				}
+
+				.jt-down {
+					width: 10rpx;
+					height: 8rpx;
+					margin-left: 12rpx;
+				}
+			}
+		}
+	}
+
+	.shop-main {
+		padding: 32rpx 18rpx 0 12rpx;
+		align-items: flex-start;
+		justify-content: flex-start;
+
+		.main-left {
+			width: 180rpx;
+			height: 180rpx;
+			border-radius: 10rpx;
+		}
+
+		.main-right {
+			width: 500rpx;
+			justify-content: space-between;
+			align-items: flex-start;
+			margin-left: 20rpx;
+			padding: 13rpx 0 35rpx;
+			border-bottom: 1px solid #eaeced;
+
+			.shopm-info {
+				max-width: 60%;
+				line-height: 1;
+
+				.shopm-title {
+					display: flex;
+					justify-content: flex-start;
+
+					.shopmt-font {
+						font-size: 34rpx;
+						font-family: PingFang SC;
+						font-weight: bold;
+						color: #333333;
+					}
+
+					.shopmt-good {
+						margin-left: 6rpx;
+						width: 30rpx;
+						height: 30rpx;
+						border: 1px solid #ff4c4c;
+						border-radius: 5rpx;
+						font-size: 20rpx;
+						font-family: PingFang SC;
+						font-weight: 500;
+						color: #ff4c4c;
+						text-align: center;
+						line-height: 30rpx;
+					}
+				}
+
+				.address {
+					margin-top: 16rpx;
+					font-size: 24rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #666666;
+				}
+
+				.shopmt-tip {
+					position: relative;
+					display: inline-block;
+					flex-grow: 0;
+					margin-top: 52rpx;
+					padding: 8rpx;
+					background: #fcf3f0;
+					border-radius: 16rpx 16rpx 16rpx 0px;
+					font-size: 20rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #ff440d;
+				}
+			}
+
+			.right {
+				height: 100%;
+				margin-top: 5rpx;
+				display: flex;
+				flex-direction: column;
+
+				.mright-top {
+					display: flex;
+					justify-content: flex-end;
+					align-items: center;
+
+					.mrt-image {
+						width: 20rpx;
+						height: 28rpx;
+					}
+
+					.mrt-font {
+						margin-left: 8rpx;
+						font-size: 22rpx;
+						font-family: PingFang SC;
+						font-weight: 500;
+						color: #666666;
+					}
+				}
+
+				.mright-bottom {
+					margin-top: 80rpx;
+					display: flex;
+					justify-content: flex-end;
+
+					.mrb-item {
+						width: 46rpx;
+						height: 46rpx;
+						margin-left: 14rpx;
+					}
+				}
+			}
+		}
+	}
+
+	.good-list {
+		width: 750rpx;
+		background: linear-gradient(0deg, #FFFFFF, #F8F8F8);
+		padding: 0 30rpx 30rpx;
+
+		.good {
+			width: 690rpx;
+			height: 276rpx;
+			background: #FFFFFF;
+			box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+			border-radius: 10rpx;
+			margin: auto;
+			padding: 20rpx 15rpx;
+			margin-bottom: 20rpx;
+
+			&:last-of-type {
+				margin-bottom: 0rpx;
+			}
+
+			.good-img {
+				flex-shrink: 0;
+				width: 236rpx;
+				height: 236rpx;
+				border-radius: 10rpx;
+				margin-right: 22rpx;
+
+				image {
+					width: 236rpx;
+					height: 236rpx;
+					border-radius: 10rpx;
+				}
+			}
+
+			.good-info {
+				flex-grow: 1;
+				height: 100%;
+				flex-direction: column;
+				justify-content: space-between;
+				align-items: flex-start;
+
+				.good-name {
+					font-size: 32rpx;
+					font-weight: bold;
+					padding-top: 10rpx;
+					color: #333333;
+				}
+
+				.good-price {
+					width: 100%;
+
+					image {
+						width: 14rpx;
+						margin: 0 6rpx 0 10rpx;
+					}
+
+					.old-price {
+						.old-left {
+							font-size: 26rpx;
+							font-weight: 500;
+							text-decoration: line-through;
+							color: #999999;
+						}
+
+						.old-right {
+							font-size: 24rpx;
+							font-weight: bold;
+							color: #B59467;
+						}
+					}
+
+					.new-price {
+						width: 100%;
+						font-size: 36rpx;
+						font-weight: bold;
+						color: #FF4C4C;
+						justify-content: space-between;
+
+						.good-tip {
+							display: inline-block;
+							padding: 0 20rpx 0 17rpx;
+							min-width: 160rpx;
+							text-align: center;
+							line-height: 40rpx;
+							background: #303030;
+							font-size: 24rpx;
+							font-weight: 500;
+							color: #F8DABA;
+							border-radius: 10rpx;
+							position: relative;
+
+							&::before {
+								content: '';
+								display: inline-block;
+								height: 17rpx;
+								width: 17rpx;
+								background-color: #fff;
+								border-radius: 50%;
+								position: absolute;
+								top: 0;
+								bottom: 0;
+								left: -9rpx;
+								margin: auto;
+							}
+
+							&::after {
+								content: '';
+								display: inline-block;
+								height: 17rpx;
+								width: 17rpx;
+								background-color: #fff;
+								border-radius: 50%;
+								position: absolute;
+								top: 0;
+								bottom: 0;
+								right: -9rpx;
+								margin: auto;
+							}
+						}
+					}
+				}
+			}
+		}
+
+	}
+
+	.title-wrapper {
+		padding-left: 20rpx;
+		justify-content: flex-start;
+		align-items: center;
+		height: 86rpx;
+		line-height: 86rpx;
+		width: 690rpx;
+		margin: auto;
+
+		image {
+			width: 36rpx;
+			height: 36rpx;
+			background: linear-gradient(43deg, #ffc063, #ffa163);
+			border-radius: 50%;
+		}
+
+		view {
+			padding-left: 10rpx;
+			font-size: 32rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #242424;
+		}
+
+		.title-b {
+			font-size: 24rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #8b8b8b;
+		}
+	}
+
+	.shop-list {
+		padding-top: 20rpx;
+		flex-wrap: wrap;
+		background-color: #fff;
+
+		.shop-item {
+			margin-bottom: 20rpx;
+			flex-direction: column;
+			width: 20%;
+			height: 100rpx;
+
+			image {
+				width: 60rpx;
+				height: 58rpx;
+			}
+		}
+	}
+
+	.gift-info {
+		width: 690rpx;
+		height: 155rpx;
+		background: linear-gradient(43deg, #FFB242, #FF944D);
+		border-radius: 12rpx 12rpx 0px 0px;
+		margin: auto;
+		color: #fff;
+		font-size: 24rpx;
+		font-weight: 400;
+		color: #FFFFFF;
+
+		view {
+			padding-left: 28rpx;
+		}
+	}
+
+	.gift-good-list {
+		width: 690rpx;
+		height: 243rpx;
+		background: #f4f4f4;
+		border-radius: 12rpx;
+		margin: auto;
+
+		.gift-list {
+			width: 670rpx;
+			height: 286rpx;
+
+			background: #fff;
+			border-radius: 12px;
+			// margin: -54rpx auto 0;
+			top: -54rpx;
+			left: 0;
+			right: 0;
+			margin: auto;
+
+			.gift-item {
+				background-color: #fff;
+				width: 223rpx;
+				height: 100%;
+				border-right: 1rpx solid #D6D7DC;
+
+				&:first-of-type {
+					border-radius: 12rpx 0 0 12rpx;
+				}
+
+				&:last-of-type {
+					margin-right: 0;
+				}
+
+				image {
+					width: 160rpx;
+					height: 160rpx;
+				}
+
+				.gift-name {
+					font-size: 22rpx;
+					font-weight: bold;
+					color: #3F3F3F;
+					line-height: 34px;
+				}
+
+				.gift-price {
+					font-size: 28rpx;
+					font-weight: bold;
+					color: #FF4C4C;
+				}
+			}
+		}
+	}
 </style>

+ 94 - 87
pages/money/paySuccess.vue

@@ -1,88 +1,95 @@
-<template>
-	<view class="content">
-		<image class="success-icon" src="../../static/img/paySuccess1.png" mode=""></image>
-		<text class="tit">订单支付成功</text>
-		<view class="btn-group">
-			<navigator url="/pages/order/order?state=1" open-type="redirect" class="mix-btn">查看订单</navigator>
-			<navigator url="/pages/index/index" open-type="switchTab" class="mix-btn hollow">返回首页</navigator>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				type: 2 //1为兑换支付成功2为预购成功
-			};
-		},
-		onLoad(opt) {
-			// 保存订单号
-			// 	if ('type' in opt) {
-			// 		this.type = opt.type;
-			// 	}
-			// 	if (this.type == 1) {
-			// 		uni.setNavigationBarTitle({
-			// 			title: '兑换成功'
-			// 		});
-			// 	}
-			// 	if (this.type == 2) {
-			// 		uni.setNavigationBarTitle({
-			// 			title: '预约成功'
-			// 		});
-			// 	}
-		},
-		methods: {}
-	};
-</script>
-
-<style lang="scss">
-	.content {
-		display: flex;
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
-	}
-
-	.success-icon {
-		margin-top: 100rpx;
-		width: 302rpx;
-		height: 320rpx;
-	}
-
-	.tit {
-		margin-top: 40rpx;
-		font-size: 32rpx;
-		font-family: PingFang SC;
-		font-weight: bold;
-		color: #333333;
-	}
-
-	.btn-group {
-		padding-top: 130rpx;
-		display: flex;
-		justify-content: flex-start;
-	}
-
-	.mix-btn {
-
-		margin-top: 30upx;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		width: 301rpx;
-		height: 78rpx;
-		background: #303030;
-		border-radius: 10rpx;
-		font-size: 30rpx;
-		font-weight: 500;
-		color: #fff;
-	
-	&.hollow {
-			margin-left: 36rpx;
-			background: #fff;
-			color: #303030;
-			border: 2px solid #303030;
-		}
-	}
+<template>
+	<view class="content">
+		<image class="success-icon" src="../../static/img/paySuccess1.png" mode=""></image>
+		<text class="tit">订单支付成功</text>
+		<view class="btn-group">
+			<!-- <navigator url="/pages/order/order?state=1" open-type="redirect" class="mix-btn">查看订单</navigator> -->
+			<navigator url="/pages/index/index" open-type="switchTab" class="mix-btn hollow">返回首页</navigator>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				type: 2 //1为兑换支付成功2为预购成功
+			};
+		},
+		onLoad(opt) {
+			// 保存订单号
+			// 	if ('type' in opt) {
+			// 		this.type = opt.type;
+			// 	}
+			// 	if (this.type == 1) {
+			// 		uni.setNavigationBarTitle({
+			// 			title: '兑换成功'
+			// 		});
+			// 	}
+			// 	if (this.type == 2) {
+			// 		uni.setNavigationBarTitle({
+			// 			title: '预约成功'
+			// 		});
+			// 	}
+		},
+		methods: {
+			// navto(url) {
+			// 	uni.navigateTo({
+			// 		url,
+			// 		fail
+			// 	})
+			// }
+		}
+	};
+</script>
+
+<style lang="scss">
+	.content {
+		display: flex;
+		flex-direction: column;
+		justify-content: center;
+		align-items: center;
+	}
+
+	.success-icon {
+		margin-top: 100rpx;
+		width: 302rpx;
+		height: 320rpx;
+	}
+
+	.tit {
+		margin-top: 40rpx;
+		font-size: 32rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #333333;
+	}
+
+	.btn-group {
+		padding-top: 130rpx;
+		display: flex;
+		justify-content: flex-start;
+	}
+
+	.mix-btn {
+
+		margin-top: 30upx;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		width: 301rpx;
+		height: 78rpx;
+		background: #303030;
+		border-radius: 10rpx;
+		font-size: 30rpx;
+		font-weight: 500;
+		color: #fff;
+
+		&.hollow {
+			margin-left: 36rpx;
+			background: #fff;
+			color: #303030;
+			border: 2px solid #303030;
+		}
+	}
 </style>

+ 477 - 432
pages/money/wallet.vue

@@ -1,433 +1,478 @@
-<template>
-	<view class="content">
-		<view class="content-money">
-			<view class="status_bar"><!-- 这里是状态栏 --></view>
-			<view class="body-title">
-				<view class="goback-box" @click="toBack"><image class="goback" src="../../static/icon/fanhui.png" mode=""></image></view>
-				<view class="header">我的钱包</view>
-			</view>
-			<view class="content-bg"></view>
-			<view class="money-box">
-				<view class="money">{{money | getMoneyStyle}}</view>
-				<view>余额</view>
-			</view>
-			<view class="moneybtn-box">
-				<view class="money-btn" @click="navto('/pages/money/withdmoenys?type=yue')">
-					<!-- 易货券转账 -->
-				</view>
-				<view class="money-btn" @click="navto('/pages/money/recharge')">
-					钱包充值>
-				</view>
-			</view>
-		</view>
-		<view class="info-box flex">
-			<view class="info-item">
-				<view class="info-font">累计收入</view>
-				<view class="info-num">{{shouzhi.income || '0.00'}}</view>
-			</view>
-			<view class="shu"></view>
-			<view class="info-item">
-				<view class="info-font">累计支出</view>
-				<view class="info-num">{{shouzhi.expen|| '0.00'}}</view>
-			</view>
-		</view>
-		<view class="navbar">
-			<view v-for="(item, index) in navList" :key="index" class="nav-item" :class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.text }}</view>
-		</view>
-		<swiper :current="tabCurrentIndex" :style="{ height: height }" class="swiper-box" duration="300" @change="changeTab">
-			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
-				<scroll-view scroll-y="true" class="list-scroll-content" @scrolltolower="loadData">
-					<!-- 空白页 -->
-					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
-	
-					<!-- 订单列表 -->
-					<view>
-						<view class="order-item flex" v-for="(item, index) in tabItem.orderList" :key="index">
-							<view class="title-box">
-								<view class="title">
-									<text>{{ item.title }}</text>
-								</view>
-								<view class="time">
-									<text>{{ item.add_time }}</text>
-								</view>
-							</view>
-							<view class="money">
-								<view>{{ (item.pm == 0 ? '-' : '+') + item.number }}</view>
-								<view v-if="item.status == 0" class="status">待发放</view>
-							</view>
-						</view>
-					</view>
-					<uni-load-more :status="tabItem.loadingType" v-if="!(tabItem.orderList.length == 0 && tabItem.loaded)"></uni-load-more>
-				</scroll-view>
-			</swiper-item>
-		</swiper>
-	</view>
-</template>
-
-<script>
-import { spreadCommission, userBalance,getSpreadsum } from '@/api/wallet.js';
-import { getMoneyStyle } from '@/utils/rocessor.js';
-import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
-import empty from '@/components/empty';
-export default {
-	filters: {
-		getMoneyStyle
-	},
-	components: {
-		empty,
-		uniLoadMore
-	},
-	onReady(res) {
-		var _this = this;
-		uni.getSystemInfo({
-			success: resu => {
-				const query = uni.createSelectorQuery();
-				query.select('.swiper-box').boundingClientRect();
-				query.exec(function(res) {
-					_this.height = resu.windowHeight - res[0].top + 'px';
-					console.log('打印页面的剩余高度', _this.height);
-				});
-			},
-			fail: res => {}
-		});
-	},
-	data() {
-		return {
-			height: '',
-			// 头部图高度
-			maxheight:'',
-			tabCurrentIndex: 0,
-			orderStatusSum: 0,
-			recharge: 0,
-			navList: [
-				// {
-				// 	state: 0,
-				// 	text: '全部',
-				// 	loadingType: 'more',
-				// 	orderList: [],
-				// 	page: 1, //当前页数
-				// 	limit: 10 //每次信息条数
-				// },
-				{
-					state: 1,
-					text: '支出',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10 //每次信息条数
-				},
-				{
-					state: 2,
-					text: '收入',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10 //每次信息条数
-				}
-			],
-			money: '',
-			shouzhi:[],
-		};
-	},
-	onLoad(options) {},
-	onShow() {
-		getSpreadsum().then(res=>{
-			this.shouzhi = res.data
-			console.log(res,'在拍卖行');
-		})
-		this.loadData();
-		// 获取用户余额
-		userBalance({}).then(({ data }) => {
-			this.money = data.now_money;
-		});
-	},
-	methods: {
-		// 页面跳转
-		navto(e) {
-			uni.navigateTo({
-				url: e
-			});
-		},
-		//获取收入支出信息
-		async loadData(source) {
-			let obj = this
-			//这里是将订单挂载到tab列表下
-			let index = this.tabCurrentIndex;
-			let navItem = this.navList[index];
-			let state = navItem.state;
-			if (source === 'tabChange' && navItem.loaded === true) {
-				//tab切换只有第一次需要加载数据
-				return;
-			}
-			if (navItem.loadingType === 'loading') {
-				//防止重复加载
-				return;
-			}
-			// 修改当前对象状态为加载中
-			navItem.loadingType = 'loading';
-
-			spreadCommission(
-				{
-					page: navItem.page,
-					limit: navItem.limit
-				},
-				state
-			)
-				.then(({ data }) => {
-					console.log(data,'1');
-					console.log(JSON.stringify(data),'2')
-					
-					obj.recharge = data.income;//累计收入
-					obj.orderStatusSum = data.expend;//支出
-					if (data.length > 0) {
-						navItem.orderList = navItem.orderList.concat(data[0].list);
-						console.log(navItem.orderList,'徐浩岚');
-						navItem.page++;
-					}else {
-						navItem.loadingType = 'noMore';
-					}
-					if (navItem.limit == data[0].list.length) {
-						//判断是否还有数据, 有改为 more, 没有改为noMore
-						navItem.loadingType = 'more';
-						return;
-					} else {
-						//判断是否还有数据, 有改为 more, 没有改为noMore
-						navItem.loadingType = 'noMore';
-					}
-					uni.hideLoading();
-					this.$set(navItem, 'loaded', true);
-				})
-				.catch(e => {
-					console.log(e);
-				});
-		},
-
-		//swiper 切换
-		changeTab(e) {
-			this.tabCurrentIndex = e.target.current;
-			this.loadData('tabChange');
-		},
-		//顶部tab点击
-		tabClick(index) {
-			this.tabCurrentIndex = index;
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page {
-	background: #f1f1f1;
-	height: 100%;
-}
-.status_bar {
-	height: var(--status-bar-height);
-	width: 100%;
-}
-.content-money {
-	position: relative;
-	height: 480rpx;
-	.content-bg {
-		background: #303030;
-		position: absolute;
-		top: 0;
-		left: 0;
-		right: 0;
-		width: 750rpx;
-		height: 480rpx;
-		image {
-			width: 100%;
-			height: 100%;
-		}
-	}
-	.body-title {
-		height: 80rpx;
-		text-align: center;
-		font-size: 35rpx;
-		position: relative;
-		.header {
-			position: absolute;
-			left: 0;
-			top: 0;
-			width: 100%;
-			font-size: 36rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #fffeff;
-			height: 80rpx;
-			font-size: 36rpx;
-			font-weight: 700;
-			z-index: 9;
-			display: flex;
-			justify-content: center;
-			align-items: center;
-		}
-		.goback-box {
-			position: absolute;
-			left: 18rpx;
-			top: 0;
-			height: 80rpx;
-			display: flex;
-			align-items: center;
-		}
-
-		.goback {
-			z-index: 100;
-			width: 34rpx;
-			height: 34rpx;
-		}
-	}
-}
-.info-box {
-	width: 670rpx;
-	height: 186rpx;
-	background: #ffffff;
-	box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
-	border-radius: 20rpx;
-	margin: -100rpx auto 0;
-	position: relative;
-	z-index: 2;
-	.info-item {
-		width: 50%;
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		line-height: 1;
-		.info-font {
-			font-size: 30rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #999999;
-		}
-		.info-num {
-			margin-top: 30rpx;
-			font-size: 30rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #181818;
-		}
-	}
-	.shu {
-		width: 2rpx;
-		height: 74rpx;
-		background: #dcdfe6;
-	}
-}
-.money-box {
-	position: relative;
-	z-index: 2;
-	padding-top: 70rpx;
-	color: #ffffff;
-	text-align: center;
-	.money {
-		font-size: 72rpx;
-		font-family: PingFang SC;
-		font-weight: bold;
-		color: #ffffff;
-	}
-	.text {
-		font-size: 30rpx;
-	}
-}
-.moneybtn-box {
-	display: flex;
-	justify-content: space-between;
-	position: relative;
-	z-index: 2;
-	color: #F8DABA;
-	padding:20rpx 50rpx ;
-	font-size: 30rpx;
-	font-family: PingFang SC;
-	font-weight: bold;
-	color: #F8DABA;
-}
-
-.navbar {
-	margin-top: 20rpx;
-	display: flex;
-	height: 88rpx;
-	padding: 0 5px;
-	background: #fff;
-	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
-	position: relative;
-	z-index: 10;
-	.nav-item {
-		flex: 1;
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		height: 100%;
-		font-size: 15px;
-		color: #999999;
-		position: relative;
-		&.current {
-			color: #000;
-			&:after {
-				content: '';
-				position: absolute;
-				left: 50%;
-				bottom: 0;
-				transform: translateX(-50%);
-				width: 44px;
-				height: 0;
-				border-bottom: 2px solid #F8DABA;
-			}
-		}
-	}
-}
-//列表
-.swiper-box {
-	.order-item:last-child {
-		margin-bottom: 60rpx;
-	}
-	.order-item {
-		padding: 20rpx 30rpx;
-		line-height: 1.5;
-		.title-box {
-			.title {
-				font-size: $font-lg;
-				color: $font-color-base;
-			}
-			.time {
-				font-size: $font-base;
-				color: $font-color-light;
-			}
-		}
-		.money {
-			color: #fd5b23;
-			font-size: $font-lg;
-			text-align: right;
-			.status {
-				color: $font-color-light;
-			}
-		}
-	}
-}
-.list-scroll-content {
-	background: #ffffff;
-	height: 100%;
-}
-.content {
-	height: 100%;
-	.empty-content {
-		background-color: #ffffff;
-	}
-}
-.btn-box {
-	width: 674rpx;
-	height: 88rpx;
-	background: linear-gradient(0deg, #2e58ff, #32c6ff);
-	border-radius: 44rpx;
-	font-size: 36rpx;
-	font-family: PingFang SC;
-	font-weight: 500;
-	color: #ffffff;
-	text-align: center;
-	line-height: 88rpx;
-	position: fixed;
-	bottom: 48rpx;
-	left: 0;
-	right: 0;
-	margin: 0 auto;
-}
+<template>
+	<view class="content">
+		<view class="content-money">
+			<view class="status_bar">
+				<!-- 这里是状态栏 -->
+			</view>
+			<view class="body-title">
+				<view class="goback-box" @click="toBack">
+					<image class="goback" src="../../static/icon/fanhui.png" mode=""></image>
+				</view>
+				<view class="header">我的钱包</view>
+			</view>
+			<view class="content-bg"></view>
+			<view class="money-box">
+				<view class="money">{{money | getMoneyStyle}}</view>
+				<view>余额</view>
+			</view>
+			<view class="moneybtn-box">
+				<view class="money-btn" @click="navto('/pages/money/withdmoenys?type=yue')">
+					<!-- 易货券转账 -->
+				</view>
+				<view class="money-btn" @click="navto('/pages/money/recharge')">
+					钱包充值>
+				</view>
+			</view>
+		</view>
+		<!-- <view class="info-box flex">
+			<view class="info-item">
+				<view class="info-font">累计收入</view>
+				<view class="info-num">{{shouzhi.income || '0.00'}}</view>
+			</view>
+			<view class="shu"></view>
+			<view class="info-item">
+				<view class="info-font">累计支出</view>
+				<view class="info-num">{{shouzhi.expen|| '0.00'}}</view>
+			</view>
+		</view> -->
+		<view class="navbar">
+			<view v-for="(item, index) in navList" :key="index" class="nav-item"
+				:class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.text }}</view>
+		</view>
+		<swiper :current="tabCurrentIndex" :style="{ height: height }" class="swiper-box" duration="300"
+			@change="changeTab">
+			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
+				<scroll-view scroll-y="true" class="list-scroll-content" @scrolltolower="loadData">
+					<!-- 空白页 -->
+					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
+
+					<!-- 订单列表 -->
+					<view>
+						<view class="order-item flex" v-for="(item, index) in tabItem.orderList" :key="index">
+							<view class="title-box">
+								<view class="title">
+									<text>{{ item.title }}</text>
+								</view>
+								<view class="time">
+									<text>{{ item.add_time }}</text>
+								</view>
+							</view>
+							<view class="money">
+								<view>{{ (item.pm == 0 ? '-' : '+') + item.number }}</view>
+								<view v-if="item.status == 0" class="status">待发放</view>
+							</view>
+						</view>
+					</view>
+					<uni-load-more :status="tabItem.loadingType"
+						v-if="!(tabItem.orderList.length == 0 && tabItem.loaded)"></uni-load-more>
+				</scroll-view>
+			</swiper-item>
+		</swiper>
+	</view>
+</template>
+
+<script>
+	import {
+		spreadCommission,
+		userBalance,
+		getSpreadsum
+	} from '@/api/wallet.js';
+	import {
+		getMoneyStyle
+	} from '@/utils/rocessor.js';
+	import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
+	import empty from '@/components/empty';
+	export default {
+		filters: {
+			getMoneyStyle
+		},
+		components: {
+			empty,
+			uniLoadMore
+		},
+		onReady(res) {
+			var _this = this;
+			uni.getSystemInfo({
+				success: resu => {
+					const query = uni.createSelectorQuery();
+					query.select('.swiper-box').boundingClientRect();
+					query.exec(function(res) {
+						_this.height = resu.windowHeight - res[0].top + 'px';
+						console.log('打印页面的剩余高度', _this.height);
+					});
+				},
+				fail: res => {}
+			});
+		},
+		data() {
+			return {
+				height: '',
+				// 头部图高度
+				maxheight: '',
+				tabCurrentIndex: 0,
+				orderStatusSum: 0,
+				recharge: 0,
+				navList: [
+					// {
+					// 	state: 0,
+					// 	text: '全部',
+					// 	loadingType: 'more',
+					// 	orderList: [],
+					// 	page: 1, //当前页数
+					// 	limit: 10 //每次信息条数
+					// },
+					{
+						state: 1,
+						text: '支出',
+						loadingType: 'more',
+						orderList: [],
+						page: 1, //当前页数
+						limit: 10 //每次信息条数
+					},
+					{
+						state: 2,
+						text: '收入',
+						loadingType: 'more',
+						orderList: [],
+						page: 1, //当前页数
+						limit: 10 //每次信息条数
+					}
+				],
+				money: '',
+				shouzhi: [],
+			};
+		},
+		onLoad(options) {},
+		onShow() {
+			getSpreadsum().then(res => {
+				this.shouzhi = res.data
+				console.log(res, '在拍卖行');
+			})
+			this.loadData();
+			// 获取用户余额
+			userBalance({}).then(({
+				data
+			}) => {
+				this.money = data.now_money;
+			});
+		},
+		methods: {
+			// 页面跳转
+			navto(e) {
+				uni.navigateTo({
+					url: e
+				});
+			},
+			//获取收入支出信息
+			async loadData(source) {
+				let obj = this
+				//这里是将订单挂载到tab列表下
+				let index = this.tabCurrentIndex;
+				let navItem = this.navList[index];
+				let state = navItem.state;
+				if (source === 'tabChange' && navItem.loaded === true) {
+					//tab切换只有第一次需要加载数据
+					return;
+				}
+				if (navItem.loadingType === 'loading') {
+					//防止重复加载
+					return;
+				}
+				// 修改当前对象状态为加载中
+				navItem.loadingType = 'loading';
+
+				spreadCommission({
+							page: navItem.page,
+							limit: navItem.limit
+						},
+						state
+					)
+					.then(({
+						data
+					}) => {
+						console.log(data, '1');
+						console.log(JSON.stringify(data), '2')
+
+						obj.recharge = data.income; //累计收入
+						obj.orderStatusSum = data.expend; //支出
+						if (data.length > 0) {
+							navItem.orderList = navItem.orderList.concat(data[0].list);
+							console.log(navItem.orderList, '徐浩岚');
+							navItem.page++;
+						} else {
+							navItem.loadingType = 'noMore';
+						}
+						if (navItem.limit == data[0].list.length) {
+							//判断是否还有数据, 有改为 more, 没有改为noMore
+							navItem.loadingType = 'more';
+							return;
+						} else {
+							//判断是否还有数据, 有改为 more, 没有改为noMore
+							navItem.loadingType = 'noMore';
+						}
+						uni.hideLoading();
+						this.$set(navItem, 'loaded', true);
+					})
+					.catch(e => {
+						console.log(e);
+					});
+			},
+
+			//swiper 切换
+			changeTab(e) {
+				this.tabCurrentIndex = e.target.current;
+				this.loadData('tabChange');
+			},
+			//顶部tab点击
+			tabClick(index) {
+				this.tabCurrentIndex = index;
+			}
+		}
+	};
+</script>
+
+<style lang="scss">
+	page {
+		background: #f1f1f1;
+		height: 100%;
+	}
+
+	.status_bar {
+		height: var(--status-bar-height);
+		width: 100%;
+	}
+
+	.content-money {
+		position: relative;
+		height: 480rpx;
+
+		.content-bg {
+			background: #ff8310;
+			position: absolute;
+			top: 0;
+			left: 0;
+			right: 0;
+			width: 750rpx;
+			height: 480rpx;
+
+			image {
+				width: 100%;
+				height: 100%;
+			}
+		}
+
+		.body-title {
+			height: 80rpx;
+			text-align: center;
+			font-size: 35rpx;
+			position: relative;
+
+			.header {
+				position: absolute;
+				left: 0;
+				top: 0;
+				width: 100%;
+				font-size: 36rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #fffeff;
+				height: 80rpx;
+				font-size: 36rpx;
+				font-weight: 700;
+				z-index: 9;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+			}
+
+			.goback-box {
+				position: absolute;
+				left: 18rpx;
+				top: 0;
+				height: 80rpx;
+				display: flex;
+				align-items: center;
+			}
+
+			.goback {
+				z-index: 100;
+				width: 34rpx;
+				height: 34rpx;
+			}
+		}
+	}
+
+	.info-box {
+		width: 670rpx;
+		height: 186rpx;
+		background: #ffffff;
+		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+		border-radius: 20rpx;
+		margin: -100rpx auto 0;
+		position: relative;
+		z-index: 2;
+
+		.info-item {
+			width: 50%;
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			line-height: 1;
+
+			.info-font {
+				font-size: 30rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #999999;
+			}
+
+			.info-num {
+				margin-top: 30rpx;
+				font-size: 30rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #181818;
+			}
+		}
+
+		.shu {
+			width: 2rpx;
+			height: 74rpx;
+			background: #dcdfe6;
+		}
+	}
+
+	.money-box {
+		position: relative;
+		z-index: 2;
+		padding-top: 70rpx;
+		color: #ffffff;
+		text-align: center;
+
+		.money {
+			font-size: 72rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #ffffff;
+		}
+
+		.text {
+			font-size: 30rpx;
+		}
+	}
+
+	.moneybtn-box {
+		display: flex;
+		justify-content: space-between;
+		position: relative;
+		z-index: 2;
+		color: #F8DABA;
+		padding: 20rpx 50rpx;
+		font-size: 30rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #F8DABA;
+	}
+
+	.navbar {
+		margin-top: 20rpx;
+		display: flex;
+		height: 88rpx;
+		padding: 0 5px;
+		background: #fff;
+		box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
+		position: relative;
+		z-index: 10;
+
+		.nav-item {
+			flex: 1;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			height: 100%;
+			font-size: 15px;
+			color: #999999;
+			position: relative;
+
+			&.current {
+				color: #000;
+
+				&:after {
+					content: '';
+					position: absolute;
+					left: 50%;
+					bottom: 0;
+					transform: translateX(-50%);
+					width: 44px;
+					height: 0;
+					border-bottom: 2px solid #F8DABA;
+				}
+			}
+		}
+	}
+
+	//列表
+	.swiper-box {
+		.order-item:last-child {
+			margin-bottom: 60rpx;
+		}
+
+		.order-item {
+			padding: 20rpx 30rpx;
+			line-height: 1.5;
+
+			.title-box {
+				.title {
+					font-size: $font-lg;
+					color: $font-color-base;
+				}
+
+				.time {
+					font-size: $font-base;
+					color: $font-color-light;
+				}
+			}
+
+			.money {
+				color: #fd5b23;
+				font-size: $font-lg;
+				text-align: right;
+
+				.status {
+					color: $font-color-light;
+				}
+			}
+		}
+	}
+
+	.list-scroll-content {
+		background: #ffffff;
+		height: 100%;
+	}
+
+	.content {
+		height: 100%;
+
+		.empty-content {
+			background-color: #ffffff;
+		}
+	}
+
+	.btn-box {
+		width: 674rpx;
+		height: 88rpx;
+		background: linear-gradient(0deg, #2e58ff, #32c6ff);
+		border-radius: 44rpx;
+		font-size: 36rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #ffffff;
+		text-align: center;
+		line-height: 88rpx;
+		position: fixed;
+		bottom: 48rpx;
+		left: 0;
+		right: 0;
+		margin: 0 auto;
+	}
 </style>

+ 429 - 259
pages/money/withdrawal.vue

@@ -1,260 +1,430 @@
-<template>
-	<view class="content">
-		<view class="content-money">
-			<view class="flex ">
-				<view class="buttom">
-					<view class="icon">{{ money | getMoneyStyle }}</view>
-					<text class="text">可转换金额</text>
-				</view>
-			</view>
-		</view>
-		<view class="row-box">
-			<view class="title">转换金额</view>
-			<view class="row">
-				<text class="tit">¥</text>
-				<input class="input" type="number" v-model="withdrawal" placeholder="请输入消费券数量" placeholder-class="placeholder" />
-				<view class="buttom" @click="withdrawal = money">全部转换</view>
-			</view>
-		</view>
-		<button class="add-btn up" @click="confirm">提交申请</button>
-		<view class="tip" v-if="withdrawal != 0">
-			实际到账{{ realmoney }}现金
-		</view>
-	</view>
-</template>
-
-<script>
-import { getMoneyStyle } from '@/utils/rocessor.js';
-import { exchangeCash, extractBank, aliInfo, bankInfo } from '@/api/wallet.js';
-import uniNoticeBar from '@/components/uni-notice-bar/uni-notice-bar.vue';
-export default {
-	filters: {
-		getMoneyStyle
-	},
-	components: {
-		uniNoticeBar
-	},
-	data() {
-		return {
-			type: 'weixin', //提现方式
-			money: '0.00', //可提现金额
-			withdrawal: '', //提现金额
-			aliData: {},
-			bankData: {},
-			// #ifdef H5
-			weichatBsrowser: false
-			// #endif
-		};
-	},
-	onLoad(options) {
-		// #ifdef H5
-		this.weichatBsrowser = uni.getStorageSync('weichatBrowser');
-		// #endif
-		//加载提现信息
-		this.loadData();
-		// 加载提款账号信息
-		this.loadAli();
-		this.loadBank();
-	},
-	computed:{
-		realmoney() {
-			return (this.withdrawal * 0.7).toFixed(2) * 1
-		},
-		gy() {
-			return (this.withdrawal * 0.3).toFixed(2) * 1
-		}
-	},
-	methods: {
-		// 更新数据
-		dataUp(){
-			this.loadAli();
-			this.loadBank();
-		},
-		//加载数据
-		async loadAli(source) {
-			aliInfo({}).then(e => {
-				this.aliData = e.data;
-			});
-		},
-		// 加载银行卡信息
-		async loadBank() {
-			bankInfo({}).then(e => {
-				this.bankData = e.data;
-			});
-		},
-		// 加载余额信息
-		async loadData() {
-			extractBank({}).then(({ data }) => {
-				this.money = data.commissionCount;//可提现余额
-				this.minPrice = data.minPrice;//最小提现
-			});
-		},
-		// 跳转
-		navTo(url) {
-			uni.navigateTo({
-				url: url
-			});
-		},
-		// 切换选中对象
-		tabRadio(e) {
-			this.type = e.detail.value;
-		},
-		// 提交
-		confirm() {
-			let data = {
-				money: this.withdrawal, //金额
-			}
-			exchangeCash(data)
-				.then(e => {
-					uni.showToast({
-						title: '提交成功',
-						duration: 2000,
-						position: 'top'
-					});
-				})
-				.catch(e => {
-					console.log();
-				});
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page {
-	height: 100%;
-}
-.content-money {
-	padding: 30rpx 0;
-	background: #ffffff;
-}
-.flex {
-	background-color: #ffffff;
-	text-align: center;
-	margin: 0 30rpx;
-	border-radius: $border-radius-sm;
-	.buttom {
-		width: 100%;
-		text-align: center;
-		font-size: $font-lg;
-	}
-	.interval {
-		width: 2px;
-		height: 60rpx;
-		background-color: #eeeeee;
-	}
-	.icon {
-		background-size: 100%;
-		font-size: 42rpx;
-		color: $font-color-dark;
-		font-weight: bold;
-		background-repeat: no-repeat;
-		background-position: center;
-	}
-	.text {
-		color: $font-color-light;
-	}
-}
-
-.row-box {
-	margin-top: 30rpx;
-	padding: 20rpx 30rpx;
-	background: #fff;
-	.title {
-		font-size: $font-base + 2rpx;
-		color: $font-color-dark;
-	}
-	.row {
-		display: flex;
-		align-items: center;
-		position: relative;
-		height: 80rpx;
-		.tit {
-			flex-shrink: 0;
-			width: 40rpx;
-			font-size: 30rpx;
-			color: $font-color-dark;
-		}
-		.input {
-			flex: 1;
-			font-size: 30rpx;
-			color: $font-color-dark;
-		}
-		.iconlocation {
-			font-size: 36rpx;
-			color: $font-color-light;
-		}
-
-		.buttom {
-			color: $font-color-spec;
-			font-size: $font-base;
-		}
-	}
-}
-.add-btn {
-	&.modified {
-		color: $base-color;
-	}
-	&.up {
-		background-color: $base-color;
-		color: #fff;
-	}
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	width: 690rpx;
-	height: 80rpx;
-	margin: 0 auto;
-	margin-top: 30rpx;
-	font-size: $font-lg;
-	border-radius: 10rpx;
-	// box-shadow: 1px 2px 5px rgba(219, 63, 96, 0.4);
-}
-
-.list {
-	padding-left: 30rpx;
-	margin-top: 30rpx;
-	background-color: #ffffff;
-	.box {
-		display: flex;
-		align-items: center;
-		width: 100%;
-		height: 120rpx;
-		border-bottom: 1px solid $border-color-light;
-		.icon {
-			font-size: 48rpx;
-			padding-right: 20rpx;
-			.icon-img {
-				height: 50rpx;
-				width: 50rpx;
-			}
-		}
-		.iconweixin1 {
-			color: #18bf16;
-		}
-		.iconzhifubao {
-			color: #08aaec;
-		}
-		.title-box {
-			flex-grow: 1;
-			text-align: left;
-			.title {
-				font-size: $font-base + 2rpx;
-				color: $font-color-base;
-			}
-			.node {
-				font-size: $font-sm;
-				color: $font-color-light;
-			}
-		}
-	}
-}
-.tip {
-	padding: 20rpx 40rpx;
-	color: #FD3B39;
-}
-/deep/ .uni-radio-input {
-	width: 45rpx;
-	height: 45rpx;
-}
+<template>
+	<view class="content">
+		<!-- <uni-notice-bar single="true" text="实际到账98%"></uni-notice-bar> -->
+		<view class="content-money">
+			<view class="flex " style="width: 750rpx;justify-content: space-around;margin-left: 0;">
+				<view class="buttom">
+					<view class="icon">{{ userInfo.cash | getMoneyStyle }}</view>
+					<text class="text">可提现现金</text>
+				</view>
+			</view>
+		</view>
+
+		<view class="row-box">
+			<view class="title">提现金额</view>
+			<view class="row">
+				<text class="tit">¥</text>
+				<input class="input" type="number" v-model="withdrawal" :placeholder="'最低提现金额' + minPrice + '元'"
+					placeholder-class="placeholder" />
+				<view class="buttom" @click="withdrawal = userInfo.cash">全部提现</view>
+			</view>
+		</view>
+		<!-- #ifndef MP-WEIXIN -->
+		<view class="list">
+			<radio-group @change="tabRadio">
+				<!-- <label>
+					<view class="box">
+						<view class="icon iconfont iconweixin1"></view>
+						<view class="title-box">
+							<view class="title"><text>提现至微信</text></view>
+						</view>
+						<view class="right"><radio value="weixin" color="#5dbc7c" :checked="type == 'weixin'" /></view>
+					</view>
+				</label> -->
+				<label>
+					<view class="box">
+						<view class="icon iconfont iconzhifubao"></view>
+						<view class="title-box">
+							<view class="title">
+								<text v-if="aliData.fullname">提现至支付宝</text>
+								<text v-else>请创建支付宝账号</text>
+							</view>
+							<view class="node">
+								<text v-if="aliData.fullname">真实姓名({{ aliData.fullname }})</text>
+							</view>
+						</view>
+						<view class="right">
+							<radio value="alipay" color="#c29963" :checked="type == 'alipay'" />
+						</view>
+					</view>
+				</label>
+				<label>
+					<view class="box">
+						<view class="icon iconfont">
+							<image class="icon-img" src="/static/icon/i8.png" mode="aspectFit"></image>
+						</view>
+						<view class="title-box">
+							<view class="title">
+								<text v-if="bankData.bankno">{{ bankData.bank + ' ' + bankData.bankno }}</text>
+								<text v-else>请创建银行账号</text>
+							</view>
+							<view class="node">
+								<text v-if="bankData.fullname">真实姓名({{ bankData.fullname }})</text>
+							</view>
+						</view>
+						<view class="right">
+							<radio value="bank" color="#c29963" :checked="type == 'bank'" />
+						</view>
+					</view>
+				</label>
+			</radio-group>
+		</view>
+		<!-- #endif -->
+		<view class="row b-b" v-if="type == 'alipay'">
+			<text class="tit">支付宝账号</text>
+			<input class="input" type="text" v-model="alipay_code" placeholder="请输入支付宝账号"
+				placeholder-class="placeholder" />
+		</view>
+		<view class="row b-b" v-if="type == 'alipay'">
+			<text class="tit">支付宝姓名</text>
+			<input class="input" type="text" v-model="alipay_name" placeholder="请输入支付宝姓名"
+				placeholder-class="placeholder" />
+		</view>
+		<view class="row b-b" v-if="type == 'bank'">
+			<text class="tit">银行卡号</text>
+			<input class="input" type="text" v-model="bank_code" placeholder="请输入银行卡号"
+				placeholder-class="placeholder" />
+		</view>
+		<view class="row b-b" v-if="type == 'bank'">
+			<text class="tit">姓名</text>
+			<input class="input" type="text" v-model="bank_people" placeholder="请输入银行卡姓名"
+				placeholder-class="placeholder" />
+		</view>
+		<view class="row b-b" v-if="type == 'bank'">
+			<text class="tit">所属银行</text>
+			<input class="input" type="text" v-model="bank_name" placeholder="请输入所属银行"
+				placeholder-class="placeholder" />
+		</view>
+		<button class="add-btn up" @click="confirm">提交申请</button>
+		<!-- <button class="add-btn modified" v-if="!weichatBsrowser" @click="navTo('/pages/money/account')">账号管理</button> -->
+	</view>
+</template>
+
+<script>
+	import {
+		getMoneyStyle
+	} from '@/utils/rocessor.js';
+	import {
+		extractCash,
+		extractBank,
+		aliInfo,
+		bankInfo
+	} from '@/api/wallet.js';
+	import {
+		orderData,
+		getUserInfo
+	} from '@/api/user.js';
+	import {
+		mapState,
+		mapMutations
+	} from 'vuex';
+	import uniNoticeBar from '@/components/uni-notice-bar/uni-notice-bar.vue';
+	export default {
+		filters: {
+			getMoneyStyle
+		},
+		components: {
+			uniNoticeBar
+		},
+		computed: {
+			...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
+		},
+		data() {
+			return {
+				type: 'alipay', //提现方式
+				money: '0.00', //可提现金额
+				freeze: '0.0', //冻结金额
+				withdrawal: '', //提现金额
+				minPrice: '', //最少提现金额
+				aliData: {},
+				bankData: {},
+				alipay_code: '',
+				alipay_name: '',
+				bank_code: '',
+				bank_people: '',
+				bank_name: '',
+				// #ifdef H5
+				weichatBsrowser: false
+				// #endif
+			};
+		},
+		onLoad(options) {
+			// #ifdef H5
+			this.weichatBsrowser = uni.getStorageSync('weichatBrowser');
+			// #endif
+			//加载提现信息
+			this.loadData();
+			// // 加载提款账号信息
+			// this.loadAli();
+			// this.loadBank();
+		},
+		methods: {
+			...mapMutations('user', ['setUserInfo', 'setOrderInfo']),
+			// 加载余额信息
+			async loadData() {
+				extractBank({}).then(({
+					data
+				}) => {
+					this.minPrice = data.minPrice;
+				});
+			},
+			// 跳转
+			navTo(url) {
+				uni.navigateTo({
+					url: url
+				});
+			},
+			// 切换选中对象
+			tabRadio(e) {
+				this.type = e.detail.value;
+			},
+			// 提交
+			confirm() {
+				let data = {
+					extract_type: this.type, //bank -银行卡 alipay-支付宝 weixin-微信
+					money: this.withdrawal, //金额
+					money_type: 0 //0佣金1余额
+				};
+				if (this.withdrawal % 100 != 0) {
+					uni.showToast({
+						title: '提现金额为100的倍数',
+						duration: 2000,
+						mask: false,
+						icon: 'none'
+					});
+					return;
+				}
+				if (this.withdrawal < this.minPrice) {
+					uni.showToast({
+						title: '提现金额不可少于' + this.minPrice,
+						duration: 2000,
+						mask: false,
+						icon: 'none'
+					});
+					return;
+				}
+				if (this.type == 'alipay') {
+					console.log('alipay');
+					data.name = this.alipay_name;
+					data.alipay_code = this.alipay_code;
+				}
+				if (this.type == 'bank') {
+					console.log(bank);
+					data.name = this.bank_people;
+					data.bankname = this.bank_name;
+					data.cardnum = this.bank_code;
+				}
+
+				extractCash(data)
+					.then(e => {
+						getUserInfo({})
+							.then(({
+								data
+							}) => {
+								this.setUserInfo(data);
+							})
+							.catch(e => {
+								console.log(e);
+							});
+						uni.showToast({
+							title: '提交成功',
+							duration: 2000,
+							position: 'top'
+						});
+					})
+					.catch(e => {
+						console.log();
+					});
+			}
+		}
+	};
+</script>
+
+<style lang="scss">
+	page {
+		height: 100%;
+	}
+
+	.content-money {
+		padding: 30rpx 0;
+		background: #ffffff;
+	}
+
+	.flex {
+		background-color: #ffffff;
+		text-align: center;
+		margin: 0 30rpx;
+		border-radius: $border-radius-sm;
+
+		.buttom {
+			font-size: $font-lg;
+			width: 50%;
+		}
+
+		.interval {
+			width: 2px;
+			height: 60rpx;
+			background-color: #eeeeee;
+		}
+
+		.icon {
+			background-size: 100%;
+			font-size: 42rpx;
+			color: $font-color-dark;
+			font-weight: bold;
+			background-repeat: no-repeat;
+			background-position: center;
+		}
+
+		.text {
+			color: $font-color-light;
+		}
+	}
+
+	.row-box {
+		margin-top: 30rpx;
+		padding: 20rpx 30rpx;
+		background: #fff;
+
+		.title {
+			font-size: $font-base + 2rpx;
+			color: $font-color-dark;
+		}
+
+		.row {
+			display: flex;
+			align-items: center;
+			position: relative;
+			height: 80rpx;
+
+			.tit {
+				flex-shrink: 0;
+				width: 40rpx;
+				font-size: 30rpx;
+				color: $font-color-dark;
+			}
+
+			.input {
+				flex: 1;
+				font-size: 30rpx;
+				color: $font-color-dark;
+			}
+
+			.iconlocation {
+				font-size: 36rpx;
+				color: $font-color-light;
+			}
+
+			.buttom {
+				color: $font-color-spec;
+				font-size: $font-base;
+			}
+		}
+	}
+
+	.add-btn {
+		&.modified {
+			color: #ffffff;
+		}
+
+		&.up {
+			background: linear-gradient(90deg, #bb9159, #e6c79d);
+			color: #fff;
+		}
+
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		width: 690rpx;
+		height: 80rpx;
+		margin: 0 auto;
+		margin-top: 30rpx;
+		font-size: $font-lg;
+		border-radius: 10rpx;
+		// box-shadow: 1px 2px 5px rgba(219, 63, 96, 0.4);
+	}
+
+	.list {
+		padding-left: 30rpx;
+		margin-top: 30rpx;
+		background-color: #ffffff;
+
+		.box {
+			display: flex;
+			align-items: center;
+			width: 100%;
+			height: 120rpx;
+			border-bottom: 1px solid $border-color-light;
+
+			.icon {
+				font-size: 48rpx;
+				padding-right: 20rpx;
+
+				.icon-img {
+					height: 50rpx;
+					width: 50rpx;
+				}
+			}
+
+			.iconweixin1 {
+				color: #18bf16;
+			}
+
+			.iconzhifubao {
+				color: #08aaec;
+			}
+
+			.title-box {
+				flex-grow: 1;
+				text-align: left;
+
+				.title {
+					font-size: $font-base + 2rpx;
+					color: $font-color-base;
+				}
+
+				.node {
+					font-size: $font-sm;
+					color: $font-color-light;
+				}
+			}
+		}
+	}
+
+	/deep/ .uni-radio-input {
+		width: 45rpx;
+		height: 45rpx;
+	}
+
+	.row {
+		display: flex;
+		align-items: center;
+		position: relative;
+		padding: 0 30upx;
+		height: 110upx;
+		background: #fff;
+
+		.tit {
+			flex-shrink: 0;
+			width: 250upx;
+			font-size: 30upx;
+			color: $font-color-dark;
+		}
+
+		.input {
+			flex: 1;
+			font-size: 30upx;
+			color: $font-color-dark;
+		}
+
+		.iconlocation {
+			font-size: 36upx;
+			color: $font-color-light;
+		}
+	}
+
+	.tip {
+		padding: 20rpx;
+		color: #fd3b39;
+	}
 </style>

+ 790 - 680
pages/order/order.vue

@@ -1,681 +1,791 @@
-<template>
-	<view class="content">
-		<view class="navbar">
-			<view v-for="(item, index) in navList" :key="index" class="nav-item" :class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.text }}</view>
-		</view>
-
-		<swiper :current="tabCurrentIndex" class="swiper-box" duration="300" @change="changeTab">
-			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
-				<scroll-view class="list-scroll-content" scroll-y @scrolltolower="loadData">
-					<!-- 空白页 -->
-					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
-
-					<!-- 订单列表 -->
-					<view @click="goToOrderDetail(item)" v-for="(item, index) in tabItem.orderList" :key="index" class="order-item">
-						<view class="i-top b-b">
-							<text class="time">{{ item._add_time }}</text>
-							<text class="state" :style="{ color: item.stateTipColor }">{{ item._status._title }}</text>
-							<text v-if="item.status === 4" class="del-btn iconfont icondelete" @click="deleteOrder(index)"></text>
-						</view>
-
-						<scroll-view v-if="item.cartInfo.length > 1" class="goods-box" scroll-x>
-							<view v-for="(goodsItem, goodsIndex) in item.cartInfo" :key="goodsIndex" class="goods-item">
-								<image class="goods-img" :src="goodsItem.productInfo.image" mode="aspectFill"></image>
-							</view>
-						</scroll-view>
-						<!-- <view v-if="item.cartInfo.length === 1" class="goods-box-single" v-for="(goodsItem, goodsIndex) in item.cartInfo" :key="goodsIndex">
-							<image class="goods-img" :src="goodsItem.productInfo.image" mode="aspectFill"></image>
-							<view class="right">
-								<text class="title clamp">{{ goodsItem.productInfo.store_name }}</text>
-								<text class="attr-box">{{ goodsItem.attrInfo ? goodsItem.attrInfo.suk : '' }} x {{ goodsItem.cart_num }}</text>
-								<text class="price">{{ moneyNum(goodsItem.productInfo.price)}}</text>
-							</view>
-						</view> -->
-						<view class="goods-box-single" v-for="(goodsItem, goodsIndex) in item.cartInfo" :key="goodsIndex">
-							<image class="goods-img" :src="goodsItem.productInfo.image" mode="scaleToFill"></image>
-							<view class="right">
-								<view class="flex-start">
-									<text class="title clamp">{{ goodsItem.productInfo.store_name }}</text>
-									<text class="price">{{ goodsItem.productInfo.price|moneyNum }}</text>
-								</view>
-								<view class="row flex">
-									<text class="row_title">{{ goodsItem.productInfo.attrInfo ? goodsItem.productInfo.attrInfo.suk : '' }}</text>
-									<text class="attr-box"> x {{ goodsItem.cart_num }}</text>
-								</view>
-							</view>
-						</view>
-
-						<view class="price-box">
-							共
-							<text class="num">{{ item.cartInfo.length }}</text>
-							件商品 邮费
-							<text class="price">{{ moneyNum(item.pay_postage)}}</text>
-							实付款
-							<text class="price">{{ moneyNum(item.pay_price)}}</text>
-						</view>
-						<view class="action-box b-t" v-if="item.status != 5">
-							<button v-if="item._status._title == '未支付'" class="action-btn" @click.stop="cancelOrder(item)">取消订单</button>
-							<button v-if="item._status._title == '未支付'" @click.stop="orderPay(item)" class="action-btn recom">立即支付</button>
-							<button v-if="item._status._title == '待评价'" class="action-btn">评价</button>
-							<button v-if="item._status._title == '待收货'" @click.stop="orderTake(item, index)" class="action-btn">确认收货</button>
-							<button v-if="item._status._title == '未发货' && item.is_gift != 1" class="action-btn" @click.stop="orderRefund(item)">申请退款</button>
-						</view>
-					</view>
-
-					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
-				</scroll-view>
-			</swiper-item>
-		</swiper>
-	</view>
-</template>
-
-<script>
-import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
-import empty from '@/components/empty';
-import { orderList, orderCancel, orderDel, orderTake } from '@/api/order.js';
-export default {
-	components: {
-		uniLoadMore,
-		empty
-	},
-	filters: {
-		moneyNum(value){
-			return +value;
-		},
-	},
-	data() {
-		return {
-			tabCurrentIndex: 0,
-			navList: [
-				{
-					state: 0,
-					text: '待付款',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10 //每次信息条数
-				},
-				{
-					state: 1,
-					text: '待发货',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10 //每次信息条数
-				},
-				{
-					state: 2,
-					text: '待收货',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10 //每次信息条数
-				},
-				{
-					state: 3,
-					text: '待评价',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10 //每次信息条数
-				},
-				{
-					state: 4,
-					text: '已完成',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10 //每次信息条数
-				}
-			]
-		};
-	},
-
-	onLoad(options) {
-		/**
-		 * 修复app端点击除全部订单外的按钮进入时不加载数据的问题
-		 * 替换onLoad下代码即可
-		 */
-		this.tabCurrentIndex = +options.state;
-		// #ifndef MP
-		this.loadData();
-		// #endif
-		// #ifdef MP
-		if (options.state == 0) {
-			this.loadData();
-		}
-		// #endif
-	},
-	// #ifdef APP-PLUS || H5
-	onBackPress(e){
-		uni.switchTab({
-			url: '/pages/user/user',
-		});
-		return true;
-	},
-	// #endif
-	methods: {
-		// 转换金额为数字
-		moneyNum(value){
-				return +value;
-		},
-		// 确认收货
-		orderTake(item, index) {
-			let obj = this;
-			uni.showModal({
-				title: '是否确认收货?',
-				success: () => {
-					orderTake({
-						uni: item.order_id
-					})
-						.then(e => {
-							obj.navList[obj.tabCurrentIndex].orderList.splice(index, 1);
-							uni.showToast({
-								title: '收货成功'
-							});
-						})
-						.catch(e => {
-							console.log(e);
-						});
-				}
-			});
-		},
-		//跳转到订单详情
-		goToOrderDetail(e) {
-			uni.navigateTo({
-				url: '/pages/order/orderDetail?id=' + e.order_id
-			});
-		},
-		// 申请退款
-		orderRefund(e) {
-			uni.navigateTo({
-				url: '/pages/order/orderRefund?id=' + e.order_id
-			});
-		},
-		// 订单支付
-		orderPay(e) {
-			console.log(e)
-			uni.navigateTo({
-				url: '/pages/money/pay?type=1&ordid=' + e.order_id + '&money=' + e.pay_price + '&isP=' + (e.combination_id != 0 ? '1': '0')
-			});
-		},
-		//获取订单列表
-		loadData(source) {
-			//这里是将订单挂载到tab列表下
-			let index = this.tabCurrentIndex;
-			let navItem = this.navList[index];
-			let state = navItem.state;
-			if (source === 'tabChange' && navItem.loaded === true) {
-				//tab切换只有第一次需要加载数据
-				return;
-			}
-			if (navItem.loadingType === 'loading') {
-				//防止重复加载
-				return;
-			}
-			if (navItem.loadingType === 'noMore') {
-				//防止重复加载
-				return;
-			}
-			// 修改当前对象状态为加载中
-			navItem.loadingType = 'loading';
-
-			orderList({
-				type: state,
-				page: navItem.page,
-				limit: navItem.limit
-			})
-				.then(({ data }) => {
-					let arr = data.map(e => {
-						let b = this.orderStateExp(e.status);
-						e.stateTip = b.stateTip;
-						e.stateTipColor = b.stateTipColor;
-						return e;
-					});
-					navItem.orderList = navItem.orderList.concat(arr);
-					// console.log(navItem.orderList);
-					navItem.page++;
-					if (navItem.limit == data.length) {
-						//判断是否还有数据, 有改为 more, 没有改为noMore
-						navItem.loadingType = 'more';
-						return;
-					} else {
-						//判断是否还有数据, 有改为 more, 没有改为noMore
-						navItem.loadingType = 'noMore';
-					}
-					uni.hideLoading();
-					this.$set(navItem, 'loaded', true);
-				})
-				.catch(e => {
-					console.log(e);
-				});
-		},
-
-		//swiper 切换
-		changeTab(e) {
-			this.tabCurrentIndex = e.target.current;
-			this.loadData('tabChange');
-		},
-		//顶部tab点击
-		tabClick(index) {
-			this.tabCurrentIndex = index;
-		},
-		//删除订单
-		deleteOrder(index) {
-			uni.showLoading({
-				title: '请稍后'
-			});
-			setTimeout(() => {
-				this.navList[this.tabCurrentIndex].orderList.splice(index, 1);
-				uni.hideLoading();
-			}, 600);
-		},
-		//取消订单
-		cancelOrder(item) {
-			uni.showModal({
-				title: '订单取消',
-				content: '是否取消订单?',
-				success: e => {
-					if (e.confirm) {
-						uni.showLoading({
-							title: '请稍后'
-						});
-						orderCancel({ id: item.order_id })
-							.then(e => {
-								uni.showToast({
-									title: '取消成功',
-									duration: 2000,
-									position: 'top'
-								});
-							})
-							.catch(e => {
-								console.log(e);
-							});
-						//取消订单后删除待付款中该项
-						let list = this.navList[this.tabCurrentIndex].orderList;
-						let index = list.findIndex(val => val.id === item.id);
-						index !== -1 && list.splice(index, 1);
-						uni.hideLoading();
-					}
-				}
-			});
-		},
-
-		//订单状态文字和颜色
-		orderStateExp(state) {
-			let stateTip = '',
-				stateTipColor = '#fa436a';
-			switch (+state) {
-				case 0:
-					stateTip = '待付款';
-					break;
-				case 1:
-					stateTip = '待发货';
-					break;
-				case 2:
-					stateTip = '待收货';
-					break;
-				case 3:
-					stateTip = '待评价';
-					break;
-				case 4:
-					stateTip = '已完成';
-					stateTipColor = '#5dbc7c';
-					break;
-				case 9:
-					stateTip = '订单已关闭';
-					stateTipColor = '#909399';
-					break;
-
-				//更多自定义
-			}
-			return { stateTip, stateTipColor };
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page,
-.content {
-	background: $page-color-base;
-	height: 100%;
-}
-
-.swiper-box {
-	height: calc(100% - 40px);
-}
-.list-scroll-content {
-	height: 100%;
-}
-
-.navbar {
-	display: flex;
-	height: 40px;
-	padding: 0 5px;
-	background: #fff;
-	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
-	position: relative;
-	z-index: 10;
-	.nav-item {
-		flex: 1;
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		height: 100%;
-		font-size: 15px;
-		color: $font-color-dark;
-		position: relative;
-		&.current {
-			color: $base-color;
-			&:after {
-				content: '';
-				position: absolute;
-				left: 50%;
-				bottom: 0;
-				transform: translateX(-50%);
-				width: 44px;
-				height: 0;
-				border-bottom: 2px solid $base-color;
-			}
-		}
-	}
-}
-
-.uni-swiper-item {
-	height: auto;
-}
-.order-item {
-	display: flex;
-	flex-direction: column;
-	padding-left: 30rpx;
-	background: #fff;
-	margin-top: 16rpx;
-	.i-top {
-		display: flex;
-		align-items: center;
-		height: 80rpx;
-		padding-right: 30rpx;
-		font-size: $font-base;
-		color: $font-color-dark;
-		position: relative;
-		.time {
-			flex: 1;
-		}
-		.state {
-			color: $base-color;
-		}
-		.del-btn {
-			padding: 10rpx 0 10rpx 36rpx;
-			font-size: $font-lg;
-			color: $font-color-light;
-			position: relative;
-			&:after {
-				content: '';
-				width: 0;
-				height: 30rpx;
-				border-left: 1px solid $border-color-dark;
-				position: absolute;
-				left: 20rpx;
-				top: 50%;
-				transform: translateY(-50%);
-			}
-		}
-	}
-	/* 多条商品 */
-	.goods-box {
-		height: 160rpx;
-		padding: 20rpx 0;
-		white-space: nowrap;
-		.goods-item {
-			width: 120rpx;
-			height: 120rpx;
-			display: inline-block;
-			margin-right: 24rpx;
-		}
-		.goods-img {
-			display: block;
-			width: 100%;
-			height: 100%;
-		}
-	}
-	/* 单条商品 */
-	.goods-box-single {
-		display: flex;
-		padding: 20rpx 0;
-		.goods-img {
-			display: block;
-			width: 120rpx;
-			height: 120rpx;
-		}
-		.right {
-			flex: 1;
-			display: flex;
-			flex-direction: column;
-			padding: 0 30rpx 0 24rpx;
-			overflow: hidden;
-			.row{
-				margin-top: 10rpx;
-			}
-			.row_title{
-				padding:5rpx 10rpx;
-				background-color: #dddddd;
-				border-radius: 10rpx;
-				font-size: 22rpx;
-				color: #ffffff;
-			}
-			.title {
-				font-size: $font-base + 2rpx;
-				color: $font-color-dark;
-				line-height: 1;
-				width: 80%;
-			}
-			.attr-box {
-				display: flex;
-				justify-content: flex-end;
-				font-size: $font-sm + 2rpx;
-				color: $font-color-light;
-			}
-			.price {
-				display: inline;
-				font-size: $font-base + 2rpx;
-				color: $font-color-dark;
-				&:before {
-					content: '¥';
-					font-size: $font-sm;
-					
-				}
-			}
-		}
-	}
-	.price-box {
-		display: flex;
-		justify-content: flex-end;
-		align-items: baseline;
-		padding: 20rpx 30rpx;
-		font-size: $font-sm + 2rpx;
-		color: $font-color-light;
-		.num {
-			margin: 0 8rpx;
-			color: $font-color-dark;
-		}
-		.price {
-			font-size: $font-lg;
-			color: $font-color-dark;
-			&:before {
-				content: '¥';
-				font-size: $font-sm;
-				margin: 0 2rpx 0 8rpx;
-			}
-		}
-	}
-	.action-box {
-		display: flex;
-		justify-content: flex-end;
-		align-items: center;
-		height: 100rpx;
-		position: relative;
-		padding-right: 30rpx;
-	}
-	.action-btn {
-		width: 160rpx;
-		height: 60rpx;
-		margin: 0;
-		margin-left: 24rpx;
-		padding: 0;
-		text-align: center;
-		line-height: 60rpx;
-		font-size: $font-sm + 2rpx;
-		color: $font-color-dark;
-		background: #fff;
-		border-radius: 100px;
-		&:after {
-			border-radius: 100px;
-		}
-		&.recom {
-			color: $base-color;
-			&:after {
-				border-color: $base-color;
-			}
-		}
-		&.evaluate {
-			color: $color-yellow;
-			&:after {
-				border-color: $color-yellow;
-			}
-		}
-	}
-}
-
-/* load-more */
-.uni-load-more {
-	display: flex;
-	flex-direction: row;
-	height: 80rpx;
-	align-items: center;
-	justify-content: center;
-}
-
-.uni-load-more__text {
-	font-size: 28rpx;
-	color: #999;
-}
-
-.uni-load-more__img {
-	height: 24px;
-	width: 24px;
-	margin-right: 10px;
-}
-
-.uni-load-more__img > view {
-	position: absolute;
-}
-
-.uni-load-more__img > view view {
-	width: 6px;
-	height: 2px;
-	border-top-left-radius: 1px;
-	border-bottom-left-radius: 1px;
-	background: #999;
-	position: absolute;
-	opacity: 0.2;
-	transform-origin: 50%;
-	animation: load 1.56s ease infinite;
-}
-
-.uni-load-more__img > view view:nth-child(1) {
-	transform: rotate(90deg);
-	top: 2px;
-	left: 9px;
-}
-
-.uni-load-more__img > view view:nth-child(2) {
-	transform: rotate(180deg);
-	top: 11px;
-	right: 0;
-}
-
-.uni-load-more__img > view view:nth-child(3) {
-	transform: rotate(270deg);
-	bottom: 2px;
-	left: 9px;
-}
-
-.uni-load-more__img > view view:nth-child(4) {
-	top: 11px;
-	left: 0;
-}
-
-.load1,
-.load2,
-.load3 {
-	height: 24px;
-	width: 24px;
-}
-
-.load2 {
-	transform: rotate(30deg);
-}
-
-.load3 {
-	transform: rotate(60deg);
-}
-
-.load1 view:nth-child(1) {
-	animation-delay: 0s;
-}
-
-.load2 view:nth-child(1) {
-	animation-delay: 0.13s;
-}
-
-.load3 view:nth-child(1) {
-	animation-delay: 0.26s;
-}
-
-.load1 view:nth-child(2) {
-	animation-delay: 0.39s;
-}
-
-.load2 view:nth-child(2) {
-	animation-delay: 0.52s;
-}
-
-.load3 view:nth-child(2) {
-	animation-delay: 0.65s;
-}
-
-.load1 view:nth-child(3) {
-	animation-delay: 0.78s;
-}
-
-.load2 view:nth-child(3) {
-	animation-delay: 0.91s;
-}
-
-.load3 view:nth-child(3) {
-	animation-delay: 1.04s;
-}
-
-.load1 view:nth-child(4) {
-	animation-delay: 1.17s;
-}
-
-.load2 view:nth-child(4) {
-	animation-delay: 1.3s;
-}
-
-.load3 view:nth-child(4) {
-	animation-delay: 1.43s;
-}
-
-@-webkit-keyframes load {
-	0% {
-		opacity: 1;
-	}
-
-	100% {
-		opacity: 0.2;
-	}
-}
+<template>
+	<view class="content">
+		<view class="navbar">
+			<view v-for="(item, index) in navList" :key="index" class="nav-item"
+				:class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.text }}</view>
+		</view>
+
+		<swiper :current="tabCurrentIndex" class="swiper-box" duration="300" @change="changeTab">
+			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
+				<scroll-view class="list-scroll-content" scroll-y @scrolltolower="loadData">
+					<!-- 空白页 -->
+					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
+
+					<!-- 订单列表 -->
+					<view @click="goToOrderDetail(item)" v-for="(item, index) in tabItem.orderList" :key="index"
+						class="order-item">
+						<view class="i-top b-b">
+							<text class="time">{{ item._add_time }}</text>
+							<text class="state" :style="{ color: item.stateTipColor }">{{ item._status._title }}</text>
+							<text v-if="item.status === 4" class="del-btn iconfont icondelete"
+								@click="deleteOrder(index)"></text>
+						</view>
+
+						<scroll-view v-if="item.cartInfo.length > 1" class="goods-box" scroll-x>
+							<view v-for="(goodsItem, goodsIndex) in item.cartInfo" :key="goodsIndex" class="goods-item">
+								<image class="goods-img" :src="goodsItem.productInfo.image" mode="aspectFill"></image>
+							</view>
+						</scroll-view>
+						<!-- <view v-if="item.cartInfo.length === 1" class="goods-box-single" v-for="(goodsItem, goodsIndex) in item.cartInfo" :key="goodsIndex">
+							<image class="goods-img" :src="goodsItem.productInfo.image" mode="aspectFill"></image>
+							<view class="right">
+								<text class="title clamp">{{ goodsItem.productInfo.store_name }}</text>
+								<text class="attr-box">{{ goodsItem.attrInfo ? goodsItem.attrInfo.suk : '' }} x {{ goodsItem.cart_num }}</text>
+								<text class="price">{{ moneyNum(goodsItem.productInfo.price)}}</text>
+							</view>
+						</view> -->
+						<view class="goods-box-single" v-for="(goodsItem, goodsIndex) in item.cartInfo"
+							:key="goodsIndex">
+							<image class="goods-img" :src="goodsItem.productInfo.image" mode="scaleToFill"></image>
+							<view class="right">
+								<view class="flex-start">
+									<text class="title clamp">{{ goodsItem.productInfo.store_name }}</text>
+									<text class="price">{{ goodsItem.productInfo.price|moneyNum }}</text>
+								</view>
+								<view class="row flex">
+									<text
+										class="row_title">{{ goodsItem.productInfo.attrInfo ? goodsItem.productInfo.attrInfo.suk : '' }}</text>
+									<text class="attr-box"> x {{ goodsItem.cart_num }}</text>
+								</view>
+							</view>
+						</view>
+
+						<view class="price-box">
+							共
+							<text class="num">{{ item.cartInfo.length }}</text>
+							件商品 邮费
+							<text class="price">{{ moneyNum(item.pay_postage)}}</text>
+							实付款
+							<text class="price">{{ moneyNum(item.pay_price)}}</text>
+						</view>
+						<view class="action-box b-t" v-if="item.status != 5">
+							<button v-if="item._status._title == '未支付'" class="action-btn"
+								@click.stop="cancelOrder(item)">取消订单</button>
+							<button v-if="item._status._title == '未支付'" @click.stop="orderPay(item)"
+								class="action-btn recom">立即支付</button>
+							<button v-if="item._status._title == '待评价'" class="action-btn">评价</button>
+							<button v-if="item._status._title == '待收货'" @click.stop="orderTake(item, index)"
+								class="action-btn">确认收货</button>
+							<button v-if="item._status._title == '未发货' && item.is_gift != 1" class="action-btn"
+								@click.stop="orderRefund(item)">申请退款</button>
+						</view>
+					</view>
+
+					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
+				</scroll-view>
+			</swiper-item>
+		</swiper>
+	</view>
+</template>
+
+<script>
+	import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
+	import empty from '@/components/empty';
+	import {
+		orderList,
+		orderCancel,
+		orderDel,
+		orderTake
+	} from '@/api/order.js';
+	export default {
+		components: {
+			uniLoadMore,
+			empty
+		},
+		filters: {
+			moneyNum(value) {
+				return +value;
+			},
+		},
+		data() {
+			return {
+				tabCurrentIndex: 0,
+				navList: [{
+						state: 0,
+						text: '待付款',
+						loadingType: 'more',
+						orderList: [],
+						page: 1, //当前页数
+						limit: 10 //每次信息条数
+					},
+					{
+						state: 1,
+						text: '待发货',
+						loadingType: 'more',
+						orderList: [],
+						page: 1, //当前页数
+						limit: 10 //每次信息条数
+					},
+					{
+						state: 2,
+						text: '待收货',
+						loadingType: 'more',
+						orderList: [],
+						page: 1, //当前页数
+						limit: 10 //每次信息条数
+					},
+					{
+						state: 3,
+						text: '待评价',
+						loadingType: 'more',
+						orderList: [],
+						page: 1, //当前页数
+						limit: 10 //每次信息条数
+					},
+					{
+						state: 4,
+						text: '已完成',
+						loadingType: 'more',
+						orderList: [],
+						page: 1, //当前页数
+						limit: 10 //每次信息条数
+					}
+				]
+			};
+		},
+
+		onLoad(options) {
+			/**
+			 * 修复app端点击除全部订单外的按钮进入时不加载数据的问题
+			 * 替换onLoad下代码即可
+			 */
+			this.tabCurrentIndex = +options.state;
+			// #ifndef MP
+			this.loadData();
+			// #endif
+			// #ifdef MP
+			if (options.state == 0) {
+				this.loadData();
+			}
+			// #endif
+		},
+		onShow() {
+			/**
+			 * 修复app端点击除全部订单外的按钮进入时不加载数据的问题
+			 * 替换onLoad下代码即可
+			 */
+			this.navList = [{
+					state: 0,
+					text: '待付款',
+					loadingType: 'more',
+					orderList: [],
+					page: 1, //当前页数
+					limit: 10 //每次信息条数
+				},
+				// {
+				// 	state: 1,
+				// 	text: '待发货',
+				// 	loadingType: 'more',
+				// 	orderList: [],
+				// 	page: 1, //当前页数
+				// 	limit: 10 //每次信息条数
+				// },
+				// {
+				// 	state: 2,
+				// 	text: '待收货',
+				// 	loadingType: 'more',
+				// 	orderList: [],
+				// 	page: 1, //当前页数
+				// 	limit: 10 //每次信息条数
+				// },
+				{
+					state: 3,
+					text: '待评价',
+					loadingType: 'more',
+					orderList: [],
+					page: 1, //当前页数
+					limit: 10 //每次信息条数
+				},
+				{
+					state: 4,
+					text: '已完成',
+					loadingType: 'more',
+					orderList: [],
+					page: 1, //当前页数
+					limit: 10 //每次信息条数
+				}
+			]
+			this.tabCurrentIndex = 0;
+			// #ifndef MP
+			this.loadData();
+			// #endif
+			// #ifdef MP
+			if (options.state == 0) {
+				this.loadData();
+			}
+			// #endif
+		},
+		// #ifdef APP-PLUS || H5
+		onBackPress(e) {
+			uni.switchTab({
+				url: '/pages/user/user',
+			});
+			return true;
+		},
+		// #endif
+		methods: {
+			// 转换金额为数字
+			moneyNum(value) {
+				return +value;
+			},
+			// 确认收货
+			orderTake(item, index) {
+				let obj = this;
+				uni.showModal({
+					title: '是否确认收货?',
+					success: () => {
+						orderTake({
+								uni: item.order_id
+							})
+							.then(e => {
+								obj.navList[obj.tabCurrentIndex].orderList.splice(index, 1);
+								uni.showToast({
+									title: '收货成功'
+								});
+							})
+							.catch(e => {
+								console.log(e);
+							});
+					}
+				});
+			},
+			//跳转到订单详情
+			goToOrderDetail(e) {
+				uni.navigateTo({
+					url: '/pages/order/orderDetail?id=' + e.order_id
+				});
+			},
+			// 申请退款
+			orderRefund(e) {
+				uni.navigateTo({
+					url: '/pages/order/orderRefund?id=' + e.order_id
+				});
+			},
+			// 订单支付
+			orderPay(e) {
+				console.log(e)
+				uni.navigateTo({
+					url: '/pages/money/pay?type=1&ordid=' + e.order_id + '&money=' + e.pay_price + '&isP=' + (e
+						.combination_id != 0 ? '1' : '0')
+				});
+			},
+			//获取订单列表
+			loadData(source) {
+				//这里是将订单挂载到tab列表下
+				let index = this.tabCurrentIndex;
+				let navItem = this.navList[index];
+				let state = navItem.state;
+				if (source === 'tabChange' && navItem.loaded === true) {
+					//tab切换只有第一次需要加载数据
+					return;
+				}
+				if (navItem.loadingType === 'loading') {
+					//防止重复加载
+					return;
+				}
+				if (navItem.loadingType === 'noMore') {
+					//防止重复加载
+					return;
+				}
+				// 修改当前对象状态为加载中
+				navItem.loadingType = 'loading';
+
+				orderList({
+						type: state,
+						page: navItem.page,
+						limit: navItem.limit
+					})
+					.then(({
+						data
+					}) => {
+						let arr = data.map(e => {
+							let b = this.orderStateExp(e.status);
+							e.stateTip = b.stateTip;
+							e.stateTipColor = b.stateTipColor;
+							return e;
+						});
+						navItem.orderList = navItem.orderList.concat(arr);
+						// console.log(navItem.orderList);
+						navItem.page++;
+						if (navItem.limit == data.length) {
+							//判断是否还有数据, 有改为 more, 没有改为noMore
+							navItem.loadingType = 'more';
+							return;
+						} else {
+							//判断是否还有数据, 有改为 more, 没有改为noMore
+							navItem.loadingType = 'noMore';
+						}
+						uni.hideLoading();
+						this.$set(navItem, 'loaded', true);
+					})
+					.catch(e => {
+						console.log(e);
+					});
+			},
+
+			//swiper 切换
+			changeTab(e) {
+				this.tabCurrentIndex = e.target.current;
+				this.loadData('tabChange');
+			},
+			//顶部tab点击
+			tabClick(index) {
+				this.tabCurrentIndex = index;
+			},
+			//删除订单
+			deleteOrder(index) {
+				uni.showLoading({
+					title: '请稍后'
+				});
+				setTimeout(() => {
+					this.navList[this.tabCurrentIndex].orderList.splice(index, 1);
+					uni.hideLoading();
+				}, 600);
+			},
+			//取消订单
+			cancelOrder(item) {
+				uni.showModal({
+					title: '订单取消',
+					content: '是否取消订单?',
+					success: e => {
+						if (e.confirm) {
+							uni.showLoading({
+								title: '请稍后'
+							});
+							orderCancel({
+									id: item.order_id
+								})
+								.then(e => {
+									uni.showToast({
+										title: '取消成功',
+										duration: 2000,
+										position: 'top'
+									});
+								})
+								.catch(e => {
+									console.log(e);
+								});
+							//取消订单后删除待付款中该项
+							let list = this.navList[this.tabCurrentIndex].orderList;
+							let index = list.findIndex(val => val.id === item.id);
+							index !== -1 && list.splice(index, 1);
+							uni.hideLoading();
+						}
+					}
+				});
+			},
+
+			//订单状态文字和颜色
+			orderStateExp(state) {
+				let stateTip = '',
+					stateTipColor = '#fa436a';
+				switch (+state) {
+					case 0:
+						stateTip = '待付款';
+						break;
+					case 1:
+						stateTip = '待发货';
+						break;
+					case 2:
+						stateTip = '待收货';
+						break;
+					case 3:
+						stateTip = '待评价';
+						break;
+					case 4:
+						stateTip = '已完成';
+						stateTipColor = '#5dbc7c';
+						break;
+					case 9:
+						stateTip = '订单已关闭';
+						stateTipColor = '#909399';
+						break;
+
+						//更多自定义
+				}
+				return {
+					stateTip,
+					stateTipColor
+				};
+			}
+		}
+	};
+</script>
+
+<style lang="scss">
+	page,
+	.content {
+		background: $page-color-base;
+		height: 100%;
+	}
+
+	.swiper-box {
+		height: calc(100% - 40px);
+	}
+
+	.list-scroll-content {
+		height: 100%;
+	}
+
+	.navbar {
+		display: flex;
+		height: 40px;
+		padding: 0 5px;
+		background: #fff;
+		box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
+		position: relative;
+		z-index: 10;
+
+		.nav-item {
+			flex: 1;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			height: 100%;
+			font-size: 15px;
+			color: $font-color-dark;
+			position: relative;
+
+			&.current {
+				color: $base-color;
+
+				&:after {
+					content: '';
+					position: absolute;
+					left: 50%;
+					bottom: 0;
+					transform: translateX(-50%);
+					width: 44px;
+					height: 0;
+					border-bottom: 2px solid $base-color;
+				}
+			}
+		}
+	}
+
+	.uni-swiper-item {
+		height: auto;
+	}
+
+	.order-item {
+		display: flex;
+		flex-direction: column;
+		padding-left: 30rpx;
+		background: #fff;
+		margin-top: 16rpx;
+
+		.i-top {
+			display: flex;
+			align-items: center;
+			height: 80rpx;
+			padding-right: 30rpx;
+			font-size: $font-base;
+			color: $font-color-dark;
+			position: relative;
+
+			.time {
+				flex: 1;
+			}
+
+			.state {
+				color: $base-color;
+			}
+
+			.del-btn {
+				padding: 10rpx 0 10rpx 36rpx;
+				font-size: $font-lg;
+				color: $font-color-light;
+				position: relative;
+
+				&:after {
+					content: '';
+					width: 0;
+					height: 30rpx;
+					border-left: 1px solid $border-color-dark;
+					position: absolute;
+					left: 20rpx;
+					top: 50%;
+					transform: translateY(-50%);
+				}
+			}
+		}
+
+		/* 多条商品 */
+		.goods-box {
+			height: 160rpx;
+			padding: 20rpx 0;
+			white-space: nowrap;
+
+			.goods-item {
+				width: 120rpx;
+				height: 120rpx;
+				display: inline-block;
+				margin-right: 24rpx;
+			}
+
+			.goods-img {
+				display: block;
+				width: 100%;
+				height: 100%;
+			}
+		}
+
+		/* 单条商品 */
+		.goods-box-single {
+			display: flex;
+			padding: 20rpx 0;
+
+			.goods-img {
+				display: block;
+				width: 120rpx;
+				height: 120rpx;
+			}
+
+			.right {
+				flex: 1;
+				display: flex;
+				flex-direction: column;
+				padding: 0 30rpx 0 24rpx;
+				overflow: hidden;
+
+				.row {
+					margin-top: 10rpx;
+				}
+
+				.row_title {
+					padding: 5rpx 10rpx;
+					background-color: #dddddd;
+					border-radius: 10rpx;
+					font-size: 22rpx;
+					color: #ffffff;
+				}
+
+				.title {
+					font-size: $font-base + 2rpx;
+					color: $font-color-dark;
+					line-height: 1;
+					width: 80%;
+				}
+
+				.attr-box {
+					display: flex;
+					justify-content: flex-end;
+					font-size: $font-sm + 2rpx;
+					color: $font-color-light;
+				}
+
+				.price {
+					display: inline;
+					font-size: $font-base + 2rpx;
+					color: $font-color-dark;
+
+					&:before {
+						content: '¥';
+						font-size: $font-sm;
+
+					}
+				}
+			}
+		}
+
+		.price-box {
+			display: flex;
+			justify-content: flex-end;
+			align-items: baseline;
+			padding: 20rpx 30rpx;
+			font-size: $font-sm + 2rpx;
+			color: $font-color-light;
+
+			.num {
+				margin: 0 8rpx;
+				color: $font-color-dark;
+			}
+
+			.price {
+				font-size: $font-lg;
+				color: $font-color-dark;
+
+				&:before {
+					content: '¥';
+					font-size: $font-sm;
+					margin: 0 2rpx 0 8rpx;
+				}
+			}
+		}
+
+		.action-box {
+			display: flex;
+			justify-content: flex-end;
+			align-items: center;
+			height: 100rpx;
+			position: relative;
+			padding-right: 30rpx;
+		}
+
+		.action-btn {
+			width: 160rpx;
+			height: 60rpx;
+			margin: 0;
+			margin-left: 24rpx;
+			padding: 0;
+			text-align: center;
+			line-height: 60rpx;
+			font-size: $font-sm + 2rpx;
+			color: $font-color-dark;
+			background: #fff;
+			border-radius: 100px;
+
+			&:after {
+				border-radius: 100px;
+			}
+
+			&.recom {
+				color: $base-color;
+
+				&:after {
+					border-color: $base-color;
+				}
+			}
+
+			&.evaluate {
+				color: $color-yellow;
+
+				&:after {
+					border-color: $color-yellow;
+				}
+			}
+		}
+	}
+
+	/* load-more */
+	.uni-load-more {
+		display: flex;
+		flex-direction: row;
+		height: 80rpx;
+		align-items: center;
+		justify-content: center;
+	}
+
+	.uni-load-more__text {
+		font-size: 28rpx;
+		color: #999;
+	}
+
+	.uni-load-more__img {
+		height: 24px;
+		width: 24px;
+		margin-right: 10px;
+	}
+
+	.uni-load-more__img>view {
+		position: absolute;
+	}
+
+	.uni-load-more__img>view view {
+		width: 6px;
+		height: 2px;
+		border-top-left-radius: 1px;
+		border-bottom-left-radius: 1px;
+		background: #999;
+		position: absolute;
+		opacity: 0.2;
+		transform-origin: 50%;
+		animation: load 1.56s ease infinite;
+	}
+
+	.uni-load-more__img>view view:nth-child(1) {
+		transform: rotate(90deg);
+		top: 2px;
+		left: 9px;
+	}
+
+	.uni-load-more__img>view view:nth-child(2) {
+		transform: rotate(180deg);
+		top: 11px;
+		right: 0;
+	}
+
+	.uni-load-more__img>view view:nth-child(3) {
+		transform: rotate(270deg);
+		bottom: 2px;
+		left: 9px;
+	}
+
+	.uni-load-more__img>view view:nth-child(4) {
+		top: 11px;
+		left: 0;
+	}
+
+	.load1,
+	.load2,
+	.load3 {
+		height: 24px;
+		width: 24px;
+	}
+
+	.load2 {
+		transform: rotate(30deg);
+	}
+
+	.load3 {
+		transform: rotate(60deg);
+	}
+
+	.load1 view:nth-child(1) {
+		animation-delay: 0s;
+	}
+
+	.load2 view:nth-child(1) {
+		animation-delay: 0.13s;
+	}
+
+	.load3 view:nth-child(1) {
+		animation-delay: 0.26s;
+	}
+
+	.load1 view:nth-child(2) {
+		animation-delay: 0.39s;
+	}
+
+	.load2 view:nth-child(2) {
+		animation-delay: 0.52s;
+	}
+
+	.load3 view:nth-child(2) {
+		animation-delay: 0.65s;
+	}
+
+	.load1 view:nth-child(3) {
+		animation-delay: 0.78s;
+	}
+
+	.load2 view:nth-child(3) {
+		animation-delay: 0.91s;
+	}
+
+	.load3 view:nth-child(3) {
+		animation-delay: 1.04s;
+	}
+
+	.load1 view:nth-child(4) {
+		animation-delay: 1.17s;
+	}
+
+	.load2 view:nth-child(4) {
+		animation-delay: 1.3s;
+	}
+
+	.load3 view:nth-child(4) {
+		animation-delay: 1.43s;
+	}
+
+	@-webkit-keyframes load {
+		0% {
+			opacity: 1;
+		}
+
+		100% {
+			opacity: 0.2;
+		}
+	}
 </style>

+ 224 - 198
pages/product/common/productBottom.vue

@@ -1,199 +1,225 @@
-<template>
-	<view class="page-bottom">
-		<view class="p-b-btn" v-if="!product_id" :class="{ active: goodsObjact.userCollect }" @click="toFavorite(goodsObjact)">
-			<text class="iconfont " :class="{ iconlike: !goodsObjact.userCollect, iconlikefill: goodsObjact.userCollect }"></text>
-			<text>收藏</text>
-		</view>
-		<view class="action-btn-group" v-if="!product_id" >
-			<button v-if="isVip!=3" type="primary" class=" action-btn no-border add-cart-btn" @click="buy(2)">加入购物车</button>
-			<button type="primary" class=" action-btn no-border buy-now-btn" @click="buy(1)">立即购买</button>
-		</view>
-		<view class="action-btn-group" v-else>
-			
-			<button type="primary" class="botton" @click="buy(1)">立即购买</button>
-		</view>
-	</view>
-</template>
-
-<script>
-import { collectAdd, collectDel } from '@/api/product.js';
-export default {
-	props: {
-		isVip:{
-			
-		},
-		many: {
-			default: 9
-		},
-		goodsObjact: {
-			default: function() {
-				return {};
-			}
-		},
-		goodsid:{
-			default: ''
-		},
-		product_id:{
-			
-		}
-	},
-	data() {
-		return {
-			
-		};
-	},
-	onLoad(){
-		// seckillGoods({}, this.goodsid).then(function({ data }) {
-		// 	obj.list = data;
-		// 	console.log(obj.list,'list');
-		// 	obj.product_id = data.productValue["默认"].product_id
-		// 	console.log(obj.product_id,'徐浩岚');
-		// });
-	},
-	methods: {
-		buy(type) {
-			this.$emit('specOPne',type);
-		},
-		//收藏
-		toFavorite(item) {
-			let obj = this;
-			console.log(obj.goodsObjact,'信息');
-			item.userCollect = !item.userCollect;
-			if (!item.userCollect) {
-				collectDel({ id: obj.goodsid, category: 'product' }).then(function(e) {
-					uni.showToast({
-						title: '成功取消收藏',
-						type: 'top',
-						duration: 1500
-					});
-				});
-			} else {
-				collectAdd({ id: obj.goodsid, category: 'product' }).then(function(e) {
-					uni.showToast({
-						title: '成功加入收藏',
-						type: 'top',
-						duration: 1500
-					});
-				});
-			}
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-/* 底部操作菜单 */
-.page-bottom {
-	position: fixed;
-	bottom: 0rpx;
-	z-index: 95;
-	display: flex;
-	justify-content: space-between;
-	padding-left: 20rpx;
-	align-items: center;
-	width: 750rpx;
-	height: 96rpx;
-	background-color: #ffffff;
-	/* box-shadow: 0 0 20rpx 0 rgba(0, 0, 0, 0.5);
-	border-radius: 16rpx; */
-	.p-b-btn {
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		justify-content: center;
-		font-size: $font-sm;
-		color: $font-color-base;
-		width: 96rpx;
-		height: 80rpx;
-		.iconfont {
-			font-size: 40rpx;
-			line-height: 48rpx;
-			color: $font-color-light;
-		}
-		&.active,
-		&.active .iconfont {
-			color: #FF4C4C;
-		}
-		.iconlikefill {
-			font-size: 46rpx;
-		}
-		image {
-			width: 56rpx;
-			height: 58rpx;
-		}
-	}
-	.action-btn-group {
-		display: flex;
-		height: 85rpx;
-		overflow: hidden;
-		margin-left: 20rpx;
-		position: relative;
-		&:after {
-			content: '';
-			position: absolute;
-			top: 50%;
-			right: 50%;
-			transform: translateY(-50%);
-			height: 28rpx;
-			width: 0;
-		}
-		.action-btn {
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			width: 300rpx;
-			height: 100%;
-			font-size: $font-base;
-			padding: 0;
-			border-radius: 0;
-			background: transparent;
-			&.buy-now-btn {
-				width: 600rpx;
-				background-color: #FF4C4C;
-			}
-			&.add-cart-btn {
-				width: 600rpx;
-				background-color: #FFB238;
-			}
-		}
-	}
-	.botton{
-		width: 691rpx;
-		height: 85rpx;
-		background: linear-gradient(90deg, #FE6F61 0%, #FF4343 100%);
-		border-radius: 43rpx;
-		
-		line-height: 85rpx;
-		margin:  0 auto;
-		font-size: 36rpx;
-		font-weight: 500;
-		color: #FFFFFF;
-	}
-}
-.p-b-btn {
-	display: flex;
-	flex-direction: column;
-	align-items: center;
-	justify-content: center;
-	font-size: $font-sm;
-	color: $font-color-base;
-	width: 96rpx;
-	height: 80rpx;
-	.iconfont {
-		font-size: 40rpx;
-		line-height: 48rpx;
-		color: $font-color-light;
-	}
-	&.active,
-	&.active .iconfont {
-		color: $uni-color-primary;
-	}
-	.icon-fenxiang2 {
-		font-size: 42rpx;
-		transform: translateY(-2rpx);
-	}
-	.iconlikefill {
-		font-size: 46rpx;
-	}
-}
+<template>
+	<view class="page-bottom">
+		<!-- <view class="p-b-btn" v-if="!product_id" :class="{ active: goodsObjact.userCollect }"
+			@click="toFavorite(goodsObjact)">
+			<text class="iconfont "
+				:class="{ iconlike: !goodsObjact.userCollect, iconlikefill: goodsObjact.userCollect }"></text>
+			<text>收藏</text>
+		</view> -->
+		<!-- 		<view class="action-btn-group" v-if="!product_id">
+			<button type="primary" class=" action-btn no-border buy-now-btn" @click="buy(1)">立即购买</button>
+		</view> -->
+		<view class="action-btn-group">
+
+			<button type="primary" class="botton" @click="buy(1)">立即购买</button>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		collectAdd,
+		collectDel
+	} from '@/api/product.js';
+	export default {
+		props: {
+			isVip: {
+
+			},
+			many: {
+				default: 9
+			},
+			goodsObjact: {
+				default: function() {
+					return {};
+				}
+			},
+			goodsid: {
+				default: ''
+			},
+			product_id: {
+
+			}
+		},
+		data() {
+			return {
+
+			};
+		},
+		onLoad() {
+			// seckillGoods({}, this.goodsid).then(function({ data }) {
+			// 	obj.list = data;
+			// 	console.log(obj.list,'list');
+			// 	obj.product_id = data.productValue["默认"].product_id
+			// 	console.log(obj.product_id,'徐浩岚');
+			// });
+		},
+		methods: {
+			buy(type) {
+				this.$emit('specOPne', type);
+			},
+			//收藏
+			toFavorite(item) {
+				let obj = this;
+				console.log(obj.goodsObjact, '信息');
+				item.userCollect = !item.userCollect;
+				if (!item.userCollect) {
+					collectDel({
+						id: obj.goodsid,
+						category: 'product'
+					}).then(function(e) {
+						uni.showToast({
+							title: '成功取消收藏',
+							type: 'top',
+							duration: 1500
+						});
+					});
+				} else {
+					collectAdd({
+						id: obj.goodsid,
+						category: 'product'
+					}).then(function(e) {
+						uni.showToast({
+							title: '成功加入收藏',
+							type: 'top',
+							duration: 1500
+						});
+					});
+				}
+			}
+		}
+	};
+</script>
+
+<style lang="scss">
+	/* 底部操作菜单 */
+	.page-bottom {
+		position: fixed;
+		bottom: 0rpx;
+		z-index: 95;
+		display: flex;
+		justify-content: space-between;
+		// padding-left: 20rpx;
+		align-items: center;
+		width: 750rpx;
+		height: 96rpx;
+		background-color: #ffffff;
+
+		/* box-shadow: 0 0 20rpx 0 rgba(0, 0, 0, 0.5);
+	border-radius: 16rpx; */
+		.p-b-btn {
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			justify-content: center;
+			font-size: $font-sm;
+			color: $font-color-base;
+			width: 96rpx;
+			height: 80rpx;
+
+			.iconfont {
+				font-size: 40rpx;
+				line-height: 48rpx;
+				color: $font-color-light;
+			}
+
+			&.active,
+			&.active .iconfont {
+				color: #FF4C4C;
+			}
+
+			.iconlikefill {
+				font-size: 46rpx;
+			}
+
+			image {
+				width: 56rpx;
+				height: 58rpx;
+			}
+		}
+
+		.action-btn-group {
+			display: flex;
+			height: 85rpx;
+			overflow: hidden;
+			// margin-left: 20rpx;
+			position: relative;
+
+			&:after {
+				content: '';
+				position: absolute;
+				top: 50%;
+				right: 50%;
+				transform: translateY(-50%);
+				height: 28rpx;
+				width: 0;
+			}
+
+			.action-btn {
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				width: 300rpx;
+				height: 100%;
+				font-size: $font-base;
+				padding: 0;
+				border-radius: 0;
+				background: transparent;
+
+				&.buy-now-btn {
+					width: 600rpx;
+					background-color: #FF4C4C;
+				}
+
+				&.add-cart-btn {
+					width: 600rpx;
+					background-color: #FFB238;
+				}
+			}
+		}
+
+		.botton {
+			width: 750rpx;
+			height: 85rpx;
+			background: linear-gradient(90deg, #FE6F61 0%, #FF4343 100%);
+			// border-radius: 43rpx;
+
+			line-height: 85rpx;
+			margin: 0 auto;
+			font-size: 36rpx;
+			font-weight: 500;
+			color: #FFFFFF;
+		}
+	}
+
+	.p-b-btn {
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center;
+		font-size: $font-sm;
+		color: $font-color-base;
+		width: 96rpx;
+		height: 80rpx;
+
+		.iconfont {
+			font-size: 40rpx;
+			line-height: 48rpx;
+			color: $font-color-light;
+		}
+
+		&.active,
+		&.active .iconfont {
+			color: $uni-color-primary;
+		}
+
+		.icon-fenxiang2 {
+			font-size: 42rpx;
+			transform: translateY(-2rpx);
+		}
+
+		.iconlikefill {
+			font-size: 46rpx;
+		}
+	}
 </style>

+ 221 - 207
pages/public/register.vue

@@ -1,208 +1,222 @@
-<template>
-	<view class="container">
-		<view class="status_bar"><!-- 这里是状态栏 --></view>
-		<view class="loginTitle">欢迎注册玲卿+</view>
-		<view class="loginText">请认真填写个人信息</view>
-		<view class="login-box">
-			<view class="username">账号</view>
-			<input class="input-box" type="text" v-model="phone" placeholder="请输入邮箱/电话" />
-		</view>
-		<view class="login-box">
-			<view class="username">验证码</view>
-			<view class="flex">
-				<input class="input-box" type="number" v-model="code" placeholder="请输入验证码" />
-				<view class="code" @click="verification">{{ countDown == 0 ? '获取验证码' : countDown }}</view>
-			</view>
-		</view>
-		<view class="login-box">
-			<view class="username">登录密码</view>
-			<input class="input-box" type="password" v-model="loginPass" placeholder="请输入登录密码" />
-		</view>
-		<!-- <view class="login-box">
-			<view class="username">交易密码</view>
-			<input class="input-box" type="password" v-model="payPass" placeholder="请输入6位数的交易密码" />
-		</view> -->
-		<view class="login-box">
-			<view class="username">邀请码</view>
-			<input class="input-box" type="text" v-model="invitation" placeholder="请输入邀请码" />
-		</view>
-		<view class="login" @click="register">注册</view>
-	</view>
-</template>
-
-<script>
-import { register, verify } from '@/api/login.js';
-export default {
-	data() {
-		return {
-			phone: '', //用户
-			loginPass: '', //密码
-			payPass: '',
-			invitation: '', //邀请码
-			code: '', //验证码
-			time: '', //保存倒计时对象
-			countDown: 0 //倒计时
-		};
-	},
-	onLoad() {
-		// 获取扫码邀请人id
-		this.invitation = uni.getStorageSync('spread') || '';
-	},
-	watch: {
-		// 监听倒计时
-		countDown(i) {
-			if (i == 0) {
-				clearInterval(this.time);
-			}
-		}
-	},
-	methods: {
-		// 注册
-		register() {
-			let obj = this;
-			if (obj.phone == '') {
-				obj.$api.msg('请输入账号');
-				return;
-			}
-			if (!/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test(obj.phone) && (!/(^1[3|4|5|6|7|8|9][0-9]{9}$)/.test(this.phone))) {
-				obj.$api.msg('请输入正确的邮箱或手机');
-				return;
-			}
-			if (obj.loginPass == '') {
-				obj.$api.msg('请输入登录密码');
-				return;
-			}
-			if (obj.code == '') {
-				obj.$api.msg('请输入验证码');
-				return;
-			}
-			// if (obj.invitation == '') {
-			// 	obj.$api.msg('请输入邀请码');
-			// 	return;
-			// }
-			register({
-				account: obj.phone, //账号
-				captcha: obj.code, //验证码
-				password: obj.loginPass,
-				trade_password: obj.payPass,
-				spread: obj.invitation
-			}).then(function(e) {
-				uni.showToast({
-					title: '注册成功',
-					duration: 2000,
-					position: 'top',
-					icon: 'none'
-				});
-				setTimeout(function() {
-					uni.navigateTo({
-						url: '/pages/public/login'
-					});
-				}, 1000);
-			});
-			//调用注册接口,成功跳转登录页
-		},
-		//发送验证码
-		verification() {
-			let obj = this;
-			if (this.phone == '') {
-				this.$api.msg('请输入账号');
-				return;
-			}
-			if (!/^([a-zA-Z]|[0-9])(\w|\-|\.)+@[a-zA-Z0-9]+(\.([a-zA-Z]{2,4}))+$/.test(obj.phone) && (!/(^1[3|4|5|6|7|8|9][0-9]{9}$)/.test(this.phone))) {
-				obj.$api.msg('请输入正确的账号');
-				return;
-			}
-			// 判断是否在倒计时
-			if (obj.countDown > 0) {
-				return false;
-			} else {
-				obj.countDown = 60;
-				obj.time = setInterval(() => {
-					obj.countDown--;
-				}, 1000);
-				//调用验证码接口
-				verify({
-					phone: obj.phone,
-					type: 'register'
-				})
-					.then(({ data }) => {
-						uni.showToast({
-							title: '验证码已发送',
-							duration: 2000,
-							position: 'top',
-							icon: 'none'
-						});
-					})
-					.catch(err => {
-						console.log(err);
-					});
-			}
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page {
-	min-height: 100%;
-	background-color: #ffffff;
-
-	.container {
-		width: 100%;
-		padding: 10% 60rpx 0rpx 60rpx;
-	}
-}
-.status_bar {
-	height: var(--status-bar-height);
-	width: 100%;
-}
-.loginTitle {
-	font-weight: bold;
-	color: #333333;
-	font-size: 58rpx;
-	padding-bottom: 25rpx;
-}
-
-.loginText {
-	font-weight: 500;
-	color: #333333;
-	font-size: 34rpx;
-}
-
-.login-box {
-	padding-top: 70rpx;
-	.username {
-		padding-bottom: 25rpx;
-		font-weight: 500;
-		color: #333333;
-		font-size: 32rpx;
-	}
-}
-
-.login {
-	background: #5dbc7c;
-	margin-top: 20rpx;
-	color: #ffffff;
-	text-align: center;
-	padding: 26rpx 0rpx;
-	border-radius: 50rpx;
-	margin-top: 60rpx;
-}
-.code {
-	background: #5dbc7c;
-	color: #ffffff;
-	border-radius: 10rpx;
-	font-weight: 500;
-	color: #ffffff;
-	font-size: 26rpx;
-	padding: 12rpx 19rpx;
-}
-// /* input 样式 */
-// .input-placeholder {
-// 	color: #ffffff;
-// }
-
-// .placeholder {
-// 	color: #ffffff;
-// }
+<template>
+	<view class="container">
+		<view class="status_bar">
+			<!-- 这里是状态栏 -->
+		</view>
+		<view class="loginTitle">欢迎注册</view>
+		<view class="loginText">请认真填写个人信息</view>
+		<view class="login-box">
+			<view class="username">账号</view>
+			<input class="input-box" type="text" v-model="phone" placeholder="请输入邮箱/电话" />
+		</view>
+		<view class="login-box">
+			<view class="username">验证码</view>
+			<view class="flex">
+				<input class="input-box" type="number" v-model="code" placeholder="请输入验证码" />
+				<view class="code" @click="verification">{{ countDown == 0 ? '获取验证码' : countDown }}</view>
+			</view>
+		</view>
+		<view class="login-box">
+			<view class="username">登录密码</view>
+			<input class="input-box" type="password" v-model="loginPass" placeholder="请输入登录密码" />
+		</view>
+		<!-- <view class="login-box">
+			<view class="username">交易密码</view>
+			<input class="input-box" type="password" v-model="payPass" placeholder="请输入6位数的交易密码" />
+		</view> -->
+		<view class="login-box">
+			<view class="username">邀请码</view>
+			<input class="input-box" type="text" v-model="invitation" placeholder="请输入邀请码" />
+		</view>
+		<view class="login" @click="register">注册</view>
+	</view>
+</template>
+
+<script>
+	import {
+		register,
+		verify
+	} from '@/api/login.js';
+	export default {
+		data() {
+			return {
+				phone: '', //用户
+				loginPass: '', //密码
+				payPass: '',
+				invitation: '', //邀请码
+				code: '', //验证码
+				time: '', //保存倒计时对象
+				countDown: 0 //倒计时
+			};
+		},
+		onLoad() {
+			// 获取扫码邀请人id
+			this.invitation = uni.getStorageSync('spread') || '';
+		},
+		watch: {
+			// 监听倒计时
+			countDown(i) {
+				if (i == 0) {
+					clearInterval(this.time);
+				}
+			}
+		},
+		methods: {
+			// 注册
+			register() {
+				let obj = this;
+				if (obj.phone == '') {
+					obj.$api.msg('请输入账号');
+					return;
+				}
+				if (!/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test(obj.phone) && (!
+						/(^1[3|4|5|6|7|8|9][0-9]{9}$)/.test(this.phone))) {
+					obj.$api.msg('请输入正确的邮箱或手机');
+					return;
+				}
+				if (obj.loginPass == '') {
+					obj.$api.msg('请输入登录密码');
+					return;
+				}
+				if (obj.code == '') {
+					obj.$api.msg('请输入验证码');
+					return;
+				}
+				// if (obj.invitation == '') {
+				// 	obj.$api.msg('请输入邀请码');
+				// 	return;
+				// }
+				register({
+					account: obj.phone, //账号
+					captcha: obj.code, //验证码
+					password: obj.loginPass,
+					trade_password: obj.payPass,
+					spread: obj.invitation
+				}).then(function(e) {
+					uni.showToast({
+						title: '注册成功',
+						duration: 2000,
+						position: 'top',
+						icon: 'none'
+					});
+					setTimeout(function() {
+						uni.navigateTo({
+							url: '/pages/public/login'
+						});
+					}, 1000);
+				});
+				//调用注册接口,成功跳转登录页
+			},
+			//发送验证码
+			verification() {
+				let obj = this;
+				if (this.phone == '') {
+					this.$api.msg('请输入账号');
+					return;
+				}
+				if (!/^([a-zA-Z]|[0-9])(\w|\-|\.)+@[a-zA-Z0-9]+(\.([a-zA-Z]{2,4}))+$/.test(obj.phone) && (!
+						/(^1[3|4|5|6|7|8|9][0-9]{9}$)/.test(this.phone))) {
+					obj.$api.msg('请输入正确的账号');
+					return;
+				}
+				// 判断是否在倒计时
+				if (obj.countDown > 0) {
+					return false;
+				} else {
+					obj.countDown = 60;
+					obj.time = setInterval(() => {
+						obj.countDown--;
+					}, 1000);
+					//调用验证码接口
+					verify({
+							phone: obj.phone,
+							type: 'register'
+						})
+						.then(({
+							data
+						}) => {
+							uni.showToast({
+								title: '验证码已发送',
+								duration: 2000,
+								position: 'top',
+								icon: 'none'
+							});
+						})
+						.catch(err => {
+							console.log(err);
+						});
+				}
+			}
+		}
+	};
+</script>
+
+<style lang="scss">
+	page {
+		min-height: 100%;
+		background-color: #ffffff;
+
+		.container {
+			width: 100%;
+			padding: 10% 60rpx 0rpx 60rpx;
+		}
+	}
+
+	.status_bar {
+		height: var(--status-bar-height);
+		width: 100%;
+	}
+
+	.loginTitle {
+		font-weight: bold;
+		color: #333333;
+		font-size: 58rpx;
+		padding-bottom: 25rpx;
+	}
+
+	.loginText {
+		font-weight: 500;
+		color: #333333;
+		font-size: 34rpx;
+	}
+
+	.login-box {
+		padding-top: 70rpx;
+
+		.username {
+			padding-bottom: 25rpx;
+			font-weight: 500;
+			color: #333333;
+			font-size: 32rpx;
+		}
+	}
+
+	.login {
+		background: #5dbc7c;
+		margin-top: 20rpx;
+		color: #ffffff;
+		text-align: center;
+		padding: 26rpx 0rpx;
+		border-radius: 50rpx;
+		margin-top: 60rpx;
+	}
+
+	.code {
+		background: #5dbc7c;
+		color: #ffffff;
+		border-radius: 10rpx;
+		font-weight: 500;
+		color: #ffffff;
+		font-size: 26rpx;
+		padding: 12rpx 19rpx;
+	}
+
+	// /* input 样式 */
+	// .input-placeholder {
+	// 	color: #ffffff;
+	// }
+
+	// .placeholder {
+	// 	color: #ffffff;
+	// }
 </style>

+ 169 - 0
pages/shop/djqQm.vue

@@ -0,0 +1,169 @@
+<template>
+	<view class="content">
+		<view class="" style="height: 87rpx;">
+
+		</view>
+		<view class="djq-wrap">
+			<view class="djq-top flex f-d-c f-j-c">
+				<view class="djq-name">
+					地锅传奇50元代金券
+				</view>
+				<view class="djq-time">
+					有效期至2022-12-30 23:00:00
+				</view>
+			</view>
+			<view class="djq-body">
+				<view class="ewm">
+					<tki-qrcode :cid="cid" ref="qrcode" :val="val" :size="size" :unit="unit" :background="background"
+						:foreground="foreground" :pdground="pdground" :iconSize="iconSize" :lv="lv" :onval="onval"
+						:loadMake="loadMake" :usingComponents="usingComponents" @result="qrR" />
+				</view>
+				<view class="ewm-code">
+					10250035810
+				</view>
+			</view>
+		</view>
+
+	</view>
+</template>
+
+<script>
+	import tkiQrcode from '@/components/tki-qrcode/tki-qrcode.vue';
+	export default {
+		components: {
+			tkiQrcode
+		},
+		data() {
+			return {
+				cid: 'tki-qrcode-canvas', //canvasId,页面存在多个二维码组件时需设置不同的ID
+				size: 440, //生成的二维码大小
+				unit: 'upx', //大小单位尺寸
+				show: true, //默认使用组件中的image标签显示二维码
+				val: '要生成的内容', //要生成的内容
+				background: '#ffffff', //二维码背景色
+				foreground: '#333333', //二维码前景色
+				pdground: '#333333', //二维码角标色
+				icon: '', //二维码图标URL(必须是本地图片,网络图需要先下载至本地)
+				iconSize: 40, //二维码图标大小
+				lv: 3, //容错级别
+				onval: true, //监听val值变化自动重新生成二维码
+				loadMake: true, //组件初始化完成后自动生成二维码,val需要有值
+				usingComponents: false, //是否使用了自定义组件模式(主要是为了修复非自定义组件模式时 v-if 无法生成二维码的问题)
+				showLoading: false, //是否显示loading
+				loadingText: '二维码生成中', //loading文字
+				src: '', // 二维码生成后的图片地址或base64
+				ratio: 1, //页面比例用于计算
+				ctxSrc: '', //要显示的图片
+				loading: true, //是否载入图片中
+			}
+		},
+		onLoad() {
+
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+
+		},
+		onReady() {
+
+		},
+		methods: {
+
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		height: 100%;
+		background-color: #f9e24f;
+	}
+
+	.djq-wrap {
+		width: 696rpx;
+
+		background-color: #fff;
+		position: relative;
+		margin: auto;
+
+		.djq-top {
+			height: 185rpx;
+			background: #F5F5F5;
+			overflow: hidden;
+
+			.djq-name {
+				font-size: 44rpx;
+				font-weight: bold;
+				color: #222222;
+			}
+
+			.djq-time {
+				font-size: 24rpx;
+				font-weight: 500;
+				color: #686868;
+			}
+
+			&::after,
+			&::before {
+				content: '';
+				height: 120rpx;
+				width: 120rpx;
+				border-radius: 50%;
+				position: absolute;
+				top: -60rpx;
+				background-color: #f9e24f;
+			}
+
+			&::before {
+				left: -60rpx;
+			}
+
+			&::after {
+				right: -60rpx;
+			}
+		}
+
+		.djq-body {
+			height: 770rpx;
+			position: relative;
+			padding-top: 115rpx;
+
+			&::after,
+			&::before {
+				content: '';
+				height: 120rpx;
+				width: 120rpx;
+				border-radius: 50%;
+				position: absolute;
+				bottom: -60rpx;
+				background-color: #f9e24f;
+			}
+
+			&::before {
+				left: -60rpx;
+			}
+
+			&::after {
+				right: -60rpx;
+			}
+
+			.ewm {
+				width: 440rpx;
+				height: 440rpx;
+				margin: auto;
+			}
+
+			.ewm-code {
+				padding-top: 55rpx;
+				font-size: 44rpx;
+				font-weight: bold;
+				color: #333333;
+				text-align: center;
+			}
+		}
+
+
+	}
+</style>

+ 485 - 0
pages/shop/giftDetail.vue

@@ -0,0 +1,485 @@
+<template>
+	<view class="content">
+		<view class="gift-wrap flex f-j-s">
+			<view class="gift-img">
+				<image src="../../static/error/errorImage.jpg" mode=""></image>
+			</view>
+			<view class="gift-info flex f-d-c f-j-sb f-ai-s pl20 pt20">
+				<view class="gift-name">
+					会员礼包<image src="../../static/icon/g-l.png" mode=""></image><text class="info-tit">内含五张门店优惠券</text>
+				</view>
+				<view class="gift-price">
+					<text class="new-price pr10">¥300</text><text class="old-price">¥1000</text>
+				</view>
+			</view>
+		</view>
+		<view class="gift-jg flex f-j-c">
+			<view class="jg"></view>
+			<view class="">礼包包含</view>
+			<view class="jg"></view>
+		</view>
+		<scroll-view scroll-y="true" :style="{'height': height}" class="scroll-wrap">
+			<view class="djq-wrap flex f-ai-s" v-for="item in 10">
+				<image src="../../static/error/errorImage.jpg" mode="" class="djq-img"></image>
+				<view class="djq-right pl20">
+					<view class="djq-tit flex f-j-sb f-ai-s">
+						<view class="djq-name clamp">
+							岭上会推拿SPA岭上会推拿SPA岭上会推拿SPA岭上会推拿SPA岭上会推拿SPA
+						</view>
+						<view class="djq-dis">
+							<image src="../../static/icon/dw.png" mode=""></image>
+							距离0.3KM
+						</view>
+					</view>
+					<view class="flex f-d-c f-j-sb f-ai-s fg1" style="height: 110rpx;">
+						<view class="djq-dz clamp2">
+							椒江区市府大道200号椒江区市府大道200号椒江区
+						</view>
+						<view class="djq-hd flex f-j-sb">
+							<view class="buy-info">
+								1425人已购买
+							</view>
+							<view class="hd-btn">
+								<image src="../../static/icon/call.png" mode="" style="margin-right: 15rpx;"
+									@click="makeCall()"></image>
+								<image src="../../static/icon/dh.png" mode="" @click="dh()"></image>
+							</view>
+						</view>
+					</view>
+					<view class="left-btm flex f-j-s">
+						<view class="j-logo">
+							券
+						</view>
+						<view class="j-price">
+							<text>¥</text>25
+						</view>
+						<view class="j-zk">
+							5.8折
+						</view>
+						<view class="j-name">
+							50元代金券
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="tb" style="height: 100rpx;"></view>
+		</scroll-view>
+		<view class="btm-btn" @click="buying?'':goBuy()">
+			立即购买
+		</view>
+		<uni-popup ref="popup" type="bottom">
+			<view class="zf-wrap">
+				<view class="zf-top flex f-j-sb">
+					<view class="top-left">
+						选择支付方式
+					</view>
+					<image src="../../static/icon/colse.png" mode="" @click="close"></image>
+				</view>
+				<view class="zf-type flex" @click="changePayType(1)">
+					<view class="type-left">
+						<text class="icon iconfont iconweixin"></text>
+						<text style="margin-left: 20rpx;">微信支付</text>
+					</view>
+					<label class="radio">
+						<radio value="" color="#FF4C4C" :checked="payType == 1"></radio>
+					</label>
+				</view>
+				<view class="zf-type flex" @click="changePayType(3)">
+					<view class="type-left">
+						<text class="icon iconfont iconyue"></text>
+						<text style="margin-left: 20rpx;">余额支付</text>
+					</view>
+					<label class="radio">
+						<radio value="" color="#FF4C4C" :checked="payType == 3"></radio>
+					</label>
+				</view>
+				<view class="" style="width: 750rpx;height: 20rpx;background: #F6F6F6;"></view>
+				<view class="zf-btn flex">
+					<view class="btn-left">
+						合计:<text class="zf-price">100</text>
+					</view>
+					<view class="btn-right" @click="buying?'':buy()">
+						立即支付
+					</view>
+				</view>
+			</view>
+		</uni-popup>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				height: '',
+				payType: 1,
+				buying: false,
+			}
+		},
+		onLoad() {
+
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+
+		},
+		onReady() {
+			var obj = this;
+			uni.getSystemInfo({
+				success: resu => {
+					const query = uni.createSelectorQuery();
+					query.select('.scroll-wrap').boundingClientRect();
+					query.exec(function(res) {
+						obj.height = resu.windowHeight - res[0].top + 'px';
+					});
+				},
+				fail: res => {}
+			});
+		},
+		methods: {
+			// 打开支付弹窗
+			goBuy() {
+				this.$refs.popup.open()
+			},
+			// 关闭支付弹窗
+			close() {
+				this.$refs.popup.close()
+			},
+			//选择支付方式
+			changePayType(type) {
+				this.payType = type;
+				if (this.payType == 1) {
+					this.payName = 'weixin';
+				}
+				if (this.payType == 2) {
+					this.payName = 'ali';
+				}
+				if (this.payType == 3) {
+					this.payName = 'yue';
+				}
+				if (this.payType == 4) {
+					this.payName = 'pink_integral';
+				}
+				if (this.payType == 5) {
+					this.payName = 'cash';
+				}
+			},
+			//支付
+			buy() {
+				let obj = this
+				if (obj.payType == 0) {
+					return obj.$api.msg('请选择支付方式')
+				}
+				if (obj.buying) {
+					return
+				}
+				obj.buying = true
+				obj.close()
+			},
+			// 拨打电话
+			makeCall() {
+
+			},
+			// 导航
+			dh() {
+
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.gift-wrap {
+		width: 750rpx;
+		height: 198rpx;
+		background: #FFFFFF;
+		padding: 24rpx 30rpx;
+
+		.gift-img {
+			image {
+				width: 150rpx;
+				height: 150rpx;
+				border-radius: 20rpx;
+			}
+		}
+
+		.gift-info {
+			flex-grow: 1;
+			height: 100%;
+
+			.gift-name {
+				font-size: 36rpx;
+				font-weight: bold;
+				color: #333333;
+				line-height: 44rpx;
+
+				image {
+					width: 26rpx;
+					height: 26rpx;
+					margin-left: 13rpx;
+					margin-right: 9rpx;
+				}
+
+				.info-tit {
+					font-size: 24rpx;
+					font-weight: 500;
+					color: #FFA30B;
+
+				}
+			}
+
+			.gift-price {
+				text-align: left;
+
+				text {
+					display: inline-block;
+				}
+
+				.new-price {
+					font-size: 38rpx;
+					font-weight: bold;
+					color: #FF4C4C;
+				}
+
+				.old-price {
+					font-size: 24rpx;
+					font-weight: 500;
+					text-decoration: line-through;
+					color: #999999;
+
+					text {
+						font-size: 17rpx;
+					}
+				}
+			}
+		}
+
+	}
+
+	.gift-jg {
+		margin: 20rpx 0;
+		font-size: 30rpx;
+		font-weight: 500;
+		color: #363636;
+
+		.jg {
+			width: 120rpx;
+			height: 1rpx;
+			background: #989898;
+			margin: 0 50rpx;
+		}
+	}
+
+	.djq-wrap {
+		width: 701rpx;
+		height: 255rpx;
+		background: #FFFFFF;
+		box-shadow: 0px 0px 27rpx 0px rgba(50, 50, 52, 0.06);
+		border-radius: 20rpx;
+		margin: 0 auto 20rpx;
+		padding: 23rpx 22rpx;
+
+		&:last-of-type {
+			margin-bottom: 0;
+		}
+
+		.djq-img {
+			flex-shrink: 0;
+			width: 150rpx;
+			height: 150rpx;
+			border-radius: 10rpx;
+		}
+
+		.djq-right {
+			flex-grow: 1;
+
+			.djq-tit {
+				font-size: 34rpx;
+				font-weight: bold;
+				color: #333333;
+				line-height: 52rpx;
+
+				.djq-name {
+					max-width: 300rpx;
+				}
+
+				.djq-dis {
+					flex-shrink: 0;
+
+					image {
+						width: 20rpx;
+						height: 28rpx;
+						margin-right: 10rpx;
+					}
+
+					font-size: 22rpx;
+					font-weight: 500;
+					color: #666666;
+				}
+			}
+
+			.djq-dz {
+				width: 100%;
+				font-size: 24rpx;
+				font-weight: 500;
+				color: #666666;
+			}
+
+			.djq-hd {
+				width: 100%;
+				border-bottom: 1rpx solid #EAECED;
+
+				.buy-info {
+					display: inline-block;
+					height: 32rpx;
+					border-radius: 16rpx 16rpx 16rpx 0px;
+					line-height: 32rpx;
+					font-size: 20rpx;
+					font-weight: 500;
+					color: #FF440D;
+					padding: 0 15rpx;
+					background-color: #fcf3f0;
+				}
+
+				.hd-btn {
+					image {
+						width: 46rpx;
+						height: 46rpx;
+					}
+				}
+			}
+		}
+	}
+
+	.left-btm {
+		height: 66rpx;
+
+		.j-logo {
+			width: 32rpx;
+			line-height: 33rpx;
+			background: linear-gradient(-48deg, #FFA30B, #FFD158);
+			border-radius: 13rpx;
+			font-size: 21rpx;
+			font-weight: 500;
+			color: #FFFFFF;
+			text-align: center;
+		}
+
+		.j-price {
+			font-size: 27rpx;
+			font-weight: bold;
+			color: #FF4C4C;
+			margin: 0 10rpx 0 5rpx;
+		}
+
+		.j-zk {
+			height: 31rpx;
+			border: 1rpx solid #FF4C4C;
+			border-radius: 7rpx;
+			line-height: 31rpx;
+			padding: 0 8rpx;
+			font-size: 20rpx;
+			font-weight: bold;
+			color: #FF4C4C;
+			margin-right: 5rpx;
+		}
+
+		.j-name {
+			font-size: 23rpx;
+			font-weight: bold;
+			color: #333333;
+		}
+	}
+
+	.btm-btn {
+		width: 750rpx;
+		height: 100rpx;
+		text-align: center;
+		line-height: 100rpx;
+		font-size: 36rpx;
+		font-weight: 500;
+		color: #FFFFFF;
+		background-color: #ff4c4c;
+		position: fixed;
+		bottom: 0;
+	}
+
+	.zf-wrap {
+		width: 750rpx;
+		height: 404rpx;
+		background: #FFFFFF;
+		border-radius: 10rpx 10rpx 0px 0px;
+
+		.zf-top {
+			height: 86rpx;
+			border-bottom: #EEEEEE solid 1rpx;
+			padding: 0 25rpx;
+			font-size: 28rpx;
+			font-weight: bold;
+			color: #333333;
+
+			image {
+				width: 15rpx;
+				height: 15rpx;
+			}
+		}
+
+		.zf-type {
+			margin-left: 23rpx;
+			width: 727rpx;
+			height: 100rpx;
+			border-bottom: #EEEEEE solid 1rpx;
+			padding: 0 25rpx;
+			font-size: 28rpx;
+			font-weight: 400;
+			color: #3F454B;
+
+			&:last-of-type {
+				border-bottom: none;
+			}
+		}
+
+		.zf-btn {
+			.btn-right {
+				width: 360rpx;
+				line-height: 100rpx;
+				background: #FF4C4C;
+				text-align: center;
+				font-size: 32rpx;
+				font-weight: bold;
+				color: #FFFFFF;
+			}
+
+			.btn-left {
+				width: 390rpx;
+				line-height: 100rpx;
+				padding-left: 24rpx;
+				font-size: 28rpx;
+				font-weight: 400;
+				color: #3F454B;
+
+				.zf-price {
+					font-size: 36rpx;
+					font-weight: bold;
+					color: #FF4C4C;
+
+					&::before {
+						content: '¥';
+						font-size: 24rpx;
+						color: #FF4C4C;
+					}
+				}
+			}
+		}
+	}
+
+	.iconweixin {
+		color: #36cb59;
+	}
+
+	.iconyue {
+		color: #fe8e2e;
+	}
+</style>

+ 230 - 0
pages/shop/joinshop.vue

@@ -0,0 +1,230 @@
+<template>
+	<view class="content">
+		<view class="jg"></view>
+		<view class="tab">
+			<view class="tab-item flex">
+				<view class="item-name">公司名称</view>
+				<input type="text" placeholder="请输入公司全称" class="item-val" v-model="organ_name">
+			</view>
+			<view class="tab-item flex">
+				<view class="item-name">店铺名称</view>
+				<input type="text" placeholder="请输入店铺名称" class="item-val" v-model="time_area">
+			</view>
+			<view class="tab-item flex">
+				<view class="item-name">选择行业</view>
+				<picker mode="selector" :range='industryList' @change="bindIndustryChange" class="item-val">
+					<view :class="{'place':industry== ''}" style="text-align: left;">
+						{{industry || '请选择行业'}}
+					</view>
+				</picker>
+			</view>
+		</view>
+		<view class="tab">
+			<view class="tab-item flex">
+				<view class="item-name">联系人:</view>
+				<input type="text" placeholder="请输入联系人" class="item-val" v-model="organ_name">
+			</view>
+			<view class="tab-item flex">
+				<view class="item-name">联系手机:</view>
+				<input type="text" placeholder="请输入联系手机" class="item-val" v-model="time_area">
+			</view>
+			<view class="tab-item flex">
+				<view class="item-name">详细地址:</view>
+				<input type="text" placeholder="请输入详细地址" class="item-val" v-model="time_area">
+			</view>
+		</view>
+		<view class="tab">
+			<view class="tab-item flex">
+				<view class="item-name">联系人:</view>
+				<input type="text" placeholder="请输入联系人" class="item-val" v-model="organ_name">
+			</view>
+		</view>
+		<view class="sub" @click="sub">
+			确认发布
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+
+		data() {
+			return {
+				industryList: ['美食', '酒店'], //行业列表
+				industry: '', //所属行业
+				level_id: 0,
+				load: false,
+				organ_name: '',
+				addressDetail: '',
+				province: '',
+				province_id: '',
+				city: '',
+				city_id: '',
+				district: '',
+				district_id: '',
+				time_area: '',
+				doctor_level: '', //需求的医生职称
+				tags: '',
+				brokerage: '', //	报酬
+				content: '',
+				levelList: [{
+					id: 1,
+					name: '医师'
+				}, {
+					id: 2,
+					name: '主治医师'
+				}, {
+					id: 3,
+					name: '副主任医师'
+				}, {
+					id: 4,
+					name: '主任医师'
+				}]
+			}
+		},
+		methods: {
+			bindIndustryChange(e) {
+				this.industry = this.industryList[e.detail.value]
+			},
+			//职称选择
+			handleTap2(name) {
+				this.$refs[name].show()
+			},
+			//职称选择
+			handleChange2(item) {},
+			//职称选择
+			handleConfirm2(item) {
+				let obj = this;
+				obj.doctor_level = item.item.name;
+				obj.level_id = item.item.id;
+				console.log(obj.doctor_level, obj.level_id)
+			},
+			// 选中城市切换
+			onCityClick({
+				data
+			}) {
+				console.log(data)
+				let obj = this
+				// let address = this.addressData.address;
+				obj.province = data[0];
+				obj.city = data[1];
+				obj.district = data[2];
+				this.addressDetail = obj.province.name + ' ' + obj.city.name + ' ' + obj.district.name;
+			},
+			// 发布
+			sub() {
+				let obj = this
+				if (obj.load) {
+					return
+				}
+				if (obj.organ_name == '') {
+					return obj.$api.msg('请输入机构全称')
+				}
+				if (obj.province == '') {
+					return obj.$api.msg('请选择地址')
+				}
+				if (obj.city == '') {
+					return obj.$api.msg('请选择地址')
+				}
+				if (obj.district == '') {
+					return obj.$api.msg('请选择地址')
+				}
+				if (obj.time_area == '') {
+					return obj.$api.msg('请输入服务时间')
+				}
+				if (obj.doctor_level == '') {
+					return obj.$api.msg('请输入职称')
+				}
+				if (obj.brokerage == '') {
+					return obj.$api.msg('请输入报酬')
+				}
+				if (obj.content == '') {
+					return obj.$api.msg('请输入要求')
+				}
+				if (obj.tags == '') {
+					return obj.$api.msg('请输入要求')
+				}
+				let tags = obj.tags.replace(/,/g, ',')
+				obj.load = true
+				ddsub({
+					organ_name: obj.organ_name,
+					province: obj.province.name,
+					province_id: obj.province.code,
+					city: obj.city.name,
+					city_id: obj.city.code,
+					district: obj.district.name,
+					district_id: obj.district.code,
+					time_area: obj.time_area,
+					doctor_level: obj.level_id, //需求的医生职称
+					tags: tags,
+					brokerage: obj.brokerage, //	报酬
+					content: obj.content,
+				}).then(res => {
+					obj.load = false
+					uni.showToast({
+						title: '发布成功',
+						duration: 2000
+					});
+				}).catch(err => {
+					obj.load = false
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.place {
+		color: #999;
+	}
+
+	.jg {
+		height: 20rpx;
+	}
+
+	.tab {
+		width: 690rpx;
+		margin: auto;
+		border-radius: 10px;
+		background-color: #fff;
+		margin-bottom: 20rpx;
+
+		.tab-item {
+			padding: 0 20rpx;
+			font-size: 30rpx;
+			align-items: flex-start;
+			line-height: 100rpx;
+			border-bottom: 1px #F0F0F0 solid;
+
+			&:last-of-type {
+				border-bottom: none;
+			}
+
+			.item-name {
+				flex-shrink: 0;
+				width: 220rpx;
+				color: #333333;
+			}
+
+			.item-val {
+				display: inline-block;
+				flex-grow: 1;
+				text-align: left;
+				line-height: 100rpx;
+				height: 100rpx;
+			}
+		}
+	}
+
+	.sub {
+		text-align: center;
+		width: 560rpx;
+		line-height: 80rpx;
+		background: #6786fb;
+		border-radius: 40rpx;
+		color: #fff;
+		font-size: 30rpx;
+		font-weight: 500;
+		margin: 80rpx auto 0;
+	}
+</style>

+ 385 - 0
pages/shop/shopDetail.vue

@@ -0,0 +1,385 @@
+<template>
+	<view class="center">
+		<view class="store-info flex">
+			<view class="store-top flex">
+				<image class="simage" :src="info.image" mode=""></image>
+				<view class="stop-main">
+					<view class="stop-title">{{ info.name }}</view>
+					<view class="stop-address" v-if="info.jl">
+						<image class="mrt-image" src="../../static/index/index10.png" mode=""></image>
+						<view class="mrt-font">距离{{ info.jl }}KM</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<view class="store-item">
+			<image class="store-image1" src="../../static/img/store2.png" mode=""></image>
+			<view class="store-font">营业时间:{{ info.day_time }}</view>
+		</view>
+		<view class="store-item">
+			<image class="store-image2" src="../../static/img/store3.png" mode=""></image>
+			<view class="store-font">商家电话:{{ info.phone }}</view>
+		</view>
+		<view class="store-item">
+			<image class="store-image3" src="../../static/index/index10.png" mode=""></image>
+			<view class="store-font">门店地址:{{ info.detailed_address }}</view>
+		</view>
+		<view class="store-main" v-if="info.slider_image != null">
+			<view class="smain-title">门头照片</view>
+			<scroll-view class="scroll-box flex" @scroll="scroll" scroll-x="true" :scroll-with-animation="true"
+				scroll-left="10px">
+				<view class="scroll-item" v-for="(item, index) in info.slider_image" :key="index">
+					<image class="scroll-image" :src="item" mode="heightFix"></image>
+				</view>
+			</scroll-view>
+		</view>
+		<view class="shop-dhq">
+
+		</view>
+		<view class="store-main" v-if="info.images != null">
+			<view class="smain-title">店内图片</view>
+			<scroll-view class="scroll-box flex" @scroll="scroll" scroll-x="true" :scroll-with-animation="true"
+				scroll-left="10px">
+				<view class="scroll-item" v-for="(item, index) in info.images" :key="index">
+					<image class="scroll-image" :src="item" mode="heightFix"></image>
+				</view>
+			</scroll-view>
+		</view>
+		<view class="btn-box flex">
+			<view class="btn-left" @click="tocall()">联系商家</view>
+			<view class="btn-right" @click="markertap()">导航到店</view>
+		</view>
+		<uni-popup ref="popup" type="bottom" @click="close">
+			<view class="popup_row">
+				<view class="rows">
+					<view class="rows-item" @click="toGaodeMap">高德地图</view>
+					<view class="rows-item" @click="tobaiDuMap">百度地图</view>
+					<!-- <view class="rows-item" @click="totengxunMap">腾讯地图</view> -->
+				</view>
+			</view>
+		</uni-popup>
+	</view>
+</template>
+
+<script>
+	import {
+		store_details
+	} from '@/api/index.js';
+	import uniPopup from '@/components/uni-popup/uni-popup.vue';
+	export default {
+		data() {
+			return {
+				id: '',
+				info: '',
+				longitude: '',
+				latitude: '',
+				latitude1: '',
+				longitude1: '',
+				address: ''
+			};
+		},
+		onLoad(option) {
+			// this.id = option.id;
+			// this.loadData();
+		},
+		methods: {
+			markertap(e) {
+				this.$refs.popup.open();
+			},
+			loadData() {
+				const obj = this;
+				// store_details({}, this.id).then(({ data }) => {
+				// 	console.log(data);
+				// 	this.info = data;
+				// });
+				uni.getLocation({
+					type: 'gcj02',
+					success: res => {
+						console.log('dizhi+++++++++++');
+						this.longitude = res.longitude; //经度
+						this.latitude = res.latitude; //纬度
+						store_details({}, this.id).then(({
+							data
+						}) => {
+							obj.longitude1 = data.longitude;
+							obj.latitude1 = data.latitude;
+							obj.address = data.detailed_address;
+							data.jl = this.getFlatternDistance(this.latitude, this.longitude, data
+								.latitude, data.longitude);
+							this.info = data;
+						});
+					},
+					fail: err => {
+						console.log(err);
+						openMap().then(e => {
+							this.getaddress();
+						});
+					}
+				});
+			},
+			//根据经纬度计算距离
+			getFlatternDistance(lat1, lng1, lat2, lng2) {
+				let radLat1 = (lat1 * Math.PI) / 180.0;
+				let radLat2 = (lat2 * Math.PI) / 180.0;
+				let a = radLat1 - radLat2;
+				let b = (lng1 * Math.PI) / 180.0 - (lng2 * Math.PI) / 180.0;
+				let s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math
+					.pow(Math.sin(b / 2), 2)));
+				s = s * 6378.137;
+				s = Math.round(s * 10000) / 10000;
+				return s;
+			},
+			scroll(e) {
+				console.log(e, '123456');
+			},
+			tocall() {
+				let num = this.info.phone;
+				console.log(num);
+				uni.makePhoneCall({
+					phoneNumber: num //仅为示例
+				});
+			},
+			// 调用高德
+			toGaodeMap() {
+				let latitude = this.latitude1;
+				let longitude = this.longitude1;
+				let address = this.address;
+				console.log('选择高德', latitude, longitude, address);
+				window.location.href = `https://uri.amap.com/marker?position=${longitude},${latitude}&name=${address}`;
+			},
+			// 调用腾讯
+			totengxunMap() {
+				let latitude = this.latitude1;
+				let longitude = this.longitude1;
+				let address = this.address;
+				console.log('选择腾讯', latitude, longitude);
+				window.location.href =
+					`http://apis.map.qq.com/uri/v1/marker?marker=coord:${latitude},${longitude};addr:${address}`;
+			},
+			// 调用百度
+			tobaiDuMap() {
+				let latitude = this.latitude1;
+				let longitude = this.longitude1;
+				let latitude6 = this.latitude;
+				let longitude6 = this.longitude;
+				let address = this.address;
+				console.log('选择百度', latitude, longitude);
+				console.log('获取当前经纬度', latitude6, longitude6);
+				window.location.href =
+					`http://api.map.baidu.com/direction?origin=latlng:${latitude6},${longitude6}|name:我的位置&destination=${latitude},${longitude}&mode=driving&region=${address}&output=html&src=webapp.baidu.openAPIdemo`;
+			}
+		}
+	};
+</script>
+
+<style lang="less">
+	.center,
+	page {
+		background: #f8f8f8;
+		height: 100%;
+	}
+
+	.store-info {
+		background: #ffffff;
+
+		.store-top {
+			padding: 40rpx 20rpx;
+			justify-content: flex-start;
+
+			.simage {
+				width: 130rpx;
+				height: 130rpx;
+				background: #f44939;
+			}
+
+			.stop-main {
+				height: 130rpx;
+				padding: 6rpx 0;
+				margin-left: 20rpx;
+				display: flex;
+				flex-direction: column;
+				justify-content: space-between;
+				align-items: flex-start;
+
+				.stop-title {
+					font-size: 36rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #000000;
+				}
+
+				.stop-address {
+					display: flex;
+					justify-content: flex-end;
+					align-items: center;
+
+					.mrt-image {
+						width: 20rpx;
+						height: 28rpx;
+					}
+
+					.mrt-font {
+						margin-left: 8rpx;
+						font-size: 22rpx;
+						font-family: PingFang SC;
+						font-weight: 500;
+						color: #666666;
+					}
+				}
+			}
+		}
+	}
+
+	.store-item {
+		background: #ffffff;
+		display: flex;
+		justify-content: flex-start;
+		align-items: center;
+		padding: 30rpx 30rpx 30rpx 44rpx;
+
+		.store-image1 {
+			width: 36rpx;
+			height: 36rpx;
+		}
+
+		.store-image2 {
+			margin: 0 1rpx;
+			width: 34rpx;
+			height: 34rpx;
+		}
+
+		.store-image3 {
+			margin: 0 7rpx;
+			width: 22rpx;
+			height: 28rpx;
+		}
+
+		.store-font {
+			margin-left: 22rpx;
+			font-size: 26rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #2d2d2d;
+		}
+	}
+
+	.store-main {
+		margin-top: 16rpx;
+		background: #ffffff;
+		padding: 30rpx 42rpx 40rpx;
+
+		.smain-title {
+			font-size: 30rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #464646;
+		}
+	}
+
+	.scroll-box {
+		white-space: nowrap;
+		margin-top: 30rpx;
+		height: 240rpx;
+
+		.scroll-item:first-child {
+			margin-left: 0;
+		}
+
+		.scroll-item {
+			margin-left: 20rpx;
+			display: inline-block;
+			height: 240rpx;
+			width: 240rpx;
+		}
+
+		.scroll-image {
+			height: 240rpx;
+			width: 240rpx;
+		}
+	}
+
+	.btn-box {
+		position: fixed;
+		bottom: 0rpx;
+		left: 0;
+		right: 0;
+		width: 750rpx;
+		background: rgba(255, 255, 255, 0.6);
+		box-shadow: 0rpx 0rpx 20rpx 0px rgba(50, 50, 52, 0.06);
+		padding: 22rpx 68rpx;
+
+		.btn-left {
+			width: 280rpx;
+			height: 80rpx;
+			background: linear-gradient(180deg, #ffa30b, #ffd158);
+			box-shadow: 0px 3rpx 13rpx 3rpx rgba(255, 164, 13, 0.48);
+			border-radius: 40rpx;
+			text-align: center;
+			line-height: 80rpx;
+			font-size: 32rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #ffffff;
+		}
+
+		.btn-right {
+			width: 280rpx;
+			height: 80rpx;
+			background: linear-gradient(180deg, #ff6223, #ffab60);
+			box-shadow: 0px 3rpx 13rpx 3rpx rgba(255, 164, 13, 0.48);
+			border-radius: 40rpx;
+			text-align: center;
+			line-height: 80rpx;
+			font-size: 32rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #ffffff;
+		}
+	}
+
+	.popup_row {
+		width: 100%;
+		height: 500rpx;
+		background-color: #ffffff;
+		border-radius: 20rpx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+
+		.rows {
+			width: 100%;
+			padding: 0 24rpx;
+
+			.rows-item {
+				height: 80rpx;
+				line-height: 80rpx;
+				text-align: center;
+				width: 100%;
+				font-size: 32rpx;
+				color: #303133;
+				// border-bottom: 1rpx solid #f0f0f0;
+			}
+
+			// .row-1 {
+			// 	margin: auto;
+			// 	.first_aid {
+			// 		width: 300rpx;
+			// 		height: 300rpx;
+			// 	}
+			// }
+			// .row-2 {
+			// 	font-size: 38rpx;
+			// 	margin-top: 20rpx;
+			// }
+		}
+	}
+
+	.shop-dhq {
+		width: 702rpx;
+		height: 171rpx;
+		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+		margin: auto;
+		border-radius: 20rpx;
+		background-color: #fff;
+	}
+</style>

+ 377 - 0
pages/shop/shopList.vue

@@ -0,0 +1,377 @@
+<template>
+	<view class="content">
+		<view class="search-top">
+			<view class="search flex">
+				<view class="shop-name clamp">椒江区</view>
+				<image class="shop-jt" src="../../static/icon/dsjh.png" mode=""></image>
+				<view class="input-box flex">
+					<view class=" input-content flex">
+						<image src="../../static/icon/search-h.png" mode="" class=""
+							style="width: 32rpx;height: 32rpx;"></image>
+						<view class="input"><input type="text" value="输入关键字搜索" /></view>
+					</view>
+				</view>
+				<view class="search-tit" @click.stop="clickSearch">搜索</view>
+			</view>
+			<view class="shop">
+				<view class="shop-title">
+					<view class="shop-item">
+						<view class="sitem-font">智能排序</view>
+						<image class="jt-down" src="../../static/index/index06.png" mode=""></image>
+					</view>
+					<view class="shop-item">
+						<view class="sitem-font">位置距离</view>
+						<image class="jt-down" src="../../static/index/index06.png" mode=""></image>
+					</view>
+					<view class="shop-item">
+						<view class="sitem-font">折扣优惠</view>
+						<image class="jt-down" src="../../static/index/index06.png" mode=""></image>
+					</view>
+					<!-- <view class="shop-item">
+						<view class="sitem-font">筛选</view>
+						<image class="jt-down" src="../../static/index/index06.png" mode=""></image>
+					</view> -->
+				</view>
+			</view>
+		</view>
+		<scroll-view scroll-y="true" :style="{'height': height}" class="shop-list-wrap">
+			<view class="djq-wrap flex f-ai-s" v-for="item in 10">
+				<image src="../../static/error/errorImage.jpg" mode="" class="djq-img"></image>
+				<view class="djq-right pl20">
+					<view class="djq-tit flex f-j-sb f-ai-s">
+						<view class="djq-name clamp">
+							岭上会推拿SPA岭上会推拿SPA岭上会推拿SPA岭上会推拿SPA岭上会推拿SPA
+						</view>
+						<view class="djq-dis">
+							<image src="../../static/icon/dw.png" mode=""></image>
+							距离0.3KM
+						</view>
+					</view>
+					<view class="flex f-d-c f-j-sb f-ai-s fg1" style="height: 110rpx;">
+						<view class="djq-dz clamp2">
+							椒江区市府大道200号椒江区市府大道200号椒江区
+						</view>
+						<view class="djq-hd flex f-j-sb">
+							<view class="buy-info">
+								1425人已购买
+							</view>
+							<view class="hd-btn">
+								<image src="../../static/icon/call.png" mode="" style="margin-right: 15rpx;"
+									@click="makeCall()"></image>
+								<image src="../../static/icon/dh.png" mode="" @click="dh()"></image>
+							</view>
+						</view>
+					</view>
+					<view class="" style="padding: 10rpx 0 0 0;">
+						<view class="left-btm flex f-j-s" v-for="itemt in 3">
+							<view class="j-logo">
+								券
+							</view>
+							<view class="j-price">
+								<text>¥</text>25
+							</view>
+							<view class="j-zk">
+								5.8折
+							</view>
+							<view class="j-name">
+								50元代金券
+							</view>
+						</view>
+					</view>
+
+				</view>
+			</view>
+			<uni-load-more :status="loadingType"></uni-load-more>
+		</scroll-view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				height: '',
+				loadingType: 'more'
+			}
+		},
+		onLoad() {
+
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+
+		},
+		onReady() {
+			var obj = this;
+			uni.getSystemInfo({
+				success: resu => {
+					const query = uni.createSelectorQuery();
+					query.select('.shop-list-wrap').boundingClientRect();
+					query.exec(function(res) {
+						obj.height = resu.windowHeight - res[0].top + 'px';
+					});
+				},
+				fail: res => {}
+			});
+		},
+		methods: {
+			// 拨打电话
+			makeCall() {
+
+			},
+			// 导航
+			dh() {
+
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.search-top {
+		// position: fixed;
+		// top: 0;
+		// z-index: 99;
+	}
+
+	.search {
+		justify-content: flex-start;
+		padding: 10rpx 32rpx 20rpx;
+		align-items: center;
+		background-color: #fff;
+
+		.address {
+			width: 32rpx;
+			height: 38rpx;
+		}
+
+		.shop-name {
+			height: 38rpx;
+			position: relative;
+			top: -4rpx;
+			z-index: 100;
+			font-size: 30rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #666;
+			padding-left: 10rpx;
+		}
+
+		.shop-jt {
+			margin-left: 8rpx;
+			width: 16rpx;
+			height: 10rpx;
+		}
+
+		.input-box {
+			margin-left: 10rpx;
+			position: relative;
+			z-index: 99;
+			width: 520rpx;
+			height: 60rpx;
+			// background: rgba(255, 255, 255, 0.4);
+			border-radius: 30rpx;
+
+			.input-content {
+				position: relative;
+				z-index: 11;
+				// border-radius: 99rpx;
+				flex-grow: 1;
+				padding: 5rpx 30rpx;
+				background: #f6f6f6;
+
+				.iconsearch {
+					font-size: 50rpx;
+					color: #ffffff;
+				}
+
+				.input {
+					margin-left: 19rpx;
+					flex-grow: 1;
+					color: #666;
+					background: #f6f6f6;
+
+					input {
+						font-size: 28rpx;
+					}
+				}
+			}
+
+			.input-button {
+				padding-left: 20rpx;
+				// font-size: $font-base;
+				height: 100%;
+			}
+		}
+
+		.search-tit {
+			font-size: 28rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #666666;
+			flex-shrink: 0;
+			padding-left: 10rpx;
+		}
+	}
+
+	.shop {
+		// margin-top: 20rpx;
+		background: #ffffff;
+		padding: 0 12rpx;
+
+		.shop-title {
+			padding: 30rpx 0 20rpx;
+			display: flex;
+			align-items: center;
+			border-bottom: 1px solid #e3e6e7;
+
+			.shop-item {
+				width: 33%;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+
+				.sitem-font {
+					font-size: 26rpx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #333333;
+				}
+
+				.jt-down {
+					width: 10rpx;
+					height: 8rpx;
+					margin-left: 12rpx;
+				}
+			}
+		}
+	}
+
+	.shop-list-wrap {
+		// background-color: red;
+		padding-top: 20rpx;
+	}
+
+	.djq-wrap {
+		width: 701rpx;
+		// height: 255rpx;
+		background: #FFFFFF;
+		box-shadow: 0px 0px 27rpx 0px rgba(50, 50, 52, 0.06);
+		border-radius: 20rpx;
+		margin: 0 auto 20rpx;
+		padding: 23rpx 22rpx;
+
+		&:last-of-type {
+			margin-bottom: 0;
+		}
+
+		.djq-img {
+			flex-shrink: 0;
+			width: 150rpx;
+			height: 150rpx;
+			border-radius: 10rpx;
+		}
+
+		.djq-right {
+			flex-grow: 1;
+
+			.djq-tit {
+				font-size: 34rpx;
+				font-weight: bold;
+				color: #333333;
+				line-height: 52rpx;
+
+				.djq-name {
+					max-width: 300rpx;
+				}
+
+				.djq-dis {
+					flex-shrink: 0;
+
+					image {
+						width: 20rpx;
+						height: 28rpx;
+						margin-right: 10rpx;
+					}
+
+					font-size: 22rpx;
+					font-weight: 500;
+					color: #666666;
+				}
+			}
+
+			.djq-dz {
+				width: 100%;
+				font-size: 24rpx;
+				font-weight: 500;
+				color: #666666;
+			}
+
+			.djq-hd {
+				width: 100%;
+				border-bottom: 1rpx solid #EAECED;
+
+				.buy-info {
+					display: inline-block;
+					height: 32rpx;
+					border-radius: 16rpx 16rpx 16rpx 0px;
+					line-height: 32rpx;
+					font-size: 20rpx;
+					font-weight: 500;
+					color: #FF440D;
+					padding: 0 15rpx;
+					background-color: #fcf3f0;
+				}
+
+				.hd-btn {
+					image {
+						width: 46rpx;
+						height: 46rpx;
+					}
+				}
+			}
+		}
+	}
+
+	.left-btm {
+		height: 50rpx;
+
+		.j-logo {
+			width: 32rpx;
+			line-height: 33rpx;
+			background: linear-gradient(-48deg, #FFA30B, #FFD158);
+			border-radius: 13rpx;
+			font-size: 21rpx;
+			font-weight: 500;
+			color: #FFFFFF;
+			text-align: center;
+		}
+
+		.j-price {
+			font-size: 27rpx;
+			font-weight: bold;
+			color: #FF4C4C;
+			margin: 0 10rpx 0 5rpx;
+		}
+
+		.j-zk {
+			height: 31rpx;
+			border: 1rpx solid #FF4C4C;
+			border-radius: 7rpx;
+			line-height: 31rpx;
+			padding: 0 8rpx;
+			font-size: 20rpx;
+			font-weight: bold;
+			color: #FF4C4C;
+			margin-right: 5rpx;
+		}
+
+		.j-name {
+			font-size: 23rpx;
+			font-weight: bold;
+			color: #333333;
+		}
+	}
+</style>

+ 457 - 0
pages/shop/yhqDetail.vue

@@ -0,0 +1,457 @@
+<template>
+	<view class="content">
+		<view class="" style="height: 20rpx;"></view>
+		<view class="yhq-wrap">
+			<view class="yhq-info p-r">
+				<image src="../../static/img/yhq-w.png" mode="widthFix"></image>
+				<view class="info-name p-a">
+					地锅印象代金券
+				</view>
+				<view class="info-info p-a">
+					79元代100元券
+				</view>
+				<view class="info-time p-a">
+					周一至周日可用
+				</view>
+			</view>
+			<view class="yhq-price flex f-j-s">
+				<view class="price-left flex f-j-s fg1">
+					<view class="left-new-price">
+						79
+					</view>
+					<view class="left-zk">
+						7.9折
+					</view>
+					<view class="left-old-price">
+						¥100
+					</view>
+				</view>
+				<view class="price-right fs0">
+					1020人买过
+				</view>
+			</view>
+			<view class="yhq-tit">
+				有效期
+			</view>
+			<view class="yhq-val">
+				2021.12.17至2022.5.16 23:59(周末、法定节假日通用)
+			</view>
+			<view class="yhq-tit">
+				使用时间
+			</view>
+			<view class="yhq-val">
+				11:00-2300
+			</view>
+			<view class="yhq-tit">
+				适用范围
+			</view>
+			<view class="yhq-val">
+				除酒水饮料外全场通用
+			</view>
+			<view class="yhq-tit">
+				使用规则
+			</view>
+			<view class="yhq-val">
+				仅限堂食
+			</view>
+		</view>
+		<!-- 底部填充 -->
+		<view class="" style="height: 120rpx;"></view>
+		<!-- 底部购买收藏 -->
+		<view class="btm-btn flex">
+			<!-- <view class="sc fs0 flex f-j-c">
+				<image src="../../static/icon/shoucang.png" mode=""></image>
+			</view> -->
+			<view class="buy-now-btn fg1" @click="buyNow()">
+				立即购买
+			</view>
+		</view>
+		<!-- 购买数量弹窗 -->
+		<uni-popup ref="buyNumPopup" type="center">
+			<view class="buy-num p-r">
+				<view class="buy-num-tit">
+					购买数量
+				</view>
+				<add-number class="buy-num-wrap" :isMin="true" :value="buyNum" :min="1" :max="goodsNumberMax"
+					@eventChange="numberChange"></add-number>
+				<view class="buy-num-hj">
+					合计¥188
+				</view>
+				<view class="buy-num-btn flex">
+					<view class="buy-close fg1" @click="buyNumClose">
+						取消
+					</view>
+					<view class="buy-true fg1" style="color: #FF4C4C;" @click="openPay">
+						确定
+					</view>
+				</view>
+			</view>
+		</uni-popup>
+		<!-- 选择支付方式弹窗 -->
+		<uni-popup ref="popup" type="bottom">
+			<view class="zf-wrap">
+				<view class="zf-top flex f-j-sb">
+					<view class="top-left">
+						选择支付方式
+					</view>
+					<image src="../../static/icon/colse.png" mode="" @click="close"></image>
+				</view>
+				<view class="zf-type flex" @click="changePayType(1)">
+					<view class="type-left">
+						<text class="icon iconfont iconweixin"></text>
+						<text style="margin-left: 20rpx;">微信支付</text>
+					</view>
+					<label class="radio">
+						<radio value="" color="#FF4C4C" :checked="payType == 1"></radio>
+					</label>
+				</view>
+				<view class="zf-type flex" @click="changePayType(3)">
+					<view class="type-left">
+						<text class="icon iconfont iconyue"></text>
+						<text style="margin-left: 20rpx;">余额支付</text>
+					</view>
+					<label class="radio">
+						<radio value="" color="#FF4C4C" :checked="payType == 3"></radio>
+					</label>
+				</view>
+				<view class="" style="width: 750rpx;height: 20rpx;background: #F6F6F6;"></view>
+				<view class="zf-btn flex">
+					<view class="btn-left">
+						合计:<text class="zf-price">100</text>
+					</view>
+					<view class="btn-right" @click="buying?'':buy()">
+						立即支付
+					</view>
+				</view>
+			</view>
+		</uni-popup>
+	</view>
+</template>
+
+<script>
+	import addNumber from '@/components/add-number.vue';
+	export default {
+		components: {
+			addNumber
+		},
+		data() {
+			return {
+				goodsNumberMax: 999,
+				buyNum: 1,
+				payType: 1,
+				buying: false,
+				payName: 'weixin'
+			}
+		},
+		onLoad() {
+
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+
+		},
+		onReady() {
+
+		},
+		methods: {
+			buyNow() {
+				let obj = this
+				obj.$refs.buyNumPopup.open()
+			},
+			// 购买数量变化
+			numberChange(e) {
+				this.buyNum = e.number;
+			},
+			buyNumClose() {
+				let obj = this
+				obj.$refs.buyNumPopup.close()
+			},
+			// 打开支付弹窗
+			openPay() {
+				let obj = this
+				obj.$refs.buyNumPopup.close()
+				obj.$refs.popup.open()
+			},
+			closePay() {
+				let obj = this
+				obj.$refs.popup.close()
+			},
+			changePayType(type) {
+				this.payType = type;
+				if (this.payType == 1) {
+					this.payName = 'weixin';
+				}
+				if (this.payType == 2) {
+					this.payName = 'ali';
+				}
+				if (this.payType == 3) {
+					this.payName = 'yue';
+				}
+				if (this.payType == 4) {
+					this.payName = 'pink_integral';
+				}
+				if (this.payType == 5) {
+					this.payName = 'cash';
+				}
+			},
+			//支付
+			buy() {
+				let obj = this
+				if (obj.payType == 0) {
+					return obj.$api.msg('请选择支付方式')
+				}
+				if (obj.buying) {
+					return
+				}
+				obj.buying = true
+				obj.closePay()
+			},
+		}
+	}
+</script>
+
+<style lang="scss">
+	.yhq-wrap {
+		width: 702rpx;
+		// height: 1065rpx;
+		background: #FFFFFF;
+		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+		border-radius: 20rpx;
+		margin: auto;
+		padding: 30rpx 24rpx 50rpx;
+
+		.yhq-info {
+			width: 655rpx;
+			height: 230rpx;
+			// border: 1px solid #FCC7AE;
+			margin: auto;
+
+			image {
+				width: 655rpx;
+			}
+
+			view {
+				padding-left: 22rpx;
+			}
+
+			.info-name {
+				top: 25rpx;
+				font-size: 24rpx;
+				font-weight: bold;
+				color: #333333;
+			}
+
+			.info-info {
+				top: 70rpx;
+				font-size: 45rpx;
+				font-weight: bold;
+				color: #333333;
+			}
+
+			.info-time {
+				bottom: 25rpx;
+			}
+		}
+
+
+	}
+
+	.yhq-price {
+		width: 643rpx;
+		margin: auto;
+		height: 110rpx;
+		border-bottom: 1rpx solid #f6f6f6;
+
+		.price-right {
+			font-size: 25rpx;
+			font-weight: 500;
+			color: #999999;
+		}
+
+		.left-new-price {
+			font-size: 56rpx;
+			font-weight: bold;
+			color: #FF4C4C;
+
+			&:before {
+				content: '¥';
+				font-size: 29rpx;
+				color: #FF4C4C;
+			}
+		}
+
+		.left-zk {
+			display: inline-block;
+
+			padding: 5rpx 8rpx;
+			border: 1px solid #FF4C4C;
+			border-radius: 8rpx;
+			font-size: 22rpx;
+			font-weight: 500;
+			color: #FF4C4C;
+			margin: 0 10rpx 0 12rpx;
+		}
+
+		.left-old-price {
+			font-size: 25rpx;
+			font-weight: 500;
+			text-decoration: line-through;
+			color: #999999;
+		}
+	}
+
+	.yhq-tit {
+		padding-top: 45rpx;
+		font-size: 28rpx;
+		font-weight: bold;
+		color: #333333;
+	}
+
+	.yhq-val {
+		padding-top: 20rpx;
+		font-size: 28rpx;
+		font-weight: 500;
+		color: #333333;
+		text-align: justify;
+	}
+
+	.btm-btn {
+		background-color: #fff;
+		box-shadow: 0px 0px 40px 0px rgba(50, 50, 52, 0.06);
+		position: fixed;
+		bottom: 0;
+		width: 750rpx;
+		height: 100rpx;
+
+		.sc {
+			width: 103rpx;
+
+			image {
+				width: 42rpx;
+				height: 64rpx;
+			}
+		}
+
+
+		.buy-now-btn {
+			line-height: 100rpx;
+			background: #FF4C4C;
+
+			font-size: 36rpx;
+			font-weight: 500;
+			color: #FFFFFF;
+			text-align: center;
+		}
+	}
+
+	.buy-num {
+		width: 537rpx;
+		height: 449rpx;
+		background: #FFFFFF;
+		border-radius: 30rpx;
+		font-size: 30rpx;
+		text-align: center;
+
+		.buy-num-tit {
+			font-weight: bold;
+			color: #333333;
+			padding-top: 60rpx;
+		}
+
+		.buy-num-wrap {
+			margin: 60rpx auto 45rpx;
+		}
+
+		.buy-num-hj {
+			font-weight: 500;
+			color: #333333;
+		}
+
+		.buy-num-btn {
+			position: absolute;
+			bottom: 0;
+			width: 100%;
+			text-align: center;
+			height: 90rpx;
+		}
+	}
+
+	.zf-wrap {
+		width: 750rpx;
+		height: 404rpx;
+		background: #FFFFFF;
+		border-radius: 10rpx 10rpx 0px 0px;
+
+		.zf-top {
+			height: 86rpx;
+			border-bottom: #EEEEEE solid 1rpx;
+			padding: 0 25rpx;
+			font-size: 28rpx;
+			font-weight: bold;
+			color: #333333;
+
+			image {
+				width: 15rpx;
+				height: 15rpx;
+			}
+		}
+
+		.zf-type {
+			margin-left: 23rpx;
+			width: 727rpx;
+			height: 100rpx;
+			border-bottom: #EEEEEE solid 1rpx;
+			padding: 0 25rpx;
+			font-size: 28rpx;
+			font-weight: 400;
+			color: #3F454B;
+
+			&:last-of-type {
+				border-bottom: none;
+			}
+		}
+
+		.zf-btn {
+			.btn-right {
+				width: 360rpx;
+				line-height: 100rpx;
+				background: #FF4C4C;
+				text-align: center;
+				font-size: 32rpx;
+				font-weight: bold;
+				color: #FFFFFF;
+			}
+
+			.btn-left {
+				width: 390rpx;
+				line-height: 100rpx;
+				padding-left: 24rpx;
+				font-size: 28rpx;
+				font-weight: 400;
+				color: #3F454B;
+
+				.zf-price {
+					font-size: 36rpx;
+					font-weight: bold;
+					color: #FF4C4C;
+
+					&::before {
+						content: '¥';
+						font-size: 24rpx;
+						color: #FF4C4C;
+					}
+				}
+			}
+		}
+	}
+
+	.iconweixin {
+		color: #36cb59;
+	}
+
+	.iconyue {
+		color: #fe8e2e;
+	}
+</style>

+ 471 - 456
pages/user/award.vue

@@ -1,457 +1,472 @@
-<template>
-	<view class="content">
-		<view class="content-money">
-			<view class="status_bar"><!-- 这里是状态栏 --></view>
-			<view class="body-title">
-				<view class="goback-box" @click="toBack"><image class="goback" src="../../static/icon/fanhui.png" mode=""></image></view>
-				<view class="header">我的消费补贴券</view>
-			</view>
-			<view class="content-bg"><image src="../../static/img/yongjin-bg.png" mode=""></image></view>
-			<view class="money-box">
-				<view class="money">{{ userInfo.brokerage_price }}</view>
-				<view>我的消费补贴券</view>
-			</view>
-			<view class="money-btn" @click="navto('/pages/money/withdrawal')">
-				消费补贴券转换
-				<text>></text>
-			</view>
-		</view>
-		<view class="info-box flex">
-			<view class="info-item">
-				<view class="info-font">累计收入</view>
-				<view class="info-num">{{ orderStatusSum }}</view>
-			</view>
-			<view class="shu"></view>
-			<view class="info-item">
-				<view class="info-font">累计支出</view>
-				<view class="info-num">{{ recharge }}</view>
-			</view>
-		</view>
-		<view class="navbar">
-			<view v-for="(item, index) in navList" :key="index" class="nav-item" :class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.text }}</view>
-		</view>
-		<swiper :current="tabCurrentIndex" :style="{ height: maxheight }" class="swiper-box" duration="300" @change="changeTab">
-			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
-				<scroll-view scroll-y="true" class="list-scroll-content" @scrolltolower="loadData">
-					<!-- 空白页 -->
-					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
-					<!-- 订单列表 -->
-					<view>
-						<view class="order-item flex" v-for="(item, index) in tabItem.orderList" :key="index">
-							<view class="title-box">
-								<view class="title">
-									<text>{{ item.title }}</text>
-								</view>
-								<view class="time">
-									<text>{{ item.add_time }}</text>
-								</view>
-							</view>
-							<view class="money">
-								<view>{{ (item.pm == 0 ? '-' : '+') + item.number }}</view>
-								<view v-if="item.status == 0" class="status">待发放</view>
-							</view>
-						</view>
-					</view>
-					<uni-load-more :status="tabItem.loadingType" v-if="!(tabItem.orderList.length == 0 && tabItem.loaded)"></uni-load-more>
-				</scroll-view>
-			</swiper-item>
-		</swiper>
-	</view>
-</template>
-
-<script>
-import { spreadCommission, userBalance } from '@/api/wallet.js';
-import { getMoneyStyle } from '@/utils/rocessor.js';
-import { mapState, mapMutations } from 'vuex';
-import uniLoadMore from '@/uview-ui/components/u-loadmore/u-loadmore.vue';
-import empty from '@/uview-ui/components/u-empty/u-empty.vue';
-export default {
-	filters: {
-		getMoneyStyle
-	},
-	computed: {
-		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
-	},
-	components: {
-		empty,
-		uniLoadMore
-	},
-	onReady(res) {
-		var _this = this;
-		uni.getSystemInfo({
-			success: resu => {
-				const query = uni.createSelectorQuery();
-				query.select('.swiper-box').boundingClientRect();
-				query.exec(function(res) {
-					_this.maxheight = resu.windowHeight - res[0].top + 'px';
-					console.log('打印页面的剩余高度', _this.height);
-				});
-			},
-			fail: res => {}
-		});
-	},
-	data() {
-		return {
-			// 头部图高度
-			maxheight: '',
-			tabCurrentIndex: 0,
-			orderStatusSum: 0,
-			recharge: 0,
-			navList: [
-				{
-					state: 0,
-					text: '收入',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10, //每次信息条数
-					loaded: false
-				},
-				{
-					state: 1,
-					text: '支出',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10, //每次信息条数
-					loaded: false
-				}
-			],
-			money: ''
-		};
-	},
-	onShow() {
-		this.loadData();
-	},
-	methods: {
-		// 页面跳转
-		navto(e) {
-			uni.navigateTo({
-				url: e
-			});
-		},
-		//获取收入支出信息
-		async loadData(source) {
-			let obj = this;
-			//这里是将订单挂载到tab列表下
-			let index = this.tabCurrentIndex;
-			let navItem = this.navList[index];
-			let state = navItem.state + 3;
-			if (source === 'tabChange' && navItem.loaded === true) {
-				//tab切换只有第一次需要加载数据
-				return;
-			}
-			if (navItem.loadingType === 'loading') {
-				//防止重复加载
-				return;
-			}
-			// 修改当前对象状态为加载中
-			navItem.loadingType = 'loading';
-			console.log(state,"123456");
-			spreadCommission(
-				{
-					page: navItem.page,
-					limit: navItem.limit
-				},
-				state
-			)
-				.then(({ data }) => {
-					console.log(data, '2211111');
-					obj.recharge = data.income;
-					obj.orderStatusSum = data.expend;
-					if (data.list.length > 0) {
-						data.list[0].list.forEach(e => {
-							console.log(e, '123456');
-							if (e.title == '市场分红') {
-								e.title = '市场分红补贴';
-							}
-							if (e.title == '礼包推荐奖') {
-								e.title = '礼包推荐补贴';
-							}
-						});
-						navItem.orderList = navItem.orderList.concat(data.list[0].list);
-						console.log(navItem.orderList);
-						navItem.page++;
-					} else {
-						navItem.loadingType = 'noMore';
-					}
-					if (navItem.limit == data.length) {
-						//判断是否还有数据, 有改为 more, 没有改为noMore
-						navItem.loadingType = 'more';
-						return;
-					} else {
-						//判断是否还有数据, 有改为 more, 没有改为noMore
-						navItem.loadingType = 'noMore';
-					}
-					uni.hideLoading();
-					this.$set(navItem, 'loaded', true);
-				})
-				.catch(e => {
-					console.log(e);
-				});
-		},
-		// 点击返回 我的页面
-		toBack() {
-			uni.navigateBack({});
-		},
-		//swiper 切换
-		changeTab(e) {
-			this.tabCurrentIndex = e.target.current;
-			this.loadData('tabChange');
-		},
-		//顶部tab点击
-		tabClick(index) {
-			this.tabCurrentIndex = index;
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page {
-	background: #f1f1f1;
-	height: 100%;
-}
-
-.status_bar {
-	height: var(--status-bar-height);
-	width: 100%;
-}
-
-.content-money {
-	position: relative;
-	height: 480rpx;
-
-	.content-bg {
-		position: absolute;
-		top: 0;
-		left: 0;
-		right: 0;
-		width: 750rpx;
-		height: 480rpx;
-
-		image {
-			width: 100%;
-			height: 100%;
-		}
-	}
-
-	.body-title {
-		height: 80rpx;
-		text-align: center;
-		font-size: 35rpx;
-		position: relative;
-
-		.header {
-			position: absolute;
-			left: 0;
-			top: 0;
-			width: 100%;
-			font-size: 36rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #fffeff;
-			height: 80rpx;
-			font-size: 36rpx;
-			font-weight: 700;
-			z-index: 9;
-			display: flex;
-			justify-content: center;
-			align-items: center;
-		}
-
-		.goback-box {
-			position: absolute;
-			left: 18rpx;
-			top: 0;
-			height: 80rpx;
-			display: flex;
-			align-items: center;
-		}
-
-		.goback {
-			z-index: 100;
-			width: 34rpx;
-			height: 34rpx;
-		}
-	}
-}
-
-.info-box {
-	width: 670rpx;
-	height: 186rpx;
-	background: #ffffff;
-	box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
-	border-radius: 20rpx;
-	margin: -100rpx auto 0;
-	position: relative;
-	z-index: 2;
-
-	.info-item {
-		width: 50%;
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		line-height: 1;
-
-		.info-font {
-			font-size: 30rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #999999;
-		}
-
-		.info-num {
-			margin-top: 30rpx;
-			font-size: 30rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #181818;
-		}
-	}
-
-	.shu {
-		width: 2rpx;
-		height: 74rpx;
-		background: #dcdfe6;
-	}
-}
-
-.money-box {
-	position: relative;
-	z-index: 2;
-	padding-top: 90rpx;
-	color: #ffffff;
-	text-align: center;
-
-	.money {
-		font-size: 72rpx;
-		font-family: PingFang SC;
-		font-weight: bold;
-		color: #ffffff;
-	}
-
-	.text {
-		font-size: 30rpx;
-	}
-}
-
-.money-btn {
-	position: relative;
-	z-index: 2;
-	color: #ffffff;
-	padding-right: 50rpx;
-	text-align: right;
-	font-size: 30rpx;
-	font-family: PingFang SC;
-	font-weight: bold;
-	color: #ffffff;
-
-	text {
-		display: inline-block;
-		padding-left: 10rpx;
-	}
-}
-
-.navbar {
-	margin-top: 20rpx;
-	display: flex;
-	height: 88rpx;
-	padding: 0 5px;
-	background: #fff;
-	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
-	position: relative;
-	z-index: 10;
-
-	.nav-item {
-		flex: 1;
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		height: 100%;
-		font-size: 15px;
-		color: #999999;
-		position: relative;
-
-		&.current {
-			color: #000;
-
-			&:after {
-				content: '';
-				position: absolute;
-				left: 50%;
-				bottom: 0;
-				transform: translateX(-50%);
-				width: 44px;
-				height: 0;
-				border-bottom: 2px solid #fe5b38;
-			}
-		}
-	}
-}
-
-//列表
-.swiper-box {
-	.order-item:last-child {
-		margin-bottom: 60rpx;
-	}
-
-	.order-item {
-		padding: 20rpx 30rpx;
-		line-height: 1.5;
-
-		.title-box {
-			.title {
-				font-size: $font-lg;
-				color: $font-color-base;
-			}
-
-			.time {
-				font-size: $font-base;
-				color: $font-color-light;
-			}
-		}
-
-		.money {
-			color: #fd5b23;
-			font-size: $font-lg;
-			text-align: right;
-
-			.status {
-				color: $font-color-light;
-			}
-		}
-	}
-}
-
-.list-scroll-content {
-	background: #ffffff;
-	height: 100%;
-}
-
-.content {
-	height: 100%;
-
-	.empty-content {
-		background-color: #ffffff;
-	}
-}
-
-.btn-box {
-	width: 674rpx;
-	height: 88rpx;
-	background: linear-gradient(0deg, #2e58ff, #32c6ff);
-	border-radius: 44rpx;
-	font-size: 36rpx;
-	font-family: PingFang SC;
-	font-weight: 500;
-	color: #ffffff;
-	text-align: center;
-	line-height: 88rpx;
-	position: fixed;
-	bottom: 48rpx;
-	left: 0;
-	right: 0;
-	margin: 0 auto;
-}
+<template>
+	<view class="content">
+		<view class="content-money">
+			<view class="status_bar">
+				<!-- 这里是状态栏 -->
+			</view>
+			<view class="body-title">
+				<view class="goback-box" @click="toBack">
+					<image class="goback" src="../../static/icon/fanhui.png" mode=""></image>
+				</view>
+				<view class="header">我的佣金</view>
+			</view>
+			<view class="content-bg">
+				<image src="../../static/img/my-bg.png" mode=""></image>
+			</view>
+			<view class="money-box">
+				<view class="money">{{ userInfo.brokerage_price }}</view>
+				<view>余额</view>
+			</view>
+			<view class="money-btn" @click="navto('/pages/money/withdrawal')">
+				佣金提现
+				<text>></text>
+			</view>
+		</view>
+		<view class="info-box flex">
+			<view class="info-item">
+				<view class="info-font">累计收入</view>
+				<view class="info-num">{{ recharge || 0 }}</view>
+			</view>
+			<view class="shu"></view>
+			<view class="info-item">
+				<view class="info-font">累计支出</view>
+				<view class="info-num">{{ orderStatusSum || 0}}</view>
+			</view>
+		</view>
+		<view class="navbar">
+			<view v-for="(item, index) in navList" :key="index" class="nav-item"
+				:class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.text }}</view>
+		</view>
+		<swiper :current="tabCurrentIndex" :style="{ height: maxheight }" class="swiper-box" duration="300"
+			@change="changeTab">
+			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
+				<scroll-view scroll-y="true" class="list-scroll-content" @scrolltolower="loadData">
+					<!-- 空白页 -->
+					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
+					<!-- 订单列表 -->
+					<view>
+						<view class="order-item flex" v-for="(item, index) in tabItem.orderList" :key="index">
+							<view class="title-box">
+								<view class="title">
+									<text>{{ item.title }}</text>
+								</view>
+								<view class="time">
+									<text>{{ item.add_time }}</text>
+								</view>
+							</view>
+							<view class="money">
+								<view>{{ (item.pm == 0 ? '-' : '+') + item.number }}</view>
+								<view v-if="item.status == 0" class="status">待发放</view>
+							</view>
+						</view>
+					</view>
+					<uni-load-more :status="tabItem.loadingType"
+						v-if="!(tabItem.orderList.length == 0 && tabItem.loaded)"></uni-load-more>
+				</scroll-view>
+			</swiper-item>
+		</swiper>
+	</view>
+</template>
+
+<script>
+	import {
+		spreadCommission,
+		userBalance
+	} from '@/api/wallet.js';
+	import {
+		getMoneyStyle
+	} from '@/utils/rocessor.js';
+	import {
+		mapState,
+		mapMutations
+	} from 'vuex';
+	import uniLoadMore from '@/uview-ui/components/u-loadmore/u-loadmore.vue';
+	import empty from '@/uview-ui/components/u-empty/u-empty.vue';
+	export default {
+		filters: {
+			getMoneyStyle
+		},
+		computed: {
+			...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
+		},
+		components: {
+			empty,
+			uniLoadMore
+		},
+		onReady(res) {
+			var _this = this;
+			uni.getSystemInfo({
+				success: resu => {
+					const query = uni.createSelectorQuery();
+					query.select('.swiper-box').boundingClientRect();
+					query.exec(function(res) {
+						_this.maxheight = resu.windowHeight - res[0].top + 'px';
+						console.log('打印页面的剩余高度', _this.height);
+					});
+				},
+				fail: res => {}
+			});
+		},
+		data() {
+			return {
+				// 头部图高度
+				maxheight: '',
+				tabCurrentIndex: 0,
+				orderStatusSum: 0,
+				recharge: 0,
+				navList: [{
+						state: 0,
+						text: '收入',
+						loadingType: 'more',
+						orderList: [],
+						page: 1, //当前页数
+						limit: 10, //每次信息条数
+						loaded: false
+					},
+					{
+						state: 1,
+						text: '支出',
+						loadingType: 'more',
+						orderList: [],
+						page: 1, //当前页数
+						limit: 10, //每次信息条数
+						loaded: false
+					}
+				],
+				money: ''
+			};
+		},
+		onShow() {
+			this.loadData();
+		},
+		methods: {
+			// 页面跳转
+			navto(e) {
+				uni.navigateTo({
+					url: e
+				});
+			},
+			//获取收入支出信息
+			async loadData(source) {
+				let obj = this;
+				//这里是将订单挂载到tab列表下
+				let index = this.tabCurrentIndex;
+				let navItem = this.navList[index];
+				let state = navItem.state + 3;
+				if (source === 'tabChange' && navItem.loaded === true) {
+					//tab切换只有第一次需要加载数据
+					return;
+				}
+				if (navItem.loadingType === 'loading') {
+					//防止重复加载
+					return;
+				}
+				// 修改当前对象状态为加载中
+				navItem.loadingType = 'loading';
+				console.log(state, '123456');
+				spreadCommission({
+							page: navItem.page,
+							limit: navItem.limit
+						},
+						state
+					)
+					.then(({
+						data
+					}) => {
+						console.log(data, '2211111');
+						obj.recharge = data.sr;
+						obj.orderStatusSum = data.zc;
+						this.$set(navItem, 'loaded', true);
+						if (data.data.length != 0) {
+							if (data.data[0].list.length > 0) {
+								navItem.orderList = navItem.orderList.concat(data.data[0].list);
+								console.log(navItem.orderList);
+								navItem.page++;
+							} else {
+								navItem.loadingType = 'noMore';
+							}
+							if (navItem.limit == data.data[0].list.length) {
+								//判断是否还有数据, 有改为 more, 没有改为noMore
+								navItem.loadingType = 'more';
+								return;
+							} else {
+								//判断是否还有数据, 有改为 more, 没有改为noMore
+								navItem.loadingType = 'noMore';
+							}
+						} else {
+							console.log('ddddddddddddddddddddddd')
+							navItem.loadingType = 'noMore';
+						}
+
+						// uni.hideLoading();
+						// this.$set(navItem, 'loaded', true);
+					})
+					.catch(e => {
+						console.log(e);
+					});
+			},
+			// 点击返回 我的页面
+			toBack() {
+				uni.navigateBack({});
+			},
+			//swiper 切换
+			changeTab(e) {
+				this.tabCurrentIndex = e.target.current;
+				this.loadData('tabChange');
+			},
+			//顶部tab点击
+			tabClick(index) {
+				this.tabCurrentIndex = index;
+			}
+		}
+	};
+</script>
+
+<style lang="scss">
+	page {
+		background: #f1f1f1;
+		height: 100%;
+	}
+
+	.status_bar {
+		height: var(--status-bar-height);
+		width: 100%;
+	}
+
+	.content-money {
+		position: relative;
+		height: 480rpx;
+
+		.content-bg {
+			position: absolute;
+			top: 0;
+			left: 0;
+			right: 0;
+			width: 750rpx;
+			height: 480rpx;
+
+			image {
+				width: 100%;
+				height: 100%;
+			}
+		}
+
+		.body-title {
+			height: 80rpx;
+			text-align: center;
+			font-size: 35rpx;
+			position: relative;
+
+			.header {
+				position: absolute;
+				left: 0;
+				top: 0;
+				width: 100%;
+				font-size: 36rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #fffeff;
+				height: 80rpx;
+				font-size: 36rpx;
+				font-weight: 700;
+				z-index: 9;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+			}
+
+			.goback-box {
+				position: absolute;
+				left: 18rpx;
+				top: 0;
+				height: 80rpx;
+				display: flex;
+				align-items: center;
+			}
+
+			.goback {
+				z-index: 100;
+				width: 34rpx;
+				height: 34rpx;
+			}
+		}
+	}
+
+	.info-box {
+		width: 670rpx;
+		height: 186rpx;
+		background: #ffffff;
+		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+		border-radius: 20rpx;
+		margin: -100rpx auto 0;
+		position: relative;
+		z-index: 2;
+
+		.info-item {
+			width: 50%;
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			line-height: 1;
+
+			.info-font {
+				font-size: 30rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #999999;
+			}
+
+			.info-num {
+				margin-top: 30rpx;
+				font-size: 30rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #181818;
+			}
+		}
+
+		.shu {
+			width: 2rpx;
+			height: 74rpx;
+			background: #dcdfe6;
+		}
+	}
+
+	.money-box {
+		position: relative;
+		z-index: 2;
+		padding-top: 90rpx;
+		color: #ffffff;
+		text-align: center;
+
+		.money {
+			font-size: 72rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #ffffff;
+		}
+
+		.text {
+			font-size: 30rpx;
+		}
+	}
+
+	.money-btn {
+		position: relative;
+		z-index: 2;
+		color: #ffffff;
+		padding-right: 50rpx;
+		text-align: right;
+		font-size: 30rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #ffffff;
+
+		text {
+			display: inline-block;
+			padding-left: 10rpx;
+		}
+	}
+
+	.navbar {
+		margin-top: 20rpx;
+		display: flex;
+		height: 88rpx;
+		padding: 0 5px;
+		background: #fff;
+		box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
+		position: relative;
+		z-index: 10;
+
+		.nav-item {
+			flex: 1;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			height: 100%;
+			font-size: 15px;
+			color: #999999;
+			position: relative;
+
+			&.current {
+				color: #000;
+
+				&:after {
+					content: '';
+					position: absolute;
+					left: 50%;
+					bottom: 0;
+					transform: translateX(-50%);
+					width: 44px;
+					height: 0;
+					border-bottom: 2px solid #fe5b38;
+				}
+			}
+		}
+	}
+
+	//列表
+	.swiper-box {
+		.order-item:last-child {
+			margin-bottom: 60rpx;
+		}
+
+		.order-item {
+			padding: 20rpx 30rpx;
+			line-height: 1.5;
+
+			.title-box {
+				.title {
+					font-size: $font-lg;
+					color: $font-color-base;
+				}
+
+				.time {
+					font-size: $font-base;
+					color: $font-color-light;
+				}
+			}
+
+			.money {
+				color: #fd5b23;
+				font-size: $font-lg;
+				text-align: right;
+
+				.status {
+					color: $font-color-light;
+				}
+			}
+		}
+	}
+
+	.list-scroll-content {
+		background: #ffffff;
+		height: 100%;
+	}
+
+	.content {
+		height: 100%;
+
+		.empty-content {
+			background-color: #ffffff;
+		}
+	}
+
+	.btn-box {
+		width: 674rpx;
+		height: 88rpx;
+		background: linear-gradient(0deg, #2e58ff, #32c6ff);
+		border-radius: 44rpx;
+		font-size: 36rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #ffffff;
+		text-align: center;
+		line-height: 88rpx;
+		position: fixed;
+		bottom: 48rpx;
+		left: 0;
+		right: 0;
+		margin: 0 auto;
+	}
 </style>

+ 119 - 0
pages/user/hxjl.vue

@@ -0,0 +1,119 @@
+<template>
+	<view class="content">
+		<view class="" style="height: 20rpx;"></view>
+		<empty v-if="list.length === 0"></empty>
+		<view class="hx-wrap" v-for="item in list">
+			<view class="hx-tit flex">
+				<view class="hx-time">
+					核销时间:2022-06-09 13:00:00
+				</view>
+				<view class="hx-status">
+					已核销
+				</view>
+			</view>
+			<view class="hx-info flex">
+				<view class="user-logo">
+					<image src="../../static/error/missing-face.png" mode=""></image>
+				</view>
+				<view class="user-info">
+					<view class="info-name clamp">
+						叶落思晨叶落思晨叶落思晨叶落思晨叶落思晨叶落思晨叶落思晨
+					</view>
+					<view class="info-phone">
+						137****5213
+					</view>
+					<view class="info-info">
+						实付:¥80 数量:1
+					</view>
+				</view>
+			</view>
+		</view>
+		<uni-load-more :status="loadingType"></uni-load-more>
+		<view class="" style="height: 3rpx;"></view>
+	</view>
+</template>
+
+<script>
+	import empty from '@/components/empty';
+	export default {
+		components: {
+			empty
+		},
+		data() {
+			return {
+				loadingType: 'more',
+				list: [],
+			}
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+			this.getList()
+		},
+		methods: {
+			getList() {
+				let obj = this
+				if (obj.loadingType == 'loading' || obj.loadingType == 'noMore') {
+					return
+				}
+				obj.loadingType = 'loading'
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.hx-wrap {
+		width: 702rpx;
+		height: 194rpx;
+		background: #FFFFFF;
+		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+		border-radius: 10rpx;
+		margin: 0 auto 17rpx;
+		padding: 30rpx 30rpx 0;
+
+		.hx-tit {
+			font-size: 26rpx;
+			font-weight: 500;
+			color: #999999;
+		}
+
+		.hx-info {
+			justify-content: flex-start;
+			padding-top: 20rpx;
+
+			.user-logo {
+				flex-shrink: 0;
+
+				image {
+					width: 64rpx;
+					height: 64rpx;
+				}
+			}
+
+			.user-info {
+				padding-left: 26rpx;
+				max-width: 500rpx;
+
+				.info-name {
+					font-size: 30rpx;
+					font-weight: bold;
+					color: #333333;
+				}
+
+				.info-phone {
+					font-size: 30rpx;
+					font-weight: 500;
+					color: #666666;
+				}
+
+				.info-info {
+					font-size: 22rpx;
+					font-weight: 400;
+					color: #999999;
+				}
+			}
+		}
+	}
+</style>

+ 390 - 358
pages/user/team.vue

@@ -1,359 +1,391 @@
-<template>
-	<view class="content">
-		<view class="content-money">
-			<view class="status_bar"><!-- 这里是状态栏 --></view>
-			<view class="body-title">
-				<view class="goback-box" @click="toBack"><image class="goback" src="../../static/icon/fanhui.png" mode=""></image></view>
-				<view class="header">我的推广</view>
-			</view>
-			<view class="content-bg"></view>
-			<view class="money-box">
-				<view class="money">{{ all }}</view>
-				<view>我的推广人数</view>
-			</view>
-		</view>
-		<swiper :current="tabCurrentIndex" :style="{ height: maxheight }" class="swiper-box" duration="300" @change="changeTab">
-			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
-				<scroll-view class="list-scroll-content" :style="{ height: maxheight }" scroll-y @scrolltolower="loadData">
-					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
-
-					<view v-for="(item, index) in tabItem.orderList" :key="index" class="order-item flex">
-						<view class="title-box flex_item">
-							<view class="title-avatar"><image :src="item.avatar"></image></view>
-							<view class="list_tpl">
-								<view class="title">
-									<view class="title-name clamp">{{ item.nickname }}</view>
-								</view>
-								<view class="time">
-									<text>{{ item.time }}</text>
-								</view>
-							</view>
-							<view class="money">
-								<text>{{ item.self_achievement == null ? '未购买' : item.self_achievement + '元' }}</text>
-							</view>
-						</view>
-					</view>
-					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
-				</scroll-view>
-			</swiper-item>
-		</swiper>
-	</view>
-</template>
-<script>
-import { myspread } from '@/api/user.js';
-import { mapState, mapMutations } from 'vuex';
-export default {
-	onReady(res) {
-		var _this = this;
-		uni.getSystemInfo({
-			success: resu => {
-				const query = uni.createSelectorQuery();
-				query.select('.swiper-box').boundingClientRect();
-				query.exec(function(res) {
-					_this.maxheight = resu.windowHeight - res[0].top + 'px';
-					console.log('打印页面的剩余高度', _this.height);
-				});
-			},
-			fail: res => {}
-		});
-	},
-	data() {
-		return {
-			// 头部图高度
-			maxheight: '',
-			tabCurrentIndex: 0,
-			navList: [
-				{
-					state: 0,
-					text: '直接推荐',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10 //每次信息条数
-				}
-			],
-			all: '',
-			list: '',
-		};
-	},
-	computed: {
-		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
-	},
-	onLoad(options) {},
-	onShow() {
-		this.loadData();
-	},
-	methods: {
-		// 页面跳转
-		navto(e) {
-			uni.navigateTo({
-				url: e
-			});
-		},
-		//获取收入支出信息
-		async loadData(source) {
-			//这里是将订单挂载到tab列表下
-			let index = this.tabCurrentIndex;
-			let navItem = this.navList[index];
-			let state = navItem.state;
-			if (source === 'tabChange' && navItem.loaded === true) {
-				//tab切换只有第一次需要加载数据
-				return;
-			}
-			if (navItem.loadingType === 'loading') {
-				//防止重复加载
-				return;
-			}
-			if (navItem.loadingType === 'noMore') {
-				//防止重复加载
-				return;
-			}
-			// 修改当前对象状态为加载中
-			navItem.loadingType = 'loading';
-			myspread({
-				page: navItem.page,
-				limit: navItem.limit
-			})
-				.then(({ data }) => {
-					console.log(data);
-					this.all = data.total;
-					if (data.list.length > 0) {
-						this.list = data.list;
-						navItem.orderList = navItem.orderList.concat(data.list);
-						navItem.page++;
-					}
-					this.$nextTick(function() {
-						if (navItem.limit == data.list.length) {
-							//判断是否还有数据, 有改为 more, 没有改为noMore
-							navItem.loadingType = 'more';
-							return;
-						} else {
-							//判断是否还有数据, 有改为 more, 没有改为noMore
-							navItem.loadingType = 'noMore';
-						}
-					});
-					this.$set(navItem, 'loaded', true);
-				})
-				.catch(e => {
-					console.log(e);
-				});
-		},
-		//swiper 切换
-		changeTab(e) {
-			this.tabCurrentIndex = e.target.current;
-			this.loadData('tabChange');
-		},
-		//顶部tab点击
-		tabClick(index) {
-			this.tabCurrentIndex = index;
-		},
-		// 点击返回 我的页面
-		toBack() {
-			uni.switchTab({
-				url: '/pages/user/user'
-			});
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page {
-	background: #f8f8f8;
-	height: 100%;
-}
-.status_bar {
-	height: var(--status-bar-height);
-	width: 100%;
-	background: #5dbc7c;
-}
-.content-money {
-	position: relative;
-	height: 480rpx;
-	.content-bg {
-		position: absolute;
-		top: 0;
-		left: 0;
-		right: 0;
-		width: 750rpx;
-		margin: 0 auto;
-		height: 480rpx;
-		// border-bottom-left-radius: 10%;
-		// border-bottom-right-radius: 10%;
-		background: #303030;
-		// image {
-		// 	width: 100%;
-		// 	height: 100%;
-		// }
-	}
-	.body-title {
-		height: 80rpx;
-		text-align: center;
-		font-size: 35rpx;
-		position: relative;
-		.header {
-			position: absolute;
-			left: 0;
-			top: 0;
-			width: 100%;
-			font-size: 36rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #fffeff;
-			height: 80rpx;
-			font-size: 36rpx;
-			font-weight: 700;
-			z-index: 9;
-			display: flex;
-			justify-content: center;
-			align-items: center;
-		}
-		.goback-box {
-			position: absolute;
-			left: 18rpx;
-			top: 0;
-			height: 80rpx;
-			display: flex;
-			align-items: center;
-		}
-
-		.goback {
-			z-index: 100;
-			width: 34rpx;
-			height: 34rpx;
-		}
-	}
-}
-
-.money-box {
-	position: relative;
-	z-index: 2;
-	padding-top: 90rpx;
-	color: #ffffff;
-	text-align: center;
-	.money {
-		font-size: 72rpx;
-		font-family: PingFang SC;
-		font-weight: bold;
-		color: #ffffff;
-	}
-	.text {
-		font-size: 30rpx;
-	}
-}
-
-.order-item {
-	padding: 20rpx 30rpx;
-	line-height: 1.5;
-
-	.title-box {
-		width: 100%;
-
-		.title-avatar {
-			flex-shrink: 0;
-			width: 100rpx;
-			height: 100rpx;
-			margin-right: 25rpx;
-			border-radius: 100%;
-			image {
-				width: 100%;
-				height: 100%;
-				border-radius: 100%;
-			}
-		}
-
-		.list_tpl {
-			width: 85%;
-
-			.title {
-				display: flex;
-				justify-content: flex-start;
-				font-size: $font-lg;
-				color: $font-color-base;
-				overflow: hidden; //超出的文本隐藏
-				text-overflow: ellipsis; //溢出用省略号显示
-				white-space: nowrap;
-				line-height: 1;
-				text-align: center;
-				.title-name {
-					max-width: 40%;
-				}
-				.dl {
-					margin-left: 10rpx;
-					width: 93rpx;
-					height: 32rpx;
-					border-radius: 16rpx;
-					image {
-						width: 93rpx;
-						height: 32rpx;
-						border-radius: 16rpx;
-					}
-				}
-				.class {
-					display: inline-block;
-					margin-left: 10rpx;
-					padding: 6rpx;
-					text-align: center;
-					border: 1px solid #2e58ff;
-					border-radius: 16rpx;
-					font-size: 20rpx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #2e58ff;
-				}
-			}
-
-			.time {
-				font-size: $font-base;
-				color: $font-color-light;
-			}
-		}
-	}
-
-	.money {
-		width: 50%;
-		text-align: right;
-		color: #db1935;
-		font-size: $font-lg;
-	}
-}
-.yeji {
-	position: relative;
-	margin: -72rpx auto 0;
-	width: 690rpx;
-	height: 143rpx;
-	background: #ffffff;
-	box-shadow: 0rpx 0rpx 20rpx 0rpx rgba(50, 50, 52, 0.06);
-	border-radius: 10rpx;
-	display: flex;
-	align-items: center;
-
-	.yeji-a {
-		width: 50%;
-		display: flex;
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
-
-		.yeji-top {
-			font-size: 28rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #333333;
-		}
-
-		.yeji-buttom {
-			font-size: 42rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #333333;
-		}
-	}
-
-	.border {
-		width: 1rpx;
-		height: 51rpx;
-		background: #dddddd;
-	}
-}
+<template>
+	<view class="content">
+		<view class="content-money">
+			<view class="status_bar">
+				<!-- 这里是状态栏 -->
+			</view>
+			<view class="body-title">
+				<view class="goback-box" @click="toBack">
+					<image class="goback" src="../../static/icon/fanhui.png" mode=""></image>
+				</view>
+				<view class="header">我的推广</view>
+			</view>
+			<view class="content-bg">
+				<image src="../../static/img/my-bg.png" mode=""></image>
+			</view>
+			<view class="money-box">
+				<view class="money">{{ all|| '0' }}</view>
+				<view>我的推广人数</view>
+			</view>
+		</view>
+		<swiper :current="tabCurrentIndex" :style="{ height: maxheight }" class="swiper-box" duration="300"
+			@change="changeTab">
+			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
+				<scroll-view class="list-scroll-content" :style="{ height: maxheight }" scroll-y
+					@scrolltolower="loadData">
+					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
+
+					<view v-for="(item, index) in tabItem.orderList" :key="index" class="order-item flex">
+						<view class="title-box flex_item">
+							<view class="title-avatar">
+								<image :src="item.avatar"></image>
+							</view>
+							<view class="list_tpl">
+								<view class="title">
+									<view class="title-name clamp">{{ item.nickname }}</view>
+								</view>
+								<view class="time">
+									<text>{{ item.time }}</text>
+								</view>
+							</view>
+							<!-- <view class="money">
+								<text>{{ item.self_achievement == null ? '未购买' : item.self_achievement + '元' }}</text>
+							</view> -->
+						</view>
+					</view>
+					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
+				</scroll-view>
+			</swiper-item>
+		</swiper>
+	</view>
+</template>
+<script>
+	import {
+		myspread
+	} from '@/api/user.js';
+	import empty from '@/components/empty';
+	import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
+	import {
+		mapState,
+		mapMutations
+	} from 'vuex';
+	export default {
+		components: {
+			empty,
+			uniLoadMore
+		},
+		onReady(res) {
+			var _this = this;
+			uni.getSystemInfo({
+				success: resu => {
+					const query = uni.createSelectorQuery();
+					query.select('.swiper-box').boundingClientRect();
+					query.exec(function(res) {
+						_this.maxheight = resu.windowHeight - res[0].top + 'px';
+						console.log('打印页面的剩余高度', _this.height);
+					});
+				},
+				fail: res => {}
+			});
+		},
+		data() {
+			return {
+				// 头部图高度
+				maxheight: '',
+				tabCurrentIndex: 0,
+				navList: [{
+					state: 0,
+					text: '直接推荐',
+					loadingType: 'more',
+					orderList: [],
+					page: 1, //当前页数
+					limit: 10 //每次信息条数
+				}],
+				all: '',
+				list: ''
+			};
+		},
+		computed: {
+			...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
+		},
+		onLoad(options) {},
+		onShow() {
+			this.loadData();
+		},
+		methods: {
+			// 页面跳转
+			navto(e) {
+				uni.navigateTo({
+					url: e
+				});
+			},
+			//获取收入支出信息
+			async loadData(source) {
+				//这里是将订单挂载到tab列表下
+				let index = this.tabCurrentIndex;
+				let navItem = this.navList[index];
+				let state = navItem.state;
+				if (source === 'tabChange' && navItem.loaded === true) {
+					//tab切换只有第一次需要加载数据
+					return;
+				}
+				if (navItem.loadingType === 'loading') {
+					//防止重复加载
+					return;
+				}
+				if (navItem.loadingType === 'noMore') {
+					//防止重复加载
+					return;
+				}
+				// 修改当前对象状态为加载中
+				navItem.loadingType = 'loading';
+				myspread({
+						page: navItem.page,
+						limit: navItem.limit
+					})
+					.then(({
+						data
+					}) => {
+						console.log(data);
+						this.all = data.total;
+						if (data.list.length > 0) {
+							this.list = data.list;
+							navItem.orderList = navItem.orderList.concat(data.list);
+							navItem.page++;
+						}
+						this.$nextTick(function() {
+							if (navItem.limit == data.list.length) {
+								//判断是否还有数据, 有改为 more, 没有改为noMore
+								navItem.loadingType = 'more';
+								return;
+							} else {
+								//判断是否还有数据, 有改为 more, 没有改为noMore
+								navItem.loadingType = 'noMore';
+							}
+						});
+						this.$set(navItem, 'loaded', true);
+					})
+					.catch(e => {
+						console.log(e);
+					});
+			},
+			//swiper 切换
+			changeTab(e) {
+				this.tabCurrentIndex = e.target.current;
+				this.loadData('tabChange');
+			},
+			//顶部tab点击
+			tabClick(index) {
+				this.tabCurrentIndex = index;
+			},
+			// 点击返回 我的页面
+			toBack() {
+				uni.switchTab({
+					url: '/pages/user/user'
+				});
+			}
+		}
+	};
+</script>
+
+<style lang="scss">
+	page {
+		background: #f8f8f8;
+		height: 100%;
+	}
+
+	.status_bar {
+		height: var(--status-bar-height);
+		width: 100%;
+		background: #5dbc7c;
+	}
+
+	.content-money {
+		position: relative;
+		height: 480rpx;
+
+		.content-bg {
+			position: absolute;
+			top: 0;
+			left: 0;
+			right: 0;
+			width: 750rpx;
+			height: 480rpx;
+
+			image {
+				width: 100%;
+				height: 100%;
+			}
+		}
+
+		.body-title {
+			height: 80rpx;
+			text-align: center;
+			font-size: 35rpx;
+			position: relative;
+
+			.header {
+				position: absolute;
+				left: 0;
+				top: 0;
+				width: 100%;
+				font-size: 36rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #fffeff;
+				height: 80rpx;
+				font-size: 36rpx;
+				font-weight: 700;
+				z-index: 9;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+			}
+
+			.goback-box {
+				position: absolute;
+				left: 18rpx;
+				top: 0;
+				height: 80rpx;
+				display: flex;
+				align-items: center;
+			}
+
+			.goback {
+				z-index: 100;
+				width: 34rpx;
+				height: 34rpx;
+			}
+		}
+	}
+
+	.money-box {
+		position: relative;
+		z-index: 2;
+		padding-top: 90rpx;
+		color: #ffffff;
+		text-align: center;
+
+		.money {
+			font-size: 72rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #ffffff;
+		}
+
+		.text {
+			font-size: 30rpx;
+		}
+	}
+
+	.order-item {
+		padding: 20rpx 30rpx;
+		line-height: 1.5;
+
+		.title-box {
+			width: 100%;
+
+			.title-avatar {
+				flex-shrink: 0;
+				width: 100rpx;
+				height: 100rpx;
+				margin-right: 25rpx;
+				border-radius: 100%;
+
+				image {
+					width: 100%;
+					height: 100%;
+					border-radius: 100%;
+				}
+			}
+
+			.list_tpl {
+				width: 85%;
+
+				.title {
+					display: flex;
+					justify-content: flex-start;
+					font-size: $font-lg;
+					color: $font-color-base;
+					overflow: hidden; //超出的文本隐藏
+					text-overflow: ellipsis; //溢出用省略号显示
+					white-space: nowrap;
+					line-height: 1;
+					text-align: center;
+
+					.title-name {
+						max-width: 40%;
+					}
+
+					.dl {
+						margin-left: 10rpx;
+						width: 93rpx;
+						height: 32rpx;
+						border-radius: 16rpx;
+
+						image {
+							width: 93rpx;
+							height: 32rpx;
+							border-radius: 16rpx;
+						}
+					}
+
+					.class {
+						display: inline-block;
+						margin-left: 10rpx;
+						padding: 6rpx;
+						text-align: center;
+						border: 1px solid #2e58ff;
+						border-radius: 16rpx;
+						font-size: 20rpx;
+						font-family: PingFang SC;
+						font-weight: 500;
+						color: #2e58ff;
+					}
+				}
+
+				.time {
+					font-size: $font-base;
+					color: $font-color-light;
+				}
+			}
+		}
+
+		.money {
+			width: 50%;
+			text-align: right;
+			color: #db1935;
+			font-size: $font-lg;
+		}
+	}
+
+	.yeji {
+		position: relative;
+		margin: -72rpx auto 0;
+		width: 690rpx;
+		height: 143rpx;
+		background: #ffffff;
+		box-shadow: 0rpx 0rpx 20rpx 0rpx rgba(50, 50, 52, 0.06);
+		border-radius: 10rpx;
+		display: flex;
+		align-items: center;
+
+		.yeji-a {
+			width: 50%;
+			display: flex;
+			flex-direction: column;
+			justify-content: center;
+			align-items: center;
+
+			.yeji-top {
+				font-size: 28rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #333333;
+			}
+
+			.yeji-buttom {
+				font-size: 42rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #333333;
+			}
+		}
+
+		.border {
+			width: 1rpx;
+			height: 51rpx;
+			background: #dddddd;
+		}
+	}
 </style>

+ 754 - 729
pages/user/user.vue

@@ -1,730 +1,755 @@
-<template>
-	<view class="container">
-		<view class="vheigh"></view>
-		<view class="top-image">
-			<image src="../../static/user/user-top.png" mode=""></image>
-		</view>
-		<view class="user-set flex">
-			<!-- <view class="set-logo" @click="navTo('/pages/set/userinfo')"><image src="../../static/user/user08.png" mode=""></image></view> -->
-			<!-- <view class="xx-logo"><image src="../../static/user/user2.png" mode=""></image></view> -->
-		</view>
-		<view class="user-wrap">
-			<view class="info-left flex">
-				<view class="user-name">
-					<image :src="userInfo.avatar || '../../static/error/missing-face.png'" mode=""></image>
-					<view class="user-font">
-						<view class="name clamp">{{ userInfo.nickname }}</view>
-						<view class="phone" v-if="isPhone=true">{{ getPhone }}</view>
-						<view class="phone">{{getFh}}</view>
-					</view>
-				</view>
-				<view class="kpi" v-show="userInfo.level!=0">
-					<image style="width: 34rpx; height: 34rpx; margin-right: 8rpx;" src="../../static/icon/vip.png"
-						mode=""></image>会员VIP
-				</view>
-			</view>
-			<view class="info-right">
-				<view class="item-item" @click="navTo('/pages/money/wallet')">
-					<view class="item-num">{{ userInfo.now_money || 0}}</view>
-					<view class="item-font">我的钱包</view>
-				</view>
-				<view class="" style="width: 1rpx;height: 100rpx;background: #EEEEEE;">
-
-				</view>
-				<view class="item-item" @click="navTo('/pages/user/cash')">
-					<view class="item-num">{{userInfo.brokerage_price || 0}}</view>
-					<view class="item-font">我的佣金</view>
-				</view>
-				<view class="" style="width: 1rpx;height: 100rpx;background: #EEEEEE;">
-
-				</view>
-				<view class="item-item" @click="navTo('/pages/user/team')">
-					<view class="item-num">{{all || 0}}</view>
-					<view class="item-font">我的推广</view>
-				</view>
-				<view class="item-item">
-					<view class="item-num">{{(userInfo.ordsum).toFixed(2) || 0}}</view>
-					<view class="item-font">消费金额</view>
-				</view>
-			</view>
-		</view>
-
-		<view class="main-box">
-			<view class="title flex" @click="navTo('/pages/order/order?state=0')">
-				<view class="title-left">
-					<image class="title-icon" src="../../static/user/user10.png" mode=""></image>
-					<view class="title-font">我的订单</view>
-				</view>
-				<image class="title-right" src="../../static/user/user04.png" mode=""></image>
-			</view>
-			<view class="main flex">
-				<view class="oitem" @click="navTo('/pages/order/order?state=0')">
-					<image class="oitem-image" src="../../static/user/user01.png" mode=""></image>
-					<view class="oitem-font">待付款</view>
-				</view>
-				<view class="oitem" @click="navTo('/pages/order/order?state=1')">
-					<image class="oitem-image" src="../../static/user/user03.png" mode=""></image>
-					<view class="oitem-font">待发货</view>
-				</view>
-				<view class="oitem" @click="navTo('/pages/order/order?state=2')">
-					<image class="oitem-image" src="../../static/user/user02.png" mode=""></image>
-					<view class="oitem-font">待收货</view>
-				</view>
-				<view class="oitem" @click="navTo('/pages/order/order?state=3')">
-					<image class="oitem-image" src="../../static/user/user07.png" mode=""></image>
-					<view class="oitem-font">已完成</view>
-				</view>
-			</view>
-		</view>
-		<uni-list class="tool-list">
-			<uni-list-item title="邀请有礼" @click="navTo('/pages/user/shareQrCode')" thumb="/static/user/user08.png">
-			</uni-list-item>
-			<uni-list-item title="我的收藏" @click="navTo('/pages/user/favorites')" thumb="/static/user/user11.png">
-			</uni-list-item>
-			<!-- <uni-list-item title="点击试试" @click="navTo('/pages/public/login')" thumb="/static/user/user11.png">
-			</uni-list-item> -->
-			<uni-list-item title="客服中心" @click="openKf()" thumb="/static/user/user09.png"></uni-list-item>
-			<uni-list-item title="设置" @click="navTo('/pages/set/userinfo')" thumb="/static/user/user13.png">
-			</uni-list-item>
-		</uni-list>
-		<uni-popup ref="popupkf" type="center">
-			<view class="popup-box">
-				<view class="img">
-					<image src="../../static/img/img009.png" mode=""></image>
-				</view>
-				<view class="mian">
-					<view class="delivery">
-						<view class="title">已经为您定制专属客服</view>
-						<image src="../../static/img/img010.png" mode=""></image>
-					</view>
-					<view class="nocancel">客服VX:{{ text }}</view>
-					<view class="comfirm-box">
-						<view class="cancel" @click="cancel">取消</view>
-						<view class="comfirm" @click="comfirm(text)">复制微信</view>
-					</view>
-				</view>
-			</view>
-		</uni-popup>
-		<!-- <uni-popup ref="popupqd" type="center">
-			<view class="popup">
-				<view class="popup-dox"><image class="popup-logo" src="../../static/img/sign-popup.png"></image></view>
-				<view class="popup-title">
-					获得
-					<text>{{ today_integral }}</text>
-					{{ today_type }}
-				</view>
-				<view class="popup-tip">
-					明天签到可得
-					<text>{{ tom_integral }}</text>
-					{{ tom_type }}
-				</view>
-				<view class="popup-btn" @click="closeQd">知道了</view>
-			</view>
-		</uni-popup> -->
-	</view>
-</template>
-<script>
-	import {
-		tabbar1
-	} from '@/utils/tabbar.js';
-	import {
-		mapState,
-		mapMutations
-	} from 'vuex';
-	import uniList from '@/components/uni-list/uni-list.vue';
-	import uniListItem from '@/components/uni-list-item/uni-list-item.vue';
-
-	import {
-		orderData,
-		getUserInfo,
-		myspread
-	} from '@/api/user.js';
-	import {
-		saveUrl,
-		interceptor
-	} from '@/utils/loginUtils.js';
-	let startY = 0,
-		moveY = 0,
-		pageAtTop = true;
-	export default {
-		components: {
-			uniList,
-			uniListItem
-		},
-		data() {
-			return {
-				isPhone:false,
-				all: 0, //推荐人数
-				current: 4,
-				tabbar: tabbar1,
-				qded: false, //是否已签到
-				text: '', //客服微信
-				today_integral: '', //签到获得的数值
-				today_type: '', //签到获得的数值单位
-				tom_integral: '', //明天签到获得的数值
-				tom_type: '', //签到获得的数值单位
-				userDowm: 0, //卡片升级专属高度
-				userMaxDowm: 0, //卡片最高高度
-				toolList: [{
-						id: 't1',
-						name: '新人通道',
-						width: '56rpx',
-						heigt: '54rpx',
-						img: '../../static/icon/tool-1.png',
-						path: '/pages/user/xrtd'
-					},
-					{
-						id: 't2',
-						name: '邀请好友',
-						width: '56rpx',
-						heigt: '57rpx',
-						img: '../../static/icon/tool-2.png',
-						path: '/pages/user/shareQrCode'
-					},
-					{
-						id: 't3',
-						name: '我的粉丝',
-						width: '68rpx',
-						heigt: '53rpx',
-						img: '../../static/icon/tool-3.png',
-						path: '/pages/user/myfans'
-					},
-					{
-						id: 't4',
-						name: '我的订单',
-						width: '55rpx',
-						heigt: '54rpx',
-						img: '../../static/icon/tool-4.png',
-						path: '/pages/order/order'
-					},
-					{
-						id: 't5',
-						name: '我的商品',
-						width: '50rpx',
-						heigt: '58rpx',
-						img: '../../static/icon/tool-5.png',
-						path: '/pages/order/order'
-					},
-					{
-						id: 't6',
-						name: '馆长申请',
-						width: '59rpx',
-						heigt: '56rpx',
-						img: '../../static/icon/tool-6.png',
-						path: '/pages/user/gzsq'
-					}
-				]
-			};
-		},
-		onShow() {
-			// 判断是否已经登录
-			if (this.hasLogin) {
-				this.loadBaseData();
-				myspread({}).then(({
-					data
-				}) => {
-					console.log(data, '推荐人');
-					this.all = data.total;
-				})
-			}
-			this.loadBaseData();
-		},
-		onReady() {
-			// 初始化获取页面宽度
-			uni.createSelectorQuery()
-				.select('.container')
-				.fields({
-						size: true
-					},
-					data => {
-						// 计算最多下拉的高度
-						this.userDowm = Math.floor((data.width / 750) * 185);
-						// 计算最大触发修改高度事件
-						this.userMaxDowm = Math.floor((data.width / 750) * 250);
-					}
-				)
-				.exec();
-		},
-		// #ifndef MP
-		// onNavigationBarButtonTap(e) {
-		// 	const index = e.index;
-		// 	if (index === 0) {
-		// 		this.navTo('/pages/set/set');
-		// 	} else if (index === 1) {
-		// 		// #ifdef APP-PLUS
-		// 		const pages = getCurrentPages();
-		// 		const page = pages[pages.length - 1];
-		// 		const currentWebview = page.$getAppWebview();
-		// 		currentWebview.hideTitleNViewButtonRedDot({
-		// 			index
-		// 		});
-		// 		// #endif
-		// 		uni.navigateTo({
-		// 			url: '/pages/user/notice'
-		// 		});
-		// 	}
-		// },
-		// #endif
-		computed: {
-			...mapState('user', ['userInfo', 'orderInfo', 'hasLogin']),
-			getPhone() {
-				if(this.userInfo.phone){
-					this.isPhone=true
-					let reg = /^(\d{3})\d{4}(\d{4})$/;
-					return this.userInfo.phone.replace(reg, '$1****$2')
-				}else{
-					this.isPhone=false
-				}
-			},
-			getFh(){
-				//具体分红权益
-				if(isNaN(this.userInfo.vipsum)){
-					return this.userInfo.vipsum
-					
-				}else{
-					return `距离分红权益相差${this.userInfo.vipsum}元`
-				
-				}
-			}
-			
-		},
-		methods: {
-			...mapMutations('user', ['setUserInfo', 'setOrderInfo']),
-			// 加载初始数据
-			loadBaseData() {
-				console.log(this.userInfo, 'info');
-				getUserInfo({})
-					.then(({
-						data
-					}) => {
-						this.setUserInfo(data);
-						// 获取用户数据完毕后在获取订单数据防止多次跳转到登录页
-						orderData({})
-							.then(({
-								data
-							}) => {
-								this.setOrderInfo(data);
-							})
-							.catch(e => {
-								this.setOrderInfo({
-									complete_count: 0, //完成
-									received_count: 0, //待收货
-									unshipped_count: 0, //待发货
-									order_count: 0, //订单总数
-									unpaid_count: 0 //待付款
-								});
-							});
-					})
-					.catch(e => {
-						console.log(e);
-					});
-			},
-			/**
-			 * 统一跳转接口,拦截未登录路由
-			 * navigator标签现在默认没有转场动画,所以用view
-			 */
-			navTo(url) {
-				console.log(url);
-				let pages = getCurrentPages();
-				console.log(pages, 'pages');
-
-				let prevPage = pages[pages.length - 2]
-				console.log(prevPage, 'pages2');
-
-				// if (!this.hasLogin) {
-				// 	// 保存地址
-				// 	saveUrl();
-				// 	// 登录拦截
-				// 	interceptor();
-				// } else {
-				uni.navigateTo({
-					url
-				});
-				// }
-			},
-			useTool(e) {
-				this.navTo(e.path);
-			},
-			// 签到弹窗
-			goQd() {
-				this.$refs.popupqd.open();
-				this.qded = true;
-			},
-			// 关闭签到弹窗
-			closeQd() {
-				this.$refs.popupqd.close();
-			},
-			// 打开客服
-			openKf() {
-				this.$refs.popupkf.open();
-			},
-			// 关闭客服
-			cancel() {
-				this.$refs.popupkf.close();
-			}
-		}
-	};
-</script>
-<style lang="scss">
-	%flex-center {
-		display: flex;
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
-	}
-
-	%section {
-		display: flex;
-		justify-content: space-around;
-		align-content: center;
-		background: #fff;
-		border-radius: 10rpx;
-	}
-
-	.container,
-	page {
-		min-height: 100%;
-		height: auto;
-		background-color: $page-color-base;
-	}
-
-	.vheigh {
-		height: var(--status-bar-height);
-		background-color: $base-color;
-	}
-
-	.top-image {
-		position: absolute;
-		top: 0;
-		left: 0;
-		right: 0;
-		height: 230rpx;
-
-		image {
-			width: 100%;
-			height: 100%;
-		}
-	}
-
-	.tool-list {
-		width: 690rpx;
-		margin: auto;
-		margin-top: 20rpx;
-		background: #ffffff;
-		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
-		border-radius: 20rpx;
-	}
-
-	.popup-box {
-		width: 522rpx;
-		height: 605rpx;
-		background-color: #ffffff;
-		border-radius: 20rpx;
-		position: relative;
-
-		.img {
-			position: relative;
-			top: -56rpx;
-			left: 0;
-			width: 522rpx;
-			height: 132rpx;
-			display: flex;
-			justify-content: center;
-
-			image {
-				border-radius: 20rpx 20rpx 0 0;
-				width: 450rpx;
-				height: 132rpx;
-			}
-		}
-
-		.mian {
-			margin-top: -44rpx;
-			display: flex;
-			flex-direction: column;
-			align-items: center;
-			// padding: 32rpx 32rpx;
-			background-color: #ffffff;
-			border-radius: 0 0 20rpx 20rpx;
-			text-align: center;
-
-			.delivery {
-				font-size: 40rpx;
-				color: #333333;
-				display: flex;
-				align-items: center;
-				flex-direction: column;
-
-				image {
-					margin-top: 48rpx;
-					width: 172rpx;
-					height: 160rpx;
-				}
-			}
-
-			.nocancel {
-				font-size: 32rpx;
-				color: #333333;
-				margin-top: 14rpx;
-			}
-
-			.comfirm-box {
-				margin-top: 52rpx;
-				display: flex;
-				// margin-bottom: 32rpx;
-
-				// justify-content: space-around;
-				.cancel {
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					width: 197rpx;
-					height: 74rpx;
-					border: 1px solid #dcc786;
-					border-radius: 38rpx;
-
-					font-size: 32rpx;
-					color: #605128;
-				}
-
-				.comfirm {
-					margin-left: 32rpx;
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					width: 197rpx;
-					height: 74rpx;
-					background: linear-gradient(-90deg, #d1ba77 0%, #f7e8ad 100%);
-					border-radius: 38px;
-					font-size: 32rpx;
-					color: #605128;
-				}
-			}
-		}
-	}
-
-	.popup {
-		width: 560rpx;
-		padding-bottom: 45rpx;
-		background-color: #ffffff;
-		border-radius: 15rpx;
-		text-align: center;
-		line-height: 1;
-
-		.popup-dox {
-			position: relative;
-
-			.popup-logo {
-				margin: -160rpx auto 0;
-				width: 400rpx;
-				height: 200rpx;
-			}
-		}
-
-		.popup-title {
-			margin-top: 85rpx;
-			font-size: 40rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #2a2a2a;
-
-			text {
-				font-size: 56rpx;
-				color: #e83f30;
-			}
-		}
-
-		.popup-tip {
-			margin-top: 20rpx;
-			font-size: 28rpx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #8c8c8c;
-
-			text {
-				color: #e83f30;
-			}
-		}
-
-		.popup-btn {
-			margin: 58rpx auto 0;
-			width: 270rpx;
-			height: 66rpx;
-			background: #f0c838;
-			border-radius: 34rpx;
-			text-align: center;
-			line-height: 66rpx;
-			font-size: 36rpx;
-			font-family: Source Han Sans CN;
-			font-weight: 500;
-			color: #ffffff;
-		}
-	}
-
-	.user-wrap {
-		position: relative;
-		z-index: 10;
-		width: 690rpx;
-		height: 283rpx;
-		background: #ffffff;
-		box-shadow: 0px 4rpx 13rpx 0px rgba(229, 229, 229, 0.46);
-		border-radius: 20rpx;
-		padding: 34rpx 0 40rpx;
-		margin: auto;
-
-		.info-left {
-			padding-left: 34rpx;
-
-			.user-name {
-				display: flex;
-				align-items: center;
-
-				image {
-					width: 120rpx;
-					height: 120rpx;
-					border-radius: 50%;
-				}
-
-				.user-font {
-					padding-left: 34rpx;
-
-					.name {
-						width: 250rpx;
-						font-size: 40rpx;
-						font-family: Source Han Sans CN;
-						font-weight: 400;
-						color: #333333;
-					}
-
-					.phone {
-						margin-top: 10rpx;
-						font-size: 20rpx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #999999;
-					}
-				}
-			}
-
-			.kpi {
-				background: #f5eede;
-				border-radius: 30rpx 0px 0px 30rpx;
-				padding: 18rpx 24rpx;
-				font-size: 26rpx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #c6914e;
-			}
-		}
-
-		.info-right {
-			display: flex;
-			justify-content: space-around;
-			align-items: center;
-			margin: 30rpx 0;
-			padding: 0 34rpx;
-
-			.item-item {
-				padding-bottom: 20rpx;
-				width: 33%;
-				display: flex;
-				justify-content: center;
-				flex-direction: column;
-				align-items: center;
-
-				.item-num {
-					font-size: 36rpx;
-					font-weight: bold;
-					color: #333333;
-				}
-
-				.item-font {
-					margin-top: 18rpx;
-					font-size: 22rpx;
-					font-weight: 500;
-					color: #666666;
-				}
-			}
-		}
-	}
-
-	.user-set {
-		justify-content: flex-end;
-
-		view {
-			flex-shrink: 0;
-		}
-
-		padding: 30rpx;
-
-		image {
-			height: 40rpx;
-			width: 40rpx;
-		}
-	}
-
-	.main-box {
-		margin: 20rpx auto 0;
-		width: 690rpx;
-		background: #ffffff;
-		box-shadow: 0px 4rpx 14rpx 0px rgba(229, 229, 229, 0.46);
-		border-radius: 20rpx;
-
-		.title {
-			display: flex;
-			justify-content: space-between;
-			align-items: center;
-			padding: 24rpx;
-			border-bottom: 1px solid #EEEEEE;
-
-			.title-left {
-				display: flex;
-				align-items: center;
-
-				.title-icon {
-					width: 32rpx;
-					height: 32rpx;
-				}
-
-				.title-font {
-					margin-left: 20rpx;
-					font-size: 28rpx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #333333;
-				}
-			}
-
-			.title-right {
-				width: 14rpx;
-				height: 24rpx;
-			}
-		}
-
-		.main {
-			padding: 30rpx 0 20rpx;
-
-
-
-			.oitem {
-				width: 25%;
-				display: flex;
-				flex-direction: column;
-				align-items: center;
-
-				.oitem-image {
-					height: 50rpx;
-					width: 48rpx;
-				}
-
-				.oitem-font {
-					margin-top: 20rpx;
-					font-size: 24rpx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #333333;
-				}
-			}
-		}
-	}
+<template>
+	<view class="container">
+		<view class="vheigh"></view>
+		<view class="top-image">
+			<image src="../../static/user/user-top.png" mode=""></image>
+		</view>
+		<view class="user-set flex">
+			<view class="set-logo" @click="navTo('/pages/set/userinfo')">
+				<!-- <image src="../../static/user/user1.png" mode=""></image> -->
+			</view>
+		</view>
+		<view class="user-wrap">
+			<view class="info-left flex">
+				<view class="user-name">
+					<image :src="userInfo.avatar" mode="" v-if="userInfo.avatar"></image>
+					<image src="../../static/error/missing-face.png" mode="" v-else></image>
+					<view class="user-font">
+						<view class="name clamp" v-if="userInfo.nickname">{{ userInfo.nickname }}</view>
+						<view class="name clamp" v-else>游客</view>
+						<view class="phone">{{ userInfo.phone }}</view>
+						<view class="phone" v-if="userInfo.uid">邀请码:{{ userInfo.uid }}</view>
+					</view>
+				</view>
+				<view class="kpi" v-if="userInfo.level > 1">
+					<image src="../../static/icon/u-v.png" mode="widthFix"></image>会员VIP
+				</view>
+			</view>
+			<view class="main-box">
+				<view class="main flex">
+					<view class="item" @click="navTo('/pages/money/wallet')">
+						<view class="item-num">{{ userInfo.sp_final || 0}}</view>
+						<view class="item-font">我的钱包</view>
+					</view>
+					<view class="" style="width: 1rpx;height: 100rpx;background: #EEEEEE;"></view>
+					<view class="item" @click="navTo('/pages/user/award')">
+						<view class="item-num">{{userInfo.top_ticket || 0}}</view>
+						<view class="item-font">我的佣金</view>
+					</view>
+					<view class="" style="width: 1rpx;height: 100rpx;background: #EEEEEE;"></view>
+					<view class="item" @click="navTo('/pages/user/team')">
+						<view class="item-num">{{userInfo.aid_val || 0}}</view>
+						<view class="item-font">我的推广</view>
+					</view>
+				</view>
+			</view>
+			<view class="shenqing" @click="shareLL">
+				<image src="../../static/user/shenqing.png" mode="heightFix"></image>
+			</view>
+		</view>
+
+		<uni-list class="tool-list">
+			<!-- <uni-list-item title="卷码核销" @click="navTo('/pages/user/shareQrCode')" thumb="/static/user/user1.png">
+			</uni-list-item>
+			<uni-list-item title="核销历史" @click="navTo('/pages/user/hxjl')" thumb="/static/user/user2.png">
+			</uni-list-item> -->
+			<uni-list-item title="邀请有礼" @click="navTo('/pages/user/shareQrCode')" thumb="/static/user/user3.png">
+			</uni-list-item>
+			<uni-list-item title="我的收藏" @click="navTo('/pages/user/favorites')" thumb="/static/user/user4.png">
+			</uni-list-item>
+			<uni-list-item title="客服中心" @click="openKf()" thumb="/static/user/user5.png"></uni-list-item>
+			<uni-list-item title="设置" @click="navTo('/pages/set/userinfo')" thumb="/static/user/user6.png">
+			</uni-list-item>
+		</uni-list>
+		<uni-popup ref="popupkf" type="center">
+			<view class="popup-box">
+				<view class="img">
+					<image src="../../static/img/img009.png" mode=""></image>
+				</view>
+				<view class="mian">
+					<view class="delivery">
+						<view class="title">已经为您定制专属客服</view>
+						<image src="../../static/img/img010.png" mode=""></image>
+					</view>
+					<view class="nocancel">客服VX:{{ text }}</view>
+					<view class="comfirm-box">
+						<view class="cancel" @click="cancel">取消</view>
+						<view class="comfirm" @click="comfirm(text)">复制微信</view>
+					</view>
+				</view>
+			</view>
+		</uni-popup>
+	</view>
+</template>
+<script>
+	import {
+		tabbar1
+	} from '@/utils/tabbar.js';
+	import {
+		mapState,
+		mapMutations
+	} from 'vuex';
+	import uniList from '@/components/uni-list/uni-list.vue';
+	import uniListItem from '@/components/uni-list-item/uni-list-item.vue';
+	import {
+		orderData,
+		getUserInfo
+	} from '@/api/user.js';
+	import {
+		saveUrl,
+		interceptor
+	} from '@/utils/loginUtils.js';
+	let startY = 0,
+		moveY = 0,
+		pageAtTop = true;
+	export default {
+		components: {
+			uniList,
+			uniListItem
+		},
+		data() {
+			return {
+				current: 4,
+				tabbar: tabbar1,
+				qded: false, //是否已签到
+				text: '', //客服微信
+				today_integral: '', //签到获得的数值
+				today_type: '', //签到获得的数值单位
+				tom_integral: '', //明天签到获得的数值
+				tom_type: '', //签到获得的数值单位
+				userDowm: 0, //卡片升级专属高度
+				userMaxDowm: 0, //卡片最高高度
+				toolList: [{
+						id: 't1',
+						name: '新人通道',
+						width: '56rpx',
+						heigt: '54rpx',
+						img: '../../static/icon/tool-1.png',
+						path: '/pages/user/xrtd'
+					},
+					{
+						id: 't2',
+						name: '邀请好友',
+						width: '56rpx',
+						heigt: '57rpx',
+						img: '../../static/icon/tool-2.png',
+						path: '/pages/user/shareQrCode'
+					},
+					{
+						id: 't3',
+						name: '我的粉丝',
+						width: '68rpx',
+						heigt: '53rpx',
+						img: '../../static/icon/tool-3.png',
+						path: '/pages/user/myfans'
+					},
+					{
+						id: 't4',
+						name: '我的订单',
+						width: '55rpx',
+						heigt: '54rpx',
+						img: '../../static/icon/tool-4.png',
+						path: '/pages/order/order'
+					},
+					{
+						id: 't5',
+						name: '我的商品',
+						width: '50rpx',
+						heigt: '58rpx',
+						img: '../../static/icon/tool-5.png',
+						path: '/pages/order/order'
+					},
+					{
+						id: 't6',
+						name: '馆长申请',
+						width: '59rpx',
+						heigt: '56rpx',
+						img: '../../static/icon/tool-6.png',
+						path: '/pages/user/gzsq'
+					}
+				]
+			};
+		},
+		onShow() {
+			// 判断是否已经登录
+			if (this.hasLogin) {
+				this.loadBaseData();
+			}
+			this.loadBaseData();
+		},
+		onReady() {
+			// 初始化获取页面宽度
+			uni.createSelectorQuery()
+				.select('.container')
+				.fields({
+						size: true
+					},
+					data => {
+						// 计算最多下拉的高度
+						this.userDowm = Math.floor((data.width / 750) * 185);
+						// 计算最大触发修改高度事件
+						this.userMaxDowm = Math.floor((data.width / 750) * 250);
+					}
+				)
+				.exec();
+		},
+		// #ifndef MP
+		// onNavigationBarButtonTap(e) {
+		// 	const index = e.index;
+		// 	if (index === 0) {
+		// 		this.navTo('/pages/set/set');
+		// 	} else if (index === 1) {
+		// 		// #ifdef APP-PLUS
+		// 		const pages = getCurrentPages();
+		// 		const page = pages[pages.length - 1];
+		// 		const currentWebview = page.$getAppWebview();
+		// 		currentWebview.hideTitleNViewButtonRedDot({
+		// 			index
+		// 		});
+		// 		// #endif
+		// 		uni.navigateTo({
+		// 			url: '/pages/user/notice'
+		// 		});
+		// 	}
+		// },
+		// #endif
+		computed: {
+			...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
+		},
+		methods: {
+			...mapMutations('user', ['setUserInfo', 'setOrderInfo']),
+			shareLL() {
+				this.$api.msg('功能建设中,敬请期待')
+			},
+			comfirm(text) {
+				console.log(text);
+				const result = this.uniCopy(text);
+				if (result === false) {
+					uni.showToast({
+						title: '不支持'
+					});
+				} else {
+					uni.showToast({
+						title: '复制成功',
+						icon: 'none'
+					});
+				}
+				this.$refs.popupkf.close();
+			},
+			uniCopy(content) {
+				/**
+				 * 小程序端 和 app端的复制逻辑
+				 */
+				//#ifndef H5
+				uni.setClipboardData({
+					data: content,
+					success: function() {
+						console.log('success');
+						return true;
+					}
+				});
+				//#endif
+
+				/**
+				 * H5端的复制逻辑
+				 */
+				// #ifdef H5
+				if (!document.queryCommandSupported('copy')) {
+					//为了兼容有些浏览器 queryCommandSupported 的判断
+					// 不支持
+					return false;
+				}
+				let textarea = document.createElement('textarea');
+				textarea.value = content;
+				textarea.readOnly = 'readOnly';
+				document.body.appendChild(textarea);
+				textarea.select(); // 选择对象
+				textarea.setSelectionRange(0, content.length); //核心
+				let result = document.execCommand('copy'); // 执行浏览器复制命令
+				textarea.remove();
+				return result;
+				// #endif
+			},
+			// 加载初始数据
+			loadBaseData() {
+				getUserInfo({})
+					.then(({
+						data
+					}) => {
+						this.setUserInfo(data);
+						// 获取用户数据完毕后在获取订单数据防止多次跳转到登录页
+						orderData({})
+							.then(({
+								data
+							}) => {
+								this.setOrderInfo(data);
+							})
+							.catch(e => {
+								this.setOrderInfo({
+									complete_count: 0, //完成
+									received_count: 0, //待收货
+									unshipped_count: 0, //待发货
+									order_count: 0, //订单总数
+									unpaid_count: 0 //待付款
+								});
+							});
+					})
+					.catch(e => {
+						console.log(e);
+					});
+			},
+			/**
+			 * 统一跳转接口,拦截未登录路由
+			 * navigator标签现在默认没有转场动画,所以用view
+			 */
+			navTo(url) {
+				console.log(url);
+				if (!this.hasLogin) {
+					// 保存地址
+					saveUrl();
+					// 登录拦截
+					interceptor();
+				} else {
+					uni.navigateTo({
+						url
+					});
+				}
+
+				// uni.navigateTo({
+				// 	url
+				// });
+			},
+			useTool(e) {
+				this.navTo(e.path);
+			},
+			// 签到弹窗
+			goQd() {
+				this.$refs.popupqd.open();
+				this.qded = true;
+			},
+			// 关闭签到弹窗
+			closeQd() {
+				this.$refs.popupqd.close();
+			},
+			// 打开客服
+			openKf() {
+				this.$refs.popupkf.open();
+			},
+			// 关闭客服
+			cancel() {
+				this.$refs.popupkf.close();
+			}
+		}
+	};
+</script>
+<style lang="scss">
+	%flex-center {
+		display: flex;
+		flex-direction: column;
+		justify-content: center;
+		align-items: center;
+	}
+
+	%section {
+		display: flex;
+		justify-content: space-around;
+		align-content: center;
+		background: #fff;
+		border-radius: 10rpx;
+	}
+
+	.container,
+	page {
+		min-height: 100%;
+		height: auto;
+		background-color: $page-color-base;
+	}
+
+	.vheigh {
+		height: var(--status-bar-height);
+		background-color: $base-color;
+	}
+
+	.top-image {
+		position: absolute;
+		top: 0;
+		left: 0;
+		right: 0;
+		height: 230rpx;
+
+		image {
+			width: 100%;
+			height: 100%;
+		}
+	}
+
+	.tool-list {
+		width: 690rpx;
+		margin: auto;
+		margin-top: 20rpx;
+		background: #ffffff;
+		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+		border-radius: 20rpx;
+	}
+
+	.popup-box {
+		width: 522rpx;
+		height: 605rpx;
+		background-color: #ffffff;
+		border-radius: 20rpx;
+		position: relative;
+
+		.img {
+			position: relative;
+			top: -56rpx;
+			left: 0;
+			width: 522rpx;
+			height: 132rpx;
+			display: flex;
+			justify-content: center;
+
+			image {
+				border-radius: 20rpx 20rpx 0 0;
+				width: 450rpx;
+				height: 132rpx;
+			}
+		}
+
+		.mian {
+			margin-top: -44rpx;
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			// padding: 32rpx 32rpx;
+			background-color: #ffffff;
+			border-radius: 0 0 20rpx 20rpx;
+			text-align: center;
+
+			.delivery {
+				font-size: 40rpx;
+				color: #333333;
+				display: flex;
+				align-items: center;
+				flex-direction: column;
+
+				image {
+					margin-top: 48rpx;
+					width: 172rpx;
+					height: 160rpx;
+				}
+			}
+
+			.nocancel {
+				font-size: 32rpx;
+				color: #333333;
+				margin-top: 14rpx;
+			}
+
+			.comfirm-box {
+				margin-top: 52rpx;
+				display: flex;
+				// margin-bottom: 32rpx;
+
+				// justify-content: space-around;
+				.cancel {
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					width: 197rpx;
+					height: 74rpx;
+					border: 1px solid #dcc786;
+					border-radius: 38rpx;
+
+					font-size: 32rpx;
+					color: #605128;
+				}
+
+				.comfirm {
+					margin-left: 32rpx;
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					width: 197rpx;
+					height: 74rpx;
+					background: linear-gradient(-90deg, #d1ba77 0%, #f7e8ad 100%);
+					border-radius: 38px;
+					font-size: 32rpx;
+					color: #605128;
+				}
+			}
+		}
+	}
+
+	.popup {
+		width: 560rpx;
+		padding-bottom: 45rpx;
+		background-color: #ffffff;
+		border-radius: 15rpx;
+		text-align: center;
+		line-height: 1;
+
+		.popup-dox {
+			position: relative;
+
+			.popup-logo {
+				margin: -160rpx auto 0;
+				width: 400rpx;
+				height: 200rpx;
+			}
+		}
+
+		.popup-title {
+			margin-top: 85rpx;
+			font-size: 40rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #2a2a2a;
+
+			text {
+				font-size: 56rpx;
+				color: #e83f30;
+			}
+		}
+
+		.popup-tip {
+			margin-top: 20rpx;
+			font-size: 28rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #8c8c8c;
+
+			text {
+				color: #e83f30;
+			}
+		}
+
+		.popup-btn {
+			margin: 58rpx auto 0;
+			width: 270rpx;
+			height: 66rpx;
+			background: #f0c838;
+			border-radius: 34rpx;
+			text-align: center;
+			line-height: 66rpx;
+			font-size: 36rpx;
+			font-family: Source Han Sans CN;
+			font-weight: 500;
+			color: #ffffff;
+		}
+	}
+
+	.user-wrap {
+		position: relative;
+		z-index: 10;
+		width: 690rpx;
+		// height: 283rpx;
+		background: #ffffff;
+		box-shadow: 0px 4rpx 13rpx 0px rgba(229, 229, 229, 0.46);
+		border-radius: 20rpx;
+		padding: 34rpx 0 0;
+		margin: auto;
+
+		.info-left {
+			padding-left: 34rpx;
+
+			.user-name {
+				display: flex;
+				align-items: center;
+
+				image {
+					width: 120rpx;
+					height: 120rpx;
+					border-radius: 50%;
+				}
+
+				.user-font {
+					padding-left: 34rpx;
+
+					.name {
+						width: 250rpx;
+						font-size: 40rpx;
+						font-family: Source Han Sans CN;
+						font-weight: 400;
+						color: #333333;
+					}
+
+					.phone {
+						margin-top: 10rpx;
+						font-size: 20rpx;
+						font-family: PingFang SC;
+						font-weight: 500;
+						color: #999999;
+					}
+				}
+			}
+
+			.kpi {
+				background: #f5eede;
+				border-radius: 30rpx 0px 0px 30rpx;
+				padding: 18rpx 24rpx;
+				font-size: 26rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #c6914e;
+				display: flex;
+
+				image {
+					width: 34rpx;
+					margin-right: 8rpx;
+				}
+			}
+		}
+
+		.info-right {
+			display: flex;
+			align-items: center;
+			margin-top: 54rpx;
+			padding: 0 34rpx;
+
+			.iright-icon {
+				width: 32rpx;
+				height: 32rpx;
+			}
+
+			.iright-font {
+				margin-left: 12rpx;
+				font-size: 28rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #333333;
+			}
+		}
+	}
+
+	.user-set {
+		justify-content: flex-end;
+		// height: 40rpx;
+		height: 150rpx;
+		// padding-top: 40rpx;
+
+		view {
+			flex-shrink: 0;
+		}
+
+		padding: 30rpx;
+
+		image {
+			height: 40rpx;
+			width: 40rpx;
+		}
+	}
+
+	.main-box {
+		margin: 20rpx auto 0;
+		width: 690rpx;
+		background: #ffffff;
+		// box-shadow: 0px 4rpx 14rpx 0px rgba(229, 229, 229, 0.46);
+		border-radius: 20rpx;
+
+		.title {
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+			padding: 24rpx;
+			border-bottom: 1px solid #EEEEEE;
+
+			.title-left {
+				display: flex;
+				align-items: center;
+
+				.title-icon {
+					width: 32rpx;
+					height: 32rpx;
+				}
+
+				.title-font {
+					margin-left: 20rpx;
+					font-size: 28rpx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #333333;
+				}
+			}
+
+			.title-right {
+				width: 14rpx;
+				height: 24rpx;
+			}
+		}
+
+		.main {
+			padding: 50rpx 0 30rpx;
+
+			.item {
+				padding-bottom: 20rpx;
+				width: 33%;
+				display: flex;
+				flex-direction: column;
+				align-items: center;
+
+				.item-num {
+					font-size: 36rpx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #333333;
+				}
+
+				.item-font {
+					margin-top: 18rpx;
+					font-size: 22rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #666666;
+				}
+			}
+
+			.oitem {
+				width: 25%;
+				display: flex;
+				flex-direction: column;
+				align-items: center;
+
+				.oitem-image {
+					height: 50rpx;
+					width: 48rpx;
+				}
+
+				.oitem-font {
+					margin-top: 20rpx;
+					font-size: 24rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #333333;
+				}
+			}
+		}
+	}
+
+	.gpai {
+		width: 100rpx;
+		line-height: 40rpx;
+		border-radius: 25rpx;
+		position: absolute;
+		top: 120rpx;
+		left: 40rpx;
+		font-size: 24rpx;
+		color: #c6914e;
+		text-align: center;
+		background-color: #f2d4ae;
+	}
+
+	.shenqing {
+		height: 100rpx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		background-color: #ffd893;
+		border-radius: 0 0 20rpx 20rpx;
+
+		image {
+			display: inline-block;
+			margin: auto;
+			height: 50rpx;
+		}
+	}
 </style>

+ 555 - 550
static/css/cmy.css

@@ -1,551 +1,556 @@
-/*初始化类*/
-@font-face {
-	font-family: 'iconfont';
-	/* project id 1482221 */
-	src: url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.eot');
-	src: url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.eot?#iefix') format('embedded-opentype'),
-		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.woff2') format('woff2'),
-		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.woff') format('woff'),
-		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.ttf') format('truetype'),
-		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.svg#iconfont') format('svg');
-}
-
-.acea-row {
-	display: -webkit-box;
-	display: -moz-box;
-	display: -webkit-flex;
-	display: -ms-flexbox;
-	display: flex;
-	-webkit-box-lines: multiple;
-	-moz-box-lines: multiple;
-	-o-box-lines: multiple;
-	-webkit-flex-wrap: wrap;
-	-ms-flex-wrap: wrap;
-	flex-wrap: wrap
-}
-
-.acea-row.row-middle {
-	-webkit-box-align: center;
-	-moz-box-align: center;
-	-o-box-align: center;
-	-ms-flex-align: center;
-	-webkit-align-items: center;
-	align-items: center
-}
-
-.bg-color-red {
-	background-color: #e93323 !important;
-}
-
-.acea-row.row-right {
-	-webkit-box-pack: end;
-	-moz-box-pack: end;
-	-o-box-pack: end;
-	-ms-flex-pack: end;
-	-webkit-justify-content: flex-end;
-	justify-content: flex-end
-}
-
-.acea-row.row-between-wrapper {
-	-webkit-box-align: center;
-	-moz-box-align: center;
-	-o-box-align: center;
-	-ms-flex-align: center;
-	-webkit-align-items: center;
-	align-items: center;
-	-webkit-box-pack: justify;
-	-moz-box-pack: justify;
-	-o-box-pack: justify;
-	-ms-flex-pack: justify;
-	-webkit-justify-content: space-between;
-	justify-content: space-between
-}
-
-.acea-row.row-column-around {
-	-webkit-flex-direction: column;
-	-ms-flex-direction: column;
-	flex-direction: column;
-	justify-content: space-around;
-	-webkit-justify-content: space-around
-}
-
-.acea-row.row-center-wrapper {
-	-webkit-box-align: center;
-	-moz-box-align: center;
-	-o-box-align: center;
-	-ms-flex-align: center;
-	-webkit-align-items: center;
-	align-items: center;
-	-webkit-box-pack: center;
-	-moz-box-pack: center;
-	-o-box-pack: center;
-	-ms-flex-pack: center;
-	-webkit-justify-content: center;
-	justify-content: center
-}
-
-.iconfont {
-	font-family: "iconfont" !important;
-	font-size: 34rpx;
-	font-style: normal;
-	-webkit-font-smoothing: antialiased;
-	-webkit-text-stroke-width: 0rpx;
-	-moz-osx-font-smoothing: grayscale;
-}
-
-.iconedit:before {
-	content: "\e649";
-}
-
-.iconfavorfill:before {
-	content: "\e64b";
-}
-
-.iconfavor:before {
-	content: "\e64c";
-}
-
-.iconlocation:before {
-	content: "\e651";
-}
-
-.iconroundcheckfill:before {
-	content: "\e656";
-}
-
-.iconroundcheck:before {
-	content: "\e657";
-}
-
-.iconunfold:before {
-	content: "\e661";
-}
-
-.iconlikefill:before {
-	content: "\e668";
-}
-
-.iconlike:before {
-	content: "\e669";
-}
-
-.iconshop:before {
-	content: "\e676";
-}
-
-.iconcart:before {
-	content: "\e6af";
-}
-
-.icondelete:before {
-	content: "\e6b4";
-}
-
-.iconhome:before {
-	content: "\e6b8";
-}
-
-.iconcartfill:before {
-	content: "\e6b9";
-}
-
-.iconhomefill:before {
-	content: "\e6bb";
-}
-
-.iconlock:before {
-	content: "\e6c0";
-}
-
-.iconfriendadd:before {
-	content: "\e6ca";
-}
-
-.iconfold:before {
-	content: "\e6de";
-}
-
-.iconapps:before {
-	content: "\e729";
-}
-
-.iconadd:before {
-	content: "\e767";
-}
-
-.iconmove:before {
-	content: "\e768";
-}
-
-.icontriangledownfill:before {
-	content: "\e79b";
-}
-
-.icontriangleupfill:before {
-	content: "\e79c";
-}
-
-.iconshaixuan:before {
-	content: "\e74a";
-}
-
-.iconyanzhengma:before {
-	content: "\e684";
-}
-
-.iconjifen:before {
-	content: "\e60f";
-}
-
-.iconwuliuxinxi:before {
-	content: "\e62b";
-}
-
-.iconmessage:before {
-	content: "\e78a";
-}
-
-.iconsetting:before {
-	content: "\e78e";
-}
-
-.iconaddition:before {
-	content: "\e6e0";
-}
-
-.iconclose:before {
-	content: "\e6e9";
-}
-
-.iconenter:after {
-	content: "\e6f8";
-}
-
-.iconprompt:before {
-	content: "\e71b";
-}
-
-.iconreturn:before {
-	content: "\e720";
-}
-
-.iconsearch:before {
-	content: "\e741";
-}
-
-.iconpengyouquan:before {
-	content: "\e62c";
-}
-
-.iconweixin:before {
-	content: "\e60e";
-}
-
-.iconzhifubao:before {
-	content: "\e673";
-}
-
-.iconyue:before {
-	content: "\e618";
-}
-
-.iconweixin1:before {
-	content: "\e622";
-}
-
-.iconlock1:before {
-	content: "\e64d";
-}
-
-.iconuser:before {
-	content: "\e64e";
-}
-
-.iconchenggongtixianshouyi:before {
-	content: "\e64f";
-}
-
-.iconviptuiguangdingdan:before {
-	content: "\e650";
-}
-
-.icondaifukuan:before {
-	content: "\e652";
-}
-
-.icondaijiesuanshouyi:before {
-	content: "\e653";
-}
-
-.icondaidakuanshouyi:before {
-	content: "\e654";
-}
-
-.icondaifahuo:before {
-	content: "\e655";
-}
-
-.icondaishouhuoshouyi:before {
-	content: "\e658";
-}
-
-.icondaishouhuo:before {
-	content: "\e659";
-}
-
-.iconwuxiaoshouyi:before {
-	content: "\e65a";
-}
-
-.icontixianmingxi:before {
-	content: "\e65b";
-}
-
-.iconshouyi:before {
-	content: "\e65c";
-}
-
-.iconkouchutixianshouxufei:before {
-	content: "\e65d";
-}
-
-.iconyishenqingshouyi:before {
-	content: "\e65e";
-}
-
-.icontuihuanhuo:before {
-	content: "\e65f";
-}
-
-
-/*水平线*/
-.hr {
-	width: 100%;
-	position: relative;
-	border-bottom: 1px solid #dddddd;
-	/* height: 0.5rpx; */
-}
-
-/* 一行显示 */
-.clamp {
-	overflow: hidden;
-	text-overflow: ellipsis;
-	white-space: nowrap;
-	display: block;
-}
-
-/* 二行显示 */
-.clamp2 {
-	overflow: hidden;
-	text-overflow: ellipsis;
-	display: -webkit-box;
-	-webkit-line-clamp: 2;
-	-webkit-box-orient: vertical;
-}
-
-/* 二行显示 */
-.ellipsis {
-	overflow: hidden;
-	text-overflow: ellipsis;
-	display: -webkit-box;
-	-webkit-box-orient: vertical;
-	-webkit-line-clamp: 2;
-}
-
-.common-hover {
-	background: #f5f5f5;
-}
-
-/* 角标 */
-.corner {
-	background-color: #e51c23;
-	position: absolute;
-	right: -18rpx;
-	top: -18rpx;
-	color: #FFFFFF;
-	text-align: center;
-	border-radius: 999px;
-	font-size: 24rpx !important;
-	min-width: 35rpx;
-	min-height: 35rpx;
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	line-height: 1;
-}
-
-.flex_item {
-	display: flex;
-	align-items: center;
-	/* justify-content: space-between; */
-}
-
-/* 左右顶格加上下居中 */
-.flex-between-center {
-	display: flex;
-	justify-content: space-between;
-	align-items: center;
-}
-
-/* flex布局-整体居中 */
-.flex-center {
-	display: flex;
-	align-items: center;
-	justify-content: center;
-}
-
-.flex-start {
-	display: flex;
-	align-items: center;
-	justify-content: flex-start;
-}
-
-/*文字对齐*/
-.text-left {
-	text-align: left !important;
-}
-
-.text-center {
-	text-align: center !important;
-}
-
-.text-justify {
-	text-align: justify !important;
-}
-
-.text-right {
-	text-align: right !important;
-}
-
-.text-default {
-	color: #212121 !important;
-}
-
-.text-white {
-	color: #ffffff !important;
-}
-
-.text-primary {
-	color: #00bcd4 !important;
-}
-
-.text-success {
-	color: #009688 !important;
-}
-
-.text-info {
-	color: #03a9f4 !important;
-}
-
-.text-warning {
-	color: #ffc107 !important;
-}
-
-.text-danger {
-	color: #e51c23 !important;
-}
-
-.text-pink {
-	color: #e91e63 !important;
-}
-
-.text-purple {
-	color: #673ab7 !important;
-}
-
-.text-indigo {
-	color: #3f51b5 !important;
-}
-
-.text-gray {
-	color: #999999 !important;
-}
-
-.bg-default {
-	background-color: #f5f5f5 !important;
-}
-
-.bg-primary {
-	background-color: #00bcd4 !important;
-}
-
-.bg-success {
-	background-color: #009688 !important;
-}
-
-.bg-info {
-	background-color: #03a9f4 !important;
-}
-
-.bg-warning {
-	background-color: #FFB238 !important;
-}
-
-.bg-danger {
-	background-color: #DC4D46 !important;
-}
-
-.bg-pink {
-	background-color: #e91e63 !important;
-}
-
-.bg-purple {
-	background-color: #673ab7 !important;
-}
-
-.bg-indigo {
-	background-color: #3f51b5 !important;
-}
-
-.bg-white {
-	background-color: white !important;
-}
-
-.bg-gray {
-	background-color: #e3e3e3 !important;
-}
-
-/* 边框 */
-.border-radius-15 {
-	border-radius: 15rpx;
-}
-
-.border-radius-10 {
-	border-radius: 10rpx;
-}
-
-.border-radius-all {
-	border-radius: 1000rpx;
-}
-
-/* 底部边线 */
-.borde-b {
-	border-bottom: 1px solid #dddddd;
-}
-
-/* 弹性盒子 */
-.flex {
-	display: flex;
-	align-items: center;
-	justify-content: space-between;
-}
-
-.items-left {
-	justify-content: flex-start;
-}
-
-.items-right {
-	justify-content: flex-end;
-}
-
-.flex-shrink-false {
-	flex-shrink: 0;
-}
-
-.flex-grow-true {
-	flex-grow: 1;
-}
-
-.position-relative {
-	position: relative;
+/*初始化类*/
+@font-face {
+	font-family: 'iconfont';
+	/* project id 1482221 */
+	src: url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.eot');
+	src: url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.eot?#iefix') format('embedded-opentype'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.woff2') format('woff2'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.woff') format('woff'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.ttf') format('truetype'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.svg#iconfont') format('svg');
+}
+
+.acea-row {
+	display: -webkit-box;
+	display: -moz-box;
+	display: -webkit-flex;
+	display: -ms-flexbox;
+	display: flex;
+	-webkit-box-lines: multiple;
+	-moz-box-lines: multiple;
+	-o-box-lines: multiple;
+	-webkit-flex-wrap: wrap;
+	-ms-flex-wrap: wrap;
+	flex-wrap: wrap
+}
+
+.acea-row.row-middle {
+	-webkit-box-align: center;
+	-moz-box-align: center;
+	-o-box-align: center;
+	-ms-flex-align: center;
+	-webkit-align-items: center;
+	align-items: center
+}
+
+.bg-color-red {
+	background-color: #e93323 !important;
+}
+
+.acea-row.row-right {
+	-webkit-box-pack: end;
+	-moz-box-pack: end;
+	-o-box-pack: end;
+	-ms-flex-pack: end;
+	-webkit-justify-content: flex-end;
+	justify-content: flex-end
+}
+
+.acea-row.row-between-wrapper {
+	-webkit-box-align: center;
+	-moz-box-align: center;
+	-o-box-align: center;
+	-ms-flex-align: center;
+	-webkit-align-items: center;
+	align-items: center;
+	-webkit-box-pack: justify;
+	-moz-box-pack: justify;
+	-o-box-pack: justify;
+	-ms-flex-pack: justify;
+	-webkit-justify-content: space-between;
+	justify-content: space-between
+}
+
+.acea-row.row-column-around {
+	-webkit-flex-direction: column;
+	-ms-flex-direction: column;
+	flex-direction: column;
+	justify-content: space-around;
+	-webkit-justify-content: space-around
+}
+
+.acea-row.row-center-wrapper {
+	-webkit-box-align: center;
+	-moz-box-align: center;
+	-o-box-align: center;
+	-ms-flex-align: center;
+	-webkit-align-items: center;
+	align-items: center;
+	-webkit-box-pack: center;
+	-moz-box-pack: center;
+	-o-box-pack: center;
+	-ms-flex-pack: center;
+	-webkit-justify-content: center;
+	justify-content: center
+}
+
+.iconfont {
+	font-family: "iconfont" !important;
+	font-size: 34rpx;
+	font-style: normal;
+	-webkit-font-smoothing: antialiased;
+	-webkit-text-stroke-width: 0rpx;
+	-moz-osx-font-smoothing: grayscale;
+}
+
+.iconedit:before {
+	content: "\e649";
+}
+
+.iconfavorfill:before {
+	content: "\e64b";
+}
+
+.iconfavor:before {
+	content: "\e64c";
+}
+
+.iconlocation:before {
+	content: "\e651";
+}
+
+.iconroundcheckfill:before {
+	content: "\e656";
+}
+
+.iconroundcheck:before {
+	content: "\e657";
+}
+
+.iconunfold:before {
+	content: "\e661";
+}
+
+.iconlikefill:before {
+	content: "\e668";
+}
+
+.iconlike:before {
+	content: "\e669";
+}
+
+.iconshop:before {
+	content: "\e676";
+}
+
+.iconcart:before {
+	content: "\e6af";
+}
+
+.icondelete:before {
+	content: "\e6b4";
+}
+
+.iconhome:before {
+	content: "\e6b8";
+}
+
+.iconcartfill:before {
+	content: "\e6b9";
+}
+
+.iconhomefill:before {
+	content: "\e6bb";
+}
+
+.iconlock:before {
+	content: "\e6c0";
+}
+
+.iconfriendadd:before {
+	content: "\e6ca";
+}
+
+.iconfold:before {
+	content: "\e6de";
+}
+
+.iconapps:before {
+	content: "\e729";
+}
+
+.iconadd:before {
+	content: "\e767";
+}
+
+.iconaddred:before {
+	content: "\e767";
+	color: #F35B64;
+}
+
+.iconmove:before {
+	content: "\e768";
+}
+
+.icontriangledownfill:before {
+	content: "\e79b";
+}
+
+.icontriangleupfill:before {
+	content: "\e79c";
+}
+
+.iconshaixuan:before {
+	content: "\e74a";
+}
+
+.iconyanzhengma:before {
+	content: "\e684";
+}
+
+.iconjifen:before {
+	content: "\e60f";
+}
+
+.iconwuliuxinxi:before {
+	content: "\e62b";
+}
+
+.iconmessage:before {
+	content: "\e78a";
+}
+
+.iconsetting:before {
+	content: "\e78e";
+}
+
+.iconaddition:before {
+	content: "\e6e0";
+}
+
+.iconclose:before {
+	content: "\e6e9";
+}
+
+.iconenter:after {
+	content: "\e6f8";
+}
+
+.iconprompt:before {
+	content: "\e71b";
+}
+
+.iconreturn:before {
+	content: "\e720";
+}
+
+.iconsearch:before {
+	content: "\e741";
+}
+
+.iconpengyouquan:before {
+	content: "\e62c";
+}
+
+.iconweixin:before {
+	content: "\e60e";
+}
+
+.iconzhifubao:before {
+	content: "\e673";
+}
+
+.iconyue:before {
+	content: "\e618";
+}
+
+.iconweixin1:before {
+	content: "\e622";
+}
+
+.iconlock1:before {
+	content: "\e64d";
+}
+
+.iconuser:before {
+	content: "\e64e";
+}
+
+.iconchenggongtixianshouyi:before {
+	content: "\e64f";
+}
+
+.iconviptuiguangdingdan:before {
+	content: "\e650";
+}
+
+.icondaifukuan:before {
+	content: "\e652";
+}
+
+.icondaijiesuanshouyi:before {
+	content: "\e653";
+}
+
+.icondaidakuanshouyi:before {
+	content: "\e654";
+}
+
+.icondaifahuo:before {
+	content: "\e655";
+}
+
+.icondaishouhuoshouyi:before {
+	content: "\e658";
+}
+
+.icondaishouhuo:before {
+	content: "\e659";
+}
+
+.iconwuxiaoshouyi:before {
+	content: "\e65a";
+}
+
+.icontixianmingxi:before {
+	content: "\e65b";
+}
+
+.iconshouyi:before {
+	content: "\e65c";
+}
+
+.iconkouchutixianshouxufei:before {
+	content: "\e65d";
+}
+
+.iconyishenqingshouyi:before {
+	content: "\e65e";
+}
+
+.icontuihuanhuo:before {
+	content: "\e65f";
+}
+
+
+/*水平线*/
+.hr {
+	width: 100%;
+	position: relative;
+	border-bottom: 1px solid #dddddd;
+	/* height: 0.5rpx; */
+}
+
+/* 一行显示 */
+.clamp {
+	overflow: hidden;
+	text-overflow: ellipsis;
+	white-space: nowrap;
+	display: block;
+}
+
+/* 二行显示 */
+.clamp2 {
+	overflow: hidden;
+	text-overflow: ellipsis;
+	display: -webkit-box;
+	-webkit-line-clamp: 2;
+	-webkit-box-orient: vertical;
+}
+
+/* 二行显示 */
+.ellipsis {
+	overflow: hidden;
+	text-overflow: ellipsis;
+	display: -webkit-box;
+	-webkit-box-orient: vertical;
+	-webkit-line-clamp: 2;
+}
+
+.common-hover {
+	background: #f5f5f5;
+}
+
+/* 角标 */
+.corner {
+	background-color: #e51c23;
+	position: absolute;
+	right: -18rpx;
+	top: -18rpx;
+	color: #FFFFFF;
+	text-align: center;
+	border-radius: 999px;
+	font-size: 24rpx !important;
+	min-width: 35rpx;
+	min-height: 35rpx;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	line-height: 1;
+}
+
+.flex_item {
+	display: flex;
+	align-items: center;
+	/* justify-content: space-between; */
+}
+
+/* 左右顶格加上下居中 */
+.flex-between-center {
+	display: flex;
+	justify-content: space-between;
+	align-items: center;
+}
+
+/* flex布局-整体居中 */
+.flex-center {
+	display: flex;
+	align-items: center;
+	justify-content: center;
+}
+
+.flex-start {
+	display: flex;
+	align-items: center;
+	justify-content: flex-start;
+}
+
+/*文字对齐*/
+.text-left {
+	text-align: left !important;
+}
+
+.text-center {
+	text-align: center !important;
+}
+
+.text-justify {
+	text-align: justify !important;
+}
+
+.text-right {
+	text-align: right !important;
+}
+
+.text-default {
+	color: #212121 !important;
+}
+
+.text-white {
+	color: #ffffff !important;
+}
+
+.text-primary {
+	color: #00bcd4 !important;
+}
+
+.text-success {
+	color: #009688 !important;
+}
+
+.text-info {
+	color: #03a9f4 !important;
+}
+
+.text-warning {
+	color: #ffc107 !important;
+}
+
+.text-danger {
+	color: #e51c23 !important;
+}
+
+.text-pink {
+	color: #e91e63 !important;
+}
+
+.text-purple {
+	color: #673ab7 !important;
+}
+
+.text-indigo {
+	color: #3f51b5 !important;
+}
+
+.text-gray {
+	color: #999999 !important;
+}
+
+.bg-default {
+	background-color: #f5f5f5 !important;
+}
+
+.bg-primary {
+	background-color: #00bcd4 !important;
+}
+
+.bg-success {
+	background-color: #009688 !important;
+}
+
+.bg-info {
+	background-color: #03a9f4 !important;
+}
+
+.bg-warning {
+	background-color: #FFB238 !important;
+}
+
+.bg-danger {
+	background-color: #DC4D46 !important;
+}
+
+.bg-pink {
+	background-color: #e91e63 !important;
+}
+
+.bg-purple {
+	background-color: #673ab7 !important;
+}
+
+.bg-indigo {
+	background-color: #3f51b5 !important;
+}
+
+.bg-white {
+	background-color: white !important;
+}
+
+.bg-gray {
+	background-color: #e3e3e3 !important;
+}
+
+/* 边框 */
+.border-radius-15 {
+	border-radius: 15rpx;
+}
+
+.border-radius-10 {
+	border-radius: 10rpx;
+}
+
+.border-radius-all {
+	border-radius: 1000rpx;
+}
+
+/* 底部边线 */
+.borde-b {
+	border-bottom: 1px solid #dddddd;
+}
+
+/* 弹性盒子 */
+.flex {
+	display: flex;
+	align-items: center;
+	justify-content: space-between;
+}
+
+.items-left {
+	justify-content: flex-start;
+}
+
+.items-right {
+	justify-content: flex-end;
+}
+
+.flex-shrink-false {
+	flex-shrink: 0;
+}
+
+.flex-grow-true {
+	flex-grow: 1;
+}
+
+.position-relative {
+	position: relative;
 }

+ 53 - 0
static/css/flex.css

@@ -0,0 +1,53 @@
+/* flex 布局 */
+.f-d-c {
+	flex-direction: column;
+}
+
+.f-j-c {
+	justify-content: center;
+}
+
+.f-j-s {
+	justify-content: flex-start;
+}
+
+.f-j-e {
+	justify-content: flex-end;
+}
+
+.f-j-sa {
+	justify-content: space-around;
+}
+
+.f-j-sb {
+	justify-content: space-between;
+}
+
+.f-ai-c {
+	align-items: center;
+}
+
+.f-ai-s {
+	align-items: flex-start;
+}
+
+.f-ai-e {
+	align-items: flex-end;
+}
+
+.fg1 {
+	flex-grow: 1;
+}
+
+.fs0 {
+	flex-shrink: 0;
+}
+
+/* 相对定位&绝对定位 */
+.p-r {
+	position: relative;
+}
+
+.p-a {
+	position: absolute;
+}

+ 36 - 0
static/css/padding.css

@@ -0,0 +1,36 @@
+/* padding */
+.pl10 {
+	padding-left: 10rpx;
+}
+
+.pt10 {
+	padding-top: 10rpx;
+}
+
+.pt15 {
+	padding-top: 15rpx;
+}
+
+.pl15 {
+	padding-left: 15rpx;
+}
+
+.pt20 {
+	padding-top: 20rpx;
+}
+
+.pl20 {
+	padding-left: 20rpx;
+}
+
+.pr10 {
+	padding-right: 10rpx;
+}
+
+.pr15 {
+	padding-right: 15rpx;
+}
+
+.pr20 {
+	padding-right: 20rpx;
+}

BIN
static/icon/call.png


BIN
static/icon/colse.png


BIN
static/icon/dh.png


BIN
static/icon/dw.png


BIN
static/icon/g-l.png


BIN
static/icon/sc01.png


BIN
static/icon/sc010.png


BIN
static/icon/sc02.png


BIN
static/icon/sc03.png


BIN
static/icon/sc04.png


BIN
static/icon/sc05.png


BIN
static/icon/sc06.png


BIN
static/icon/sc07.png


BIN
static/icon/sc08.png


BIN
static/icon/sc09.png


BIN
static/icon/shop-logo.png


BIN
static/icon/shoucang.png


BIN
static/icon/u-v.png


BIN
static/img/back.png


BIN
static/img/my-bg.png


BIN
static/img/sign-popup.png


BIN
static/img/store2.png


BIN
static/img/store3.png


BIN
static/img/yhq-w.png


BIN
static/tabBar/order-action.png


BIN
static/tabBar/order.png


BIN
static/tabBar/tab-pink-current.png


BIN
static/tabBar/tab-pink.png


BIN
static/user/erweima.png


BIN
static/user/mybank.png


BIN
static/user/shenqing.png


BIN
static/user/user1.png


BIN
static/user/user10.png


BIN
static/user/user11.png


BIN
static/user/user12.png


BIN
static/user/user13.png


BIN
static/user/user2.png


BIN
static/user/user3.png


BIN
static/user/user4.png


BIN
static/user/user5.png


BIN
static/user/user6.png


BIN
static/user/user7.png


BIN
static/user/user8.png


BIN
static/user/user9.png


BIN
static/user/wx.png


BIN
static/user/zfb.png


+ 48 - 48
store/index.js

@@ -1,49 +1,49 @@
-import Vue from 'vue'
-import Vuex from 'vuex'
-import user from './model/user'
-//引入axios模块(先下载`axios`--)
-// import axios from 'axios'
-import axios from 'axios'
-//将axios挂载在vue原型链上
-// Vue.prototype.$axios = axios;
-Vue.prototype.$axios =axios
-Vue.use(Vuex)
-
-const store = new Vuex.Store({
-	state: {
-		// baseURL:"http://yrh.liuniu946.com",//'http://eb.shuibo.net',//请求地址配置 
-		baseURL:'https://hy.liuniu946.com',//请求地址配置 
-		// baseURL:'http://lnpt.frp.liuniu946.com/',//请求地址配置 
-		urlFile:'/index',//项目部署所在文件夹
-		userInfo: {}, //登录信息
-		loginInterceptor:false,//是否打开强制登录
-		// #ifdef H5 || MP-WEIXIN
-		weichatInfo:{},//保存微信注册信息
-		weichatObj:'',//微信对象
-		// #endif
-		latitude: '',
-		longitude: '',
-	},
-	mutations: {
-		//保存微信信息
-		setWeiChatInfo(state, provider) {
-			state.weichatInfo = provider;
-		},
-		//保存微信对象
-		setWeiChatObj(state, provider) {
-			state.weichatObj = provider;
-		},
-		setLat(state, provider) {
-			state.latitude = provider
-		},
-		setLon(state, provider) {
-			state.longitude = provider
-		},
-	},
-	modules:{
-		user
-	},
-	actions: {}
-})
-
+import Vue from 'vue'
+import Vuex from 'vuex'
+import user from './model/user'
+//引入axios模块(先下载`axios`--)
+// import axios from 'axios'
+import axios from 'axios'
+//将axios挂载在vue原型链上
+// Vue.prototype.$axios = axios;
+Vue.prototype.$axios = axios
+Vue.use(Vuex)
+
+const store = new Vuex.Store({
+	state: {
+		// baseURL:"http://yrh.liuniu946.com",//'http://eb.shuibo.net',//请求地址配置 
+		baseURL: 'http://xxl.liuniu946.com', //请求地址配置 
+		// baseURL:'http://lnpt.frp.liuniu946.com/',//请求地址配置 
+		urlFile: '/index', //项目部署所在文件夹
+		userInfo: {}, //登录信息
+		loginInterceptor: false, //是否打开强制登录
+		// #ifdef H5 || MP-WEIXIN
+		weichatInfo: {}, //保存微信注册信息
+		weichatObj: '', //微信对象
+		// #endif
+		latitude: '',
+		longitude: '',
+	},
+	mutations: {
+		//保存微信信息
+		setWeiChatInfo(state, provider) {
+			state.weichatInfo = provider;
+		},
+		//保存微信对象
+		setWeiChatObj(state, provider) {
+			state.weichatObj = provider;
+		},
+		setLat(state, provider) {
+			state.latitude = provider
+		},
+		setLon(state, provider) {
+			state.longitude = provider
+		},
+	},
+	modules: {
+		user
+	},
+	actions: {}
+})
+
 export default store

BIN
unpackage/dist/build/h5/h5.rar


+ 2 - 2
unpackage/dist/build/h5/index.html

@@ -1,2 +1,2 @@
-<!DOCTYPE html><html lang=zh-CN><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><title>玲卿+</title><script>var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))
-            document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/index/static/index.a5c69d49.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/index/static/js/chunk-vendors.4423469e.js></script><script src=/index/static/js/index.4b78ea65.js></script></body></html>
+<!DOCTYPE html><html lang=zh-CN><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><title>想亮商城</title><script>var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))
+            document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/index/static/index.a5c69d49.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/index/static/js/chunk-vendors.8d82caf1.js></script><script src=/index/static/js/index.4eb3263b.js></script></body></html>

+ 555 - 550
unpackage/dist/build/h5/static/css/cmy.css

@@ -1,551 +1,556 @@
-/*初始化类*/
-@font-face {
-	font-family: 'iconfont';
-	/* project id 1482221 */
-	src: url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.eot');
-	src: url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.eot?#iefix') format('embedded-opentype'),
-		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.woff2') format('woff2'),
-		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.woff') format('woff'),
-		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.ttf') format('truetype'),
-		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.svg#iconfont') format('svg');
-}
-
-.acea-row {
-	display: -webkit-box;
-	display: -moz-box;
-	display: -webkit-flex;
-	display: -ms-flexbox;
-	display: flex;
-	-webkit-box-lines: multiple;
-	-moz-box-lines: multiple;
-	-o-box-lines: multiple;
-	-webkit-flex-wrap: wrap;
-	-ms-flex-wrap: wrap;
-	flex-wrap: wrap
-}
-
-.acea-row.row-middle {
-	-webkit-box-align: center;
-	-moz-box-align: center;
-	-o-box-align: center;
-	-ms-flex-align: center;
-	-webkit-align-items: center;
-	align-items: center
-}
-
-.bg-color-red {
-	background-color: #e93323 !important;
-}
-
-.acea-row.row-right {
-	-webkit-box-pack: end;
-	-moz-box-pack: end;
-	-o-box-pack: end;
-	-ms-flex-pack: end;
-	-webkit-justify-content: flex-end;
-	justify-content: flex-end
-}
-
-.acea-row.row-between-wrapper {
-	-webkit-box-align: center;
-	-moz-box-align: center;
-	-o-box-align: center;
-	-ms-flex-align: center;
-	-webkit-align-items: center;
-	align-items: center;
-	-webkit-box-pack: justify;
-	-moz-box-pack: justify;
-	-o-box-pack: justify;
-	-ms-flex-pack: justify;
-	-webkit-justify-content: space-between;
-	justify-content: space-between
-}
-
-.acea-row.row-column-around {
-	-webkit-flex-direction: column;
-	-ms-flex-direction: column;
-	flex-direction: column;
-	justify-content: space-around;
-	-webkit-justify-content: space-around
-}
-
-.acea-row.row-center-wrapper {
-	-webkit-box-align: center;
-	-moz-box-align: center;
-	-o-box-align: center;
-	-ms-flex-align: center;
-	-webkit-align-items: center;
-	align-items: center;
-	-webkit-box-pack: center;
-	-moz-box-pack: center;
-	-o-box-pack: center;
-	-ms-flex-pack: center;
-	-webkit-justify-content: center;
-	justify-content: center
-}
-
-.iconfont {
-	font-family: "iconfont" !important;
-	font-size: 34rpx;
-	font-style: normal;
-	-webkit-font-smoothing: antialiased;
-	-webkit-text-stroke-width: 0rpx;
-	-moz-osx-font-smoothing: grayscale;
-}
-
-.iconedit:before {
-	content: "\e649";
-}
-
-.iconfavorfill:before {
-	content: "\e64b";
-}
-
-.iconfavor:before {
-	content: "\e64c";
-}
-
-.iconlocation:before {
-	content: "\e651";
-}
-
-.iconroundcheckfill:before {
-	content: "\e656";
-}
-
-.iconroundcheck:before {
-	content: "\e657";
-}
-
-.iconunfold:before {
-	content: "\e661";
-}
-
-.iconlikefill:before {
-	content: "\e668";
-}
-
-.iconlike:before {
-	content: "\e669";
-}
-
-.iconshop:before {
-	content: "\e676";
-}
-
-.iconcart:before {
-	content: "\e6af";
-}
-
-.icondelete:before {
-	content: "\e6b4";
-}
-
-.iconhome:before {
-	content: "\e6b8";
-}
-
-.iconcartfill:before {
-	content: "\e6b9";
-}
-
-.iconhomefill:before {
-	content: "\e6bb";
-}
-
-.iconlock:before {
-	content: "\e6c0";
-}
-
-.iconfriendadd:before {
-	content: "\e6ca";
-}
-
-.iconfold:before {
-	content: "\e6de";
-}
-
-.iconapps:before {
-	content: "\e729";
-}
-
-.iconadd:before {
-	content: "\e767";
-}
-
-.iconmove:before {
-	content: "\e768";
-}
-
-.icontriangledownfill:before {
-	content: "\e79b";
-}
-
-.icontriangleupfill:before {
-	content: "\e79c";
-}
-
-.iconshaixuan:before {
-	content: "\e74a";
-}
-
-.iconyanzhengma:before {
-	content: "\e684";
-}
-
-.iconjifen:before {
-	content: "\e60f";
-}
-
-.iconwuliuxinxi:before {
-	content: "\e62b";
-}
-
-.iconmessage:before {
-	content: "\e78a";
-}
-
-.iconsetting:before {
-	content: "\e78e";
-}
-
-.iconaddition:before {
-	content: "\e6e0";
-}
-
-.iconclose:before {
-	content: "\e6e9";
-}
-
-.iconenter:after {
-	content: "\e6f8";
-}
-
-.iconprompt:before {
-	content: "\e71b";
-}
-
-.iconreturn:before {
-	content: "\e720";
-}
-
-.iconsearch:before {
-	content: "\e741";
-}
-
-.iconpengyouquan:before {
-	content: "\e62c";
-}
-
-.iconweixin:before {
-	content: "\e60e";
-}
-
-.iconzhifubao:before {
-	content: "\e673";
-}
-
-.iconyue:before {
-	content: "\e618";
-}
-
-.iconweixin1:before {
-	content: "\e622";
-}
-
-.iconlock1:before {
-	content: "\e64d";
-}
-
-.iconuser:before {
-	content: "\e64e";
-}
-
-.iconchenggongtixianshouyi:before {
-	content: "\e64f";
-}
-
-.iconviptuiguangdingdan:before {
-	content: "\e650";
-}
-
-.icondaifukuan:before {
-	content: "\e652";
-}
-
-.icondaijiesuanshouyi:before {
-	content: "\e653";
-}
-
-.icondaidakuanshouyi:before {
-	content: "\e654";
-}
-
-.icondaifahuo:before {
-	content: "\e655";
-}
-
-.icondaishouhuoshouyi:before {
-	content: "\e658";
-}
-
-.icondaishouhuo:before {
-	content: "\e659";
-}
-
-.iconwuxiaoshouyi:before {
-	content: "\e65a";
-}
-
-.icontixianmingxi:before {
-	content: "\e65b";
-}
-
-.iconshouyi:before {
-	content: "\e65c";
-}
-
-.iconkouchutixianshouxufei:before {
-	content: "\e65d";
-}
-
-.iconyishenqingshouyi:before {
-	content: "\e65e";
-}
-
-.icontuihuanhuo:before {
-	content: "\e65f";
-}
-
-
-/*水平线*/
-.hr {
-	width: 100%;
-	position: relative;
-	border-bottom: 1px solid #dddddd;
-	/* height: 0.5rpx; */
-}
-
-/* 一行显示 */
-.clamp {
-	overflow: hidden;
-	text-overflow: ellipsis;
-	white-space: nowrap;
-	display: block;
-}
-
-/* 二行显示 */
-.clamp2 {
-	overflow: hidden;
-	text-overflow: ellipsis;
-	display: -webkit-box;
-	-webkit-line-clamp: 2;
-	-webkit-box-orient: vertical;
-}
-
-/* 二行显示 */
-.ellipsis {
-	overflow: hidden;
-	text-overflow: ellipsis;
-	display: -webkit-box;
-	-webkit-box-orient: vertical;
-	-webkit-line-clamp: 2;
-}
-
-.common-hover {
-	background: #f5f5f5;
-}
-
-/* 角标 */
-.corner {
-	background-color: #e51c23;
-	position: absolute;
-	right: -18rpx;
-	top: -18rpx;
-	color: #FFFFFF;
-	text-align: center;
-	border-radius: 999px;
-	font-size: 24rpx !important;
-	min-width: 35rpx;
-	min-height: 35rpx;
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	line-height: 1;
-}
-
-.flex_item {
-	display: flex;
-	align-items: center;
-	/* justify-content: space-between; */
-}
-
-/* 左右顶格加上下居中 */
-.flex-between-center {
-	display: flex;
-	justify-content: space-between;
-	align-items: center;
-}
-
-/* flex布局-整体居中 */
-.flex-center {
-	display: flex;
-	align-items: center;
-	justify-content: center;
-}
-
-.flex-start {
-	display: flex;
-	align-items: center;
-	justify-content: flex-start;
-}
-
-/*文字对齐*/
-.text-left {
-	text-align: left !important;
-}
-
-.text-center {
-	text-align: center !important;
-}
-
-.text-justify {
-	text-align: justify !important;
-}
-
-.text-right {
-	text-align: right !important;
-}
-
-.text-default {
-	color: #212121 !important;
-}
-
-.text-white {
-	color: #ffffff !important;
-}
-
-.text-primary {
-	color: #00bcd4 !important;
-}
-
-.text-success {
-	color: #009688 !important;
-}
-
-.text-info {
-	color: #03a9f4 !important;
-}
-
-.text-warning {
-	color: #ffc107 !important;
-}
-
-.text-danger {
-	color: #e51c23 !important;
-}
-
-.text-pink {
-	color: #e91e63 !important;
-}
-
-.text-purple {
-	color: #673ab7 !important;
-}
-
-.text-indigo {
-	color: #3f51b5 !important;
-}
-
-.text-gray {
-	color: #999999 !important;
-}
-
-.bg-default {
-	background-color: #f5f5f5 !important;
-}
-
-.bg-primary {
-	background-color: #00bcd4 !important;
-}
-
-.bg-success {
-	background-color: #009688 !important;
-}
-
-.bg-info {
-	background-color: #03a9f4 !important;
-}
-
-.bg-warning {
-	background-color: #FFB238 !important;
-}
-
-.bg-danger {
-	background-color: #DC4D46 !important;
-}
-
-.bg-pink {
-	background-color: #e91e63 !important;
-}
-
-.bg-purple {
-	background-color: #673ab7 !important;
-}
-
-.bg-indigo {
-	background-color: #3f51b5 !important;
-}
-
-.bg-white {
-	background-color: white !important;
-}
-
-.bg-gray {
-	background-color: #e3e3e3 !important;
-}
-
-/* 边框 */
-.border-radius-15 {
-	border-radius: 15rpx;
-}
-
-.border-radius-10 {
-	border-radius: 10rpx;
-}
-
-.border-radius-all {
-	border-radius: 1000rpx;
-}
-
-/* 底部边线 */
-.borde-b {
-	border-bottom: 1px solid #dddddd;
-}
-
-/* 弹性盒子 */
-.flex {
-	display: flex;
-	align-items: center;
-	justify-content: space-between;
-}
-
-.items-left {
-	justify-content: flex-start;
-}
-
-.items-right {
-	justify-content: flex-end;
-}
-
-.flex-shrink-false {
-	flex-shrink: 0;
-}
-
-.flex-grow-true {
-	flex-grow: 1;
-}
-
-.position-relative {
-	position: relative;
+/*初始化类*/
+@font-face {
+	font-family: 'iconfont';
+	/* project id 1482221 */
+	src: url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.eot');
+	src: url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.eot?#iefix') format('embedded-opentype'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.woff2') format('woff2'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.woff') format('woff'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.ttf') format('truetype'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.svg#iconfont') format('svg');
+}
+
+.acea-row {
+	display: -webkit-box;
+	display: -moz-box;
+	display: -webkit-flex;
+	display: -ms-flexbox;
+	display: flex;
+	-webkit-box-lines: multiple;
+	-moz-box-lines: multiple;
+	-o-box-lines: multiple;
+	-webkit-flex-wrap: wrap;
+	-ms-flex-wrap: wrap;
+	flex-wrap: wrap
+}
+
+.acea-row.row-middle {
+	-webkit-box-align: center;
+	-moz-box-align: center;
+	-o-box-align: center;
+	-ms-flex-align: center;
+	-webkit-align-items: center;
+	align-items: center
+}
+
+.bg-color-red {
+	background-color: #e93323 !important;
+}
+
+.acea-row.row-right {
+	-webkit-box-pack: end;
+	-moz-box-pack: end;
+	-o-box-pack: end;
+	-ms-flex-pack: end;
+	-webkit-justify-content: flex-end;
+	justify-content: flex-end
+}
+
+.acea-row.row-between-wrapper {
+	-webkit-box-align: center;
+	-moz-box-align: center;
+	-o-box-align: center;
+	-ms-flex-align: center;
+	-webkit-align-items: center;
+	align-items: center;
+	-webkit-box-pack: justify;
+	-moz-box-pack: justify;
+	-o-box-pack: justify;
+	-ms-flex-pack: justify;
+	-webkit-justify-content: space-between;
+	justify-content: space-between
+}
+
+.acea-row.row-column-around {
+	-webkit-flex-direction: column;
+	-ms-flex-direction: column;
+	flex-direction: column;
+	justify-content: space-around;
+	-webkit-justify-content: space-around
+}
+
+.acea-row.row-center-wrapper {
+	-webkit-box-align: center;
+	-moz-box-align: center;
+	-o-box-align: center;
+	-ms-flex-align: center;
+	-webkit-align-items: center;
+	align-items: center;
+	-webkit-box-pack: center;
+	-moz-box-pack: center;
+	-o-box-pack: center;
+	-ms-flex-pack: center;
+	-webkit-justify-content: center;
+	justify-content: center
+}
+
+.iconfont {
+	font-family: "iconfont" !important;
+	font-size: 34rpx;
+	font-style: normal;
+	-webkit-font-smoothing: antialiased;
+	-webkit-text-stroke-width: 0rpx;
+	-moz-osx-font-smoothing: grayscale;
+}
+
+.iconedit:before {
+	content: "\e649";
+}
+
+.iconfavorfill:before {
+	content: "\e64b";
+}
+
+.iconfavor:before {
+	content: "\e64c";
+}
+
+.iconlocation:before {
+	content: "\e651";
+}
+
+.iconroundcheckfill:before {
+	content: "\e656";
+}
+
+.iconroundcheck:before {
+	content: "\e657";
+}
+
+.iconunfold:before {
+	content: "\e661";
+}
+
+.iconlikefill:before {
+	content: "\e668";
+}
+
+.iconlike:before {
+	content: "\e669";
+}
+
+.iconshop:before {
+	content: "\e676";
+}
+
+.iconcart:before {
+	content: "\e6af";
+}
+
+.icondelete:before {
+	content: "\e6b4";
+}
+
+.iconhome:before {
+	content: "\e6b8";
+}
+
+.iconcartfill:before {
+	content: "\e6b9";
+}
+
+.iconhomefill:before {
+	content: "\e6bb";
+}
+
+.iconlock:before {
+	content: "\e6c0";
+}
+
+.iconfriendadd:before {
+	content: "\e6ca";
+}
+
+.iconfold:before {
+	content: "\e6de";
+}
+
+.iconapps:before {
+	content: "\e729";
+}
+
+.iconadd:before {
+	content: "\e767";
+}
+
+.iconaddred:before {
+	content: "\e767";
+	color: #F35B64;
+}
+
+.iconmove:before {
+	content: "\e768";
+}
+
+.icontriangledownfill:before {
+	content: "\e79b";
+}
+
+.icontriangleupfill:before {
+	content: "\e79c";
+}
+
+.iconshaixuan:before {
+	content: "\e74a";
+}
+
+.iconyanzhengma:before {
+	content: "\e684";
+}
+
+.iconjifen:before {
+	content: "\e60f";
+}
+
+.iconwuliuxinxi:before {
+	content: "\e62b";
+}
+
+.iconmessage:before {
+	content: "\e78a";
+}
+
+.iconsetting:before {
+	content: "\e78e";
+}
+
+.iconaddition:before {
+	content: "\e6e0";
+}
+
+.iconclose:before {
+	content: "\e6e9";
+}
+
+.iconenter:after {
+	content: "\e6f8";
+}
+
+.iconprompt:before {
+	content: "\e71b";
+}
+
+.iconreturn:before {
+	content: "\e720";
+}
+
+.iconsearch:before {
+	content: "\e741";
+}
+
+.iconpengyouquan:before {
+	content: "\e62c";
+}
+
+.iconweixin:before {
+	content: "\e60e";
+}
+
+.iconzhifubao:before {
+	content: "\e673";
+}
+
+.iconyue:before {
+	content: "\e618";
+}
+
+.iconweixin1:before {
+	content: "\e622";
+}
+
+.iconlock1:before {
+	content: "\e64d";
+}
+
+.iconuser:before {
+	content: "\e64e";
+}
+
+.iconchenggongtixianshouyi:before {
+	content: "\e64f";
+}
+
+.iconviptuiguangdingdan:before {
+	content: "\e650";
+}
+
+.icondaifukuan:before {
+	content: "\e652";
+}
+
+.icondaijiesuanshouyi:before {
+	content: "\e653";
+}
+
+.icondaidakuanshouyi:before {
+	content: "\e654";
+}
+
+.icondaifahuo:before {
+	content: "\e655";
+}
+
+.icondaishouhuoshouyi:before {
+	content: "\e658";
+}
+
+.icondaishouhuo:before {
+	content: "\e659";
+}
+
+.iconwuxiaoshouyi:before {
+	content: "\e65a";
+}
+
+.icontixianmingxi:before {
+	content: "\e65b";
+}
+
+.iconshouyi:before {
+	content: "\e65c";
+}
+
+.iconkouchutixianshouxufei:before {
+	content: "\e65d";
+}
+
+.iconyishenqingshouyi:before {
+	content: "\e65e";
+}
+
+.icontuihuanhuo:before {
+	content: "\e65f";
+}
+
+
+/*水平线*/
+.hr {
+	width: 100%;
+	position: relative;
+	border-bottom: 1px solid #dddddd;
+	/* height: 0.5rpx; */
+}
+
+/* 一行显示 */
+.clamp {
+	overflow: hidden;
+	text-overflow: ellipsis;
+	white-space: nowrap;
+	display: block;
+}
+
+/* 二行显示 */
+.clamp2 {
+	overflow: hidden;
+	text-overflow: ellipsis;
+	display: -webkit-box;
+	-webkit-line-clamp: 2;
+	-webkit-box-orient: vertical;
+}
+
+/* 二行显示 */
+.ellipsis {
+	overflow: hidden;
+	text-overflow: ellipsis;
+	display: -webkit-box;
+	-webkit-box-orient: vertical;
+	-webkit-line-clamp: 2;
+}
+
+.common-hover {
+	background: #f5f5f5;
+}
+
+/* 角标 */
+.corner {
+	background-color: #e51c23;
+	position: absolute;
+	right: -18rpx;
+	top: -18rpx;
+	color: #FFFFFF;
+	text-align: center;
+	border-radius: 999px;
+	font-size: 24rpx !important;
+	min-width: 35rpx;
+	min-height: 35rpx;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	line-height: 1;
+}
+
+.flex_item {
+	display: flex;
+	align-items: center;
+	/* justify-content: space-between; */
+}
+
+/* 左右顶格加上下居中 */
+.flex-between-center {
+	display: flex;
+	justify-content: space-between;
+	align-items: center;
+}
+
+/* flex布局-整体居中 */
+.flex-center {
+	display: flex;
+	align-items: center;
+	justify-content: center;
+}
+
+.flex-start {
+	display: flex;
+	align-items: center;
+	justify-content: flex-start;
+}
+
+/*文字对齐*/
+.text-left {
+	text-align: left !important;
+}
+
+.text-center {
+	text-align: center !important;
+}
+
+.text-justify {
+	text-align: justify !important;
+}
+
+.text-right {
+	text-align: right !important;
+}
+
+.text-default {
+	color: #212121 !important;
+}
+
+.text-white {
+	color: #ffffff !important;
+}
+
+.text-primary {
+	color: #00bcd4 !important;
+}
+
+.text-success {
+	color: #009688 !important;
+}
+
+.text-info {
+	color: #03a9f4 !important;
+}
+
+.text-warning {
+	color: #ffc107 !important;
+}
+
+.text-danger {
+	color: #e51c23 !important;
+}
+
+.text-pink {
+	color: #e91e63 !important;
+}
+
+.text-purple {
+	color: #673ab7 !important;
+}
+
+.text-indigo {
+	color: #3f51b5 !important;
+}
+
+.text-gray {
+	color: #999999 !important;
+}
+
+.bg-default {
+	background-color: #f5f5f5 !important;
+}
+
+.bg-primary {
+	background-color: #00bcd4 !important;
+}
+
+.bg-success {
+	background-color: #009688 !important;
+}
+
+.bg-info {
+	background-color: #03a9f4 !important;
+}
+
+.bg-warning {
+	background-color: #FFB238 !important;
+}
+
+.bg-danger {
+	background-color: #DC4D46 !important;
+}
+
+.bg-pink {
+	background-color: #e91e63 !important;
+}
+
+.bg-purple {
+	background-color: #673ab7 !important;
+}
+
+.bg-indigo {
+	background-color: #3f51b5 !important;
+}
+
+.bg-white {
+	background-color: white !important;
+}
+
+.bg-gray {
+	background-color: #e3e3e3 !important;
+}
+
+/* 边框 */
+.border-radius-15 {
+	border-radius: 15rpx;
+}
+
+.border-radius-10 {
+	border-radius: 10rpx;
+}
+
+.border-radius-all {
+	border-radius: 1000rpx;
+}
+
+/* 底部边线 */
+.borde-b {
+	border-bottom: 1px solid #dddddd;
+}
+
+/* 弹性盒子 */
+.flex {
+	display: flex;
+	align-items: center;
+	justify-content: space-between;
+}
+
+.items-left {
+	justify-content: flex-start;
+}
+
+.items-right {
+	justify-content: flex-end;
+}
+
+.flex-shrink-false {
+	flex-shrink: 0;
+}
+
+.flex-grow-true {
+	flex-grow: 1;
+}
+
+.position-relative {
+	position: relative;
 }

+ 53 - 0
unpackage/dist/build/h5/static/css/flex.css

@@ -0,0 +1,53 @@
+/* flex 布局 */
+.f-d-c {
+	flex-direction: column;
+}
+
+.f-j-c {
+	justify-content: center;
+}
+
+.f-j-s {
+	justify-content: flex-start;
+}
+
+.f-j-e {
+	justify-content: flex-end;
+}
+
+.f-j-sa {
+	justify-content: space-around;
+}
+
+.f-j-sb {
+	justify-content: space-between;
+}
+
+.f-ai-c {
+	align-items: center;
+}
+
+.f-ai-s {
+	align-items: flex-start;
+}
+
+.f-ai-e {
+	align-items: flex-end;
+}
+
+.fg1 {
+	flex-grow: 1;
+}
+
+.fs0 {
+	flex-shrink: 0;
+}
+
+/* 相对定位&绝对定位 */
+.p-r {
+	position: relative;
+}
+
+.p-a {
+	position: absolute;
+}

+ 36 - 0
unpackage/dist/build/h5/static/css/padding.css

@@ -0,0 +1,36 @@
+/* padding */
+.pl10 {
+	padding-left: 10rpx;
+}
+
+.pt10 {
+	padding-top: 10rpx;
+}
+
+.pt15 {
+	padding-top: 15rpx;
+}
+
+.pl15 {
+	padding-left: 15rpx;
+}
+
+.pt20 {
+	padding-top: 20rpx;
+}
+
+.pl20 {
+	padding-left: 20rpx;
+}
+
+.pr10 {
+	padding-right: 10rpx;
+}
+
+.pr15 {
+	padding-right: 15rpx;
+}
+
+.pr20 {
+	padding-right: 20rpx;
+}

BIN
unpackage/dist/build/h5/static/icon/call.png


BIN
unpackage/dist/build/h5/static/icon/colse.png


BIN
unpackage/dist/build/h5/static/icon/dh.png


BIN
unpackage/dist/build/h5/static/icon/dw.png


BIN
unpackage/dist/build/h5/static/icon/g-l.png


BIN
unpackage/dist/build/h5/static/icon/sc01.png


BIN
unpackage/dist/build/h5/static/icon/sc010.png


BIN
unpackage/dist/build/h5/static/icon/sc02.png


BIN
unpackage/dist/build/h5/static/icon/sc03.png


BIN
unpackage/dist/build/h5/static/icon/sc04.png


BIN
unpackage/dist/build/h5/static/icon/sc05.png


BIN
unpackage/dist/build/h5/static/icon/sc06.png


BIN
unpackage/dist/build/h5/static/icon/sc07.png


BIN
unpackage/dist/build/h5/static/icon/sc08.png


BIN
unpackage/dist/build/h5/static/icon/sc09.png


BIN
unpackage/dist/build/h5/static/icon/shop-logo.png


BIN
unpackage/dist/build/h5/static/icon/shoucang.png


BIN
unpackage/dist/build/h5/static/icon/u-v.png


BIN
unpackage/dist/build/h5/static/img/back.png


BIN
unpackage/dist/build/h5/static/img/call.94b30316.png


BIN
unpackage/dist/build/h5/static/img/dh.35663c8e.png


BIN
unpackage/dist/build/h5/static/img/missing-face.01b4ac4f.png


BIN
unpackage/dist/build/h5/static/img/my-bg.2649b7b0.png


BIN
unpackage/dist/build/h5/static/img/my-bg.png


برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است