lhl 2 سال پیش
والد
کامیت
d6cbd3b4a4
100فایلهای تغییر یافته به همراه1173 افزوده شده و 7944 حذف شده
  1. 9 0
      api/shop.js
  2. 7 2
      manifest.json
  3. 1 164
      pages.json
  4. 0 319
      pages/category/business.vue
  5. 0 216
      pages/category/category.vue
  6. 0 28
      pages/game/game.vue
  7. 233 205
      pages/index/index.vue
  8. 4 2
      pages/money/withdrawal.vue
  9. 6 6
      pages/order/createOrder.vue
  10. 631 614
      pages/order/order.vue
  11. 0 178
      pages/order/orderDetail.vue
  12. 0 204
      pages/product/classify.vue
  13. 0 386
      pages/product/groupBooking/detail.vue
  14. 0 236
      pages/product/groupBooking/index.vue
  15. 0 75
      pages/product/groupBooking/inviteImg.vue
  16. 0 2094
      pages/product/groupBooking/productCollage.vue
  17. 0 1008
      pages/product/groupBooking/productGroup.vue
  18. 0 621
      pages/product/list.vue
  19. 0 817
      pages/product/miaosha.vue
  20. 208 311
      pages/public/wxLogin.vue
  21. 2 2
      pages/shop/shopList.vue
  22. 57 20
      pages/user/award.vue
  23. 0 426
      pages/user/scoreAccumulate.vue
  24. 3 2
      pages/user/team.vue
  25. 10 4
      pages/user/user.vue
  26. BIN
      static/icon/good-gift.png
  27. BIN
      static/img/bargainBg.jpg
  28. BIN
      static/img/cash-bg.png
  29. BIN
      static/img/img009.png
  30. BIN
      static/img/img01.png
  31. BIN
      static/img/img06.png
  32. BIN
      static/img/img07.png
  33. BIN
      static/img/img09.png
  34. BIN
      static/img/img10.png
  35. BIN
      static/img/img14.jpg
  36. BIN
      static/img/index-fanl.png
  37. BIN
      static/img/libao-bg.png
  38. BIN
      static/img/logo.jpg
  39. BIN
      static/img/money-bg.png
  40. BIN
      static/img/money-ok.png
  41. BIN
      static/img/my-bg.png
  42. BIN
      static/img/mygx.png
  43. BIN
      static/img/myjf.png
  44. BIN
      static/img/myyue.png
  45. BIN
      static/img/promotion-bg.png
  46. BIN
      static/img/sign-popup.png
  47. BIN
      static/img/user-top-bg.png
  48. BIN
      static/img/vip-card-bg.png
  49. BIN
      static/img/yongjin-bg.png
  50. BIN
      static/index/index12.png
  51. BIN
      static/index/index13.png
  52. BIN
      static/sy/sy01.png
  53. BIN
      static/sy/sy02.png
  54. BIN
      static/sy/sy03.png
  55. BIN
      static/sy/sy04.png
  56. BIN
      static/sy/sy05.png
  57. BIN
      static/sy/sy06.png
  58. BIN
      static/sy/sy07.png
  59. BIN
      static/sy/sy08.png
  60. BIN
      static/sy/sy09.png
  61. BIN
      static/sy/sy10.png
  62. BIN
      static/sy/sy12.png
  63. BIN
      static/sy/sy13.png
  64. BIN
      static/sy/sy14.png
  65. BIN
      static/sy/sy15.png
  66. BIN
      static/sy/sy16.png
  67. BIN
      static/tabBar/dingdan.png
  68. BIN
      static/tabBar/home.png
  69. BIN
      static/user/erweima.png
  70. BIN
      static/user/shenqing.png
  71. BIN
      static/user/user-top.png
  72. BIN
      static/user/user06.png
  73. 1 3
      store/index.js
  74. 0 0
      unpackage/dist/build/.automator/mp-weixin/.automator.json
  75. BIN
      unpackage/dist/build/h5/5-13.rar
  76. BIN
      unpackage/dist/build/h5/5-18-2.rar
  77. 1 1
      unpackage/dist/build/h5/index.html
  78. BIN
      unpackage/dist/build/h5/static/icon/good-gift.png
  79. BIN
      unpackage/dist/build/h5/static/img/bargainBg.jpg
  80. BIN
      unpackage/dist/build/h5/static/img/cash-bg.png
  81. BIN
      unpackage/dist/build/h5/static/img/img009.609fc055.png
  82. BIN
      unpackage/dist/build/h5/static/img/img009.png
  83. BIN
      unpackage/dist/build/h5/static/img/img01.png
  84. BIN
      unpackage/dist/build/h5/static/img/img06.png
  85. BIN
      unpackage/dist/build/h5/static/img/img07.png
  86. BIN
      unpackage/dist/build/h5/static/img/img09.png
  87. BIN
      unpackage/dist/build/h5/static/img/img10.png
  88. BIN
      unpackage/dist/build/h5/static/img/img14.jpg
  89. BIN
      unpackage/dist/build/h5/static/img/index-fanl.png
  90. BIN
      unpackage/dist/build/h5/static/img/libao-bg.png
  91. BIN
      unpackage/dist/build/h5/static/img/logo.jpg
  92. BIN
      unpackage/dist/build/h5/static/img/money-bg.77916655.png
  93. BIN
      unpackage/dist/build/h5/static/img/money-bg.png
  94. BIN
      unpackage/dist/build/h5/static/img/money-ok.f0e83996.png
  95. BIN
      unpackage/dist/build/h5/static/img/money-ok.png
  96. BIN
      unpackage/dist/build/h5/static/img/my-bg.2649b7b0.png
  97. BIN
      unpackage/dist/build/h5/static/img/my-bg.png
  98. BIN
      unpackage/dist/build/h5/static/img/mygx.png
  99. BIN
      unpackage/dist/build/h5/static/img/myjf.6b34f1a7.png
  100. BIN
      unpackage/dist/build/h5/static/img/myjf.png

+ 9 - 0
api/shop.js

@@ -42,4 +42,13 @@ export function getGift(data) {
 		method: 'post',
 		data
 	})
+}
+
+// 地址逆解析/api/address
+export function getCity(data) {
+	return request({
+		url: '/api/address',
+		method: 'get',
+		data
+	})
 }

+ 7 - 2
manifest.json

@@ -1,5 +1,5 @@
 {
-    "name" : "玲卿+",
+    "name" : "想亮",
     "appid" : "__UNI__F0EBD91",
     "description" : "",
     "versionName" : "1.0.0",
@@ -90,9 +90,14 @@
     "mp-weixin" : {
         /* 小程序特有相关 */
         "usingComponents" : true,
-        "appid" : "",
+        "appid" : "wx22f8b18bbd2b2ef2",
         "setting" : {
             "urlCheck" : true
+        },
+        "permission" : {
+            "scope.userLocation" : {
+                "desc" : "需要根据你的定位来给你推送最近的门店"
+            }
         }
     },
     "h5" : {

+ 1 - 164
pages.json

@@ -11,15 +11,6 @@
 				}
 			}
 		},
-		{
-			"path": "pages/index/sign",
-			"style": {
-				"navigationBarTitleText": "天天领现金",
-				"app-plus": {
-					"titleNView": false
-				}
-			}
-		},
 		{
 			"path": "pages/shoping/list",
 			"style": {
@@ -27,13 +18,6 @@
 
 			}
 		},
-		{
-			"path": "pages/shop/joinshop",
-			"style": {
-				"navigationBarTitleText": "商家入驻"
-
-			}
-		},
 		{
 			"path": "pages/shop/shopList",
 			"style": {
@@ -144,12 +128,6 @@
 				}
 			}
 		},
-		{
-			"path": "pages/user/jiedian",
-			"style": {
-				"navigationBarTitleText": "我的节点"
-			}
-		},
 		{
 			"path": "pages/user/team",
 			"style": {
@@ -168,55 +146,6 @@
 				"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/reply",
 			"style": {
@@ -239,19 +168,6 @@
 				}
 			}
 		},
-		{
-			"path": "pages/product/seckill",
-			"style": {
-				"navigationBarTitleText": "限时秒杀"
-			}
-		},
-		{
-			"path": "pages/product/list",
-			"style": {
-				"enablePullDownRefresh": true,
-				"navigationBarTitleText": "商品列表"
-			}
-		},
 		{
 			"path": "pages/product/search",
 			"style": {
@@ -283,17 +199,6 @@
 				"navigationBarTitleText": "搜索"
 			}
 		},
-		{
-			"path": "pages/product/classify",
-			"style": {
-				"navigationStyle": "custom",
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				}
-			}
-		},
 		{
 			"path": "pages/set/set",
 			"style": {
@@ -335,13 +240,7 @@
 			"style": {
 				"navigationBarTitleText": "修改资料"
 			}
-		}, {
-			"path": "pages/cart/cart",
-			"style": {
-				"navigationBarTitleText": "购物车"
-			}
 		},
-
 		{
 			"path": "pages/user/user",
 			"style": {
@@ -383,12 +282,6 @@
 				"navigationBarTitleText": "我的卡卷"
 			}
 		},
-		{
-			"path": "pages/user/scoreAccumulate",
-			"style": {
-				"navigationBarTitleText": "积分明细"
-			}
-		},
 		{
 			"path": "pages/order/order",
 			"style": {
@@ -472,30 +365,6 @@
 				"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": {
@@ -505,31 +374,11 @@
 				}
 			}
 		},
-		{
-			"path": "pages/category/business",
-			"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": {
@@ -544,7 +393,7 @@
 		"navigationStyle": "custom",
 		//#endif
 		"navigationBarTextStyle": "black",
-		"navigationBarTitleText": "玲卿+",
+		"navigationBarTitleText": "想亮",
 		"navigationBarBackgroundColor": "#FFFFFF",
 		"backgroundColor": "#f8f8f8"
 
@@ -560,18 +409,6 @@
 				"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",

+ 0 - 319
pages/category/business.vue

@@ -1,319 +0,0 @@
-<template>
-	<view class="center">
-		<!-- <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> -->
-		<!-- <view class="jg" style="height: 180rpx;">
-			
-		</view>
-		<view class="shop">
-			<view class="shop-main flex" v-for="(item, index) in 100" :key="index">
-				<image class="main-left" src="../../static/index/index13.png" mode=""></image>
-				<view class="main-right flex">
-					<view class="shopm-info">
-						<view class="shopm-title">
-							<view class="shopmt-font clamp">李家烤肉11111111111111111111111111111111111111111111</view>
-							<view class="shopmt-good">荐</view>
-						</view>
-						<view class="address">椒江区市府大道200号</view>
-						<view class="shopmt-tip">消费最高可得10%积分</view>
-					</view>
-					<view class="right">
-						<view class="mright-top">
-							<image class="mrt-image" src="../../static/index/index10.png" mode=""></image>
-							<view class="mrt-font">距离0.3KM</view>
-						</view>
-						<view class="mright-bottom">
-							<image class="mrb-item" src="../../static/index/index14.png" mode=""></image>
-							<image class="mrb-item" src="../../static/index/index11.png" mode=""></image>
-						</view>
-					</view>
-				</view>
-			</view>
-		</view> -->
-		<view class="kong">
-			<u-empty mode="data" text="敬请期待"></u-empty>
-		</view>
-		<!-- <u-tabbar activeColor="#EE0979" v-model="current" :list="tabbar" :mid-button="true"></u-tabbar> -->
-	</view>
-</template>
-
-<script>
-	import {
-		tabbar
-	} from '@/utils/tabbar.js';
-	export default {
-		data() {
-			return {
-				tabbar: tabbar,
-				current: 1
-			};
-		},
-	};
-</script>
-
-<style lang="less">
-	.kong {
-		height: 100vh;
-	}
-	.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: 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;
-						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;
-						}
-					}
-				}
-			}
-		}
-	}
-</style>

+ 0 - 216
pages/category/category.vue

@@ -1,216 +0,0 @@
-<template>
-	<view class="content">
-		<scroll-view scroll-y class="left-aside">
-			<view v-for="item in flist" :key="item.id" class="f-item b-b" :class="{ active: item.id === currentId }" @click="tabtap(item)">{{ item.cate_name }}</view>
-		</scroll-view>
-		<scroll-view scroll-with-animation scroll-y class="right-aside" @scroll="asideScroll" :scroll-top="tabScrollTop">
-			<view v-for="item in flist" :key="item.id" class="s-list" :id="'main-' + item.id">
-				<text class="s-item">{{ item.cate_name }}</text>
-				<view class="t-list ">
-					<view @click="navToList(item.id, titem.id)" class="t-item" v-for="titem in item.children" :key="titem.id">
-						<image :src="titem.pic"></image>
-						<text>{{ titem.cate_name }}</text>
-					</view>
-				</view>
-			</view>
-		</scroll-view>
-	</view>
-</template>
-
-<script>
-import { getCategoryList } from '@/api/product.js';
-export default {
-	data() {
-		return {
-			sizeCalcState: false,
-			tabScrollTop: 0,
-			currentId: 9,
-			flist: [],
-		};
-	},
-	onLoad() {
-		this.loadData();
-	},
-	// 监听导航栏输入框点击事件
-	onNavigationBarSearchInputClicked(e) {
-		uni.navigateTo({
-			url: '/pages/product/search'
-		});
-	},
-	methods: {
-		// 载入数据
-		async loadData() {
-			let obj = this;
-			getCategoryList({})
-				.then(({ data }) => {
-					obj.flist = data.map(function(s) {
-						return s;
-					});
-				})
-				.catch(err => {
-					console.log(err);
-				});
-		},
-		//一级分类点击
-		tabtap(item) {
-			console.log(item);
-			// 判断有没有初始化页面高度对象数据
-			if (!this.sizeCalcState) {
-				this.calcSize();
-			}
-			// 获取当前点击的id
-			this.currentId = item.id;
-			console.log(item.top);
-			this.tabScrollTop = item.top;
-			console.log(this.tabScrollTop);
-		},
-		//右侧栏滚动
-		asideScroll(e) {
-			// 判断有没有初始化页面高度对象数据
-			if (!this.sizeCalcState) {
-				this.calcSize();
-			}
-			let scrollTop = e.detail.scrollTop;
-			let box = 0; //列表包裹框高度初始化
-			let bottom = 10; //距离页面底部多少像素左侧列表切换到最后一个一级分类
-			// 查询当前页面对象
-			let view = uni.createSelectorQuery().select('.content');
-			view.fields(
-				{
-					id: true,
-					dataset: true,
-					rect: true,
-					size: true,
-					scrollOffset: true
-				},
-				function(e) {
-					// 保存包裹框高度
-					box = e.height;
-				}
-			).exec();
-			// 获取所有距离顶部大于滚轮距离页面高度的所有分类
-			let tabs = this.flist.filter(item =>( item.top-10) <= scrollTop).reverse();
-			if (tabs.length > 0) {
-				// 判断是否已经到达滚轮底部
-				if (box + scrollTop + bottom >= e.detail.scrollHeight) {
-					this.currentId = this.flist[this.flist.length - 1].id;
-				} else {
-					this.currentId = tabs[0].id;
-				}
-			}
-		},
-		//计算右侧栏每个tab的高度等信息
-		calcSize() {
-			let h = 0;
-			this.flist.forEach(item => {
-				let view = uni.createSelectorQuery().select('#main-' + item.id);
-				view.fields(
-					{
-						size: true
-					},
-					data => {
-						item.top = h;
-						h += data.height;
-						item.bottom = h;
-					}
-				).exec();
-			});
-			this.sizeCalcState = true;
-		},
-		navToList(sid, tid) {
-			// 点击导航跳转到详细页面
-			uni.navigateTo({
-				url: '/pages/product/list?fid='+this.currentId+'&sid='+sid+'&tid='+tid
-			});
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page,
-.content {
-	height: 100%;
-	background-color: #f8f8f8;
-}
-
-.content {
-	display: flex;
-}
-.left-aside {
-	flex-shrink: 0;
-	width: 200rpx;
-	height: 100%;
-	background-color: #fff;
-}
-.f-item {
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	width: 100%;
-	height: 100rpx;
-	font-size: 28rpx;
-	color: $font-color-base;
-	position: relative;
-	&.active {
-		color: $base-color;
-		background: #f8f8f8;
-		&:before {
-			content: '';
-			position: absolute;
-			left: 0;
-			top: 50%;
-			transform: translateY(-50%);
-			height: 36rpx;
-			width: 8rpx;
-			background-color: $base-color;
-			border-radius: 0 4px 4px 0;
-			opacity: 0.8;
-		}
-	}
-}
-
-.right-aside {
-	flex: 1;
-	overflow: hidden;
-	padding-left: 20rpx;
-	padding-right: 20rpx;
-}
-.s-item {
-	display: flex;
-	align-items: center;
-	height: 70rpx;
-	padding-top: 8rpx;
-	font-size: 28rpx;
-	color: $font-color-dark;
-}
-.t-list {
-	display: flex;
-	flex-wrap: wrap;
-	border-radius: 15rpx;
-	width: 100%;
-	background: #fff;
-	padding-top: 12rpx;
-	&:after {
-		content: '';
-		flex: 99;
-		height: 0;
-	}
-}
-.t-item {
-	flex-shrink: 0;
-	display: flex;
-	justify-content: center;
-	align-items: center;
-	flex-direction: column;
-	width: 171rpx;
-	font-size: 26rpx;
-	color: #666;
-	padding-bottom: 20rpx;
-
-	image {
-		width: 140rpx;
-		height: 140rpx;
-	}
-}
-</style>

+ 0 - 28
pages/game/game.vue

@@ -1,28 +0,0 @@
-<template>
-	<view class="center">
-		<view class="kong">
-			<u-empty mode="data" text="敬请期待"></u-empty>
-		</view>
-		
-		<!-- <u-tabbar activeColor="#EE0979" v-model="current" :list="tabbar" :mid-button="true"></u-tabbar> -->
-	</view>
-</template>
-
-<script>
-import { tabbar } from '@/utils/tabbar.js';
-export default {
-	data() {
-		return {
-			tabbar: tabbar,
-			current: 2
-		};
-	}
-};
-</script>
-
-<style lang="less">
-	.kong {
-		height: 100vh;
-		width: 750rpx;
-	}
-</style>

+ 233 - 205
pages/index/index.vue

@@ -1,12 +1,9 @@
 <template>
 	<view class="container">
 		<view class="carousel-section">
-			<!-- 背景色区域 -->
-			<!-- <view class="bg"></view> -->
-			<!-- 标题栏和状态栏占位符 -->
-			<!-- <view class="titleNview-placing"></view> -->
-			<!-- 搜素栏 -->
 			<view class="search flex">
+				<!-- <image src="../../static/icon/img01.png" class="address"></image> -->
+				<view class="shop-name clamp">{{city}}</view>
 				<view class="input-box flex" @click.stop="clickSearch">
 					<view class=" input-content flex">
 						<view class="iconfont iconsearch"></view>
@@ -16,13 +13,25 @@
 			</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" style="padding-top: 40rpx;">
+		<swiper :interval="3000" :duration="1000" style="height: 300rpx;background: #fff;">
+			<swiper-item v-for=" (shopitem,shopindex) in shopList" :key="shopindex">
+				<view class="shop-list flex" style="padding-top: 40rpx;">
+					<view class="shop-item flex" v-for="(item,index) in shopitem"
+						@click="navto('/pages/shop/shopList?id=' + item.id)">
+						<image :src="item.pic" mode="" class="shop-img"></image>
+						<view class="shop-name">
+							{{item.cate_name}}
+						</view>
+					</view>
+				</view>
+			</swiper-item>
+		</swiper>
+		<!-- <view class="shop-list flex" style="padding-top: 40rpx;">
 			<view class="shop-item flex" v-for="(item,index) in shopList"
 				@click="navto('/pages/shop/shopList?id=' + item.id)">
 				<image :src="item.pic" mode="" class="shop-img"></image>
@@ -30,7 +39,7 @@
 					{{item.cate_name}}
 				</view>
 			</view>
-		</view>
+		</view> -->
 		<!-- 商品列表 -->
 		<view class="" style="background: #fff;margin-top: 20rpx;padding-bottom: 20rpx;">
 			<view class="title-wrapper flex">
@@ -38,7 +47,9 @@
 				<view class="">礼包商品</view>
 				<view class="title-b">超值体验</view>
 			</view>
-			<view class="gift-info">
+
+
+			<!-- <view class="gift-info">
 				<view class="" style="padding-top: 20rpx;font-weight: bold;font-size: 32rpx;">
 					最强商家联盟
 				</view>
@@ -59,10 +70,47 @@
 						</view>
 					</view>
 				</view>
+			</view> -->
+		</view>
+		<view class="product-box">
+			<view class="hotgoods">
+				<view class="hotgoods-item" v-for="item in goodList" :key="item.id"
+					@click="navto('/pages/product/product?id=' + item.id)">
+					<view class="image-wrapper">
+						<!-- <image class="image-bg" src="../../static/img/libao-bg.png" mode=""></image> -->
+						<image class="image" :src="item.image" mode="scaleToFill"></image>
+					</view>
+					<view class="title clamp2">{{ item.store_name }}</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.ot_price }}</view>
+					</view>
+				</view>
 			</view>
 		</view>
 		<!-- 门店列表 -->
 		<view class="" style="height: 20rpx;"></view>
+		<view class="shop">
+			<view class="shop-title">
+				<view class="shop-item" @click="PXType = 0">
+					<view class="sitem-font" :class="{'choose': PXType == 0}">智能排序</view>
+					<image class="jt-down" src="../../static/index/index06.png" mode=""></image>
+				</view>
+				<view class="shop-item" @click="PXType = 1">
+					<view class="sitem-font" :class="{'choose': PXType == 1}">距离排序</view>
+					<image class="jt-down" src="../../static/index/index06.png" mode=""></image>
+				</view>
+				<view class="shop-item" @click="PXType = 2">
+					<view class="sitem-font" :class="{'choose': PXType == 2}">销量排序</view>
+					<image class="jt-down" src="../../static/index/index06.png" mode=""></image>
+				</view>
+			</view>
+		</view>
+		<view class="" style="height: 20rpx;"></view>
 		<view class="djq-wrap flex f-ai-s" v-for="storeitem in storeList"
 			@click="navto('/pages/shop/shopDetail?id=' + storeitem.id )">
 			<image :src="storeitem.image" mode="" class="djq-img"></image>
@@ -73,7 +121,7 @@
 					</view>
 					<view class="djq-dis">
 						<image src="../../static/index/index10.png" mode=""></image>
-						距离{{(storeitem.range*1 > 1000 )?( storeitem.range + 'KM'):(storeitem.range*1 + 'm')}}
+						距离{{storeitem.range*1}}KM
 					</view>
 				</view>
 				<view class="flex f-d-c f-j-sb f-ai-s fg1" style="height: 110rpx;">
@@ -82,7 +130,7 @@
 					</view>
 					<view class="djq-hd flex f-j-sb">
 						<view class="buy-info">
-							1425人已购买
+							{{storeitem.count}}人已购买
 						</view>
 						<view class="hd-btn">
 							<image src="../../static/icon/call.png" mode="" style="margin-right: 15rpx;"
@@ -91,7 +139,7 @@
 						</view>
 					</view>
 				</view>
-				<view class="" style="padding: 10rpx 0 0 0;" v-if="storeitem.coupon.length > 0">
+				<view class="" style="padding: 10rpx 0 0 0;" v-if="storeitem.coupon && storeitem.coupon.length > 0">
 					<view class="left-btm flex f-j-s" v-for="qitem in storeitem.coupon">
 						<view class="j-logo">
@@ -113,10 +161,10 @@
 </template>
 
 <script>
-	import weixinObj from "@/plugin/jweixin-module/index.js";
 	import {
 		store_cate,
-		getStoreList
+		getStoreList,
+		getCity
 	} from '@/api/shop.js'
 	import {
 		lookSubpoints,
@@ -160,6 +208,8 @@
 		},
 		data() {
 			return {
+				city: '台州市',
+				PXType: 0, //店铺排序规则 0-》智能排序 1-》距离排序 2-》销量排序
 				storeList: [],
 				tabbar: tabbar,
 				current: 0,
@@ -180,7 +230,7 @@
 			};
 		},
 		computed: {
-			...mapState(['loginInterceptor', 'baseURL', 'latitude', 'longitude']),
+			...mapState(['loginInterceptor', 'baseURL', 'latitude', 'longitude', 'weichatObj']),
 			...mapState('user', ['hasLogin', 'userInfo'])
 		},
 		onLoad: function(option) {
@@ -198,10 +248,17 @@
 			this.IndexShare();
 			//#endif
 		},
+		watch: {
+			PXType(val, old) {
+				this.getStoreList()
+
+			}
+		},
 		onShow: function() {
 			this.getGoodList()
 			this.loadData();
-			this.getBargainList();
+			// this.getCity()
+			// this.getBargainList();
 			this.getStoreCate()
 		},
 		//下拉刷新
@@ -233,6 +290,7 @@
 				});
 			}
 		},
+
 		// #endif
 		methods: {
 			...mapMutations(['setLat', 'setLon']),
@@ -278,21 +336,22 @@
 				//getStoreList( cate_id=1
 				getStoreList({
 					latitude: obj.latitude,
-					longitude: obj.longitude
+					longitude: obj.longitude,
+					sales: obj.PXType == 2 ? 1 : 0
 				}).then(res => {
 					console.log(res)
 					obj.storeList = res.data.list
-					// obj.storeList = res.data.list.map(item => {
-					// 	item.space = obj.space(obj.latitude, obj.longitude, item.latitude, item.longitude)
-					// 	return item
-					// })
+
 				})
 			},
 			// 获取店铺分类
 			getStoreCate() {
+				let obj = this
 				store_cate().then(res => {
 					console.log(res)
-					this.shopList = res.data
+					obj.shopList = obj.chunkArr(res.data, 10)
+					console.log(obj.shopList, 'this.shopList+++++++++++++')
+
 				})
 			},
 			getLocation() {
@@ -300,7 +359,6 @@
 					type: 'gcj02',
 					success(e) {
 						console.log(e, 'dingwei')
-						c
 					}
 				})
 
@@ -313,7 +371,9 @@
 					cid: 1
 				}).then(res => {
 					console.log(res, 'libao')
-					obj.goodList = res.data
+					obj.goodList = res.data.filter(item => {
+						return item.price != 2999
+					})
 				})
 			},
 			navto(url) {
@@ -353,26 +413,22 @@
 			getaddress() {
 				console.log('dizhi+++++++++++');
 				let obj = this;
-				// #ifdef H5
-				weixindata().then(wxOjb => {
-					console.log(wxOjb, '获取微信');
-					wxOjb.getLocation({
-						type: 'gcj02',
-						success: res => {
-							console.log(res, 123456);
-							obj.setLat(res.latitude);
-							obj.setLon(res.longitude);
-							obj.getStoreList()
-						},
-						fail: err => {
-							console.log(err, 'shi+++++++++++++++');
-							openMap().then(e => {
-								this.getaddress();
-							});
-						}
-					});
+				uni.getLocation({
+					type: 'gcj02',
+					success: res => {
+						console.log(res, 123456);
+						obj.setLat(res.latitude);
+						obj.setLon(res.longitude);
+						obj.getStoreList()
+						obj.getCity()
+					},
+					fail: err => {
+						console.log(err, 'shi+++++++++++++++');
+						openMap().then(e => {
+							this.getaddress();
+						});
+					}
 				});
-				// #endif
 
 			},
 			navTo(url) {
@@ -384,20 +440,6 @@
 					});
 				}
 			},
-			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');
-					});
-			},
 			// 點擊搜索框
 			clickSearch() {
 				uni.navigateTo({
@@ -447,6 +489,29 @@
 				uni.navigateTo({
 					url: item.wap_url
 				});
+			},
+			// 根据指定个数分割数组
+			chunkArr(arr, size) {
+				console.log(arr, 'arr+++++')
+				//判断如果不是数组(就没有length),或者size没有传值,size小于1,就返回空数组
+				if (!arr.length || !size || size < 1) return []
+				let [start, end, result] = [null, null, []]
+				for (let i = 0; i < Math.ceil(arr.length / size); i++) {
+					start = i * size
+					end = start + size
+					result.push(arr.slice(start, end))
+				}
+				return result
+			},
+			getCity() {
+				let obj = this
+				getCity({
+					lat: obj.latitude,
+					lng: obj.longitude
+				}).then(res => {
+					console.log(res, '逆解析结果')
+					obj.city = res.data.city
+				})
 			}
 		}
 	};
@@ -480,7 +545,7 @@
 		}
 
 		.search {
-			justify-content: flex-start;
+			justify-content: space-between;
 			padding: 10rpx 32rpx 20rpx;
 			align-items: center;
 			background-color: #fff;
@@ -511,7 +576,7 @@
 				margin-left: 10rpx;
 				position: relative;
 				z-index: 99;
-				width: 710rpx;
+				width: 550rpx;
 				height: 60rpx;
 				background: #EEEEEE;
 				border-radius: 30rpx;
@@ -747,153 +812,7 @@
 		}
 	}
 
-	.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;
@@ -919,6 +838,11 @@
 					color: #333333;
 				}
 
+				.choose {
+					color: #ff4c4c;
+				}
+
+
 				.jt-down {
 					width: 10rpx;
 					height: 8rpx;
@@ -1201,6 +1125,7 @@
 		padding-top: 20rpx;
 		flex-wrap: wrap;
 		background-color: #fff;
+		justify-content: flex-start;
 
 		.shop-item {
 			margin-bottom: 20rpx;
@@ -1405,4 +1330,107 @@
 			color: #333333;
 		}
 	}
+
+	.hotgoods {
+		// margin-top: 38rpx;
+		width: 100%;
+		display: flex;
+		flex-wrap: wrap;
+		padding: 0 0 30rpx;
+
+		.hotgoods-item {
+			width: 48%;
+			background-color: #ffffff;
+			border-radius: 12rpx;
+
+			&:nth-child(2n + 1) {
+				margin-right: 24rpx;
+			}
+
+			.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: 24rpx;
+				font-size: 28rpx;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #333333;
+			}
+
+			.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-family: Source Han Sans CN;
+					font-weight: 400;
+					color: #ffffff;
+				}
+
+				.price {
+					// margin-left: 10rpx;
+					font-size: 40rpx;
+					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;
+					}
+				}
+			}
+		}
+	}
+
+	.product-box {
+		// margin-top: 20rpx;
+		background: #ffffff;
+		padding: 0rpx 30rpx 20rpx;
+	}
 </style>

+ 4 - 2
pages/money/withdrawal.vue

@@ -4,7 +4,7 @@
 		<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>
+					<view class="icon">{{ money | getMoneyStyle }}</view>
 					<text class="text">可提现现金</text>
 				</view>
 			</view>
@@ -16,7 +16,7 @@
 				<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 class="buttom" @click="withdrawal = money">全部提现</view>
 			</view>
 		</view>
 		<!-- #ifndef MP-WEIXIN -->
@@ -165,7 +165,9 @@
 				extractBank({}).then(({
 					data
 				}) => {
+					console.log(data, 'data+++++++++')
 					this.minPrice = data.minPrice;
+					this.money = data.broken_commission
 				});
 			},
 			// 跳转

+ 6 - 6
pages/order/createOrder.vue

@@ -5,7 +5,7 @@
 		</view> -->
 
 		<!-- 地址 -->
-		<!-- <navigator v-if="tabCurrentIndex == 0" url="/pages/set/address?source=1" class="address-section">
+		<navigator v-if="tabCurrentIndex == 0" url="/pages/set/address?source=1" class="address-section">
 			<view class="order-content" v-if="addressData.real_name">
 				<text class="iconfont iconlocation"></text>
 				<view class="cen">
@@ -26,7 +26,7 @@
 			</view>
 
 			<image class="a-bg" :src="addressImg"></image>
-		</navigator> -->
+		</navigator>
 		<navigator v-if="tabCurrentIndex == 1" url="/pages/shoping/list?type=4" class="address-section">
 			<view class="order-content" v-if="shopAddress.name">
 				<text class="iconfont iconlocation"></text>
@@ -400,10 +400,10 @@
 					this.$api.msg('积分商品只可单件购买');
 					return false;
 				}
-				// if (!this.addressData.real_name && this.tabCurrentIndex == 0) {
-				// 	this.$api.msg('请选择收货地址');
-				// 	return false;
-				// }
+				if (!this.addressData.real_name && this.tabCurrentIndex == 0) {
+					this.$api.msg('请选择收货地址');
+					return false;
+				}
 				if (obj.tabCurrentIndex === 1) {
 					if (!obj.pickUpInfo.real_name) {
 						obj.$api.msg('请填写用户名');

+ 631 - 614
pages/order/order.vue

@@ -1,7 +1,8 @@
 <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 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">
@@ -11,11 +12,13 @@
 					<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 @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.stateTip }}</text>
-							<text v-if="item.status === 4" class="del-btn iconfont icondelete" @click="deleteOrder(index)"></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>
@@ -23,7 +26,8 @@
 								<image class="goods-img" :src="goodsItem.productInfo.image" mode="aspectFill"></image>
 							</view>
 						</scroll-view>
-						<view class="goods-box-single" v-for="(goodsItem, goodsIndex) in item.cartInfo" :key="goodsIndex">
+						<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">
@@ -31,7 +35,8 @@
 									<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="row_title">{{ goodsItem.productInfo.attrInfo ? goodsItem.productInfo.attrInfo.suk : '' }}</text>
 									<text class="attr-box">x {{ goodsItem.cart_num }}</text>
 								</view>
 							</view>
@@ -46,11 +51,16 @@
 							<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" @click.stop="sy(item)">使用</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>
+							<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"
+								@click.stop="sy(item)">使用</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>
 
@@ -62,24 +72,92 @@
 </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: [
-				{
+	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() {
+			/**
+			 * 修复app端点击除全部订单外的按钮进入时不加载数据的问题
+			 * 替换onLoad下代码即可
+			 */
+			// this.tabCurrentIndex = +options.state;
+			// // #ifndef MP
+			// this.loadData();
+			// // #endif
+			// // #ifdef MP
+			// if (options.state == 0) {
+			// 	this.loadData();
+			// }
+			// // #endif
+		},
+		onShow(options) {
+			/**
+			 * 修复app端点击除全部订单外的按钮进入时不加载数据的问题
+			 * 替换onLoad下代码即可
+			 */
+			this.navList = [{
 					state: 0,
 					text: '待付款',
 					loadingType: 'more',
@@ -87,22 +165,22 @@ export default {
 					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: 1,
+				// 	text: '待发货',
+				// 	loadingType: 'more',
+				// 	orderList: [],
+				// 	page: 1, //当前页数
+				// 	limit: 10 //每次信息条数
+				// },
+				// {
+				// 	state: 2,
+				// 	text: '待收货',
+				// 	loadingType: 'more',
+				// 	orderList: [],
+				// 	page: 1, //当前页数
+				// 	limit: 10 //每次信息条数
+				// },
 				{
 					state: 3,
 					text: '待使用',
@@ -119,656 +197,595 @@ export default {
 					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.tabCurrentIndex = 0;
+			// #ifndef MP
 			this.loadData();
-		}
-		// #endif
-	},
-	// #ifdef APP-PLUS || H5
-	onBackPress(e) {
-		uni.switchTab({
-			url: '/pages/user/user'
-		});
-		return true;
-	},
-	// #endif
-	methods: {
-		sy(e) {
-			console.log(e);
-			uni.navigateTo({
-				url: '/pages/shop/djqQm?id=' + e.order_id
-			});
-		},
-		// 转换金额为数字
-		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
-			});
+			// #endif
+			// #ifdef MP
+			// if (options.state == 0) {
+			// 	this.loadData();
+			// }
+			this.loadData();
+			// #endif
 		},
-		// 订单支付
-		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')
+		// #ifdef APP-PLUS || H5
+		onBackPress(e) {
+			uni.switchTab({
+				url: '/pages/user/user'
 			});
+			return true;
 		},
-		//获取订单列表
-		loadData(source) {
-			//这里是将订单挂载到tab列表下
-			let index = this.tabCurrentIndex;
-			let navItem = this.navList[index];
-			console.log(index, navItem);
-			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);
+		// #endif
+		methods: {
+			sy(e) {
+				console.log(e);
+				uni.navigateTo({
+					url: '/pages/shop/djqQm?id=' + e.order_id
 				});
-		},
-
-		//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
-						})
+			},
+			// 转换金额为数字
+			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: '取消成功',
-									duration: 2000,
-									position: 'top'
+									title: '收货成功'
 								});
 							})
 							.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();
 					}
+				});
+			},
+			//跳转到订单详情
+			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];
+				console.log(index, navItem);
+				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';
 
-		//订单状态文字和颜色
-		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;
-
-				//更多自定义
+				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
+				};
 			}
-			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;
+	page,
+	.content {
+		background: $page-color-base;
 		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;
-}
+	.swiper-box {
+		height: calc(100% - 40px);
+	}
 
-.order-item {
-	display: flex;
-	flex-direction: column;
-	padding-left: 30rpx;
-	background: #fff;
-	margin-top: 16rpx;
+	.list-scroll-content {
+		height: 100%;
+	}
 
-	.i-top {
+	.navbar {
 		display: flex;
-		align-items: center;
-		height: 80rpx;
-		padding-right: 30rpx;
-		font-size: $font-base;
-		color: $font-color-dark;
+		height: 40px;
+		padding: 0 5px;
+		background: #fff;
+		box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
 		position: relative;
+		z-index: 10;
 
-		.time {
+		.nav-item {
 			flex: 1;
-		}
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			height: 100%;
+			font-size: 15px;
+			color: $font-color-dark;
+			position: relative;
 
-		.state {
-			color: $base-color;
+			&.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;
+				}
+			}
 		}
+	}
 
-		.del-btn {
-			padding: 10rpx 0 10rpx 36rpx;
-			font-size: $font-lg;
-			color: $font-color-light;
+	.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;
 
-			&:after {
-				content: '';
-				width: 0;
-				height: 30rpx;
-				border-left: 1px solid $border-color-dark;
-				position: absolute;
-				left: 20rpx;
-				top: 50%;
-				transform: translateY(-50%);
+			.time {
+				flex: 1;
 			}
-		}
-	}
 
-	/* 多条商品 */
-	.goods-box {
-		height: 160rpx;
-		padding: 20rpx 0;
-		white-space: nowrap;
-
-		.goods-item {
-			width: 120rpx;
-			height: 120rpx;
-			display: inline-block;
-			margin-right: 24rpx;
-		}
+			.state {
+				color: $base-color;
+			}
 
-		.goods-img {
-			display: block;
-			width: 100%;
-			height: 100%;
+			.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-single {
-		display: flex;
-		padding: 20rpx 0;
+		/* 多条商品 */
+		.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: 120rpx;
-			height: 120rpx;
+			.goods-img {
+				display: block;
+				width: 100%;
+				height: 100%;
+			}
 		}
 
-		.right {
-			flex: 1;
+		/* 单条商品 */
+		.goods-box-single {
 			display: flex;
-			flex-direction: column;
-			padding: 0 30rpx 0 24rpx;
-			overflow: hidden;
+			padding: 20rpx 0;
 
-			.row {
-				margin-top: 10rpx;
+			.goods-img {
+				display: block;
+				width: 120rpx;
+				height: 120rpx;
 			}
 
-			.row_title {
-				padding: 5rpx 10rpx;
-				background-color: #dddddd;
-				border-radius: 10rpx;
-				font-size: 22rpx;
-				color: #ffffff;
-			}
+			.right {
+				flex: 1;
+				display: flex;
+				flex-direction: column;
+				padding: 0 30rpx 0 24rpx;
+				overflow: hidden;
 
-			.title {
-				font-size: $font-base + 2rpx;
-				color: $font-color-dark;
-				line-height: 1;
-				width: 80%;
+				.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;
+					}
+				}
 			}
+		}
 
-			.attr-box {
-				display: flex;
-				justify-content: flex-end;
-				font-size: $font-sm + 2rpx;
-				color: $font-color-light;
+		.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 {
-				display: inline;
-				font-size: $font-base + 2rpx;
+				font-size: $font-lg;
 				color: $font-color-dark;
 
 				&:before {
 					content: '¥';
 					font-size: $font-sm;
+					margin: 0 2rpx 0 8rpx;
 				}
 			}
 		}
-	}
 
-	.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;
+		.action-box {
+			display: flex;
+			justify-content: flex-end;
+			align-items: center;
+			height: 100rpx;
+			position: relative;
+			padding-right: 30rpx;
 		}
 
-		.price {
-			font-size: $font-lg;
+		.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;
 
-			&:before {
-				content: '¥';
-				font-size: $font-sm;
-				margin: 0 2rpx 0 8rpx;
+			&:after {
+				border-radius: 100px;
+			}
+
+			&.recom {
+				color: $base-color;
+
+				&:after {
+					border-color: $base-color;
+				}
+			}
+
+			&.evaluate {
+				color: $color-yellow;
+
+				&:after {
+					border-color: $color-yellow;
+				}
 			}
 		}
 	}
 
-	.action-box {
+	/* load-more */
+	.uni-load-more {
 		display: flex;
-		justify-content: flex-end;
+		flex-direction: row;
+		height: 80rpx;
 		align-items: center;
-		height: 100rpx;
-		position: relative;
-		padding-right: 30rpx;
+		justify-content: center;
 	}
 
-	.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;
+	.uni-load-more__text {
+		font-size: 28rpx;
+		color: #999;
+	}
 
-		&:after {
-			border-radius: 100px;
-		}
+	.uni-load-more__img {
+		height: 24px;
+		width: 24px;
+		margin-right: 10px;
+	}
 
-		&.recom {
-			color: $base-color;
+	.uni-load-more__img>view {
+		position: absolute;
+	}
 
-			&:after {
-				border-color: $base-color;
-			}
-		}
+	.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;
+	}
 
-		&.evaluate {
-			color: $color-yellow;
+	.uni-load-more__img>view view:nth-child(1) {
+		transform: rotate(90deg);
+		top: 2px;
+		left: 9px;
+	}
 
-			&:after {
-				border-color: $color-yellow;
-			}
-		}
+	.uni-load-more__img>view view:nth-child(2) {
+		transform: rotate(180deg);
+		top: 11px;
+		right: 0;
 	}
-}
-
-/* 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;
+
+	.uni-load-more__img>view view:nth-child(3) {
+		transform: rotate(270deg);
+		bottom: 2px;
+		left: 9px;
 	}
 
-	100% {
-		opacity: 0.2;
+	.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>

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 178
pages/order/orderDetail.vue


+ 0 - 204
pages/product/classify.vue

@@ -1,204 +0,0 @@
-<template>
-	<view class="container">
-		<!-- 头部轮播 -->
-		<view class="carousel-section">
-			<swiper class="carousel" autoplay="true" duration="400" interval="5000">
-				<swiper-item v-for="(item, index) in bannerImg" :key="index" class="carousel-item" @click="bannerNavToUrl(item)">
-					<image :src="item.img" mode=" scaleToFill" />
-				</swiper-item>
-			</swiper>
-		</view>
-		<view class="type-title-box flex">
-			<view class="title-border"></view>
-			<view class="title-content">
-				<text v-if="type == 1">精品推荐</text>
-				<text v-if="type == 2">热门榜单</text>
-				<text v-if="type == 3">首发新品</text>
-				<text v-if="type == 4">促销单品</text>
-			</view>
-			<view class="title-border"></view>
-		</view>
-
-		<view class="goodsList-box">
-			<view class="goodsList-item flex" :key="ind" v-for="(ls, ind) in list">
-				<image :src="ls.image" mode=" scaleToFill"></image>
-				<view class="goodsList-content">
-					<view class="title">
-						<text>{{ ls.store_name }}</text>
-					</view>
-					<view class="goods-money flex">
-						<view class="money-box">
-							<view class="money">
-								<text class="font-size-sm">¥</text>
-								{{ ls.price }}
-							</view>
-							<view class="otMoney-box">
-								<text class="otMoney">¥{{ ls.ot_price }}</text>
-								<text class="sales">已售{{ ls.sales }}件</text>
-							</view>
-						</view>
-						<view @click="navTo(ls)" class="cart iconfont iconcart"></view>
-					</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-import { groomList } from '@/api/product.js';
-export default {
-	data() {
-		return {
-			list: [],
-			bannerImg: []
-		};
-	},
-	onLoad(option) {
-		// 获取查询对象
-		this.type = option.type;
-		// 加载基础数据
-		this.loadData();
-	},
-	methods: {
-		navTo: function(ls) {
-			uni.navigateTo({
-				url: '/pages/product/product?id=' + ls.id
-			});
-		},
-		// 请求载入数据
-		async loadData() {
-			groomList({}, this.type)
-				.then(({ data }) => {
-					// 保存轮播图
-					this.bannerImg = data.banner;
-					// 保存商品信息
-					this.list = data.list;
-				})
-				.catch(e => {
-					console.log(e);
-				});
-		},
-		// 轮播图跳转
-		bannerNavToUrl(item) {
-			// #ifdef H5
-			if (item.wap_link.indexOf('http') > 0) {
-				window.location.href = item.wap_link;
-			}
-			// #endif
-			if (item.wap_link) {
-				uni.navigateTo({
-					url: item.wap_link
-				});
-			}
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page {
-	background: $page-color-base;
-}
-.carousel-section {
-	padding: 0;
-	.titleNview-placing {
-		padding-top: 0;
-		height: 0;
-	}
-	.swiper-dots {
-		left: 45rpx;
-		bottom: 40rpx;
-	}
-	.carousel {
-		width: 100%;
-		height: 360rpx;
-		.carousel-item {
-			width: 100%;
-			height: 100%;
-			overflow: hidden;
-		}
-		image {
-			width: 100%;
-			height: 100%;
-		}
-	}
-}
-// 中间标题样式
-.type-title-box {
-	padding: 40rpx;
-	.title-content {
-		height: 100%;
-		width: 200rpx;
-		text-align: center;
-		font-size: $font-lg;
-		font-weight: 500;
-		color: $font-color-dark;
-	}
-	.title-border {
-		width: 250rpx;
-		height: 2rpx;
-		background-color: #e9e9e9;
-	}
-}
-// 商品列表
-.goodsList-box {
-	.goodsList-item {
-		margin-bottom: 40rpx;
-		background-color: #ffffff;
-		padding: 30rpx;
-		image {
-			flex-shrink: 0;
-			border-radius: $border-radius-sm;
-			height: 180rpx;
-			width: 180rpx;
-		}
-		.goodsList-content {
-			margin-left: 20rpx;
-			flex-grow: 1;
-			height: 180rpx;
-			position: relative;
-			.title {
-				font-size: $font-base;
-				color: $font-color-dark;
-				font-weight: 500;
-			}
-			.goods-money {
-				position: absolute;
-				left: 0;
-				bottom: 0;
-				width:100%;
-				.money-box {
-					.money {
-						font-size: $font-lg;
-						color: $color-red;
-						font-weight: bold;
-					}
-					.otMoney-box {
-						font-size: $font-sm;
-						.otMoney {
-							color: $font-color-dark;
-							padding-right: 20rpx;
-						}
-						.sales {
-							color: $font-color-light;
-						}
-					}
-				}
-				.cart {
-					border: 1px solid $color-red;
-					color: $color-red;
-					font-size: $font-base;
-					font-weight: bold;
-					border-radius: 99px;
-					width: 55rpx;
-					height: 55rpx;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-				}
-			}
-		}
-	}
-}
-</style>

+ 0 - 386
pages/product/groupBooking/detail.vue

@@ -1,386 +0,0 @@
-<template>
-	<view class="box">
-		<!-- 拼团 -->
-		<view class="lyy-a">
-			<view class="lyy-a-p">
-				<view class="lyy-a-f">
-					<view><image :src="goods.image" class="lyy-a-tu" /></view>
-					<view class="lyy-a-z">
-						<view class="lyy-a-word lyy-a-word2">{{ goods.title }}</view>
-						<view class="flex money-box">
-							<view class="lyy-a-f lyy-a-word margin-r-20">
-								<view class="lyy-a-word3">¥{{ goods.price }}</view>
-							</view>
-							<view class="lyy-a-tu2 lyy-a-f padding-c-20 border-radius-all">
-								<view class="lyy-a-tu3"><image src="http://lxscimg.liuniu946.com/2019-11-02_5dbd110b5928a.png" class="lyy-a-tu5"></image></view>
-								<view class="lyy-a-tu4 flex-shrink-false">{{ goods.people }}人拼</view>
-							</view>
-						</view>
-					</view>
-				</view>
-			</view>
-		</view>
-		<view class="lyy-hx"></view>
-		<!-- 第二部分 -->
-		<view class="lyy-b padding-t-20">
-			<view class="lyy-b-p">
-				<view class="lyy-b-jz flex">
-					<view class="image1"><view class="lyy-b-word">剩余时间</view></view>
-				</view>
-				<view class="lyy-b-jz flex">
-					<uni-countdowns
-						v-if="pinkBool == 0"
-						color="#FFFFFF"
-						splitor-color="#FC5B62"
-						background-color="#FC5B62"
-						border-color="#FC5B62"
-						:show-day="false"
-						:hour="stopTime.stopTimeH"
-						:minute="stopTime.stopTimeM"
-						:second="stopTime.stopTimeS"
-					></uni-countdowns>
-				</view>
-				<view class="lyy-b-jz flex">
-					<span class="lyy-b-word2">{{ pinkT.people }}</span>
-					<span class="lyy-b-word3">人成团,还差{{ peopleNub }}人</span>
-				</view>
-				<view class="lyy-b-jz flex">
-					<view class="cmy-user-box">
-						<view class="user-list">
-							<view class="lyy-y bg-gray"><image :src="pinkT.avatar" class="user-list-img" /></view>
-							<view class="lyy-y-word clamp">{{ pinkT.nickname }}</view>
-						</view>
-						<view class="user-list" v-for="(item , i) in people" :key='i'>
-						    <view class="lyy-y bg-gray"><image :src="item.avatar" class="user-list-img" /></view>
-						    <view class="lyy-y-word clamp">{{ item.nickname }}</view>
-						</view>
-						<view class="user-list" v-for="(l, i) in peopleNub" :key="i">
-							<view class="lyy-y bg-gray"></view>
-							<view class="lyy-y-word clamp">待邀请</view>
-						</view>
-					</view>
-				</view>
-				<view class="lyy-b-jz flex">
-					<view class="lyy-b-but" v-if="status == 1 && pinkBool == 0" @click="invitation">邀请好友参团</view>
-					<view class="lyy-b-but" v-if="status == 0&&pinkBool==0" @click="goBuy">立即加入</view>
-					<!-- <view class="lyy-b-but" @click="goBuy">立即加入</view> -->
-					<view class="lyy-b-but bg-gray" v-if="pinkBool == -1">拼团失败</view>
-					<view class="lyy-b-but" v-if="pinkBool == 1">拼团成功</view>
-				</view> 
-			</view>
-		</view>
-		<view class="lyy-hx"></view>
-		<!-- 第三部分 -->
-		<view class="lyy-c">
-			<view class="lyy-c-p">
-				<view class="lyy-c-word">
-					<view>拼团规则:</view>
-					<view>1.点击商品进入商品详情,通过超值拼团进入订单支付 页,用户付款成功后,按页面提示分享给微信好友。</view>
-					<view>2.好友通过分享,加入超值拼团,完成订单支付,待达成 拼团人数后,拼团成功。</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-import uniCountdowns from '@/components/uni-countdown/uni-countdowns.vue';
-import { getCombinationLisPink } from '@/api/product.js';
-import { groupGoods } from '@/api/product.js';
-import { timeComputed } from '@/utils/rocessor.js';
-import { mapState } from 'vuex';
-// 倒计时
-export default {
-	data() {
-		return {
-			gp_id: 0, //拼团商品id
-			goods: {}, //商品信息
-			pinkT: {}, //拼团团长信息
-			people: [], //拼团成员信息
-			status: 0, //判断是否为团长
-			gid: 0,
-			user_info: {}, //当前用户信息
-			// 倒计时
-			stopTime: {
-				stopTimeH: 0,
-				stopTimeM: 0,
-				stopTimeS: 0
-			},
-			pinkBool: 0, //拼团状态0为待拼团 -1为拼团失败 1为拼团成功
-			userBool: 0, //判断用户是否已经参与拼团 0未参加 1为已参加
-			spread: '', //默认没有邀请人
-			userInfo: {} ,//当前用户信息
-			peopleNub:0
-		};
-	},
-	onLoad(e) {
-		// 保存拼团订单id
-		this.gp_id = e.id;
-		// 判断是否有人邀请
-		if (e.spread) {
-			// 存储邀请人
-			this.spread = e.spread;
-			uni.setStorageSync('spread', option.spread);
-		}
-	},
-	onShow() {
-		this.getData();
-	},
-	components: {
-		uniCountdowns
-	},
-	methods: {
-		//前往参团
-		goBuy() {
-			let _self = this;
-			uni.navigateTo({
-				url: '/pages/order/createOrder?pinkId=' + this.gp_id + '&type=pink' + '&pid=' + this.goods.product_id + '&gid=' + this.goods.id + '&merid=' + this.goods.mer_id +'&unique=' + this.goods.productValue[this.goods.productAttr[0].attr_values[0]].unique + '&isP=1'
-			});
-		},
-		//邀请参团
-		invitation() {
-			let obj = this;
-			// 判断拼团是否已经结束
-			if (obj.userBool == 0) {
-				uni.showModal({
-					title: '提示',
-					content: '该拼团已经结束!',
-					showCancel: false,
-					success: res => {},
-					fail: () => {},
-					complete: () => {}
-				});
-				return;
-			}
-			uni.navigateTo({
-				url: '/pages/product/groupBooking/inviteImg?id=' + this.pinkT.id + '&spread=' + this.userInfo.uid,
-				success: res => {},
-				fail: e => {
-					console.log(e);
-				},
-				complete: () => {}
-			});
-		},
-		// #ifdef H5
-		// 加载微信html5页面分享方法
-		shareDate() {
-			let obj = this;
-			// 判断是否微信浏览器
-			let bool = uni.getStorageSync('weichatBrowser') || '';
-			if (bool) {
-				// 过滤微信强制添加的链接地址
-				url = url.replace('?from=singlemessage', '');
-				let data = {
-					link: url, // 分享链接
-					imgUrl: obj.goodsObjact.image, // 分享图标
-					desc: obj.goodsObjact.store_info,
-					title: obj.goodsObjact.store_name,
-					success: function() {}
-				};
-				obj.weichatObj.updateAppMessageShareData(data);
-				obj.weichatObj.updateTimelineShareData(data);
-			}
-		},
-		// #endif
-		// 获取拼团信息
-		getData() {
-			let obj = this;
-			// let data = {gp_id:_self.gp_id},
-			getCombinationLisPink({}, this.gp_id).then(e => {
-				let r = e.data;
-				// 保存拼团商品详细
-				obj.goods = r.store_combination;
-				// 保存团长信息
-				obj.pinkT = r.pinkT;
-				/* 计算倒计时 */
-				obj.timeComputed(obj.pinkT.stop_time * 1000);
-				// 获取拼团用户列表
-				obj.people = r.pinkAll;
-				// 获取当前是否已参与过这个拼团
-				obj.userBool = r.userBool;
-				// 判断当前用户是否为团长
-				if (r.pinkT.uid == r.userInfo.uid) {
-					// 显示邀请好用选项
-					obj.status = 1;
-				}
-				// 保存当前登录用户信息
-				obj.userInfo = r.userInfo;
-				// 获取拼团是否已经过期
-				obj.pinkBool = r.pinkBool;
-				obj.peopleNub = obj.pinkT.people - 1 - obj.people.length;
-				// #ifdef H5
-				// 加载微信分享配置
-				this.shareDate();
-				// #endif
-			});
-		},
-		// 计算倒计时时间
-		timeComputed(da) {
-			let obj = this;
-			let stopTime = timeComputed(da);
-			obj.stopTime.stopTimeH = stopTime.hours;
-			obj.stopTime.stopTimeM = stopTime.minutes;
-			obj.stopTime.stopTimeS = stopTime.seconds;
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-.box {
-	/* #ifdef APP-PLUS | MP */
-	padding-top: var(--status-bar-height);
-	/* #endif */
-}
-.lyy-c {
-	width: 100%;
-	background: rgba(255, 255, 255, 1);
-	.lyy-c-word {
-		font-size: 28rpx;
-		color: rgba(102, 102, 102, 1);
-		line-height: 50rpx;
-	}
-
-	.lyy-c-p {
-		padding: 39rpx 30rpx;
-	}
-}
-
-.lyy-wrap {
-	background-color: #f4f4f4;
-}
-
-.lyy-hx {
-	height: 14rpx;
-}
-
-.image1 {
-	width: 200rpx;
-	height: 33rpx;
-	background: url('http://lxscimg.liuniu946.com/2019-11-02_5dbd0e10a2160.png') center center no-repeat;
-	background-size: 200rpx auto;
-}
-
-.lyy-b {
-	width: 100%;
-	background-color: white;
-	.lyy-b-p {
-		padding: 30rpx 45rpx;
-		.lyy-b-word2,
-		.lyy-b-word3 {
-			font-size: 28rpx;
-			font-weight: bold;
-		}
-		.lyy-b-word2 {
-			color: #fc5b62;
-		}
-		.lyy-b-word3 {
-			color: #1d2023;
-		}
-		.lyy-b-jz {
-			width: 100%;
-			justify-content: center;
-			margin-bottom: 20rpx;
-			.lyy-y {
-				width: 80rpx;
-				height: 80rpx;
-				margin: 0px 15rpx;
-				border-radius: 40rpx;
-				overflow: hidden;
-				.user-list-img {
-					width: 100%;
-					height: 100%;
-				}
-			}
-			.lyy-y-word {
-				margin-top: 10rpx;
-				font-size: 28rpx;
-				text-align: center;
-				width: 110rpx;
-			}
-			.lyy-b-but {
-				width: 550rpx;
-				height: 80rpx;
-				background: #fc5b62;
-				border-radius: 100rpx;
-				text-align: center;
-				color: white;
-				line-height: 80rpx;
-				font-size: 32rpx;
-			}
-			.cmy-user-box {
-				.user-list {
-					display: inline-block;
-					line-height: 1;
-				}
-			}
-		}
-		.lyy-b-word {
-			text-align: center;
-			font-size: 26rpx;
-			color: rgba(29, 32, 35, 1);
-		}
-	}
-}
-
-// 商品列表样式
-.lyy-a {
-	width: 100%;
-	background-color: white;
-	.lyy-a-p {
-		padding: 22rpx 30rpx;
-		.lyy-a-f {
-			display: flex;
-			align-items: center;
-			.lyy-a-f2 {
-				flex: 1;
-			}
-			.lyy-a-tu {
-				width: 122rpx;
-				height: 122rpx;
-			}
-			.lyy-a-z {
-				padding-left: 30rpx;
-				flex-grow: 1;
-				.money-box {
-					justify-content: flex-start;
-					.lyy-a-tu2 {
-						background: rgba(255, 255, 255, 1);
-						border: 1rpx solid #fc5b62;
-						.lyy-a-tu3 {
-							background-color: #fc5b62;
-							padding: 2px 4px 0px 4px;
-							text-align: center;
-							height: 26rpx;
-							.lyy-a-tu5 {
-								width: 20rpx;
-								height: 20rpx;
-								display: block;
-							}
-						}
-						.lyy-a-tu4 {
-							margin-left: 2px;
-							font-size: 10px;
-							color: #fc5b62;
-							padding: 0px 10rpx;
-							text-align: center;
-						}
-					}
-				}
-				.lyy-a-word {
-					line-height: 56rpx;
-					.lyy-a-word3 {
-						font-size: 28rpx;
-						font-weight: bold;
-						color: #fc5b62;
-					}
-				}
-				.lyy-a-word2 {
-					font-size: 30rpx;
-					color: rgba(29, 32, 35, 1);
-				}
-			}
-		}
-	}
-}
-</style>

+ 0 - 236
pages/product/groupBooking/index.vue

@@ -1,236 +0,0 @@
-<template>
-	<view class="lyy-bg4">
-		<view class="lyy-f-a">
-			<view class="lyy-f-b lyy-flex">
-				<view class="lyy-f-c item" @click="goProduct(items)" v-for="(items, ind) in goodsList" :key="ind">
-					<view class="content">
-						<view><image :src="items.image" class="lyy-f-image" /></view>
-						<view class="lyy-f-word1 lyy-f-jl ellipsis">{{ items.title }}</view>
-						<view class="lyy-flex2">
-							<view class="lyy-flex3">
-								<view class="lyy-f-word2 lyy-f-jl">¥{{ items.price * 1 }}</view>
-							</view>
-							<view class="lyy-a-tu2 lyy-flex2">
-								<view class="lyy-a-tu3"><image src="../../../static/img/img11.png" class="lyy-a-tu5" /></view>
-								<view class="lyy-a-tu4">{{ items.people }}人拼</view>
-							</view>
-						</view>
-					</view>
-				</view>
-			</view>
-		</view>
-		<uni-load-more :status="loadingType"></uni-load-more>
-	</view>
-</template>
-
-<script>
-import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
-import { getCombinationList } from '@/api/product.js';
-export default {
-	components: {
-		uniLoadMore
-	},
-	data() {
-		return {
-			goodsList: [],
-			loadingType: 'more', //加载更多状态
-			limit: 20, //每次加载数据条数
-			page: 1 //当前页数
-		};
-	},
-	onLoad(options) {
-		this.loadData();
-	},
-	//下拉刷新
-	onPullDownRefresh() {
-		this.loadData('refresh');
-	},
-	//监听页面是否滚动到底部加载更多
-	onReachBottom() {
-		this.loadData();
-	},
-	methods: {
-		//加载商品 ,带下拉刷新和上滑加载
-		async loadData(type = 'add', loading) {
-			let obj = this;
-			let data = {
-				page: obj.page,
-				limit: obj.limit
-			};
-			//没有更多直接返回
-			if (type === 'add') {
-				if (obj.loadingType === 'nomore') {
-					return;
-				}
-				obj.loadingType = 'loading';
-			} else {
-				obj.loadingType = 'more';
-			}
-
-			// 加载商品信息
-			getCombinationList(data)
-				.then(e => {
-					if (type === 'refresh') {
-						// 清空数组
-						obj.goodsList = [];
-					}
-					obj.goodsList = obj.goodsList.concat(e.data);
-					//判断是否还有下一页,有是more  没有是nomore
-					if (obj.limit == e.data.length) {
-						obj.page++;
-						obj.loadingType = 'more';
-					} else {
-						obj.loadingType = 'nomore';
-					}
-					if (type === 'refresh') {
-						if (loading == 1) {
-							uni.hideLoading();
-						} else {
-							uni.stopPullDownRefresh();
-						}
-					}
-				})
-				.catch();
-		},
-		goProduct(e) {
-			uni.navigateTo({
-				url: '/pages/product/groupBooking/productGroup?id=' + e.id
-			});
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page {
-	height: 100%;
-}
-// 拼团列表
-.lyy-f-a {
-	margin: 0px 15px;
-
-	.lyy-flex {
-		/* 内部模块1*/
-		display: flex;
-		justify-content: space-between;
-	}
-	.lyy-f-b {
-		flex-wrap: wrap;
-		.lyy-f-c {
-			flex: 0 0 50%;
-			/* width: 50%; */
-			margin: 10px 0px 0px 0px;
-		}
-
-		.item:nth-child(2n + 1) .content {
-			margin: 0px 7.5px 0px 0px;
-			border-radius: 10px;
-		}
-	}
-
-	.lyy-f-b .content {
-		background-color: white;
-		.lyy-f-image {
-			width: 100%;
-			height: 340rpx;
-			border-radius: 10rpx 10rpx 0rpx 0rpx;
-		}
-		.ellipsis {
-			width: 165px;
-			white-space: nowrap;
-			overflow: hidden;
-			text-overflow: ellipsis;
-		}
-		.lyy-f-jl {
-			padding: 5px 7px;
-		}
-		.lyy-f-word1 {
-			font-size: 12px;
-			color: rgba(50, 50, 50, 1);
-			line-height: 20px;
-			width: 300rpx;
-			white-space: nowrap;
-			overflow: hidden;
-			text-overflow: ellipsis;
-		}
-	}
-
-	.item:nth-child(2n) .content {
-		margin: 0px 0 0px 7.5px;
-		border-radius: 10px;
-	}
-
-	.lyy-f-word3 {
-		font-size: 12px;
-		text-decoration: line-through;
-		color: rgba(139, 139, 139, 1);
-	}
-
-	.lyy-f-word5 {
-		font-size: 20rpx;
-		color: rgba(153, 153, 153, 1);
-		margin: 20rpx 0px 0px 0px;
-	}
-
-	.lyy-f-word4 {
-		height: 26px;
-		background: #6fb22f;
-		color: white;
-		text-align: center;
-	}
-
-	.lyy-f-d {
-		height: 24rpx;
-		border: 1px solid rgba(252, 91, 98, 1);
-		border-radius: 3px;
-		font-size: 20rpx;
-		text-align: center;
-		width: 50rpx;
-		color: rgba(252, 91, 98, 1);
-		margin: 23rpx 0rpx 0rpx 0rpx;
-		line-height: 24rpx;
-	}
-
-	.lyy-flex2 {
-		display: flex;
-		padding-right: 10rpx;
-		align-items: center;
-		.lyy-flex3 {
-			flex: 1;
-			.lyy-f-word2 {
-				font-size: 14px;
-				color: rgba(241, 13, 59, 1);
-			}
-		}
-		&.lyy-a-tu2 {
-			height: 34rpx;
-			background: rgba(255, 255, 255, 1);
-			border: 1px solid #fc5b62;
-			border-radius: 2px;
-			margin: 10rpx 0rpx;
-
-			.lyy-a-tu3 {
-				height: 30rpx;
-				background-color: #fc5b62;
-				padding: 0px 6px;
-				text-align: center;
-				.lyy-a-tu5 {
-					width: 20rpx;
-					height: 20rpx;
-					margin-top: 6rpx;
-					display: block;
-				}
-			}
-
-			.lyy-a-tu4 {
-				margin-left: 4rpx;
-				font-size: 24rpx;
-				line-height: 30rpx;
-				color: #fc5b62;
-				padding: 0px 10rpx;
-				text-align: center;
-			}
-		}
-	}
-}
-</style>

+ 0 - 75
pages/product/groupBooking/inviteImg.vue

@@ -1,75 +0,0 @@
-<template>
-	<view class="box">
-		<image class="inviteImg" :src="image" ></image>
-		<view class="lyy-b-but">长按图片下载</view>
-		<!-- <view class="lyy-b-but" @click="domImg">点击下载图片</view> -->
-	</view>
-</template>
-
-<script>
-	import { getCombinationPoster } from '@/api/product.js';
-	import { mapState } from 'vuex';
-	export default {
-		data() {
-			return {
-				image:'',//海报
-				ptId:'',//拼团id
-			}
-		},
-		computed: {
-			...mapState(['baseURL','urlFile'])
-		},
-		onLoad(option) {
-			// 保存拼团id
-			this.ptId = option.id;
-			// 保存团长id
-			this.spread = option.spread;
-			// 加载分享图
-			this.getCombinationPoster();
-		},
-		methods: {
-			// 加载海报
-			getCombinationPoster() {
-				let obj = this;
-				getCombinationPoster({
-					id:obj.ptId,
-					// #ifdef H5|APP-PLUS
-					url:obj.baseURL+obj.urlFile+'/#/pages/product/groupBooking/detail?id='+obj.ptId+'&spread='+obj.spread,
-					from:'wechat',//来源wechat公众号
-					// #endif
-					// #ifdef MP
-					from:'routine',//来源routine小程序
-					url:'/pages/product/groupBooking/detail?id='+obj.ptId
-					// #endif
-				}).then((e) => {
-					obj.image = e.data.url;
-				}).catch((e) => {
-					console.log(e);
-				})
-			}
-		},
-	}
-</script>
-
-<style lang="scss">
-	page{
-		background-color: #FFFFFF;
-		height: 100%;
-	}
-	.box{
-		.inviteImg{
-			width: 750rpx;
-			height: 1200rpx;
-		}
-	}
-	.lyy-b-but {
-		height: 80rpx;
-		background: #fc5b62;
-		border-radius: 100rpx;
-		text-align: center;
-		color: white;
-		line-height: 80rpx;
-		font-size: 32rpx;
-		margin:  0 100rpx;
-	}
-</style>

+ 0 - 2094
pages/product/groupBooking/productCollage.vue

@@ -1,2094 +0,0 @@
-<template>
-	<view class="container">
-		<!-- 轮播图 -->
-		<view class="carousel">
-			<swiper indicator-dots :circular="true" duration="400">
-				<swiper-item class="swiper-item" v-for="(item, index) in imgList" :key="index">
-					<view class="image-wrapper"><image :src="item" class="loaded" mode="scaleToFill"></image></view>
-				</swiper-item>
-			</swiper>
-		</view>
-		<!-- 介绍部分 -->
-		<view class="introduce-section">
-			<view class="introduce-price flex1">
-				<view class="price">
-					<view class="price-left">
-						<view class="left-1">¥</view>
-						<view class="left-2">{{goodsObjact.price}}</view>
-					</view>
-					<!-- <view class="price-right" >单买价 ¥{{goodsObjact.product_price}}</view> -->
-				</view>
-				<view class="people flex_item">
-					<view class="people_number">{{goodsObjact.people}}人拼</view>
-				</view>
-			</view>
-			<view class="title" >{{goodsObjact.title}}</view>
-			<view class="bot-row flex1">
-				<view>快递:¥ {{goodsObjact.postage}}</view>
-				<view>剩余:{{ goodsObjact.allStock}}件</view>
-				<view>销量:{{ goodsObjact.sales }}</view>
-			</view>
-		</view>
-		<!-- <view class="c-list">
-			<view class="c-row b-b"><text class="tit">拼团玩法</text></view>
-			<view class="c-row b-b">
-				<view class="c-text">
-					①开团/参团
-					<text>——</text>
-					②邀请好友
-					<text>——</text>
-					③满员发货
-				</view>
-			</view>
-			<view class="c-row b-b" @click="toggleSpec()" v-if="goodsType == 2">
-				<text class="tit">购买数量</text>
-				<view class="con">
-					<text class="selected-text">{{ goodsNumber }}</text>
-				</view>
-				<text class="iconfont iconenter"></text>
-			</view>
-		</view> -->
-		<view class="pinklistbox" v-if="pinkTlist.length > 0">
-			<view class="listbox-1 flex1">
-				<view >{{pinkTlist.length}}人在拼单,可直接参与</view>
-				<view class="more flex-center" @click="opens_popup" v-if="more">查看全部
-					<image src="../../../static/img/img39.png"></image>
-				</view>
-			</view>
-			<view class="pinklist">
-				<view v-for="(ls, ind) in showlist" :key="ind" class="flex pinklist_list">
-					<view class="pink_row flex1">
-						<view class="pink_img"><image :src="ls.avatar"></image></view>
-						<view class="pink_name">{{ ls.nickname }}</view>
-					</view>
-					<view class="pink_tpl flex1">
-						<view >
-							<view class="pink_people">
-								还差
-								<text>{{ ls.count}}</text>
-								人拼团
-							</view>
-							<!-- <view class="pink_people">
-								剩余{{ls.time || '00:00:00'}}
-							</view> -->
-						</view>
-						<view class="pint" @click="groupBooking(ls.id)">
-							去拼单
-							<!-- <text class="iconfont iconenter"></text> opens_popups-->
-						</view>
-					</view>
-				</view>
-			</view>
-		</view>
-		<!-- 评价 -->
-		<!-- <view class="eva-section" v-if="replyCount > 0" @click="navTo('/pages/product/reply')">
-			<view class="e-header">
-				<text class="tit">评价</text>
-				<text class="number">({{replyCount}})</text>
-				<text class="tip">全部评价</text>
-				<text class="iconfont iconenter"></text>
-			</view>
-			<view class="eva-box">
-				<view class="box-1 flex1">
-					<view class="left flex-start">
-						<image :src="commentList.avatar"></image>
-						<view class="content">
-							<view class="content-name">{{commentList.nickname}}</view>
-							<view class="content-time">{{commentList.add_time}}</view>
-						</view>
-					</view>
-					<view class="right flex-upDown-center">
-						<view><uniRate text="1" size="14" margin="1" :value="commentList.product_score" ></uniRate></view>
-						<text class="red">{{commentList.product_score}}分</text>
-					</view>
-				</view>
-				<view class="box-2">{{commentList.comment}}</view>
-				<view class="box-3">
-					<view v-for="(item,index) in commentList.pics" :key="index" class="box-3-1">
-						<image :src="item"></image>
-					</view>
-				</view>
-			</view>
-		</view> -->
-		<view class="eva-section" v-if="reply.length > 0" @click="navTo('/pages/product/reply?id=' + goodsid)">
-			<view class="e-header">
-				<text class="tit">评价</text>
-				<text>({{ list.replyCount }})</text>
-				<text class="tip">好评率 {{ list.replyChance }}%</text>
-				<text class="iconfont iconenter"></text>
-			</view>
-			<view class="eva-box">
-				<image class="portrait" :src="reply.avatar" mode="aspectFill"></image>
-				<view class="right">
-					<text class="name">{{ reply.nickname }}</text>
-					<text class="con">{{ reply.comment }}</text>
-					<view class="con_box">
-						<view class="con_image" v-for="item in reply.pics"><image :src="item"></image></view>
-					</view>
-					<view class="bot">
-						<text class="attr"></text>
-						<text class="time">{{ reply.add_time }}</text>
-					</view>
-				</view>
-			</view>
-		</view>
-		<!-- 商品详情图 -->
-		<view class="detail-desc">
-			<view class="desc-title flex-center">
-				<view class="one"></view>
-				商品详情
-				<view class="two"></view>
-			</view>
-			<rich-text :nodes="goodsObjact.description"></rich-text>
-		</view>
-		<!-- <view class="detail-desc">
-			<view class="d-header"><text>图文详情</text></view>
-			<rich-text :nodes="goodsObjact.description"></rich-text>
-		</view> -->
-		<!-- 拼团商品 -->
-		<view class="page-bottom" >
-			<!-- <navigator url="/pages/index/index" open-type="switchTab" class="p-b-btn">
-				<text class="iconfont iconhomefill"></text>
-				<text>首页</text>
-			</navigator> -->
-			<!--<view class="botton-1 flex-center">
-				<view class="botton-frame" @click="toFavorite(goodsObjact)">
-					<view class="img-box" v-if="goodsObjact.userCollect == false"><image src="../../static/label/img02.png"></image></view>
-					<view class="img-box" v-if="goodsObjact.userCollect == true"><image src="../../static/label/img08.png"></image></view>
-					<view class="word" :class="{ active: goodsObjact.userCollect }">收藏</view>
-				</view>
-			</view> 
-			<view class="p-b-btn" :class="{ active: goodsObjact.userCollect }" @click="toFavorite(goodsObjact)">
-				<text class="iconfont iconlikefill"></text>
-				<text>收藏</text>
-			</view> -->
-			<view class="action-btn-group">
-				<!-- <button type="primary" class=" action-btn no-border btn-favorites-btn" @click="navTo('/pages/favorites/favorites')">收藏夹</button> -->
-				<!-- <button type="primary" class=" action-btn no-border buy-now-btn" @click="toFavorite(goodsObjact)">{{ goodsObjact.userCollect ? '取消收藏' : '收藏' }}</button> -->
-				<button type="primary" class=" action-btn no-border add-cart-btn" @click="specOPne()">一键开团</button>
-			</view>
-		</view>
-		
-		<!-- 规格-模态层弹窗 -->
-		<view class="popup spec" :class="specClass" @touchmove.stop.prevent="stopPrevent" @click="toggleSpec()">
-			<!-- 遮罩层 -->
-			<view class="mask"></view>
-			<view class="layer attr-content" @click.stop="stopPrevent">
-				<view class="a-t">
-					<image :src="actionImage"></image>
-					<view class="right">
-						<text class="name">{{ goodsObjact.store_name }}</text>
-						<text class="price">¥{{ actionPrice * goodsNumber }}</text>
-						<text class="stock">库存:{{ goodsStore }}件</text>
-						<view class="selected" v-if="specList != ''">
-							已选:
-							<text class="selected-text" v-for="(sItem, sIndex) in specSelected" :key="sIndex">{{ sItem }}</text>
-						</view>
-					</view>
-				</view>
-				<view v-for="(item, index) in specList" :key="index" class="attr-list">
-					<text>{{ item.attr_name }}</text>
-					<view class="item-list">
-						<text
-							v-for="(childItem, childIndex) in item.attr_value"
-							:key="childIndex"
-							class="tit"
-							:class="{ selected: childItem.check }"
-							@click="selectSpec(childItem, item, index)"
-						>
-							{{ childItem.attr }}
-						</text>
-					</view>
-				</view>
-				<!-- <view class="attr-list">
-					<text>购买数量</text>
-					<view class="item-list">
-						<uni-number-box class="step" :isMin="true" :value="goodsNumber" :min="1" :max="goodsNumberMax" @eventChange="numberChange"></uni-number-box>
-					</view>
-				</view> -->
-				<button class="btn" @click.stop="buy" v-show="buys_show">完成</button>
-				<button class="btn" style="background-color: #999999;" v-show="buys_shows">售罄</button>
-			</view>
-		</view>
-		
-		<!-- 查看全部拼单 -->
-		<uni-popup ref="popup" type="center" >
-			<view class="popup-row">
-				<view class="popup-1">
-					正在拼单
-				</view>
-				
-				<scroll-view scroll-y="true" class="popcont-box">
-					<view class="popup-2">
-						<view v-for="(item,index) in pinkTlist" :key="index" class="popup-2-row flex1">
-							<view class="row-1 flex1">
-								<view class="one">
-									<image :src="item.avatar"></image>
-									<view class="two">
-										<view class="two-1">{{item.nickname }}</view>
-										<!-- <view>剩余 {{item.time}}</view> -->
-									</view>
-								</view>
-								
-								<text class="two-1-1">还差{{item.count}}人</text>
-							</view>
-							<view class="row-2" @click="groupBooking(item.id)">
-								去拼单
-							</view>
-						</view>
-					</view>
-				</scroll-view>
-				
-			</view>
-			<view class="delete" @click="closes_popup"><image src="../../../static/img/deletes.png"></image></view>
-		</uni-popup>
-		
-		<!-- <uni-popup ref="popups" type="center" >
-			<view class="popup-rows" >
-				<view class="rows-1">参与李丹的拼单</view>
-				<view class="rows-2">仅剩<text class="red">1</text>个名额,23:41:55后结束</view>
-				<view class="rows-3 flex1">
-					<view class="rows-3-group" v-for="(item,index) in information" >
-						<view class="group-1">
-							<image src="../../static/delete/timg.jpg"></image>
-							<view class="group-1-1" >团长</view>
-						</view>
-						<view class="group-2">婷930sadasa</view>
-					</view>
-					<view class="rows-3-group" v-for="i in (5 - information.length) " >
-						<view class="group-1">
-							<image src="../../static/label/blank.png"></image>
-						</view>
-						<view class="group-2">带邀请</view>
-					</view>
-				</view>
-				<view class="rows-4" @click="navTo('/pages/order/createOrder')">参与拼单</view>
-			</view>
-			<view class="delete" @click="groupBooking()"><image src="../../static/label/deletes.png"></image></view>
-		</uni-popup>
-		 -->
-		
-		
-		<!-- #ifdef H5 -->
-        <!-- <view class="btn_fenxiang" @click="open">分享</view> -->
-        <view class="mask" v-show="show"><image @click="onTap" src="https://mmz.liuniu946.com/statics/img/shareimg.png"></image></view>
-        <!-- #endif -->  
-		<!-- #ifdef MP-WEIXIN -->
-		<button  open-type="share" class="shareDate">分享</button>
-		<!-- #endif -->
-	</view>
-</template>
-<script>
-import { mapState } from 'vuex';
-
-import { uniFav } from '@/components/uni-fav/uni-fav.vue';
-import { groupGoods, cartAdd, collectAdd, collectDel, productDetail } from '@/api/product.js';
-import { saveUrl } from '@/utils/loginUtils.js';
-import uniNoticeBar from '@/components/uni-notice-bar/uni-notice-bar.vue';
-import uniRate from '@/components/uni-rate/uni-rate.vue';
-import uniPopup from '@/components/uni-popup/uni-popup.vue'
-import uniPopupMessage from '@/components/uni-popup/uni-popup-message.vue'
-import uniPopupDialog from '@/components/uni-popup/uni-popup-dialog.vue'
-import uniNumberBox from '@/components/uni-number-box.vue';
-// #ifdef H5
-import { weixindata } from '@/utils/wxAuthorized';
-// #endif
-export default {
-	components: {
-		uniNumberBox,
-		uniFav,
-		uniNoticeBar,
-		uniRate,
-		uniPopup,
-		uniPopupMessage,
-		uniPopupDialog
-	},
-	// #ifdef MP
-	onShareAppMessage: function(res) {
-		if (res.from === 'button') {
-			// 来自页面内分享按钮
-			let pages = getCurrentPages();
-			// 获取当前页面
-			let page = pages[pages.length - 1];
-			let path = '/' + page.route + '?';
-			// 保存传值
-			for (let i in page.options) {
-				path += i + '=' + page.options[i] + '&';
-			}
-			// 保存邀请人
-			path += 'spread=' + this.userInfo.uid;
-			let data = {
-				path: path,
-				imageUrl: this.goodsObjact.image,
-				title: this.goodsObjact.title
-			};
-			return data;
-		}
-	},
-	// #endif
-	data() {
-		return {
-			imgList: [], //商品轮播图
-			goodsObjact: {}, //保存商品数据
-			pinkTlist:{
-				length:5
-			}, //进行中的拼团的信息
-			showlist: [],//进行中的拼团前两组的信息
-			replyCount:0,//评价总数
-			commentList:{},
-			specList: [],
-			ishow:'',
-			information:[],
-			popuplist:[],
-			show: false,
-			showModal: true, //拼单遮罩层
-			more: true, //查看更多按钮
-			autoplay: true,
-			vertical: true,
-			interval: 3000,
-			duration: 500,
-			buys_show: true,
-			buys_shows: false,
-			circular: true,
-			type: 1, //默认支付方式add为
-			specClass: 'none', //显示隐藏弹窗
-			actionImage: '', //商品图片
-			goodsid: '', //商品id
-			actionPrice: '', //商品价格
-			// specClass: 'none', //显示隐藏弹窗
-			shareList: [], //分享列表
-			goodsNumberMax: 0, //商品库存
-			//图片循环
-			people: '', //拼团人数
-			goodsNumber: 1, //购买数量(开团数量为1,整团数量为1*参团人数)
-			carnumber: '', //整团购买商品数量
-			reply: {}, //商品数据
-			list: '', //详情数据
-			goodsType: 1, //商品类型1秒杀商品0为普通商品2为拼团商品3为新人礼包
-			count: 0, //点击查看更多
-			showmore: true,
-			pinkTlistnum: '',
-			spread: '',
-			chooseGoodsNumber: 1, //选择商品的数量
-			specSelected: [], //选中的分类
-			goodsStore: 0, //选中库存
-			uniqueId: '',
-			productValue: '',
-			isCollect: '', //是否被收藏
-			maskshow: false, //弹窗
-			posturl: '',
-			option: '', //保存传值
-			opt: '', //保存小程序传值
-			uniquetype:false,//判断是否是从拼团详情界面跳回的 false 不是  true 是 
-			shop:'',//返回的拼团订单id
-			allStock:0//商品总库存
-		};
-	},
-	onLoad(option) {
-		this.option = option;
-		if (option.scene) {
-			if (typeof option.scene == 'string') {
-				let scene = ('{' + option.scene + '}')
-					.replace('qr%26', '')
-					.replace(/%3D/g, ':')
-					.replace(/%26/g, ',')
-					.replace('pid', '"pid"')
-					.replace('type', '"type"')
-					.replace('id', '"id"');
-				let opt = JSON.parse(scene);
-				this.opt = opt;
-				// 保存拼团订单id
-				this.goodsid = opt.id;
-				if (opt.pid) {
-					// 存储邀请人
-					this.spread = opt.pid;
-					uni.setStorageSync('spread', opt.pid);
-				}
-				if (opt.type) {
-					this.goodsType = opt.type;
-				}
-			}
-		} else {
-			//保存商品id
-			this.goodsid = option.id;
-			//判断有无人邀请
-			if (option.spread) {
-				// 存储邀请人
-				this.spread = option.spread;
-				uni.setStorageSync('spread', option.spread);
-			}
-			//判断是否是普通商品
-			if (option.type) {
-				console.log(option.type);
-				this.goodsType = option.type;
-			}
-			
-		}
-		//判断是否是从拼团详情界面跳回的
-		if (option.uniquetype) {
-			console.log(option.uniquetype);
-			this.uniquetype = option.uniquetype;
-		}
-		//接受返回的拼团订单id
-		if (option.shop) {
-			console.log(option.uniquetype);
-			this.shop = option.shop;
-		}
-		// 保存当前页面
-		saveUrl();
-	},
-	onShow() {
-		let obj = this;
-		groupGoods({}, obj.goodsid).then(function({ data }) {
-			console.log(data,112)
-			let goods = data.storeInfo;
-			obj.imgList = goods.images;//拼团轮播图
-			obj.goodsObjact = goods;//拼团拼团产品信息
-			// 保存商品总库存
-			obj.allStock = 0;
-			for(let key in 	data.productValue){
-				obj.allStock +=data.productValue[key].stock
-			}
-			obj.pinkTlist = data.pink;//进行中的拼团的信息
-			obj.showlist = obj.pinkTlist.slice(0, 2);//截取拼团信息的前两组
-			obj.replyCount = data.replyCount;//评价总数
-			//obj.commentList = data.reply[0];//保存评价里的第一条
-			obj.specList = data.productAttr;//保存产品属性
-			//商品详情图超出屏幕问题
-			if (obj.goodsObjact.description != null) {
-				obj.goodsObjact.description = obj.goodsObjact.description.replace(/<img/g, '<img class="rich-img"').replace(/<p>\S*<img/g, '<p class="pHeight"><img');
-			}
-			
-			if(obj.pinkTlist.length<=2){
-				obj.more = false;
-			};
-			if (data.reply) {
-				obj.reply = data.reply;
-			}
-			obj.list = data; //详情数据
-			obj.productValue = data.productValue; //保存属性值
-			// 保存数据修改数组
-			// console.log(obj.pinkTlist,55)
-			obj.people = goods.people; //拼团人数
-			obj.productId = goods.product_id;
-			
-			// 保存默认选中的对象
-			obj.specSelected = []; //初始化默认选择对象
-			for (let i = 0; i < obj.specList.length; i++) {
-				// 设置默认数据
-				let attrValue = obj.specList[i].attr_value[0];
-				attrValue.check = true;
-				obj.specSelected.push(attrValue.attr);
-			}
-			
-			//保存默认选中的对象字符串名称
-			let str = obj.specSelected.join(',');
-			// 设置默认值
-			obj.actionPrice = obj.productValue[str].price;
-			obj.goodsNumberMax = obj.productValue[str].stock;
-			obj.actionImage = obj.productValue[str].image;
-			obj.uniqueId = obj.productValue[str].unique;
-			obj.goodsStore = obj.productValue[str].quota;
-			console.log(obj.goodsStore,9000)
-			// #ifdef H5
-			obj.shareDate();
-			// #endif
-			// obj.clickMore();
-		});
-		// combination({}, obj.goodsid).then()
-	},
-	computed: {
-		...mapState(['userInfo', 'baseURL'])
-	},
-	methods: {
-		//选择规格
-		selectSpec(item, arr, ind) {
-			console.log(item,arr,ind,';')
-			arr.attr_value.forEach(function(e) {
-				e.check = false;
-			});
-			item.check = true;
-			let obj = this;
-			obj.specSelected[ind] = item.attr;
-			let str = obj.specSelected.join(',');
-			console.log(obj.productValue[str],116)
-			if (obj.productValue[str]) {
-				obj.buys_show = true;
-				obj.buys_shows = false;
-				obj.actionPrice = obj.productValue[str].price;
-				obj.goodsNumberMax = obj.productValue[str].stock;
-				obj.actionImage = obj.productValue[str].image;
-				obj.uniqueId = obj.productValue[str].unique;
-				if (obj.goodsType == 2) {
-					obj.goodsStore = obj.productValue[str].quota;
-				} else {
-					obj.goodsStore = obj.productValue[str].product_stock;
-				}
-			} else {
-				(obj.buys_show = false), (obj.buys_shows = true);
-			}
-		},
-		numberChange(e) {
-			//购买数量
-			this.chooseGoodsNumber = e.number;
-			// console.log(e.number)
-			// console.log(this.chooseGoodsNumber,'chooseGoodsNumber')
-		},
-		opens_popup(){
-			this.$refs.popup.open()
-		},
-		closes_popup(){
-			this.$refs.popup.close()
-		},
-		opens_popups(){
-			this.$refs.popup.close()
-			this.$refs.popups.open()
-		},
-		closes_popups(){
-			this.$refs.popups.close()
-		},
-		// 处理数组结构
-		dataUpReturn(data) {
-			//保存处理完毕数据
-			let arr = [];
-			// 保存临时数据
-			let arr1 = [];
-			// 设置每个小数组可以存放的数量
-			let num = 2;
-			if (data.length > 1) {
-				for (let i = 0; i < data.length; i++) {
-					// 保存数据到临时数组
-					arr1.push(data[i]);
-					if ((i + 1) % num === 0) {
-						console.log(arr1, 2);
-						// 添加数据到返回数组,用map方法解决物理指针问题导致的数据对象改变问题
-						arr.push(
-							arr1.map(e => {
-								return e;
-							})
-						);
-						// 清空临时数组重新开始计算
-						arr1 = [];
-					}
-				}
-			}
-			// 判断是否为奇数
-			if (data.length % num === 1) {
-				arr.push([data[data.length - 1]]);
-			}
-			return arr;
-		},
-		specOPne() {
-			//显示弹出框
-			// 是否有开团用户
-			// if (this.pinkTlist.length > 0) {
-			// 	this.groupBooking(this.pinkTlist[0][0].id);
-			// } else {
-			// }
-			this.specClass = 'show';
-		},
-		
-		//去拼团
-		groupBooking(item) {
-			uni.navigateTo({
-				url: '/pages/product/details?pink_id=' + item
-			});
-		},
-		//拼团列表数据分页
-		setPinkList() {
-			let obj = this;
-			let showlist = new Array();
-			for (let i = 0; i < obj.pinkTlist.length; i++) {
-				if (i >= obj.count) {
-					break;
-				}
-				showlist[i] = obj.pinkTlist[i];
-			}
-			obj.showlist = showlist;
-		},
-		//查看更多
-		// clickMore() {
-		// 	let obj = this;
-		// 	obj.count += 2;
-		// 	obj.setPinkList();
-		// 	if (obj.count >= obj.pinkTlist.length) {
-		// 		obj.showmore = false; //当次数大于拼团数据,查看更多隐藏
-		// 	} else {
-		// 		obj.showmore = true; //当次数大于拼团数据,查看更多隐藏
-		// 	}
-		// },
-		clickMore() {
-			this.showlist = this.pinkTlist;
-			console.log(this.showlist, 22);
-			this.more = false;
-		},
-		//规格弹窗开关
-		toggleSpec(str) {
-			if (this.specClass === 'show') {
-				this.specClass = 'hide';
-				setTimeout(() => {
-					this.specClass = 'none';
-				}, 250);
-			} else if (this.specClass === 'none') {
-				this.specClass = 'show';
-			}
-			// 判断是否为数字
-			if (typeof str == 'number') {
-				// 保存当前购买类型
-				this.type = str;
-			}
-		},
-		//显示弹窗
-		open() {
-			this.show = true;
-		},
-		//随意点击隐藏弹窗
-		onTap() {
-			if (!this.open) return;
-			this.close();
-		},
-		close() {
-			this.show = false;
-		},
-		//收藏
-		toFavorite(item) {
-			let obj = this;
-
-			item.userCollect = !item.userCollect;
-			// 判断是否已经收藏
-			if (!item.userCollect) {
-				collectDel({
-					id: item.id,
-					category: 'pink'
-				}).then(function(e) {
-					obj.$api.msg('成功取消收藏!');
-				});
-			} else {
-				collectAdd({
-					id: item.id,
-					category: 'pink'
-				}).then(function(e) {
-					obj.$api.msg('成功加入收藏!');
-				});
-			}
-		},
-		
-		// #ifdef H5
-		shareDate() {
-			let obj = this;
-			let url = window.location.href.replace(/[\?,&]{0,1}from=singlemessage/g, '') + '&spread=' + this.userInfo.uid;
-			let bool = uni.getStorageSync('weichatBrowser') || '';
-			// 判断是否微信浏览器
-			if (bool) {
-				let data;
-				if (obj.goodsType == 0) {
-					data = {
-						link: url, // 分享链接
-						imgUrl: obj.goodsObjact.image, // 分享图标
-						desc: obj.goodsObjact.store_info,
-						title: obj.goodsObjact.store_name,
-						success: function() {}
-					};
-				}
-				if (obj.goodsType == 2) {
-					data = {
-						link: url, // 分享链接
-						imgUrl: obj.goodsObjact.image, // 分享图标
-						title: obj.goodsObjact.title,
-						desc: obj.goodsObjact.info,
-						success: function() {}
-					};
-				}
-				weixindata(data);
-			}
-		},
-		// #endif
-		/**
-		 * 统一跳转接口,拦截未登录路由
-		 * navigator标签现在默认没有转场动画,所以用view
-		 */
-		navTo(url) {
-			uni.navigateTo({
-				url
-			});
-		},
-		// 立即购买
-		buy(item) {
-			let obj = this;
-			if(obj.uniquetype == false){
-				// 创建传值对象
-				console.log(obj.list.productValue);
-				console.log(obj.list);
-				let data = {
-					// cartNum: obj.goodsNumber, //商品数量
-					cartNum: obj.chooseGoodsNumber, //商品数量
-					uniqueId: obj.uniqueId, //商品标签
-					new: 1, //商品是否新增加到购物车1为不加入0为加入
-					mer_id: obj.shopId,
-					combinationId: obj.goodsid, //拼团编号
-					productId: obj.goodsObjact.product_id, //商品编号
-				};
-				this.specClass = 'none';
-				cartAdd(data)
-					.then(function(e) {
-						let da = e.data;
-						console.log(e);
-						if (obj.type == 1) {
-							// 跳转到支付页
-							uni.navigateTo({
-								url: '/pages/order/createOrder?id=' + da.cartId + '&goodsType=' + obj.goodsType
-							});
-						}
-						if (obj.type == 2) {
-							obj.$api.msg('成功加入购物车');
-							obj.toggleSpec();
-						}
-					})
-					.catch(e => {
-						console.log(e);
-					}); 
-			}else{
-				console.log(obj.uniquetype,'obj.uniquetype')
-				uni.navigateTo({
-					url: '/pages/product/details?pink_id=' + obj.shop + '&unique=' + obj.uniqueId + '&uniquetype=' + obj.uniquetype
-				});
-			}
-			
-		},
-		// 阻止触发上级事件
-		stopPrevent() {}
-	}
-};
-</script>
-
-<style lang="scss">
-page {
-	background: $page-color-base;
-	padding-bottom: 160rpx;
-	line-height: 1;
-}
-
-// 处理图片间白色间距问题
-/deep/ .pHeight {
-	line-height: 0;
-}
-
-/deep/ div,
-/deep/ table {
-	max-width: 100% !important;
-}
-
-/* #ifdef MP */
-.rich-img {
-	width: 100% !important;
-	height: auto;
-}
-// 处理图片间白色间距问题
-.pHeight {
-	line-height: 0;
-}
-/* #endif */
-
-.popup-row{
-	width:580rpx;
-	background:#ffffff;
-	border-radius:20rpx;
-	.popup-1{
-		padding: 35rpx 0;
-		font-size:$font-lg;
-		font-weight:bold;
-		color:#333333;
-		text-align: center;
-		border-bottom: 1px solid #EEEEEE;
-	}
-	.popcont-box {
-		height: 600rpx;
-	}
-	.popup-2{
-		padding: 0 25rpx;
-		.popup-2-row{
-			padding: 25rpx 0;
-			border-bottom: 1px solid #EEEEEE;
-			&:nth-last-child(1){
-				border-bottom:none;
-			}
-			.row-1{
-				width: 70%;
-				.one{
-					display: flex;
-					align-items: center;
-					image{
-						width: 75rpx;
-						height: 75rpx;
-						border-radius: 50%;
-					}
-				}
-				.two{
-					margin-left: 20rpx;
-					font-size:28rpx;
-					font-weight:500;
-					color:#333333;
-					.two-1{
-						// margin-bottom: 20rpx;
-						font-size:$font-base;
-						font-weight:500;
-						max-width: 160rpx;
-						overflow: hidden;
-						text-overflow: ellipsis;
-						white-space: nowrap;
-					}
-				}
-				.two-1-1{
-					font-size:$font-base;
-					font-weight:500;
-					color:#666666;
-				}
-			}
-			.row-2{
-				padding: 20rpx 30rpx;
-				background:$base-color;
-				border-radius:10rpx;
-				font-size:28rpx;
-				font-weight:500;
-				color:#FFFFFF;
-			}
-		}
-	}
-}
-.popup-rows{
-	width:580rpx;
-	background:#ffffff;
-	border-radius:20rpx;
-	text-align: center;
-	padding-bottom: 35rpx;
-	.rows-1{
-		font-size:$font-lg;
-		font-weight:bold;
-		color:#333333;
-		padding-top: 60rpx;
-	}
-	.rows-2{
-		margin-top: 25rpx;
-		font-size:28rpx;
-		font-weight:500;
-		color:#333333;
-	}
-	.rows-3{
-		margin-top: 35rpx;
-		padding: 0 50rpx;
-		
-		.rows-3-group {
-			display: flex;
-			align-items: center;
-			flex-direction: column;
-			.group-1{
-				display: flex;
-				align-items: center;
-				flex-direction: column;
-			}
-			.group-2{
-				flex: 1;
-				font-size:$font-sm - 4rpx;
-				font-weight:500;
-				color:#666666;
-				margin-top: 10rpx;
-				width:55rpx;
-				overflow:hidden;
-				white-space:nowrap;
-				text-overflow:ellipsis;
-			}
-			image{
-				width: 80rpx;
-				height: 80rpx;
-				border-radius: 50%;
-			}
-			.group-1-1{
-				z-index: 10;
-				margin-top: -25rpx;
-				width:70rpx;
-				height:25rpx;
-				background:#e64048;
-				border-radius:12rpx;
-				font-size:$font-sm - 4rpx;
-				font-weight:500;
-				color:#ffffff;
-				line-height: 25rpx;
-			}
-		}
-	}
-	.rows-4{
-		margin: 40rpx 45rpx 0rpx 45rpx;
-		padding: 25rpx 0;
-		background:$base-color;
-		border-radius:10rpx;
-		
-		font-size:$font-lg;
-		font-weight:500;
-		color:#ffffff;
-	}
-}
-
-.delete{
-	width: 60rpx;
-	height: 60rpx;
-	position: absolute;
-	right: -30rpx;
-	top:-30rpx;
-	image{
-		width: 60rpx;
-		height: 60rpx;
-	}
-}
-
-/* 评价 */
-.eva-section {
-	padding: 20rpx 30rpx;
-	background: #fff;
-	margin-top: 20rpx;
-	.e-header {
-		display: flex;
-		align-items: center;
-		font-size:28rpx;
-		color: #333333;
-		.tit {
-			margin-right: 15rpx;
-		}
-		.tip {
-			flex: 1;
-			font-size:24rpx;
-			color: #999999;
-			text-align: right;
-		}
-		.iconenter {
-			width: 24rpx;
-			height: 24rpx;
-			margin-left: 10rpx;
-		}
-	}
-	.eva-box {
-		padding-top: 30rpx;
-		.box-1{
-			.left{
-				image{
-					width: 80rpx;
-					height: 80rpx;
-					border-radius: 50%;
-				}
-				.content{
-					margin-left: 15rpx;
-					.content-name{
-						font-size:24rpx;
-						font-weight:500;
-						color:#333333;
-					}
-					.content-time{
-						font-size:20rpx;
-						font-weight:500;
-						color:#999999;
-					}
-				}
-			}
-			.right{
-				.image{
-					width: 25rpx;
-					height: 25rpx;
-					margin-left: 10rpx;
-				}
-				.red{
-					margin-left: 15rpx;
-					font-size:24rpx;
-					font-weight:500;
-					color:#fd5b23;
-				}
-				.con_image{
-					
-				}
-			}
-		}
-		.box-2{
-			padding: 30rpx 0 15rpx 0;
-			font-size:28rpx;
-			font-weight:500;
-			color:#666666;
-		}
-		.box-3{
-			.box-3-1{
-				display: inline;
-				width: 150rpx;
-				height: 150rpx;
-				image{
-					margin-right: 20rpx;
-					width: 150rpx;
-					height: 150rpx;
-				}
-			}
-			
-		}
-	}
-}
-
-/* .list-row {
-	position: fixed;
-	top: 450rpx;
-	left: 86rpx;
-
-	.row {
-		position: relative;
-		width: 578rpx;
-		height: 700rpx;
-		background: #ffffff;
-		border-radius: 20rpx;
-
-		.row-1 {
-			flex: 1;
-			text-align: center;
-			padding: 26rpx 223rpx;
-			border-bottom: 2rpx solid #eeeeee;
-
-			.row-1-1 {
-				font-size: $font-lg;
-				font-weight: bold;
-				color: #333333;
-			}
-		}
-
-		.row-2 {
-			padding: 0 23rpx;
-
-			.pinklist_list {
-				padding: 20rpx 0;
-				display: flex;
-				justify-content: space-around;
-				align-items: center;
-				border-bottom: 1px solid #eeeeee;
-
-				.left {
-					width: 74rpx;
-					height: 74rpx;
-					background-color: #e3e3e3;
-					border-radius: 50%;
-				}
-
-				.center {
-					display: flex;
-					flex-wrap: wrap;
-					margin-left: 17rpx;
-
-					.center-1 {
-						display: flex;
-						align-items: center;
-						letter-spacing: 3rpx;
-
-						.center-1-1 {
-							font-size: $font-base;
-							font-weight: 500;
-							color: #333333;
-						}
-
-						.center-1-2 {
-							font-size: $font-base - 2rpx;
-							font-weight: 500;
-							color: #333333;
-						}
-					}
-				}
-
-				.right {
-					width: 134rpx;
-					height: 59rpx;
-					background: $base-color;
-					border-radius: 10rpx;
-					display: flex;
-					align-items: center;
-					justify-content: center;
-
-					.right-word {
-						font-size: 26rpx;
-						font-weight: 500;
-						color: #ffffff;
-					}
-				}
-			}
-		}
-
-		.row-3 {
-			width: 56rpx;
-			height: 56rpx;
-			position: absolute;
-			top: -28rpx;
-			right: -28rpx;
-		}
-	}
-} */
-
-.iconenter {
-	font-size: $font-base + 2rpx;
-	color: #888;
-}
-
-
-.carousel {
-	height: 722rpx;
-	position: relative;
-
-	swiper {
-		height: 100%;
-	}
-
-	.image-wrapper {
-		width: 100%;
-		height: 100%;
-	}
-
-	.swiper-item {
-		display: flex;
-		justify-content: center;
-		align-content: center;
-		height: 750rpx;
-		overflow: hidden;
-
-		image {
-			width: 100%;
-			height: 100%;
-		}
-	}
-}
-
-/* 标题简介 */
-.introduce-section {
-	background: #fff;
-	padding: 15rpx 25rpx 30rpx 25rpx;
-	.introduce-price{
-		width: 100%;
-		overflow: hidden;
-		.price{
-			display: flex;
-			align-items: flex-end;
-			justify-content: flex-start;
-			
-			.price-left{
-				display: flex;
-				align-items: flex-end;
-				color:#fc4141;
-				margin-right: 20rpx;
-				.left-1{
-					margin-right: 5rpx;
-					font-size:28rpx;
-				}
-				.left-2{
-					font-size:$font-lg + 16rpx;
-					line-height: 38rpx;
-				}
-			}
-			.price-right{
-				font-size:28rpx;
-				color:#333333;
-				opacity:0.61;
-			}
-		}
-		.people{
-			width: 140rpx;
-			height: 45rpx;
-			background: url(../../../static/img/img43.png) no-repeat center;
-			background-size: 100%;
-			.people_number{
-				margin-left: 60rpx;
-				font-size:20rpx;
-				font-weight:500;
-				color:rgba(250,39,64,1);
-				line-height: 40rpx;
-			}
-		}
-		/* .share{
-			image{
-				width: 30rpx;
-				height: 35rpx;
-			}
-		} */
-	}
-	.title {
-		margin-top: 30rpx;
-		font-size: 32rpx;
-		color: #1D2023;
-		line-height: 40rpx;
-		font-weight: 600;
-	}
-	.bot-row{
-		margin-top: 20rpx;
-		overflow: hidden;
-		font-size:24rpx;
-		font-weight:500;
-		color:#999999;
-	}
-}
-
-
-/* 标题简介 */
-/* .introduce-section {
-	background: #fff;
-	padding: 20rpx 30rpx;
-
-	.title {
-		font-size: 32rpx;
-		color: $font-color-dark;
-		height: 50rpx;
-		line-height: 50rpx;
-	}
-
-	.price-box {
-		display: flex;
-		align-items: baseline;
-		// height: 64rpx;
-		padding: 10rpx 0;
-		font-size: 26rpx;
-		color: $uni-color-primary;
-	}
-
-	.price {
-		font-size: $font-lg + 2rpx;
-		color: #666666 !important;
-	}
-
-	.vip_price {
-		font-size: $font-lg + 2rpx;
-		color: $uni-color-primary;
-		padding-left: 15rpx;
-	}
-
-	.m-price {
-		margin: 0 12rpx;
-		color: $font-color-light;
-		text-decoration: line-through;
-	}
-
-	.coupon-tip {
-		align-items: center;
-		padding: 4rpx 10rpx;
-		background: $uni-color-primary;
-		font-size: $font-sm;
-		color: #fff;
-		border-radius: 6rpx;
-		line-height: 1;
-		transform: translateY(-4rpx);
-	}
-
-	.bot-row {
-		display: flex;
-		align-items: center;
-		height: 50rpx;
-		font-size: $font-sm;
-		color: $font-color-light;
-
-		text {
-			flex: 1;
-		}
-	}
-
-	.people {
-		border-radius: 10rpx;
-		height: 35rpx !important;
-		border: 2rpx solid #db1935;
-		height: 40rpx;
-
-		.people_image {
-			background-color: #db1935;
-			width: 40rpx;
-			height: 35rpx;
-			text-align: center;
-			border-top-left-radius: 20%;
-			border-bottom-left-radius: 20%;
-
-			image {
-				width: 25rpx;
-				height: 20rpx;
-				// margin-bottom: 5rpx;
-			}
-		}
-
-		.people_number {
-			padding: 5rpx 10rpx;
-		}
-	}
-} */
-
-/* 分享 */
-.share-section {
-	display: flex;
-	align-items: center;
-	color: $font-color-base;
-	background: linear-gradient(left, #fdf5f6, #fbebf6);
-	padding: 12rpx 30rpx;
-
-	.share-icon {
-		display: flex;
-		align-items: center;
-		width: 70rpx;
-		height: 30rpx;
-		line-height: 1;
-		border: 1px solid $uni-color-primary;
-		border-radius: 4rpx;
-		position: relative;
-		overflow: hidden;
-		font-size: 22rpx;
-		color: $uni-color-primary;
-
-		&:after {
-			content: '';
-			width: 50rpx;
-			height: 50rpx;
-			border-radius: 50%;
-			left: -20rpx;
-			top: -12rpx;
-			position: absolute;
-			background: $uni-color-primary;
-		}
-	}
-
-	.iconfavorfill {
-		position: relative;
-		z-index: 1;
-		font-size: 24rpx;
-		margin-left: 2rpx;
-		margin-right: 10rpx;
-		color: #fff;
-		line-height: 1;
-	}
-
-	.tit {
-		font-size: $font-base;
-		margin-left: 10rpx;
-	}
-
-	.iconprompt {
-		padding: 10rpx;
-		font-size: 30rpx;
-		line-height: 1;
-	}
-
-	.share-btn {
-		flex: 1;
-		text-align: right;
-		font-size: $font-sm;
-		color: $uni-color-primary;
-	}
-
-	.iconenter {
-		font-size: $font-sm;
-		margin-left: 4rpx;
-		color: $uni-color-primary;
-	}
-}
-
-.c-list {
-	font-size: $font-sm + 2rpx;
-	color: #303133;
-	margin-top: 20rpx;
-	background: #fff;
-
-	.c-row {
-		display: flex;
-		align-items: center;
-		padding: 20rpx 30rpx;
-		position: relative;
-
-		.c-text {
-			text {
-				padding-left: 25rpx;
-				padding-right: 25rpx;
-			}
-		}
-	}
-
-	.tit {
-		width: 140rpx;
-	}
-
-	.con {
-		flex: 1;
-		color: $font-color-dark;
-
-		.selected-text {
-			margin-right: 10rpx;
-		}
-	}
-
-	.bz-list {
-		height: 40rpx;
-		font-size: $font-sm + 2rpx;
-		color: $font-color-dark;
-
-		text {
-			display: inline-block;
-			margin-right: 30rpx;
-		}
-	}
-
-	.con-list {
-		flex: 1;
-		display: flex;
-		flex-direction: column;
-		color: $font-color-dark;
-		line-height: 40rpx;
-	}
-
-	.red {
-		color: $uni-color-primary;
-	}
-}
-
-/* 评价 */
-/* .eva-section {
-	display: flex;
-	flex-direction: column;
-	padding: 20rpx 30rpx;
-	background: #fff;
-	margin-top: 16rpx;
-
-	.e-header {
-		display: flex;
-		align-items: center;
-		height: 70rpx;
-		font-size: $font-sm + 2rpx;
-		color: $font-color-light;
-
-		.tit {
-			font-size: $font-base + 2rpx;
-			color: $font-color-dark;
-			margin-right: 4rpx;
-		}
-
-		.tip {
-			flex: 1;
-			text-align: right;
-		}
-
-		.iconenter {
-			margin-left: 10rpx;
-		}
-	}
-}
- 
-.eva-box {
-	display: flex;
-	padding: 20rpx 0;
-
-	.portrait {
-		flex-shrink: 0;
-		width: 80rpx;
-		height: 80rpx;
-		border-radius: 100px;
-	}
-
-	.right {
-		flex: 1;
-		display: flex;
-		flex-direction: column;
-		font-size: $font-base;
-		color: $font-color-base;
-		padding-left: 26rpx;
-
-		.con {
-			font-size: $font-base;
-			color: $font-color-dark;
-			padding: 20rpx 0;
-		}
-
-		.bot {
-			display: flex;
-			justify-content: space-between;
-			font-size: $font-sm;
-			color: $font-color-light;
-		}
-	}
-}
-
-.con_image {
-	width: 130rpx;
-	height: 130rpx;
-	display: inline-block;
-	padding: 15rpx;
-
-	image {
-		width: 100%;
-		height: 100%;
-	}
-}*/
-
-/*  详情 */
-.detail-desc {
-	.desc-title{
-		font-size:28rpx;
-		font-weight:500;
-		color:#1D2023;
-		padding: 25rpx 0;
-		.one{
-			width:77rpx;
-			height:1px;
-			background:linear-gradient( to right ,rgba(204,204,204,0), rgba(204,204,204,1));
-			margin-right: 10rpx;
-		}
-		.two{
-			margin-left: 10rpx;
-			width:77rpx;
-			height:1px;
-			background:linear-gradient( to left ,rgba(204,204,204,0), rgba(204,204,204,1));
-		}
-	}
-	
-}
-/* .detail-desc {
-	background: #fff;
-	margin-top: 16rpx;
-
-	img {
-		max-width: 100%;
-	}
-
-	.d-header {
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		height: 80rpx;
-		font-size: $font-base + 2rpx;
-		color: $font-color-dark;
-		position: relative;
-
-		text {
-			padding: 0 20rpx;
-			background: #fff;
-			position: relative;
-			z-index: 1;
-		}
-
-		&:after {
-			position: absolute;
-			left: 50%;
-			top: 50%;
-			transform: translateX(-50%);
-			width: 300rpx;
-			height: 0;
-			content: '';
-			border-bottom: 1px solid #ccc;
-		}
-	}
-} */
-
-/* 规格选择弹窗 */
-.attr-content {
-	padding: 25rpx 30rpx;
-
-	.a-t {
-		display: flex;
-
-		image {
-			width: 170rpx;
-			height: 170rpx;
-			flex-shrink: 0;
-			border-radius: 8rpx;
-		}
-
-		.right {
-			display: flex;
-			flex-direction: column;
-			padding-left: 24rpx;
-			font-size: $font-sm + 2rpx;
-			color: $font-color-base;
-			line-height: 42rpx;
-			width: 75%;
-
-			.price {
-				font-size: $font-lg;
-				color: $uni-color-primary;
-				margin: 10rpx 0rpx;
-			}
-
-			.name {
-				font-size: 32rpx;
-				color: $font-color-dark;
-				height: 50rpx;
-				overflow: hidden;
-				text-overflow: ellipsis;
-				white-space: nowrap;
-				display: block;
-			}
-
-			.selected-text {
-				margin-right: 10rpx;
-			}
-		}
-	}
-
-	.attr-list {
-		display: flex;
-		flex-direction: column;
-		font-size: $font-base + 2rpx;
-		color: $font-color-base;
-		padding-top: 30rpx;
-		padding-left: 10rpx;
-	}
-
-	.item-list {
-		padding: 20rpx 0 0;
-		display: flex;
-		flex-wrap: wrap;
-
-		text {
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			background: #eee;
-			margin-right: 20rpx;
-			margin-bottom: 20rpx;
-			border-radius: 100rpx;
-			min-width: 60rpx;
-			height: 60rpx;
-			padding: 0 20rpx;
-			font-size: $font-base;
-			color: $font-color-dark;
-		}
-
-		.selected {
-			background: #fbebee;
-			color: $uni-color-primary;
-		}
-	}
-}
-
-/*  弹出层 */
-.popup {
-	position: fixed;
-	left: 0;
-	top: 0;
-	right: 0;
-	bottom: 0;
-	z-index: 99;
-
-	&.show {
-		display: block;
-
-		.mask {
-			animation: showPopup 0.2s linear both;
-		}
-
-		.layer {
-			animation: showLayer 0.2s linear both;
-		}
-	}
-
-	&.hide {
-		.mask {
-			animation: hidePopup 0.2s linear both;
-		}
-
-		.layer {
-			animation: hideLayer 0.2s linear both;
-		}
-	}
-
-	&.none {
-		display: none;
-	}
-
-	.mask {
-		position: fixed;
-		top: 0;
-		width: 100%;
-		height: 100%;
-		z-index: 1;
-		background-color: rgba(0, 0, 0, 0.4);
-	}
-
-	.layer {
-		position: fixed;
-		z-index: 99;
-		bottom: 0;
-		width: 100%;
-		min-height: 35vh;
-		border-radius: 10rpx 10rpx 0 0;
-		background-color: #fff;
-
-		.btn {
-			height: 66rpx;
-			line-height: 66rpx;
-			border-radius: 100rpx;
-			background: $uni-color-primary;
-			font-size: $font-base + 2rpx;
-			color: #fff;
-			margin: 30rpx auto 20rpx;
-		}
-	}
-
-	@keyframes showPopup {
-		0% {
-			opacity: 0;
-		}
-
-		100% {
-			opacity: 1;
-		}
-	}
-
-	@keyframes hidePopup {
-		0% {
-			opacity: 1;
-		}
-
-		100% {
-			opacity: 0;
-		}
-	}
-
-	@keyframes showLayer {
-		0% {
-			transform: translateY(120%);
-		}
-
-		100% {
-			transform: translateY(0%);
-		}
-	}
-
-	@keyframes hideLayer {
-		0% {
-			transform: translateY(0);
-		}
-
-		100% {
-			transform: translateY(120%);
-		}
-	}
-}
-//分享
-.btn_fenxiang {
-	position: fixed;
-	right: 20rpx;
-	bottom: 50%;
-	z-index: 95;
-	width: 100rpx;
-	color: #ffffff;
-	border-radius: 100%;
-	background-color: $background-color;
-	line-height: 100rpx;
-	text-align: center;
-	font-size: 30rpx;
-}
-.shareDate{
-	position: fixed;
-	right: 20rpx;
-	bottom: 50%;
-	z-index: 95;
-	color: #ffffff;
-	border-radius: 100rpx;
-	height: 120rpx;
-	line-height: 120rpx;
-	background-color: $background-color;
-	text-align: center;
-	font-size: 30rpx;
-}
-/* 底部操作菜单 */
-.page-bottom {
-	position: fixed;
-	bottom: 0rpx;
-	z-index: 95;
-	display: flex;
-	justify-content: center;
-	align-items: center;
-	width: 100%;
-	height: 100rpx;
-	background: rgba(255, 255, 255, 0.9);
-	.botton-1{
-		width: 100rpx;
-		height: 100rpx;
-		background-color: #FFFFFF;
-		.botton-frame {
-			display: flex;
-			align-items: center;
-			flex-direction: column;
-			.img-box {
-				width: 45rpx;
-				height: 40rpx;
-				image{
-					width: 100%;
-					height: 100%;
-				}
-			}
-			
-		}
-		.word{
-			margin-top: 6rpx;
-			font-size:20rpx;
-			font-weight:400;
-			color:#666666;
-			&.active {
-				color: $uni-color-primary;
-			}
-		}
-	}
-	.p-b-btn {
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		justify-content: center;
-		font-size: $font-sm;
-		color: $font-color-base;
-		width: 100rpx;
-		height: 100rpx;
-
-		.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;
-		}
-	}
-
-	.gobuy {
-		width: 100%;
-		background: #db1935;
-		height: 100%;
-		color: #ffffff;
-		text-align: center;
-		padding-top: 25rpx;
-		border-radius: 15rpx;
-	}
-
-	.action-btn-group {
-		display: flex;
-		flex:1;
-		height: 100%;
-		overflow: hidden;
-		position: relative;
-
-		&:after {
-			content: '';
-			position: absolute;
-			top: 50%;
-			right: 50%;
-			transform: translateY(-50%);
-			height: 28rpx;
-			width: 0;
-			// border-right: 1px solid rgba(255, 255, 255, 0.5);
-		}
-
-		.action-btn {
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			flex: 1;
-			height: 100%;
-			font-size: $font-lg + 4rpx;
-			font-weight:bold;
-			background: transparent;
-			border-radius:0;
-			letter-spacing: 5rpx;
-
-			&.buy-now-btn {
-				background-color: #ffb238;
-			}
-
-			&.add-cart-btn {
-				background:$base-color;
-			}
-			&.btn-favorites-btn {
-				background-color: rgba(24, 179, 255, 1);
-			}
-		}
-
-		/* .action-btn1 {
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			width: 210rpx;
-			height: 100%;
-			font-size: $font-base;
-			padding: 0;
-			border-radius: 0;
-			background: transparent;
-
-			&.buy-now-btn {
-				background-color: #ffb238;
-			}
-
-			&.add-cart-btn {
-				background-color: #db1935;
-			}
-		} */
-	}
-}
-
-// 底部拼团、秒杀支付按钮
-.goods-pay-box {
-	position: fixed;
-	left: 0;
-	bottom: 0;
-	z-index: 95;
-	width: 750rpx;
-	height: 100rpx;
-	line-height: 1;
-	color: #ffffff;
-	text-align: center;
-	font-size: $font-lg;
-	.bgLine {
-		background: linear-gradient(90deg, rgba(239, 78, 81, 1) 0%, rgba(244, 113, 59, 1) 100%);
-	}
-	// 拼团支付按钮
-	.goods-pay {
-		display: flex;
-		align-content: center;
-		flex-wrap: wrap;
-		justify-content: center;
-		.goods-buttom,
-		.goods-buttom-money {
-			width: 100%;
-		}
-		.goods-buttom-money {
-			font-size: $font-base;
-		}
-	}
-	.goods-pay-stop,
-	.goods-pay {
-		padding: 15rpx 0;
-		height: 100%;
-		width: 100%;
-	}
-	.goods-pay-stop {
-		background: $color-gray;
-		line-height: 70rpx;
-	}
-}
-
-
-//拼团列表
-.pinklistbox {
-	background: #ffffff;
-	text-align: center;
-	font-size: 26rpx;
-	margin-top: 25rpx;
-	.listbox-1{
-		padding: 25rpx;
-		font-size:$font-lg - 2rpx;
-		font-weight:500;
-		color:#333333;
-		border-bottom: 1px solid #EEEEEE;
-		.more{
-			font-size:$font-base - 2rpx;
-			font-weight:500;
-			color:#999999;
-			image {
-				width: 25rpx;
-				height: 25rpx;
-			}
-		}
-	}
-	.pinklist{
-		margin: 0 25rpx;
-		
-		.pinklist_list{
-			padding: 25rpx 0;
-			border-bottom: 1px solid #EEEEEE;
-			&:nth-last-child(1){
-				border-bottom: none;
-			}
-		}
-	}
-}
-
-/* .pinklistbox {
-	background: #ffffff;
-	margin-top: 25rpx;
-	overflow: hidden;
-} */
-
-.pink_num {
-	background: -webkit-linear-gradient(left, #fdf5f6, #fbebf6);
-	padding: 15rpx 25rpx;
-	font-size: 26rpx;
-	color: #dd524d;
-}
-
-.pint {
-	background: -webkit-linear-gradient(0deg, #fa2740,#fe5544);
-	border-radius:10rpx;
-	margin-left: 20rpx;
-	padding: 20rpx 25rpx;
-	color: #ffffff;
-	font-size: $font-base - 2rpx;
-
-	/* .iconenter {
-		font-size: 15px;
-		color: #ffffff;
-	} */
-}
-
-
-
-.pink_row {
-	.pink_img{
-		width: 70rpx;
-		height: 70rpx;
-		
-		image {
-			width: 100%;
-			height: 100%;
-			border-radius: 100%;
-		}
-	}
-	
-}
-.pink_people {
-	font-size: $font-base - 2rpx;
-	// margin-top: 10rpx;
-	text {
-		color: $font-color;
-	}
-}
-
-.pink_time {
-	font-size: 26rpx;
-	color: #909399;
-}
-
-.pink_name {
-	font-size:30rpx;
-	color:#333333;
-	margin-left: 20rpx;
-}
-.More {
-	width: 100%;
-	line-height: 2;
-	background-color: #fc2a3f;
-	font-size:$font-lg;
-	margin: 0 auto;
-	text-align: center;
-	color: #ffffff;
-	// border-radius: 50rpx;
-}
-.mask {
-	z-index: 999;
-	width: 100%;
-	height: 100%;
-	position: fixed;
-	top: 0;
-	left: 0;
-	text-align: center;
-	background-color: rgba(0, 0, 0, 0.5);
-	image {
-		width: 100%;
-		height: 100%;
-		opacity: 0.8;
-	}
-}
-</style>

+ 0 - 1008
pages/product/groupBooking/productGroup.vue

@@ -1,1008 +0,0 @@
-<template>
-	<view class="container">
-		<!-- 轮播图 -->
-		<top-swiper :imgList="imgList"></top-swiper>
-		<!-- 拼团倒计时 -->
-		<group-time :goodsObjact="goodsObjact" :key='goodsObjact.product_price' :seckillObj="seckillObj"></group-time>
-		<!-- 拼团标题 -->
-		<group-content :goodsObjact="goodsObjact"></group-content>
-		
-		<!-- 拼团到货时间及优惠 -->
-		<discounts :mark='goodsObjact.mark' :Info="goodsObjact.info" @clickCoupon="Getcoupon" :showCoupon='false'></discounts>
-		<view class="p-list">
-			<view class="p-list-tit">这些人刚开团成功,可一键参与拼团</view>
-			<scroll-view scroll-y="true" class="p-list-wrap">
-				<view class="p-list-item flex" v-for="item in pList">
-					<view class="p-item-img">
-						<image :src="item.avatar" mode=""></image>
-					</view>
-					<view class="p-item-name clamp">
-						{{item.nickname}}
-					</view>
-					<view class="p-item-btn" @click="OneClickPT(item)">
-						一键参团
-					</view>
-				</view>
-			</scroll-view>
-		</view>
-		<!-- 规格信息 -->
-		<!-- <fresh-detail :goodsObjact="goodsObjact"></fresh-detail> -->
-		<!-- <view class="uni-padding-wrap pinklistbox" v-if="pinkTlist.length > 0">
-			<view class="pinklist">
-				<view v-for="(ls, ind) in showlist">
-					<view class="flex pinklist_list">
-						<view class="pink_img"><image :src="ls.avatar"></image></view>
-						<view class="pink_name">{{ ls.nickname }}</view>
-						<view class="pink_tpl">
-							<view class="pink_people">
-								还差
-								<text>{{ ls.count }}</text>
-								人拼团
-							</view>
-						</view>
-						<view class="pint" @click="groupBooking(ls.id)">
-							去拼团
-							<text class="iconfont iconenter"></text>
-						</view>
-					</view>
-				</view>
-			</view>
-			<view class="More" @click="clickMore" v-if="more">查看更多</view>
-		</view> -->
-		<!-- <view class="ping-plan">
-			<view class="participate-7 flex-between-center">
-				<view class="participate-7-1">
-					<text class="word" v-if="pink_type == 1">AA团</text>
-					<text class="word" v-else>达人团</text>
-					<text>玩法</text>
-				</view>
-				<view class="participate-7-1" @click="ToRule()">
-					<text class="word1">详细规则</text>
-					<image src="../../../static/img/img74.png"></image>
-				</view>
-			</view>
-			<view class="participate-8 flex-between-center">
-				<view class="participate-8-1">
-					<image class="img1" src="https://shicai.liuniu946.com/img/img76.png"></image>
-					<view class="word-1">开团/参团</view>
-					<view class="word-2">拼团享低价</view>
-				</view>
-				<image src="https://shicai.liuniu946.com/img/img75.png"></image>
-				<view class="participate-8-1">
-					<image class="img2" src="https://shicai.liuniu946.com/img/img77.png"></image>
-					<view class="word-1">邀请邻里参团</view>
-					<view class="word-2">分享优惠多</view>
-				</view>
-				<image src="https://shicai.liuniu946.com/img/img75.png"></image>
-				<view class="participate-8-1">
-					<image class="img3" src="https://shicai.liuniu946.com/img/img78.png"></image>
-					<view class="word-1">人满发货</view>
-					<view class="word-2">人不满退款</view>
-				</view>
-			</view>
-		</view> -->
-		
-		<!-- 大家都在拼 达人团显示 -->
-		<!-- <now-list v-if="pink_type == 2" :recommendedlist="recommendedlist"></now-list> -->
-		
-		
-		<!-- 图文详情 -->
-		<content-text :description="description"></content-text>
-
-		<!-- 底部高度撑开 -->
-		<view class="contentBottomHeight"></view>
-		<!-- 底部操作菜单 -->
-		<view >
-			<view >
-				<group-bottom :peoplePrize='goodsObjact.people_prize' @buy="openPinkT" @specOPne="specOPne" :seckillObj="seckillObj" :many='many'></group-bottom>
-			</view>
-		</view>
-		<!-- 规格-模态层弹窗 -->
-		<view class="popup spec" :class="specClass" @touchmove.stop.prevent="stopPrevent" @click="toggleSpec()">
-			<!-- 遮罩层 -->
-			<view class="mask"></view>
-			<view class="layer attr-content" @click.stop="stopPrevent">
-				<view class="a-t">
-					<image :src="actionImage"></image>
-					<view class="right">
-						<text class="name">{{ goodsObjact.store_name }}</text>
-						<text class="price">¥{{ actionPrice * goodsNumber }}</text>
-						<text class="stock">库存:{{ goodsStore }}件</text>
-						<view class="selected" v-if="specList != ''">
-							已选:
-							<text class="selected-text" v-for="(sItem, sIndex) in specSelected" :key="sIndex">{{ sItem }}</text>
-						</view>
-					</view>
-				</view>
-				<view v-for="(item, index) in specList" :key="index" class="attr-list">
-					<text>{{ item.attr_name }}</text>
-					<view class="item-list">
-						<text
-							v-for="(childItem, childIndex) in item.attr_value"
-							:key="childIndex"
-							class="tit"
-							:class="{ selected: childItem.check }"
-							@click="selectSpec(childItem, item, index)"
-						>
-							{{ childItem.attr }}
-						</text>
-					</view>
-				</view>
-				<!-- <view class="attr-list">
-					<text>购买数量</text>
-					<view class="item-list">
-						<uni-number-box class="step" :isMin="true" :value="goodsNumber" :min="1" :max="goodsNumberMax" @eventChange="numberChange"></uni-number-box>
-					</view>
-				</view> -->
-				<button class="btn" @click.stop="buy" v-show="buys_show">完成</button>
-				<button class="btn" style="background-color: #999999;" v-show="buys_shows">售罄</button>
-			</view>
-		</view>
-		<!-- 返回按钮 -->
-		<return-button :btmSize="500"></return-button>
-
-	</view>
-</template>
-
-<script>
-	import { nowPinkLst } from '@/api/order.js';
-	import {
-		goodsDetail,
-		cartAdd,
-		collectAdd,
-		collectDel,
-		seckillGoods,
-		groupGoods
-	} from '@/api/product.js';
-	import {
-		mapState
-	} from 'vuex';
-	import store from '@/store/index.js';
-	import {
-		saveUrl
-	} from '@/utils/loginUtils.js';
-	import {
-		timeComputed
-	} from '@/utils/rocessor.js';
-	// #ifdef H5
-	import {
-		weixindata
-	} from '@/utils/wxAuthorized';
-	// #endif
-	// 头部轮播图
-	import topSwiper from '../common/topSwiper.vue';
-	// 拼团倒计时
-	import groupTime from '../common/groupTime.vue';
-	// 拼团标题
-	import groupContent from '../common/groupContent.vue';
-	// 拼团到货时间及优惠
-	import discounts from '../common/discounts.vue';
-	// 规格信息
-	import freshDetail from '../common/freshDetail.vue';
-	// 图文详情
-	import contentText from '../common/contentText.vue';
-	// 底部按钮
-	import groupBottom from '../common/groupBottom.vue';
-	// 返回按钮
-	import returnButton from '@/components/returnButton.vue';
-	// 大家还在拼
-	import NowList from '@/components/newlist/nowList.vue';
-	export default {
-		components: {
-			topSwiper,
-			groupTime,
-			groupContent,
-			discounts,
-			freshDetail,
-			contentText,
-			groupBottom,
-			returnButton,
-			NowList
-		},
-		data() {
-			return {
-				goodsStore: 0, //选中库存
-				specList: [],
-				buys_show: true,
-				buys_shows: false,
-				specSelected: [], //选中的分类
-				reply: '', //评论
-				list: '', //商品详情的数据
-				type: 1, //默认支付方式add为
-				goodsNumber: 1, //购买数量
-				goodsid: '', //商品id
-				description: '', //商品描述
-				goodsObjact: {}, //保存商品数据
-				//图片循环
-				imgList: [],
-				// 对比对象
-				actionPrice: 0, //默认选中商品价格
-				actionImage: '', //默认选中图片
-				good_list: '', //猜你喜欢列表
-				goodsNumberMax: 0, //最大可购买数量
-				many:1,//1是单规格  2是多规格
-				// 倒计时数据保存
-				seckillObj: {
-					stopTime: 0, //结束时间
-					stop: false, //是否结束
-					stopTimeH: 0, //小时
-					stopTimeM: 0, //分钟
-					stopTimeS: 0, //秒钟
-					stopTimeD: 0, //天
-					upTime: 0 //更新组件内部组件用
-				},
-				// 拼团数据保存
-				pink: {
-					id: '', //拼团编号
-					uid: '', //用户编号
-					people: '', //拼团人数
-					price: '', //拼团价格
-					stop_time: '', //拼团结束时间
-					nickname: '', //团长昵称
-					avatar: '', //团长头像
-					count: '', //拼团剩余人数
-					h: '', //时
-					i: '', //分
-					s: '' //秒
-				},
-				userInfo: '',
-				pinkTlist: '', //拼团数据
-				more: true, //查看更多按钮
-				showlist: [],
-				pink_type: 1, //拼团类别
-				show: false, // 是否显示底部按钮
-				recommendedlist:[],// 大家都在拼
-				specClass: 'none' ,//显示隐藏弹窗
-				pList: [],//在拼团list
-			};
-
-		},
-		filters: {
-			parseIntTo(percent) {
-				percent = +percent * 100;
-				if (percent % 1 === 0) {
-					return percent;
-				} else {
-					percent = percent.toFixed(1);
-					return percent;
-				}
-			}
-		},
-		async onLoad(options) {
-			let obj = this;
-			obj.userInfo = uni.getStorageSync('userInfo');
-			//保存商品id
-			this.goodsid = options.id;
-			if (options.show) {
-				this.show = options.show;
-			}
-			console.log(this.show, 5656)
-			// 判断有无人邀请
-			if (options.spread) {
-				// 存储邀请人
-				uni.setStorageSync('spread', options.spread);
-			}
-			saveUrl();
-			// 家在数据
-			this.groupGoods();
-			return;
-			
-			// 注册邀请信息
-			// #ifdef H5
-			let bool = uni.getStorageSync('weichatBrowser') || '';
-			if (bool) {
-				weixindata();
-			}
-			// #endif
-		},
-		computed: {
-			...mapState(['weichatObj', 'baseURL', 'urlFile'])
-		},
-		// 分享
-		// onShareAppMessage(options) {
-		// 	// 设置菜单中的转发按钮触发转发事件时的转发内容
-		// 	let pages = getCurrentPages(); //获取加载的页面
-		// 	let currentPage = pages[pages.length - 1]; //获取当前页面的对象
-		// 	let url = currentPage.route; //当前页面url
-		// 	let item = currentPage.options; //如果要获取url中所带的参数可以查看options
-		// 	let shareObj = {
-		// 		title: this.goodsObjact.title + '   价格:' + this.goodsObjact.price, // 默认是小程序的名称(可以写slogan等)
-		// 		path: url + '?id=' + item.id + '&spread=' + this.userInfo.uid, // 默认是当前页面,必须是以‘/’开头的完整路径
-		// 		imageUrl: this.goodsObjact.image,
-		// 		success: function(res) {
-		// 			// 转发成功之后的回调
-		// 			if (res.errMsg == 'shareAppMessage:ok') {}
-		// 		},
-		// 		fail: function() {
-		// 			// 转发失败之后的回调
-		// 			if (res.errMsg == 'shareAppMessage:fail cancel') {
-		// 				// 用户取消转发
-		// 			} else if (res.errMsg == 'shareAppMessage:fail') {
-		// 				// 转发失败,其中 detail message 为详细失败信息
-		// 			}
-		// 		}
-		// 	};
-		// 	return shareObj;
-		// },
-		methods: {
-			// 跳转详细规则
-			ToRule() {
-				if( this.pink_type == 1 ) {
-					// AA团
-					uni.navigateTo({
-						url: '/pages/rule/AArule'
-					})
-				} else {
-					// 达人团
-					uni.navigateTo({
-						url: '/pages/rule/DaRrule'
-					})
-				}
-			},
-			//选择规格
-			selectSpec(item, arr, ind) {
-				arr.attr_value.forEach(function(e) {
-					e.check = false;
-				});
-				item.check = true;
-				let obj = this;
-				obj.specSelected[ind] = item.attr;
-				let str = obj.specSelected.join(',');
-				console.log(obj.productValue[str],116)
-				if (obj.productValue[str]) {
-					obj.buys_show = true;
-					obj.buys_shows = false;
-					obj.actionPrice = obj.productValue[str].price;
-					obj.goodsNumberMax = obj.productValue[str].stock;
-					obj.actionImage = obj.productValue[str].image;
-					obj.uniqueId = obj.productValue[str].unique;
-					obj.goodsStore = obj.productValue[str].stock;
-					// if (obj.goodsType == 2) {
-					// 	obj.goodsStore = obj.productValue[str].quota;
-					// } else {
-					// 	obj.goodsStore = obj.productValue[str].product_stock;
-					// }
-				} else {
-					(obj.buys_show = false), (obj.buys_shows = true);
-				}
-			},
-			// 立即购买
-			buy(item) {
-				let obj = this;
-				/* obj.toggleSpec();
-				this.specClass='show',
-				console.log(obj.list.productValue.默认.unique)
-				console.log(obj.chooseGoodsNumber,'chooseGoodsNumber')
-				return */
-				// 创建传值对象
-				console.log(obj.list.productValue);
-				console.log(obj.list);
-				let data = {
-					// cartNum: obj.goodsNumber, //商品数量
-					cartNum: obj.chooseGoodsNumber, //商品数量
-					uniqueId: obj.uniqueId, //商品标签
-					new: 1, //商品是否新增加到购物车1为不加入0为加入
-					mer_id: obj.shopId,
-					combinationId: obj.goodsid, //拼团编号
-					productId: obj.goodsObjact.product_id, //商品编号
-				};
-				this.specClass = 'none';
-				cartAdd(data)
-					.then(function(e) {
-						let da = e.data;
-						console.log(e);
-						if (obj.type == 1) {
-							// 跳转到支付页
-							uni.navigateTo({
-								url: '/pages/order/createOrder?id=' + da.cartId + '&goodsType=' + obj.goodsType + '&isP=1'
-							});
-						}
-						if (obj.type == 2) {
-							obj.$api.msg('成功加入购物车');
-							obj.toggleSpec();
-						}
-					})
-					.catch(e => {
-						console.log(e);
-					}); 
-			},
-			// 去开团
-			ToKaiTuan(item) {
-				let id = item.id;
-				uni.navigateTo({
-					url: '/pages/product/productGroup?id=' + id
-				});
-			},
-			
-			// 跳转页面
-			navTo(url) {
-				uni.navigateTo({
-					url
-				});
-			},
-			// 查看更多
-			clickMore() {
-				this.showlist = this.pinkTlist;
-				console.log(this.showlist, 22);
-				this.more = false;
-			},
-			//去拼团
-			groupBooking(item) {
-				uni.navigateTo({
-					url: '/pages/groupBooking/groupdetails?id=' + item
-				});
-			},
-			// 获取拼团商品详情
-			groupGoods() {
-				let obj = this;
-				
-				// // 大家还在拼
-				// nowPinkLst({}).then(({data}) => {
-				// 	this.recommendedlist = data;
-				// })
-				
-				groupGoods({}, this.goodsid).then(function({
-					data
-				}) {
-					obj.pList = data.pink
-					let goods = data.storeInfo;
-					obj.goodsObjact = goods;
-					console.log(obj.goodsObjact, 88)
-					console.log(Array.isArray(data.productValue), 99)
-					if(Array.isArray(data.productValue) != true){
-						obj.many = 2;
-						obj.specList = data.productAttr;//保存产品属性
-						obj.productValue = data.productValue; //保存属性值
-						obj.specSelected = []; //初始化默认选择对象
-						for (let i = 0; i < obj.specList.length; i++) {
-							// 设置默认数据
-							let attrValue = obj.specList[i].attr_value[0];
-							attrValue.check = true;
-							obj.specSelected.push(attrValue.attr);
-						}
-						let str = obj.specSelected.join(',');
-						console.log(str,'str')
-						// 设置默认值
-						
-						obj.actionPrice = obj.productValue[str].price;
-						obj.goodsNumberMax = obj.productValue[str].stock;
-						obj.actionImage = obj.productValue[str].image;
-						obj.uniqueId = obj.productValue[str].unique;
-						obj.goodsStore = obj.productValue[str].quota;
-					}else{
-						obj.many = 1;
-					}
-					console.log(obj.many,'obj.many')
-					if (obj.goodsObjact.description != null) {
-						obj.description = obj.goodsObjact.description.replace(/\<img/gi, '<img class="rich-img"');
-					}
-					obj.imgList = goods.images; //保存轮播图
-					obj.actionPrice = goods.price; //保存默认选中商品价格
-					obj.actionImage = goods.image_base; //保存默认选中商品图片
-					obj.goodsNumberMax = 1; //保存默认选中最大可购买商品数量
-					if (obj.goodsObjact.pink_type == 'AA团') {
-						obj.pink_type = 1;
-					} else {
-						obj.pink_type = 2;
-					}
-					obj.pinkTlist = data.pink;
-					obj.showlist = obj.pinkTlist.slice(0, 2);
-					if (obj.pinkTlist.length <= 2) {
-						obj.more = false;
-					}
-
-					// 保存结束时间
-					obj.seckillObj.stopTime = goods.stop_time * 1000;
-					// 获取当前时间
-					let acitonTime = new Date();
-					// 判断当前时间是否大于结束时间
-					if (acitonTime.getTime() > obj.seckillObj.stopTime) {
-						// 当前秒杀时间已经结束
-						obj.seckillObj.stop = true;
-					} else {
-						// 计算倒计时
-						let time = timeComputed(obj.seckillObj.stopTime)
-						// 倒计时数据保存
-						obj.seckillObj = {
-							stopTime: goods.stop_time * 1000, //结束时间
-							stop: false, //是否结束
-							stopTimeD: time.day, //天
-							stopTimeH: time.hours, //小时
-							stopTimeM: time.minutes, //分钟
-							stopTimeS: time.seconds, //秒钟
-							upTime: (new Date()).getTime()
-						}
-					}
-				});
-			},
-			// 立即购买
-			openPinkT(item) {
-				let obj = this;
-				obj.type = item;
-				// 创建传值对象
-				let data = {
-					cartNum: obj.goodsNumber, //商品数量
-					new: 1, //商品是否新增加到购物车1为不加入0为加入
-					combinationId: obj.goodsid,
-					productId: obj.goodsObjact.product_id
-				};
-				cartAdd(data)
-					.then(function(e) {
-						let da = e.data;
-						if (obj.type == 1) {
-							// 跳转到支付页
-							uni.navigateTo({
-								url: '/pages/order/createOrder?id=' + da.cartId+'&goodsType=2'
-							});
-						}
-					})
-					.catch(e => {
-						console.log(e);
-					});
-			},
-			specOPne(item) {
-				let obj = this;
-				obj.specClass = 'show';
-				console.log(obj.specClass,'this.specClass')
-			},
-			//规格弹窗开关
-			toggleSpec(str) {
-				if (this.specClass === 'show') {
-					this.specClass = 'hide';
-					setTimeout(() => {
-						this.specClass = 'none';
-					}, 250);
-				} else if (this.specClass === 'none') {
-					this.specClass = 'show';
-				}
-				// 判断是否为数字
-				if (typeof str == 'number') {
-					// 保存当前购买类型
-					this.type = str;
-				}
-			},
-			// 阻止触发上级事件
-			stopPrevent() {},
-			OneClickPT(item) {
-				console.log(item)
-				uni.navigateTo({
-					url: '/pages/product/groupBooking/detail?id=' + item.id
-				})
-			}
-		}
-	};
-</script>
-
-<style lang="scss">
-	/*  弹出层 */
-	.popup {
-		position: fixed;
-		left: 0;
-		top: 0;
-		right: 0;
-		bottom: 0;
-		z-index: 99;
-		&.show {
-			display: block;
-	
-			.mask {
-				animation: showPopup 0.2s linear both;
-			}
-	
-			.layer {
-				animation: showLayer 0.2s linear both;
-			}
-		}
-	
-		&.hide {
-			.mask {
-				animation: hidePopup 0.2s linear both;
-			}
-	
-			.layer {
-				animation: hideLayer 0.2s linear both;
-			}
-		}
-	
-		&.none {
-			display: none;
-		}
-	
-		.mask {
-			position: fixed;
-			top: 0;
-			width: 100%;
-			height: 100%;
-			z-index: 1;
-			background-color: rgba(0, 0, 0, 0.4);
-		}
-	
-		.layer {
-			position: fixed;
-			z-index: 99;
-			bottom: 0;
-			width: 100%;
-			min-height: 35vh;
-			border-radius: 10rpx 10rpx 0 0;
-			background-color: #fff;
-	
-			.btn {
-				height: 66rpx;
-				line-height: 66rpx;
-				border-radius: 100rpx;
-				background: $uni-color-primary;
-				font-size: $font-base + 2rpx;
-				color: #fff;
-				margin: 30rpx auto 20rpx;
-			}
-		}
-	
-		@keyframes showPopup {
-			0% {
-				opacity: 0;
-			}
-	
-			100% {
-				opacity: 1;
-			}
-		}
-	
-		@keyframes hidePopup {
-			0% {
-				opacity: 1;
-			}
-	
-			100% {
-				opacity: 0;
-			}
-		}
-	
-		@keyframes showLayer {
-			0% {
-				transform: translateY(120%);
-			}
-	
-			100% {
-				transform: translateY(0%);
-			}
-		}
-	
-		@keyframes hideLayer {
-			0% {
-				transform: translateY(0);
-			}
-	
-			100% {
-				transform: translateY(120%);
-			}
-		}
-	}
-	/* 规格选择弹窗 */
-	.attr-content {
-		padding: 25rpx 30rpx;
-	
-		.a-t {
-			display: flex;
-	
-			image {
-				width: 170rpx;
-				height: 170rpx;
-				flex-shrink: 0;
-				border-radius: 8rpx;
-			}
-	
-			.right {
-				display: flex;
-				flex-direction: column;
-				padding-left: 24rpx;
-				font-size: $font-sm + 2rpx;
-				color: $font-color-base;
-				line-height: 42rpx;
-				width: 75%;
-	
-				.price {
-					font-size: $font-lg;
-					color: $uni-color-primary;
-					margin: 10rpx 0rpx;
-				}
-	
-				.name {
-					font-size: 32rpx;
-					color: $font-color-dark;
-					height: 50rpx;
-					overflow: hidden;
-					text-overflow: ellipsis;
-					white-space: nowrap;
-					display: block;
-				}
-	
-				.selected-text {
-					margin-right: 10rpx;
-				}
-			}
-		}
-	
-		.attr-list {
-			display: flex;
-			flex-direction: column;
-			font-size: $font-base + 2rpx;
-			color: $font-color-base;
-			padding-top: 30rpx;
-			padding-left: 10rpx;
-		}
-	
-		.item-list {
-			padding: 20rpx 0 0;
-			display: flex;
-			flex-wrap: wrap;
-	
-			text {
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				background: #eee;
-				margin-right: 20rpx;
-				margin-bottom: 20rpx;
-				border-radius: 100rpx;
-				min-width: 60rpx;
-				height: 60rpx;
-				padding: 0 20rpx;
-				font-size: $font-base;
-				color: $font-color-dark;
-			}
-	
-			.selected {
-				background: #ddffdf;
-				color: $uni-color-primary;
-			}
-		}
-	}
-	
-	//默认商品底部高度
-	.goodsBottom {
-		height: 160rpx;
-	}
-
-	page {
-		background: #f0f0f0;
-	}
-
-	//秒杀、拼团底部高度
-	.contentBottomHeight {
-		height: 110rpx;
-		// background-color: #FFFFFF;
-	}
-
-	//默认商品底部高度
-	.goodsBottom {
-		height: 160rpx;
-	}
-
-	/deep/ .iconenter {
-		font-size: $font-base + 2rpx;
-		color: #888;
-	}
-
-	/deep/ .con_image {
-		width: 130rpx;
-		height: 130rpx;
-		display: inline-block;
-		padding: 15rpx;
-
-		image {
-			width: 100%;
-			height: 100%;
-		}
-	}
-
-	/* 商品详情中限制图片大小 */
-	/deep/ .rich-img {
-		width: 100% !important;
-		height: auto;
-	}
-
-	.pinklistbox {
-		background: #ffffff;
-		margin-top: 25rpx;
-		overflow: hidden;
-	}
-
-	.pink_num {
-		background: -webkit-linear-gradient(left, #fdf5f6, #fbebf6);
-		padding: 15rpx 25rpx;
-		font-size: 26rpx;
-		color: #dd524d;
-	}
-
-	.pint {
-		background: -webkit-linear-gradient(left, #ff1f4f, #ff0409);
-		padding: 10rpx 25rpx;
-		color: #ffffff;
-		font-size: 24rpx;
-		border-radius: 25rpx;
-
-		.iconenter {
-			font-size: 15px;
-			color: #ffffff;
-		}
-	}
-
-	.pinklist {
-		padding: 0rpx 25rpx;
-		padding-top: 45rpx !important;
-	}
-
-	.pinklist_list {
-		margin-bottom: 10rpx;
-	}
-
-	.pink_img {
-		width: 100rpx;
-		height: 100rpx;
-
-		image {
-			width: 100%;
-			height: 100%;
-			border-radius: 100%;
-		}
-	}
-
-	.pink_people {
-		font-size: 28rpx;
-
-		text {
-			color: #dd524d;
-		}
-	}
-
-	.pink_time {
-		font-size: 26rpx;
-		color: #909399;
-	}
-
-	.pink_name {
-		width: 200rpx;
-		overflow: hidden;
-		white-space: nowrap;
-		text-overflow: ellipsis;
-		padding-left: 10rpx;
-		// background: #FC2A3F;
-		// height: 50rpx;
-	}
-
-	.More {
-		width: 100%;
-		line-height: 2;
-		background-color: #fc2a3f;
-		font-size: $font-lg;
-		margin: 0 auto;
-		text-align: center;
-		color: #ffffff;
-		// border-radius: 50rpx;
-	}
-
-	.ping-plan {
-		background-color: #FFFFFF;
-		padding: 25rpx 35rpx;
-		border-top: 15rpx solid #F3F3F4;
-		border-bottom: 15rpx solid #F3F3F4;
-	}
-
-	.participate-7 {
-		color: #000000;
-		font-size: 29rpx;
-		font-weight: 500;
-		padding-bottom: 25rpx;
-
-		.participate-7-1 {
-			.word {
-				color: #ff0a1a;
-			}
-
-			.word1 {
-				font-size: 25rpx;
-				color: #989aa0;
-			}
-
-			image {
-				width: 10rpx;
-				height: 20rpx;
-				margin-left: 15rpx;
-			}
-		}
-	}
-
-	//左右顶格加上下居中
-	.flex-between-center {
-		display: flex;
-		justify-content: space-between;
-		align-items: center;
-	}
-
-	.participate-8 {
-		image {
-			width: 26rpx;
-			height: 12rpx;
-		}
-
-		.participate-8-1 {
-			text-align: center;
-
-			.img1 {
-				width: 43rpx;
-				height: 50rpx;
-			}
-
-			.img2 {
-				width: 43rpx;
-				height: 42rpx;
-			}
-
-			.img3 {
-				width: 60rpx;
-				height: 46rpx;
-			}
-
-			.word-1 {
-				font-size: 23rpx;
-				color: #000000;
-				line-height: 34rpx;
-			}
-
-			.word-2 {
-				font-size: 21rpx;
-				color: #91949B;
-				line-height: 34rpx;
-			}
-		}
-	}
-	.p-list {
-		width: 100%;
-		height: 300rpx;
-		background-color: #fff;
-		margin: 20rpx 0;
-		.p-list-tit {
-			padding-left: 20rpx;
-			line-height: 80rpx;
-			font-size: 28rpx;
-		}
-		.p-list-wrap {
-			height: 220rpx;
-			.p-list-item {
-				height: 110rpx;
-				width: 100%;
-				// background-color: #009688;
-				padding: 0 30rpx;
-				.p-item-img {
-					flex-grow: 0;
-					width: 70rpx;
-					height: 70rpx;
-					border-radius: 50%;
-					// background-color: red;
-					image {
-						width: 70rpx;
-						height: 70rpx;
-						border-radius: 50%;
-					}
-				}
-				.p-item-name {
-					flex-grow: 1;
-					padding-left: 50rpx;
-					line-height: 110rpx;
-					font-size: 26rpx;
-				}
-				.p-item-btn {
-					width: 130rpx;
-					height: 60rpx;
-					background-color: #df2e24;
-					color: #fff;
-					border-radius: 10rpx;
-					line-height: 60rpx;
-					text-align: center;
-					font-size: 24rpx;
-				}
-			}
-		}
-		
-	}
-</style>

+ 0 - 621
pages/product/list.vue

@@ -1,621 +0,0 @@
-<template>
-	<view class="content">
-		<view class="navbar" :style="{ position: headerPosition, top: headerTop }">
-			<view class="nav-item" :class="{ current: filterIndex === 0 }" @click="tabClick(0)">综合排序</view>
-			<view class="nav-item" :class="{ current: filterIndex === 1 }" @click="tabClick(1)">
-				<text>销量优先</text>
-				<view class="p-box">
-					<text :class="{ active: numberOrder === 1 && filterIndex === 1 }" class="iconfont iconfold"></text>
-					<text :class="{ active: numberOrder === 2 && filterIndex === 1 }" class="iconfont iconfold xia"></text>
-				</view>
-			</view>
-			<view class="nav-item" :class="{ current: filterIndex === 2 }" @click="tabClick(2)">
-				<text>价格</text>
-				<view class="p-box">
-					<text :class="{ active: priceOrder === 1 && filterIndex === 2 }" class="iconfont iconfold"></text>
-					<text :class="{ active: priceOrder === 2 && filterIndex === 2 }" class="iconfont iconfold xia"></text>
-				</view>
-			</view>
-			<text class="cate-item iconfont iconapps" @click="toggleCateMask('show')"></text>
-		</view>
-		<view class="goods-list">
-			<view v-for="(item, index) in goodsList" :key="index" class="goods-item" @click="navToDetailPage(item)">
-				<view class="image-wrapper">
-					<image :src="item.image" mode="aspectFill"></image>
-					<!-- <view class="fanli" v-if="item.give_integral != 0">
-						<view class="fanli-bg"><image src="../../static/img/index-fanl.png" mode=""></image></view>
-						<view class="fanli-font flex">
-							<view class="font-left">获得响亮积分</view>
-							<view class="font-right">{{ item.give_integral * 1 }}</view>
-						</view>
-					</view> -->
-				</view>
-				<text class="title clamp">{{ item.store_name }}</text>
-				<view class="price-box">
-					<text class="price">{{ item.price }}</text>
-					<text>已售 {{ item.sales }}</text>
-				</view>
-			</view>
-		</view>
-		<uni-load-more :status="loadingType"></uni-load-more>
-
-		<view class="cate-mask" :class="cateMaskState === 0 ? 'none' : cateMaskState === 1 ? 'show' : ''" @click="toggleCateMask">
-			<view class="cate-content">
-				<scroll-view scroll-y class="left-aside">
-					<view v-for="item in cateList" :key="item.id" class="f-item b-b" :class="{ active: item.id === currentId }" @click.stop="tabtap(item)">{{ item.cate_name }}</view>
-				</scroll-view>
-				<scroll-view scroll-with-animation scroll-y class="right-aside" @scroll="asideScroll" :scroll-top="tabScrollTop">
-					<view v-for="item in cateList" :key="item.id" class="s-list" :id="'main-' + item.id">
-						<text class="s-item">{{ item.cate_name }}</text>
-						<view class="t-list ">
-							<view @click.stop="changeCate(titem)" class="t-item" v-for="titem in item.children" :key="titem.id">
-								<image :src="titem.pic"></image>
-								<text>{{ titem.cate_name }}</text>
-							</view>
-						</view>
-					</view>
-				</scroll-view>
-			</view>
-			<!-- <view class="cate-content" @click.stop.prevent="stopPrevent" @touchmove.stop.prevent="stopPrevent">
-				<scroll-view scroll-y class="cate-list">
-					<view v-for="item in cateList" :key="item.id">
-						<view class="cate-item b-b two">{{ item.cate_name }}</view>
-						<view v-for="tItem in item.children" :key="tItem.id" class="cate-item b-b" :class="{ active: tItem.id == cateId }" @click="changeCate(tItem)">
-							{{ tItem.cate_name }}
-						</view>
-					</view>
-				</scroll-view>
-			</view> -->
-		</view>
-	</view>
-</template>
-
-<script>
-import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
-import { getProducts,getCategoryList } from '@/api/product.js';
-
-export default {
-	components: {
-		uniLoadMore
-	},
-	data() {
-		return {
-			currentId: '',
-			tabScrollTop: 0,
-			cateMaskState: 0, //分类面板展开状态
-			headerPosition: 'fixed',
-			headerTop: '0px',
-			loadingType: 'more', //加载更多状态
-			filterIndex: 0, //查询类型
-			numberOrder: 0, //1 销量从低到高 2销量从高到低
-			limit: 6, //每次加载数据条数
-			page: 1, //当前页数
-			cateId: 0, //已选三级分类id
-			priceOrder: 0, //1 价格从低到高 2价格从高到低
-			cateList: [], //分类列表
-			goodsList: [] //商品列表
-		};
-	},
-
-	onLoad(options) {
-		// #ifdef H5
-		// this.headerTop = document.getElementsByTagName('uni-page-head')[0].offsetHeight + 'px';
-		// #endif
-		this.cateId = options.tid;
-		this.loadCateList(options.fid, options.sid);
-		this.loadData();
-	},
-	onPageScroll(e) {
-		//兼容iOS端下拉时顶部漂移
-		if (e.scrollTop >= 0) {
-			this.headerPosition = 'fixed';
-		} else {
-			this.headerPosition = 'absolute';
-		}
-	},
-	//下拉刷新
-	onPullDownRefresh() {
-		this.loadData('refresh');
-	},
-	//监听页面是否滚动到底部加载更多
-	onReachBottom() {
-		this.loadData();
-	},
-	methods: {
-		//加载分类
-		async loadCateList(fid, sid) {
-			let obj = this;
-			getCategoryList({}).then(function(e) {
-				obj.cateList = e.data.filter(e => {
-					return e.id != 1;
-				});
-				obj.currentId = obj.cateList[0].id
-				console.log(obj.cateList, '123456789');
-			});
-		},
-		//一级分类点击
-		tabtap(item) {
-			console.log(item);
-			// 判断有没有初始化页面高度对象数据
-			if (!this.sizeCalcState) {
-				this.calcSize();
-			}
-			// 获取当前点击的id
-			this.currentId = item.id;
-			console.log(item.top);
-			this.tabScrollTop = item.top;
-			console.log(this.tabScrollTop);
-		},
-		//右侧栏滚动
-		asideScroll(e) {
-			// 判断有没有初始化页面高度对象数据
-			if (!this.sizeCalcState) {
-				this.calcSize();
-			}
-			let scrollTop = e.detail.scrollTop;
-			let box = 0; //列表包裹框高度初始化
-			let bottom = 10; //距离页面底部多少像素左侧列表切换到最后一个一级分类
-			// 查询当前页面对象
-			let view = uni.createSelectorQuery().select('.content');
-			view.fields(
-				{
-					id: true,
-					dataset: true,
-					rect: true,
-					size: true,
-					scrollOffset: true
-				},
-				function(e) {
-					// 保存包裹框高度
-					box = e.height;
-				}
-			).exec();
-			// 获取所有距离顶部大于滚轮距离页面高度的所有分类
-			let tabs = this.cateList.filter(item =>( item.top-10) <= scrollTop).reverse();
-			if (tabs.length > 0) {
-				// 判断是否已经到达滚轮底部
-				if (box + scrollTop + bottom >= e.detail.scrollHeight) {
-					this.currentId = this.cateList[this.cateList.length - 1].id;
-				} else {
-					this.currentId = tabs[0].id;
-				}
-			}
-		},
-		//计算右侧栏每个tab的高度等信息
-		calcSize() {
-			let h = 0;
-			this.cateList.forEach(item => {
-				let view = uni.createSelectorQuery().select('#main-' + item.id);
-				view.fields(
-					{
-						size: true
-					},
-					data => {
-						item.top = h;
-						h += data.height;
-						item.bottom = h;
-					}
-				).exec();
-			});
-			this.sizeCalcState = true;
-		},
-		//加载商品 ,带下拉刷新和上滑加载
-		async loadData(type = 'add', loading) {
-			let obj = this;
-			let data = {
-				page: obj.page,
-				limit: obj.limit,
-				sid: obj.cateId //分类id
-			};
-			//没有更多直接返回
-			if (type === 'add') {
-				if (obj.loadingType === 'nomore') {
-					return;
-				}
-				obj.loadingType = 'loading';
-			} else {
-				obj.loadingType = 'more';
-			}
-			if (type === 'refresh') {
-				// 清空数组
-				obj.goodsList = [];
-				obj.page = 1;
-			}
-			if (this.filterIndex == 1) {
-				console.log(obj.salesOrder);
-				data.salesOrder = obj.numberOrder == 1 ? 'asc' : 'desc';
-			}
-			if (this.filterIndex == 2) {
-				console.log(obj.priceOrder);
-				data.priceOrder = obj.priceOrder == 1 ? 'asc' : 'desc';
-			}
-			getProducts(data).then(function(e) {
-				console.log(e.data);
-				let arr = e.data.filter(info => {
-					return info.cate_id != 2;
-				});
-				obj.goodsList = obj.goodsList.concat(arr);
-				//判断是否还有下一页,有是more  没有是nomore
-				if (obj.limit == e.data.length) {
-					obj.page++;
-					obj.loadingType = 'more';
-				} else {
-					obj.loadingType = 'nomore';
-				}
-				if (type === 'refresh') {
-					if (loading == 1) {
-						uni.hideLoading();
-					} else {
-						uni.stopPullDownRefresh();
-					}
-				}
-			});
-		},
-		//筛选点击
-		tabClick(index) {
-			// 防止重复点击综合排序
-			if (this.filterIndex === 0 && this.filterIndex === index) {
-				return;
-			}
-			this.filterIndex = index;
-			// 判断是否为销量优先
-			if (index === 1) {
-				this.numberOrder = this.numberOrder === 1 ? 2 : 1;
-			}
-			// 判断是否为价格优先
-			if (index === 2) {
-				this.priceOrder = this.priceOrder === 1 ? 2 : 1;
-			}
-			// 初始化页数
-			this.page = 1;
-			// 初始化数组
-			uni.pageScrollTo({
-				duration: 300,
-				scrollTop: 0
-			});
-			this.loadData('refresh', 1);
-			uni.showLoading({
-				title: '正在加载'
-			});
-		},
-		//显示分类面板
-		toggleCateMask(type) {
-			let timer = type === 'show' ? 10 : 300;
-			let state = type === 'show' ? 1 : 0;
-			this.cateMaskState = 2;
-			setTimeout(() => {
-				this.cateMaskState = state;
-			}, timer);
-		},
-		//分类点击
-		changeCate(item) {
-			this.cateId = item.id;
-			// 显示右侧分类
-			this.toggleCateMask();
-			// 滚轮返回顶部
-			uni.pageScrollTo({
-				duration: 300,
-				scrollTop: 0
-			});
-			// 初始化查询页数
-			this.page = 1;
-			// 重新加载数据
-			this.loadData('refresh', 1);
-			uni.showLoading({
-				title: '正在加载'
-			});
-		},
-		//详情
-		navToDetailPage(item) {
-			let id = item.id;
-			uni.navigateTo({
-				url: `/pages/product/product?id=${id}`
-			});
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page,
-.content {
-	background: $page-color-base;
-}
-.content {
-	padding-top: 96rpx;
-}
-
-.navbar {
-	position: fixed;
-	left: 0;
-	top: var(--window-top);
-	display: flex;
-	width: 100%;
-	height: 80rpx;
-	background: #fff;
-	box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.06);
-	z-index: 10;
-	.nav-item {
-		flex: 1;
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		height: 100%;
-		font-size: 30rpx;
-		color: $font-color-dark;
-		position: relative;
-		&.current {
-			color: #ff4c4c;
-			&:after {
-				content: '';
-				position: absolute;
-				left: 50%;
-				bottom: 0;
-				transform: translateX(-50%);
-				width: 150rpx;
-				height: 0;
-				border-bottom: 4rpx solid #ff4c4c;
-			}
-		}
-	}
-	.p-box {
-		display: flex;
-		flex-direction: column;
-		.iconfont {
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			width: 30rpx;
-			height: 14rpx;
-			line-height: 1;
-			margin-left: 4rpx;
-			font-size: 26rpx;
-			color: #888;
-			&.active {
-				color: $base-color;
-			}
-		}
-		.xia {
-			transform: scaleY(-1);
-		}
-	}
-	.cate-item {
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		height: 100%;
-		width: 80rpx;
-		position: relative;
-		font-size: 44rpx;
-		&:after {
-			content: '';
-			position: absolute;
-			left: 0;
-			top: 50%;
-			transform: translateY(-50%);
-			border-left: 1px solid #ddd;
-			width: 0;
-			height: 36rpx;
-		}
-	}
-}
-
-/* 分类 */
-.cate-mask {
-	position: fixed;
-	left: 0;
-	top: var(--window-top);
-	bottom: 0;
-	width: 100%;
-	background: rgba(0, 0, 0, 0);
-	z-index: 95;
-	transition: 0.3s;
-
-	.cate-content {
-		width: 630rpx;
-		height: 100%;
-		background: #fff;
-		float: right;
-		transform: translateX(100%);
-		transition: 0.3s;
-		display: flex;
-		.left-aside {
-			flex-shrink: 0;
-			width: 200rpx;
-			height: 100%;
-			background-color: #fff;
-		}
-		.f-item {
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			width: 100%;
-			height: 100rpx;
-			font-size: 28rpx;
-			color: $font-color-base;
-			position: relative;
-			&.active {
-				color: $base-color;
-				background: #f8f8f8;
-				&:before {
-					content: '';
-					position: absolute;
-					left: 0;
-					top: 50%;
-					transform: translateY(-50%);
-					height: 36rpx;
-					width: 8rpx;
-					background-color: $base-color;
-					border-radius: 0 4px 4px 0;
-					opacity: 0.8;
-				}
-			}
-		}
-		
-		.right-aside {
-			flex: 1;
-			overflow: hidden;
-			padding-left: 20rpx;
-			padding-right: 20rpx;
-		}
-		.s-item {
-			display: flex;
-			align-items: center;
-			height: 70rpx;
-			padding-top: 8rpx;
-			font-size: 28rpx;
-			color: $font-color-dark;
-		}
-		.t-list {
-			display: flex;
-			flex-wrap: wrap;
-			border-radius: 15rpx;
-			width: 100%;
-			background: #fff;
-			padding-top: 12rpx;
-			&:after {
-				content: '';
-				flex: 99;
-				height: 0;
-			}
-		}
-		.t-item {
-			flex-shrink: 0;
-			display: flex;
-			justify-content: center;
-			align-items: center;
-			flex-direction: column;
-			width: 171rpx;
-			font-size: 26rpx;
-			color: #666;
-			padding-bottom: 20rpx;
-		
-			image {
-				width: 140rpx;
-				height: 140rpx;
-			}
-		}
-	}
-	&.none {
-		display: none;
-	}
-	&.show {
-		background: rgba(0, 0, 0, 0.4);
-
-		.cate-content {
-			transform: translateX(0);
-		}
-	}
-}
-.cate-list {
-	display: flex;
-	flex-direction: column;
-	height: 100%;
-	.cate-item {
-		display: flex;
-		align-items: center;
-		height: 90rpx;
-		padding-left: 30rpx;
-		font-size: 28rpx;
-		color: #555;
-		position: relative;
-	}
-	.two {
-		height: 64rpx;
-		color: #303133;
-		font-size: 30rpx;
-		background: #f8f8f8;
-	}
-	.active {
-		color: $base-color;
-	}
-}
-
-/* 商品列表 */
-.goods-list {
-	display: flex;
-	flex-wrap: wrap;
-	padding: 0 30rpx;
-	background: #fff;
-	.goods-item {
-		display: flex;
-		flex-direction: column;
-		width: 48%;
-		padding-bottom: 40rpx;
-		&:nth-child(2n + 1) {
-			margin-right: 4%;
-		}
-	}
-	.image-wrapper {
-		width: 100%;
-		height: 330rpx;
-		border-radius: 3px;
-		overflow: hidden;
-		position: relative;
-		image {
-			width: 100%;
-			height: 100%;
-			opacity: 1;
-		}
-		.fanli {
-			position: absolute;
-			bottom: 0;
-			left: 0;
-			width: 344rpx;
-			height: 96rpx;
-			.fanli-bg {
-				position: absolute;
-				bottom: 0;
-				left: 0;
-				width: 344rpx;
-				height: 96rpx;
-			}
-			.fanli-font {
-				position: relative;
-				z-index: 10;
-				color: #ffffff;
-				height: 96rpx;
-				align-items: flex-end;
-				padding: 36rpx 10rpx 10rpx;
-				.font-left {
-					width: 226rpx;
-					font-size: 20rpx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #ffffff;
-				}
-				.font-right {
-					width: 118rpx;
-					text-align: center;
-					font-size: 36rpx;
-					font-family: Microsoft YaHei;
-					font-weight: bold;
-					color: #ffffff;
-				}
-			}
-		}
-	}
-	.title {
-		font-size: $font-lg;
-		color: $font-color-dark;
-		line-height: 80rpx;
-	}
-	.price-box {
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		padding-right: 10rpx;
-		font-size: 24rpx;
-		color: $font-color-light;
-	}
-	.price {
-		font-size: $font-lg;
-		color: #ff4c4c;
-		line-height: 1;
-		&:before {
-			content: '¥';
-			font-size: 26rpx;
-		}
-	}
-}
-</style>

+ 0 - 817
pages/product/miaosha.vue

@@ -1,817 +0,0 @@
-<template>
-	<view class="container">
-		<!-- 轮播图 -->
-		<top-swiper :imgList="imgList"></top-swiper>
-		<!-- 标题 -->
-		<product-content :goodsObjact="goodsObjact"></product-content>
-		<view class="c-list">
-			<view class="c-row b-b" @click="toggleSpec">
-				<text class="tit">购买数量</text>
-				<view class="con">
-					<text class="selected-text">{{ goodsNumber }}</text>
-				</view>
-				<text class="iconfont iconenter"></text>
-			</view>
-			<!-- <view class="c-row b-b">
-				<text>每购买一个送{{goodsObjact.give_integral}}响亮积分</text>
-			</view> -->
-		</view>
-		<!-- 拼货时间及优惠 -->
-		<!-- <discounts @clickCoupon="Getcoupon" :Info="goodsObjact.store_info" :showCoupon="true"></discounts> -->
-		<!-- 猜你喜欢 -->
-		<!-- <guess-like @Addcar='Addcar' @clickNavTo='navToDetailPage' :goodList = 'good_list||[]'></guess-like> -->
-		<!-- 评价 -->
-		<estimate @navTo="navTo('/pages/product/reply?id=' + goodsid)" v-if="reply" :reply="reply" :list="list"></estimate>
-		<!-- 规格信息 -->
-		<fresh-detail :goodsObjact="goodsObjact"></fresh-detail>
-		<!-- 图文详情 -->
-		<content-text :description="description"></content-text>
-		<!-- 底部高度撑开 -->
-		<view class="contentBottomHeight"></view>
-		<!-- 底部操作菜单 -->
-		<product-bottom :product_id='product_id' @buy="buy" :goodsObjact="goodsObjact" :isVip='isVip' :goodsid="goodsid" @specOPne="specOPne"></product-bottom>
-		<!-- 规格-模态层弹窗 -->
-		<view class="popup spec" :class="specClass" @touchmove.stop.prevent="stopPrevent" @click="toggleSpec">
-			<!-- 遮罩层 -->
-			<view class="mask"></view>
-			<view class="layer attr-content" @click.stop="stopPrevent">
-				<view class="a-t">
-					<image :src="actionImage"></image>
-					<view class="right">
-						<view class="good-name clamp">{{ goodsObjact.store_name }}</view>
-						<text class="price">¥{{ actionPrice }}</text>
-						<!-- <text class="stock">库存:{{ goodsObjact.stock }}件</text> -->
-						<!-- <view class="selected" v-if="goodsType == 0">
-							已选:
-							<text class="selected-text" v-for="(sItem, sIndex) in specSelected" :key="sIndex">{{ sItem }}</text>
-						</view> -->
-					</view>
-				</view>
-				<view v-for="(item, index) in specList" :key="index" class="attr-list">
-					<text>{{ item.attr_name }}</text>
-					<view class="item-list">
-						<text
-							v-for="(childItem, childIndex) in item.attr_value"
-							:key="childIndex"
-							class="tit"
-							:class="{ selected: childItem.check }"
-							@click="selectSpec(childItem, item, index)"
-						>
-							{{ childItem.attr }}
-						</text>
-					</view>
-				</view>
-				<view class="flex">
-					<view>购买数量</view>
-					<view class="item-list">
-						<uni-number-box class="step" :isMin="true" :value="goodsNumber" :min="1" :max="goodsNumberMax" @eventChange="numberChange"></uni-number-box>
-					</view>
-				</view>
-				<button class="btn" @click.stop="buy">确定</button>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-import uniNumberBox from '@/components/uni-number-box.vue';
-import { goodsDetail, cartAdd,seckillGoods } from '@/api/product.js';
-import { mapState } from 'vuex';
-import store from '@/store/index.js';
-import { orderData, userinfo } from '@/api/user.js';
-import { saveUrl } from '@/utils/loginUtils.js';
-// #ifdef H5
-import { weixindata, shareLoad } from '@/utils/wxAuthorized';
-// #endif
-// 头部轮播图
-import topSwiper from './common/topSwiper.vue';
-// 标题
-import productContent from './common/productContent.vue';
-// 到货时间及优惠
-import discounts from './common/discounts.vue';
-// 规格信息
-import freshDetail from './common/freshDetail.vue';
-// 图文详情
-import contentText from './common/contentText.vue';
-// 底部按钮
-import productBottom from './common/productBottom.vue';
-// 猜你喜欢
-import guessLike from './common/guessLike.vue';
-// 评价
-import estimate from './common/estimate.vue';
-export default {
-	components: {
-		uniNumberBox,
-		guessLike,
-		topSwiper,
-		productContent,
-		discounts,
-		freshDetail,
-		contentText,
-		productBottom,
-		estimate
-	},
-	data() {
-		return {
-			product_id:0,//秒杀id
-			goodsStore: 0, //选中库存
-			specList: [],
-			buys_show: true,
-			buys_shows: false,
-			specSelected: [], //选中的分类
-			specClass: 'none', //显示隐藏弹窗
-			many: 1, //1是单规格  2是多规格
-			reply: '', //评论
-			list: '', //商品详情的数据
-			type: 1, //默认支付方式add为
-			goodsType: 0,
-			goodsNumber: 1, //购买数量
-			goodsid: '', //商品id
-			description: '', //商品描述
-			goodsObjact: {
-				percent: 1
-			}, //保存商品数据
-			//图片循环
-			imgList: [],
-			// 对比对象
-			actionPrice: 0, //默认选中商品价格
-			actionImage: '', //默认选中图片
-			good_list: '', //猜你喜欢列表
-			goodsNumberMax: 0, //最大可购买数量
-			// 倒计时数据保存
-			seckillObj: {
-				stopTime: 0, //结束时间
-				stop: false, //是否结束
-				stopTimeH: 0, //小时
-				stopTimeM: 0, //分钟
-				stopTimeS: 0, //秒钟
-				stopTimeD: 0, //天
-				upTime: 0 //更新组件内部组件用
-			},
-			// 拼团数据保存
-			pink: {
-				id: '', //拼团编号
-				uid: '', //用户编号
-				people: '', //拼团人数
-				price: '', //拼团价格
-				stop_time: '', //拼团结束时间
-				nickname: '', //团长昵称
-				avatar: '', //团长头像
-				count: '', //拼团剩余人数
-				h: '', //时
-				i: '', //分
-				s: '' //秒
-			},
-			userInfo: '',
-			isVip: '0'
-		};
-	},
-	filters: {
-		parseIntTo(percent) {
-			percent = +percent * 100;
-			if (percent % 1 === 0) {
-				return percent;
-			} else {
-				percent = percent.toFixed(1);
-				return percent;
-			}
-		}
-	},
-	async onLoad(options) {
-		console.log(this.options)
-		let obj = this;
-		userinfo({})
-			.then(({ data }) => {
-				obj.userInfo = data;
-				console.log(data,"123456")
-			})
-		//保存商品id
-		this.goodsid = options.id;
-		this.goodsType = options.type;
-		// 判断有无人邀请
-		if (options.spread) {
-			// 存储邀请人
-			uni.setStorageSync('spread', options.spread);
-		}
-		if (options.isVip) {
-			obj.isVip = options.isVip;
-			console.log(options,'isVip')
-		}
-		console.log(obj.isVip, 'vip');
-		saveUrl();
-		this.seckillGoods();
-		// 注册邀请信息
-		// #ifdef H5
-		let bool = uni.getStorageSync('weichatBrowser') || '';
-		if (bool) {
-			weixindata();
-		}
-		// #endif
-	},
-	computed: {
-		...mapState(['weichatObj', 'baseURL', 'urlFile'])
-	},
-	// 分享
-	// onShareAppMessage(options) {
-	// 	// 设置菜单中的转发按钮触发转发事件时的转发内容
-	// 	let pages = getCurrentPages(); //获取加载的页面
-	// 	let currentPage = pages[pages.length - 1]; //获取当前页面的对象
-	// 	let url = currentPage.route; //当前页面url
-	// 	let item = currentPage.options; //如果要获取url中所带的参数可以查看options
-	// 	let shareObj = {
-	// 		title: this.goodsObjact.store_name,
-	// 		desc: obj.goodsObjact.store_info,
-	// 		path: url + '?id=' + item.id + '&spread=' + this.userInfo.uid, // 默认是当前页面,必须是以‘/’开头的完整路径
-	// 		imageUrl: this.goodsObjact.image,
-	// 		success: function(res) {
-	// 			// 转发成功之后的回调
-	// 			if (res.errMsg == 'shareAppMessage:ok') {
-	// 			}
-	// 		},
-	// 		fail: function() {
-	// 			// 转发失败之后的回调
-	// 			if (res.errMsg == 'shareAppMessage:fail cancel') {
-	// 				// 用户取消转发
-	// 			} else if (res.errMsg == 'shareAppMessage:fail') {
-	// 				// 转发失败,其中 detail message 为详细失败信息
-	// 			}
-	// 		}
-	// 	};
-
-	// 	return shareObj;
-	// },
-	methods: {
-		//收藏
-		toFavorite(item) {
-			let obj = this;
-			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
-					});
-				});
-			}
-		},
-		//选择规格
-		selectSpec(item, arr, ind) {
-			arr.attr_value.forEach(function(e) {
-				e.check = false;
-			});
-			item.check = true;
-			let obj = this;
-			obj.specSelected[ind] = item.attr;
-			let str = obj.specSelected.join(',');
-			// 获取当前选中的对象
-			if (obj.productValue[str]) {
-				obj.buys_show = true;
-				obj.buys_shows = false;
-				obj.actionPrice = obj.productValue[str].price;
-				obj.goodsNumberMax = obj.productValue[str].stock;
-				obj.actionImage = obj.productValue[str].image;
-				obj.uniqueId = obj.productValue[str].unique;
-				obj.goodsStore = obj.productValue[str].stock;
-			} else {
-				(obj.buys_show = false), (obj.buys_shows = true);
-			}
-			if (obj.goodsStore == 0) {
-				obj.buys_show = false;
-				obj.buys_shows = true;
-			}
-			obj.specSelected[ind] = item.attr;
-		},
-		// 打開彈窗
-		specOPne(type = 1) {
-			let obj = this;
-			obj.specClass = 'show';
-			obj.type = type;
-		},
-		//规格弹窗开关
-		toggleSpec(str) {
-			if (this.specClass === 'show') {
-				this.specClass = 'hide';
-				setTimeout(() => {
-					this.specClass = 'none';
-				}, 250);
-			} else if (this.specClass === 'none') {
-				this.specClass = 'show';
-			}
-			// 保存当前购买类型
-			this.type = str;
-		},
-		//领取优惠券
-		Getcoupon() {
-			uni.navigateTo({
-				url: '/pages/coupon/getcoupon'
-			});
-		},
-		// 购买数量变化
-		numberChange(e) {
-			this.goodsNumber = e.number;
-		},
-		// #ifdef H5
-		// 加载微信html5页面分享方法
-		shareDate() {
-			let obj = this;
-			// 保存分享人id链接
-			let url = window.location.href + '&spread=' + this.userInfo.uid;
-			// 判断是否微信浏览器
-			let bool = uni.getStorageSync('weichatBrowser') || '';
-			if (bool) {
-				// 过滤微信强制添加的链接地址
-				url = url.replace(/[\?,&]from=singlemessage/g, '');
-				let data = {
-					link: url, // 分享链接
-					imgUrl: obj.goodsObjact.image, // 分享图标
-					desc: obj.goodsObjact.store_info,
-					title: obj.goodsObjact.store_name,
-					success: function(e) {
-						console.log(e);
-					}
-				};
-				console.log(data, '分享');
-				shareLoad(data);
-			}
-		},
-		// #endif
-		//详情页
-		navToDetailPage(item) {
-			let id = item.id;
-			uni.navigateTo({
-				url: '/pages/product/product?id=' + id
-			});
-		},
-		// 跳转页面
-		navTo(url) {
-			uni.navigateTo({
-				url: '/pages/product/reply?id=' + this.goodsid
-			});
-		},
-		//加入购物车
-		Addcar(item) {
-			let obj = this;
-			cartAdd({
-				cartNum: '1', //商品数量
-				uniqueId: '', //商品标签
-				new: 0, //商品是否新增加到购物车1为不加入0为加入
-				mer_id: '',
-				productId: item.id //商品编号
-			})
-				.then(function(e) {
-					uni.showToast({
-						title: '成功加入购物车',
-						type: 'top',
-						duration: 500,
-						icon: 'none'
-					});
-
-					obj.seckillGoods();
-				})
-				.catch(e => {
-					console.log(e);
-				});
-		},
-		seckillGoods() {
-			let obj = this;
-			// 获取普通商品信息
-			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,'obj.product_id');
-				obj.good_list = data.good_list; //保存猜你喜欢列表
-				obj.reply = data.reply; //保存评论列表
-				let goods = data.storeInfo;
-				obj.goodsObjact = goods;
-				console.log(data.storeInfo,'基本商品');
-				if (obj.goodsObjact.description != null) {
-					obj.description = obj.goodsObjact.description.replace(/\<img/gi, '<img class="rich-img"');
-				} //小程序商品详情图超出屏幕问题
-				obj.imgList = goods.images; //保存轮播图
-				obj.specList = data.productAttr; //保存分类列表
-				if (Array.isArray(data.productValue) != true) {
-					obj.many = 2;
-					obj.specList = data.productAttr; //保存产品属性
-					obj.productValue = data.productValue; //保存属性值
-					obj.specSelected = []; //初始化默认选择对象
-					for (let i = 0; i < obj.specList.length; i++) {
-						// 设置默认数据
-						let attrValue = obj.specList[i].attr_value[0];
-						attrValue.check = true;
-						obj.specSelected.push(attrValue.attr);
-					}
-					let str = obj.specSelected.join(',');
-					console.log(str, 'str');
-					// 设置默认值
-					obj.actionPrice = obj.productValue[str].price;
-					obj.goodsNumberMax = obj.productValue[str].stock;
-					obj.actionImage = obj.productValue[str].image;
-					obj.uniqueId = obj.productValue[str].unique;
-					obj.goodsStore = obj.productValue[str].quota;
-				} else {
-					obj.many = 1;
-					obj.productValue = data.productValue; //保存分类查询数据
-					obj.actionPrice = goods.price; //保存默认选中商品价格
-					obj.actionImage = goods.image_base; //保存默认选中商品图片
-					obj.goodsNumberMax = goods.stock; //保存默认选中最大可购买商品数量
-				}
-				obj.shopId = data.mer_id; //保存商店id
-				// #ifdef H5
-				obj.shareDate();
-				// #endif
-			});
-		},
-		// #ifdef H5
-		// 加载微信html5页面分享方法
-		shareDate() {
-			let obj = this;
-			// 保存分享人id链接
-			let url = window.location.href + '&spread=' + this.userInfo.uid;
-			// 判断是否微信浏览器
-			let bool = uni.getStorageSync('weichatBrowser') || '';
-			if (bool) {
-				// 过滤微信强制添加的链接地址
-				url = url.replace(/[\?,&]from=singlemessage/g, '');
-				let data = {
-					link: url, // 分享链接
-					imgUrl: obj.goodsObjact.image, // 分享图标
-					desc: obj.goodsObjact.store_info,
-					title: obj.goodsObjact.store_name,
-					success: function(e) {
-						console.log(e);
-					}
-				};
-				shareLoad(data);
-			}
-		},
-		// #endif
-		// 立即购买
-		buy() {
-			let obj = this;
-			console.log(obj.userInfo,'userInfo');
-			// if (obj.userInfo.lock_spread_user == null) {
-			// 	if (obj.userInfo.unlock_spread_user == null) {
-			// 		uni.showModal({
-			// 			title: '提示',
-			// 			content: '您未绑定或锁定邀请人,无法购买会员礼包,是否前往绑定关系',
-			// 			success: function(res) {
-			// 				if (res.confirm) {
-			// 					console.log('用户点击确定');
-			// 					uni.navigateTo({
-			// 						url: '/pages/set/user'
-			// 					});
-			// 				} else if (res.cancel) {
-			// 					console.log('用户点击取消');
-			// 				}
-			// 			}
-			// 		});
-			// 		return;
-			// 	} else {
-			// 		uni.showModal({
-			// 			title: '提示',
-			// 			content: '已锁定邀请人:' + obj.userInfo.unlock_spread_user.phone + '购买商品后将绑定关系',
-			// 			success: function(res) {
-			// 				if (res.confirm) {
-			// 					obj.buy1();
-			// 				} else if (res.cancel) {
-			// 					console.log('用户点击取消');
-			// 				}
-			// 			}
-			// 		});
-			// 		return;
-			// 	}
-			// }
-			// 创建传值对象
-			let data = {
-				cartNum: obj.goodsNumber, //商品数量
-				new: 1,
-				secKillId: obj.product_id,
-				productId: obj.goodsid, //商品编号
-				uniqueId: obj.uniqueId
-			};
-			console.log(data,'商品详情');
-
-			if (obj.type == 2) {
-				data.new = 0;
-			}
-			cartAdd(data)
-				.then(function(e) {
-					let da = e.data;
-					if (obj.type == 1) {
-						// 跳转到支付页
-						uni.navigateTo({
-							url: '/pages/order/createOrder?id=' + da.cartId
-						});
-					}
-					if (obj.type == 2) {
-						uni.showToast({
-							title: '成功加入购物车',
-							type: 'top',
-							duration: 2000,
-							icon: 'none'
-						});
-						obj.seckillGoods();
-					}
-					obj.toggleSpec();
-				})
-				.catch(e => {
-					console.log(e);
-				});
-		},
-		buy1() {
-			let obj = this;
-			let data = {
-				cartNum: obj.goodsNumber, //商品数量
-				new: 1,
-				secKillId: obj.product_id,
-				productId: obj.goodsid, //商品编号
-				uniqueId: obj.uniqueId
-			};
-
-			if (obj.type == 2) {
-				data.new = 0;
-			}
-			cartAdd(data)
-				.then(function(e) {
-					let da = e.data;
-					if (obj.type == 1) {
-						// 跳转到支付页
-						uni.navigateTo({
-							url: '/pages/order/createOrder?id=' + da.cartId
-						});
-					}
-					if (obj.type == 2) {
-						uni.showToast({
-							title: '成功加入购物车',
-							type: 'top',
-							duration: 2000,
-							icon: 'none'
-						});
-						obj.seckillGoods();
-					}
-					obj.toggleSpec();
-				})
-				.catch(e => {
-					console.log(e);
-				});
-		},
-		// 阻止触发上级事件
-		stopPrevent() {}
-	}
-};
-</script>
-
-<style lang="scss">
-/*  弹出层 */
-.popup {
-	position: fixed;
-	left: 0;
-	top: 0;
-	right: 0;
-	bottom: 0;
-	z-index: 99;
-
-	&.show {
-		display: block;
-		.mask {
-			animation: showPopup 0.2s linear both;
-		}
-		.layer {
-			animation: showLayer 0.2s linear both;
-		}
-	}
-	&.hide {
-		.mask {
-			animation: hidePopup 0.2s linear both;
-		}
-		.layer {
-			animation: hideLayer 0.2s linear both;
-		}
-	}
-	&.none {
-		display: none;
-	}
-	.mask {
-		position: fixed;
-		top: 0;
-		width: 100%;
-		height: 100%;
-		z-index: 1;
-		background-color: rgba(0, 0, 0, 0.4);
-	}
-	.layer {
-		position: fixed;
-		z-index: 99;
-		bottom: 0;
-		width: 100%;
-		min-height: 30vh;
-		border-radius: 10rpx 10rpx 0 0;
-		background-color: #fff;
-		.btn {
-			height: 66rpx;
-			line-height: 66rpx;
-			border-radius: 100rpx;
-			// background: $uni-color-primary;
-			background: #FF4C4C;
-			font-size: $font-base + 2rpx;
-			color: #fff;
-			margin: 30rpx auto 20rpx;
-		}
-	}
-	@keyframes showPopup {
-		0% {
-			opacity: 0;
-		}
-		100% {
-			opacity: 1;
-		}
-	}
-	@keyframes hidePopup {
-		0% {
-			opacity: 1;
-		}
-		100% {
-			opacity: 0;
-		}
-	}
-	@keyframes showLayer {
-		0% {
-			transform: translateY(120%);
-		}
-		100% {
-			transform: translateY(0%);
-		}
-	}
-	@keyframes hideLayer {
-		0% {
-			transform: translateY(0);
-		}
-		100% {
-			transform: translateY(120%);
-		}
-	}
-}
-/* 规格选择弹窗 */
-.attr-content {
-	padding: 10rpx 30rpx;
-	.a-t {
-		display: flex;
-		image {
-			width: 170rpx;
-			height: 170rpx;
-			flex-shrink: 0;
-			border-radius: 8rpx;
-		}
-		.right {
-			display: flex;
-			flex-direction: column;
-			padding-left: 24rpx;
-			font-size: $font-sm + 2rpx;
-			color: $font-color-base;
-			line-height: 42rpx;
-			.good-name {
-				padding-top: 20rpx;
-				max-width: 320rpx;
-				font-size: 30rpx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #1d2023;
-				line-height: 42rpx;
-				margin-bottom: 15rpx;
-			}
-			.price {
-				font-size: 60rpx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #ff6f0f;
-				// font-size: $font-lg;
-				// color: $uni-color-primary;
-				// margin-bottom: 10rpx;
-			}
-			.selected-text {
-				margin-right: 10rpx;
-			}
-		}
-	}
-	.attr-list {
-		display: flex;
-		flex-direction: column;
-		font-size: $font-base + 2rpx;
-		color: $font-color-base;
-		padding-top: 30rpx;
-		padding-left: 10rpx;
-	}
-	.item-list {
-		padding: 20rpx 0 0;
-		display: flex;
-		flex-wrap: wrap;
-		.tit {
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			background: #eee;
-			// margin-left: 10rpx;
-			margin-right: 20rpx;
-			margin-bottom: 20rpx;
-			border-radius: 100rpx;
-			min-width: 60rpx;
-			height: 60rpx;
-			padding: 0 20rpx;
-			font-size: $font-base;
-			color: $font-color-dark;
-		}
-		.selected {
-			background: #FCEFF1;
-			border: 1px solid #EF041F;
-			color: #EF041F;
-		}
-	}
-}
-
-//默认商品底部高度
-.goodsBottom {
-	height: 160rpx;
-}
-page {
-	background: #f0f0f0;
-}
-//秒杀、拼团底部高度
-.contentBottomHeight {
-	height: 110rpx;
-}
-//默认商品底部高度
-.goodsBottom {
-	height: 160rpx;
-}
-/deep/ .iconenter {
-	font-size: $font-base + 2rpx;
-	color: #888;
-}
-/deep/ .con_image {
-	width: 130rpx;
-	height: 130rpx;
-	display: inline-block;
-	padding: 15rpx;
-	image {
-		width: 100%;
-		height: 100%;
-	}
-}
-/* 商品详情中限制图片大小 */
-/deep/ .rich-img {
-	width: 100% !important;
-	height: auto;
-}
-.c-list {
-	margin-top: 20rpx;
-	font-size: $font-sm + 2rpx;
-	color: $font-color-base;
-	background: #fff;
-	.c-row {
-		display: flex;
-		align-items: center;
-		padding: 20rpx 30rpx;
-		position: relative;
-	}
-	.tit {
-		width: 140rpx;
-	}
-	.con {
-		flex: 1;
-		color: $font-color-dark;
-		.selected-text {
-			margin-right: 10rpx;
-		}
-	}
-	.bz-list {
-		height: 40rpx;
-		font-size: $font-sm + 2rpx;
-		color: $font-color-dark;
-		text {
-			display: inline-block;
-			margin-right: 30rpx;
-		}
-	}
-	.con-list {
-		flex: 1;
-		display: flex;
-		flex-direction: column;
-		color: $font-color-dark;
-		line-height: 40rpx;
-	}
-	.red {
-		color: $uni-color-primary;
-	}
-}
-
-</style>

+ 208 - 311
pages/public/wxLogin.vue

@@ -1,312 +1,209 @@
-<template>
-	<view class="content">
-		<!-- #ifdef MP -->
-		<image class="bg-img" :src="/static/img/img09.png" mode=" scaleToFill"></image>
-		<view class="logo-img-box">
-			<image class="logo-img" src="/static/img/img10.png" mode=" aspectFit"></image>
-			<button class="userInfo" type="warn" open-type="getUserInfo" @getuserinfo="userInfoData">
-				<text class="iconfont iconweixin"></text>
-				<text>微信授权登录</text>
-			</button>
-		</view>
-		<!-- #endif -->
-		<view class="Mask" v-show="MaskShow">
-			<view class="Mask-box">
-				<view class="title">申请获取您的手机号</view>
-				<view class="text">为了方便您的取货和我们的送货,并获取更多优惠活动,需要您的手机授权</view>
-				<view class="btn_box">
-					<button class="weixin" @click="ToIndex()">取消</button>
-					<button class="weixin" open-type="getPhoneNumber" @getphonenumber="PhoneNumber">手机号授权</button>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-// #ifdef H5
-import { loginWinxin } from '@/utils/wxAuthorized';
-// #endif
-// #ifdef MP-WEIXIN
-import { wechatMpAuth } from '@/api/wx';
-// #endif
-import { mapMutations } from 'vuex';
-import { getUserInfo, bangding } from '@/api/login.js';
-export default {
-	data() {
-		return {
-			userInfo: {}, //授权用户信息
-			code: '', //授权code
-			loding: false, //判断是否在点击中
-			MaskShow: false // 手机号授权弹窗
-		};
-	},
-	onLoad(option) {
-		this.loadData();
-	},
-	methods: {
-		loadData() {
-			// #ifdef H5
-			loginWinxin();
-			// #endif
-		},
-		// #ifndef H5
-		// 用户确认授权
-		userInfoData(e) {
-			const that = this;
-			// #ifdef MP-WEIXIN
-			if (!this.loding) {
-				uni.showModal({
-					title: '温馨提示',
-					content: '亲,授权微信登录后才能正常使用小程序功能',
-					success: res => {
-						if (res.confirm) {
-							wx.getUserProfile({
-								desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
-								success: res => {
-									that.userInfo = res;
-									that.loadMp();
-								},
-								fail: err => {
-									uni.showToast({
-										title: '您拒绝了请求,不能正常使用小程序',
-										icon: 'error',
-										duration: 2000
-									});
-									return;
-								}
-							});
-						} else if (res.cancel) {
-							//如果用户点击了取消按钮
-							uni.showToast({
-								title: '您拒绝了请求,不能正常使用小程序',
-								icon: 'error',
-								duration: 2000
-							});
-							return;
-						}
-					}
-				});
-			}
-			// #endif
-		},
-		// #endif
-		// #ifdef MP-WEIXIN
-		loadMp(option) {
-			let obj = this;
-			obj.loding = true;
-			// 获取登录授权页数据
-			let user = obj.userInfo;
-			// 获取推广人id
-			let spread_spid = uni.getStorageSync('spread') || '';
-			// let spread_code = uni.getStorageSync('spread_code') || '';
-			uni.showLoading({
-				title: '授权中',
-				mask: true
-			});
-			wx.login({
-				success(e) {
-					wechatMpAuth({
-						code: e.code,
-						iv: user.iv,
-						encryptedData: user.encryptedData,
-						spread_spid: spread_spid,
-						// #ifdef MP
-						spread_code: spread_code
-						// #endif
-					})
-						.then(({ data }) => {
-							obj.loding = false;
-							obj.wchatAuth(data);
-							console.log(data);
-						})
-						.catch(e => {
-							obj.loding = false;
-							uni.hideLoading();
-						});
-				},
-				fill: function(e) {
-					obj.loding = false;
-					console.log(e);
-				}
-			});
-		},
-		wchatAuth(data) {
-			let obj = this;
-			// 保存token
-			uni.setStorageSync('token', data.token);
-			// 获取用户基础信息
-			getUserInfo({})
-				.then(e => {
-					uni.hideLoading();
-					obj.login();
-					// 保存返回用户数据
-					obj.setUserInfo(e.data);
-					obj.ToIndex();
-					// if (e.data.phone == null || !e.data.phone ) {
-					// 	obj.MaskShow = true;
-					// } else {
-					// 	obj.ToIndex();
-					// }
-				})
-				.catch(e => {
-					uni.hideLoading();
-				});
-		},
-		// #endif
-		ToIndex() {
-			let obj = this;
-			let ur = uni.getStorageSync('present') || '/pages/index/index';
-			// 用于处理缓存bug
-			if (ur == 'pages/product/product') {
-				ur = '/pages/index/index';
-			}
-			uni.switchTab({
-				url: ur,
-				fail(e) {
-					uni.navigateTo({
-						url: ur,
-						fail(e) {
-							uni.navigateTo({
-								url: '/pages/index/index'
-							});
-						}
-					});
-				}
-			});
-		},
-		// 绑定手机号
-		PhoneNumber(e) {
-			let obj = this;
-			obj.MaskShow = false;
-			(obj.iv = e.detail.iv), (obj.encryptedData = e.detail.encryptedData);
-
-			uni.setStorageSync('code', obj.code);
-			bangding({
-				flag: 1,
-				cache_key: obj.cache_key,
-				code: obj.code,
-				iv: obj.iv,
-				encryptedData: obj.encryptedData
-			}).then(function(e) {
-				if (e.data.is_bind == 1) {
-					console.log('bangding1');
-					bangding({
-						flag: 1,
-						cache_key: obj.cache_key,
-						code: obj.code,
-						iv: obj.iv,
-						encryptedData: obj.encryptedData,
-						step: 1
-					})
-						.then(function(e) {
-							// 获取用户基础信息
-							obj.GetUser();
-							obj.$api.msg(e.msg);
-							obj.$nextTick(function() {
-								obj.ToIndex();
-							});
-						})
-						.catch(e => {
-							console.log(e);
-						});
-				} else {
-					console.log('bangding2');
-					obj.$api.msg(e.msg);
-					// 获取用户基础信息
-					obj.GetUser();
-					obj.$api.msg(e.msg);
-					obj.$nextTick(function() {
-						obj.ToIndex();
-					});
-				}
-			});
-		},
-		GetUser() {
-			// 获取用户基础信息
-			getUserInfo({})
-				.then(({ data }) => {
-					this.setUserInfo(data);
-					console.log(data, 11);
-					console.log(uni.getStorageSync('userInfo'), 55);
-				})
-				.catch(e => {
-					console.log(e);
-				});
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page,
-.content {
-	height: 100%;
-}
-
-.Mask {
-	position: fixed;
-	top: 0;
-	width: 100%;
-	height: 100%;
-	background-color: rgba(51, 51, 51, 0.7);
-	.Mask-box {
-		margin: auto;
-		margin-top: 320rpx;
-		padding: 50rpx 30rpx;
-		width: 90%;
-		height: 450rpx;
-		top: 500rpx;
-		left: 10%;
-		background-color: #ffffff;
-		border-radius: 15rpx;
-		.title {
-			text-align: center;
-			font-size: 35rpx;
-			font-weight: 700;
-		}
-		.text {
-			font-size: 30rpx;
-			color: #848484;
-			padding-top: 50rpx;
-		}
-		.btn_box {
-			margin: 70rpx 0 0 0;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-		}
-	}
-}
-
-.weixin {
-	// background: linear-gradient(90deg, rgba(36, 214, 78, 1), rgba(45, 187, 89, 1));
-	background: $base-color;
-	width: 40%;
-	color: #ffffff;
-	border-radius: 50rpx;
-	border: none;
-	margin: 0 20rpx;
-}
-.bg-img,
-.logo-img-box {
-	position: absolute;
-	top: 0;
-	left: 0;
-	width: 100%;
-	height: 100%;
-}
-.logo-img {
-	margin-top: 20vh;
-	margin-left: 176rpx;
-	width: 385rpx;
-	height: 394rpx;
-}
-.userInfo {
-	margin: 0 100rpx;
-	margin-top: 50rpx;
-	color: #ffffff;
-	border-radius: 99rpx;
-	background-color: $base-color !important;
-}
+<template>
+	<view class="content">
+		<!-- #ifndef H5 -->
+		<view class="logo-img-box">
+			<image class="logo-img" src="../../static/img/logo.jpg" mode=" aspectFit"></image>
+			<button class="userInfo" type="warn" @click="isclick?'':userInfoData()" :class="{'nocaction': isclick}">
+				<text class="iconfont iconweixin"></text>
+				<text>
+					微信授权登录
+				</text>
+			</button>
+		</view>
+		<!-- #endif -->
+	</view>
+</template>
+
+<script>
+	import {
+		getUserInfo
+	} from '@/api/login.js';
+	// #ifdef H5
+	import {
+		loginWinxin
+	} from '@/utils/wxAuthorized';
+	// #endif
+	// #ifdef MP-WEIXIN
+	import {
+		loginWinxinMp
+	} from '@/utils/wxMinProgram';
+	import {
+		wechatMpAuth
+	} from '@/api/wx';
+	// #endif
+	import {
+		mapMutations,
+		mapState
+	} from 'vuex';
+	export default {
+		data() {
+			return {
+				userInfo: {}, //授权用户信息
+				code: '', //授权code
+				isclick: false, //是否点击了
+			};
+		},
+		onLoad(option) {
+			this.loadData();
+		},
+		computed: {
+			// ...mapState(['baseURL','urlFile']) 
+		},
+		methods: {
+			// ...mapMutations(['login', 'setUserInfo']),
+			...mapMutations('user', ['login', 'setUserInfo']),
+			loadData() {
+				let obj = this;
+				// #ifdef H5
+				loginWinxin();
+				// #endif
+				// #ifdef MP-WEIXIN
+				loginWinxinMp().then(() => {
+					wx.login({
+						success(e) {
+							console.log(e, 'loginWinxinMp');
+							obj.code = e.code;
+						},
+						fill: function(e) {
+							console.log(e)
+						}
+					})
+				});
+				// #endif
+			},
+			// 用户确认授权
+			userInfoData() {
+				let that = this
+				if (that.isclick) {
+					return
+				}
+				that.isclick = true
+				wx.getUserProfile({
+					desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
+					success: res => {
+						console.log(res, 'that.userInfo+++++++++++++++++++')
+						that.userInfo = res;
+						uni.showLoading({
+							title: '授权中',
+							mask: true
+						});
+						that.loadMp();
+					},
+					fail: err => {
+						that.isclick = false
+						uni.showToast({
+							title: '您拒绝了请求,不能正常使用小程序',
+							icon: 'error',
+							duration: 2000
+						});
+						return;
+					}
+				});
+				// this.userInfo = e;
+				// console.log(e,'用户确认授权')
+				// this.loadMp()
+
+			},
+			// #ifdef MP-WEIXIN
+			loadMp() {
+				let obj = this;
+				// 获取登录授权页数据
+				let user = obj.userInfo;
+				console.log(user)
+				// 获取推广人id
+				let spread_spid = uni.getStorageSync('spread') || '';
+				// #ifdef MP
+				let spread_code = uni.getStorageSync('spread_code') || '';
+				// #endif
+
+				wechatMpAuth({
+					code: obj.code,
+					iv: user.iv,
+					encryptedData: user.encryptedData,
+					spread_spid: spread_spid,
+					// #ifdef MP
+					spread_code: spread_code,
+					// #endif
+				}).then(({
+					data
+				}) => {
+					obj.wchatAuth(data);
+					console.log(data, 'wechatMpAuth++++++++++++++++++++++++++')
+
+				}).catch(err => {
+					// obj.loding = false;
+					// uni.hideLoading();
+				});
+			},
+			// #endif
+			wchatAuth(data) {
+				let obj = this;
+				// 保存token
+				uni.setStorageSync('token', data.token);
+				console.log(data.token, 'token++++++++++++++')
+				// 获取用户基础信息
+				getUserInfo({}).then(e => {
+					console.log('userInfo+++++++++++', e)
+					obj.login();
+					uni.hideLoading();
+					// 保存返回用户数据
+					obj.setUserInfo(e.data);
+					let ur = uni.getStorageSync('present') || '/pages/index/index';
+					// 用于处理缓存bug
+					if (ur == 'pages/product/product') {
+						ur = '/pages/index/index'
+					}
+					uni.switchTab({
+						url: ur,
+						fail(e) {
+							uni.navigateTo({
+								url: ur,
+								fail(e) {
+									uni.navigateTo({
+										url: '/pages/index/index',
+									});
+								}
+							});
+						}
+					});
+				});
+			}
+		}
+	};
+</script>
+
+<style lang="scss">
+	page,
+	.content {
+		height: 100%;
+		background-color: #fff;
+	}
+
+	.bg-img,
+	.logo-img-box {
+		position: absolute;
+		top: 0;
+		left: 0;
+		width: 100%;
+		height: 100%;
+	}
+
+	.logo-img {
+		margin-top: 20vh;
+		margin-left: 176rpx;
+		width: 385rpx;
+		height: 394rpx;
+	}
+
+	.userInfo {
+		margin: 0 100rpx;
+		margin-top: 50rpx;
+		color: #FFFFFF;
+		border-radius: 99rpx;
+		background-color: $base-color !important;
+	}
+
+	.nocaction {
+		background-color: #999;
+	}
 </style>

+ 2 - 2
pages/shop/shopList.vue

@@ -24,7 +24,7 @@
 						</view>
 						<view class="djq-dis">
 							<image src="../../static/icon/dw.png" mode=""></image>
-							距离{{(item.range*1 > 1000 )?( item.range + 'KM'):(item.range*1 + 'm')}}
+							距离{{item.range*1}}KM
 						</view>
 					</view>
 					<view class="flex f-d-c f-j-sb f-ai-s fg1" style="height: 110rpx;">
@@ -33,7 +33,7 @@
 						</view>
 						<view class="djq-hd flex f-j-sb">
 							<view class="buy-info">
-								1425人已购买
+								{{item.count}}人已购买
 							</view>
 							<view class="hd-btn">
 								<image src="../../static/icon/call.png" mode="" style="margin-right: 15rpx;"

+ 57 - 20
pages/user/award.vue

@@ -11,7 +11,7 @@
 				<view class="header">我的佣金</view>
 			</view>
 			<view class="content-bg">
-				<image src="../../static/img/my-bg.png" mode=""></image>
+				<image :src="baseURL + '/static/image/my-bg.png'" mode=""></image>
 			</view>
 			<view class="money-box">
 				<view class="money">{{ userInfo.brokerage_price }}</view>
@@ -22,7 +22,7 @@
 				<text>></text>
 			</view>
 		</view>
-		<view class="info-box flex">
+		<!-- <view class="info-box flex">
 			<view class="info-item">
 				<view class="info-font">累计收入</view>
 				<view class="info-num">{{ recharge || 0 }}</view>
@@ -32,7 +32,7 @@
 				<view class="info-font">累计支出</view>
 				<view class="info-num">{{ orderStatusSum || 0}}</view>
 			</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>
@@ -56,7 +56,6 @@
 							</view>
 							<view class="money">
 								<view>{{ (item.pm == 0 ? '-' : '+') + item.number }}</view>
-								<view v-if="item.status == 0" class="status">待发放</view>
 							</view>
 						</view>
 					</view>
@@ -76,6 +75,9 @@
 	import {
 		getMoneyStyle
 	} from '@/utils/rocessor.js';
+	import {
+		getUserInfo
+	} from '@/api/user.js'
 	import {
 		mapState,
 		mapMutations
@@ -87,7 +89,8 @@
 			getMoneyStyle
 		},
 		computed: {
-			...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
+			...mapState('user', ['userInfo', 'orderInfo', 'hasLogin']),
+			...mapState(['baseURL'])
 		},
 		components: {
 			empty,
@@ -138,8 +141,22 @@
 		},
 		onShow() {
 			this.loadData();
+			this.getUerInfo()
 		},
 		methods: {
+			...mapMutations('user', ['setUserInfo']),
+			getUerInfo() {
+				getUserInfo({})
+					.then(({
+						data
+					}) => {
+						this.setUserInfo(data);
+
+					})
+					.catch(e => {
+						console.log(e);
+					});
+			},
 			// 页面跳转
 			navto(e) {
 				uni.navigateTo({
@@ -174,32 +191,52 @@
 						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) {
+						let arr = []
+						if (data.length != 0) {
+							navItem.page++
+							data.forEach(item => {
+								item.list.forEach(itemt => {
+									arr.push(itemt)
+								})
+							})
+
+							if (navItem.limit == data.length) {
 								//判断是否还有数据, 有改为 more, 没有改为noMore
 								navItem.loadingType = 'more';
 								return;
 							} else {
-								//判断是否还有数据, 有改为 more, 没有改为noMore
 								navItem.loadingType = 'noMore';
 							}
 						} else {
-							console.log('ddddddddddddddddddddddd')
 							navItem.loadingType = 'noMore';
 						}
+						console.log(arr, 'arr+++++')
+						navItem.orderList = navItem.orderList.concat(arr);
+
+						// 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);
+						this.$set(navItem, 'loaded', true);
 					})
 					.catch(e => {
 						console.log(e);

+ 0 - 426
pages/user/scoreAccumulate.vue

@@ -1,426 +0,0 @@
-<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/myjf.png" mode=""></image></view>
-			<view class="money-box">
-				<view class="money">{{userInfo.integral | getMoneyStyle}}</view>
-				<view>我的响亮积分</view>
-			</view>
-			<view class="money-btn" @click="navto('/pages/money/withdmoenys')">
-				积分转账
-				<text>></text>
-			</view>
-		</view>
-		<view class="info-box flex">
-			<view class="info-item">
-				<view class="info-font">累计收入</view>
-				<view class="info-num">{{recharge}}</view>
-			</view>
-			<view class="shu"></view>
-			<view class="info-item">
-				<view class="info-font">累计支出</view>
-				<view class="info-num">{{orderStatusSum}}</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.mark }}</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 { integrallist } from '@/api/functionalUnit.js';
-import { getMoneyStyle } from '@/utils/rocessor.js';
-import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
-import empty from '@/components/empty';
-import { mapState, mapMutations } from 'vuex';
-export default {
-	filters: {
-		getMoneyStyle
-	},
-	components: {
-		empty,
-		uniLoadMore
-	},
-	computed: {
-		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
-	},
-	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: 0,
-					text: '支出',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10 //每次信息条数
-				},
-				{
-					state: 1,
-					text: '收入',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10 //每次信息条数
-				}
-			],
-		};
-	},
-	onLoad(options) {},
-	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;
-			if (source === 'tabChange' && navItem.loaded === true) {
-				//tab切换只有第一次需要加载数据
-				return;
-			}
-			if (navItem.loadingType === 'loading') {
-				//防止重复加载
-				return;
-			}
-			// 修改当前对象状态为加载中
-			navItem.loadingType = 'loading';
-
-			integrallist(
-				{
-					page: navItem.page,
-					limit: navItem.limit,
-					pm: state
-				},
-			)
-				.then(({ data }) => {
-					obj.recharge = data.income;
-					obj.orderStatusSum = data.expend;
-					if (data.list.length > 0) {
-						console.log(data);
-						navItem.orderList = navItem.orderList.concat(data.list);
-						console.log(navItem.orderList);
-						navItem.page++;
-					}
-					if (navItem.limit == data.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;
-		},
-		toBack() {
-			uni.navigateBack({
-				
-			})
-		}
-	}
-};
-</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>

+ 3 - 2
pages/user/team.vue

@@ -11,7 +11,7 @@
 				<view class="header">我的推广</view>
 			</view>
 			<view class="content-bg">
-				<image src="../../static/img/my-bg.png" mode=""></image>
+				<image :src="baseURL + '/static/image/my-bg.png'" mode=""></image>
 			</view>
 			<view class="money-box">
 				<view class="money">{{ all|| '0' }}</view>
@@ -96,7 +96,8 @@
 			};
 		},
 		computed: {
-			...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
+			...mapState('user', ['userInfo', 'orderInfo', 'hasLogin']),
+			...mapState(['baseURL'])
 		},
 		onLoad(options) {},
 		onShow() {

+ 10 - 4
pages/user/user.vue

@@ -2,7 +2,7 @@
 	<view class="container">
 		<view class="vheigh"></view>
 		<view class="top-image">
-			<image src="../../static/user/user-top.png" mode=""></image>
+			<image :src="baseURL + '/static/image/user-top.png'" mode=""></image>
 		</view>
 		<view class="user-set flex">
 			<view class="set-logo" @click="navTo('/pages/set/userinfo')">
@@ -34,7 +34,7 @@
 					</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-num">{{ userInfo.brokerage_price || 0 }}</view>
 						<view class="item-font">我的佣金</view>
 					</view>
 					<view class="" style="width: 1rpx;height: 100rpx;background: #EEEEEE;"></view>
@@ -54,8 +54,12 @@
 				thumb="/static/user/user2.png"></uni-list-item>
 			<uni-list-item title="我的优惠券" @click="navTo('/pages/user/myyhq')" thumb="/static/icon/g-l.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/product/product?id=1')"
+				thumb="/static/icon/good-gift.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>
@@ -65,7 +69,7 @@
 		<uni-popup ref="popupkf" type="center">
 			<view class="popup-box">
 				<view class="img">
-					<image src="../../static/img/img009.png" mode=""></image>
+					<image :src="baseURL +'/static/image/img009.png'" mode=""></image>
 				</view>
 				<view class="mian">
 					<view class="delivery">
@@ -195,6 +199,7 @@
 			};
 		},
 		onShow() {
+			console.log(this.$store.state.baseURL + '/static/image/user-top.png')
 			// 判断是否已经登录
 			if (this.hasLogin) {
 				this.loadBaseData();
@@ -238,7 +243,8 @@
 		// },
 		// #endif
 		computed: {
-			...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
+			...mapState('user', ['userInfo', 'orderInfo', 'hasLogin']),
+			...mapState(['baseURL'])
 		},
 		methods: {
 			...mapMutations('user', ['setUserInfo', 'setOrderInfo']),

BIN
static/icon/good-gift.png


BIN
static/img/bargainBg.jpg


BIN
static/img/cash-bg.png


BIN
static/img/img009.png


BIN
static/img/img01.png


BIN
static/img/img06.png


BIN
static/img/img07.png


BIN
static/img/img09.png


BIN
static/img/img10.png


BIN
static/img/img14.jpg


BIN
static/img/index-fanl.png


BIN
static/img/libao-bg.png


BIN
static/img/logo.jpg


BIN
static/img/money-bg.png


BIN
static/img/money-ok.png


BIN
static/img/my-bg.png


BIN
static/img/mygx.png


BIN
static/img/myjf.png


BIN
static/img/myyue.png


BIN
static/img/promotion-bg.png


BIN
static/img/sign-popup.png


BIN
static/img/user-top-bg.png


BIN
static/img/vip-card-bg.png


BIN
static/img/yongjin-bg.png


BIN
static/index/index12.png


BIN
static/index/index13.png


BIN
static/sy/sy01.png


BIN
static/sy/sy02.png


BIN
static/sy/sy03.png


BIN
static/sy/sy04.png


BIN
static/sy/sy05.png


BIN
static/sy/sy06.png


BIN
static/sy/sy07.png


BIN
static/sy/sy08.png


BIN
static/sy/sy09.png


BIN
static/sy/sy10.png


BIN
static/sy/sy12.png


BIN
static/sy/sy13.png


BIN
static/sy/sy14.png


BIN
static/sy/sy15.png


BIN
static/sy/sy16.png


BIN
static/tabBar/dingdan.png


BIN
static/tabBar/home.png


BIN
static/user/erweima.png


BIN
static/user/shenqing.png


BIN
static/user/user-top.png


BIN
static/user/user06.png


+ 1 - 3
store/index.js

@@ -11,9 +11,7 @@ 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/',//请求地址配置 
+		baseURL: 'https://xxl.liuniu946.com', //请求地址配置 
 		urlFile: '/index', //项目部署所在文件夹
 		userInfo: {}, //登录信息
 		loginInterceptor: false, //是否打开强制登录

+ 0 - 0
unpackage/dist/build/.automator/mp-weixin/.automator.json


BIN
unpackage/dist/build/h5/5-13.rar


BIN
unpackage/dist/build/h5/5-18-2.rar


+ 1 - 1
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.58012eb0.js></script><script src=/index/static/js/index.ffe62d16.js></script></body></html>
+            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.58012eb0.js></script><script src=/index/static/js/index.96d11a68.js></script></body></html>

BIN
unpackage/dist/build/h5/static/icon/good-gift.png


BIN
unpackage/dist/build/h5/static/img/bargainBg.jpg


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


BIN
unpackage/dist/build/h5/static/img/img009.609fc055.png


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


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


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


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


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


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


BIN
unpackage/dist/build/h5/static/img/img14.jpg


BIN
unpackage/dist/build/h5/static/img/index-fanl.png


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


BIN
unpackage/dist/build/h5/static/img/logo.jpg


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


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


BIN
unpackage/dist/build/h5/static/img/money-ok.f0e83996.png


BIN
unpackage/dist/build/h5/static/img/money-ok.png


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


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


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


BIN
unpackage/dist/build/h5/static/img/myjf.6b34f1a7.png


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


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