瀏覽代碼

11.30 17:51

Tartarus 2 年之前
父節點
當前提交
2d6eb07438
共有 94 個文件被更改,包括 689 次插入412 次删除
  1. 77 78
      manifest.json
  2. 63 29
      pages/goods/goods-detail/index.vue
  3. 60 51
      pages/goods/goods.vue
  4. 30 20
      pages/index/index.vue
  5. 33 22
      pages/login/login.vue
  6. 28 3
      pages/map/hotel-book/index.vue
  7. 24 0
      pages/map/map.vue
  8. 2 2
      pages/my/integral/integral.vue
  9. 7 2
      pages/my/integral/integralExchange.vue
  10. 55 19
      pages/my/integral/integralOrder.vue
  11. 8 6
      pages/my/integral/integralRecord.vue
  12. 1 0
      pages/my/my.vue
  13. 55 43
      pages/my/setting/setting.vue
  14. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  15. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  16. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/SwiperBox/index.js.map
  17. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/TabBar/tabbar.js.map
  18. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/WaterFall/waterfall-item.js.map
  19. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/WaterFall/waterfall-list.js.map
  20. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/hch-position/hch-position.js.map
  21. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/q-turntable/q-turntable.js.map
  22. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-icon/u-icon.js.map
  23. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-image/u-image.js.map
  24. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-input/u-input.js.map
  25. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-loading-icon/u-loading-icon.js.map
  26. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-swiper-indicator/u-swiper-indicator.js.map
  27. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-swiper/u-swiper.js.map
  28. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-transition/u-transition.js.map
  29. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/goods/goods-detail/index.js.map
  30. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/goods/goods-hotel/index.js.map
  31. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/goods/goods-lucky/index.js.map
  32. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/goods/goods.js.map
  33. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/active-detail/index.js.map
  34. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/active-list/index.js.map
  35. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  36. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/vote-detail/index.js.map
  37. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map
  38. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/youyue.js.map
  39. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/map/hotel-book/index.js.map
  40. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/map/map.js.map
  41. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/msg/msg.js.map
  42. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/Kudos/Kudos.js.map
  43. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/PersonalData/personalData.js.map
  44. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/integral/integral.js.map
  45. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/integral/integralExchange.js.map
  46. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/integral/integralOrder.js.map
  47. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/integral/integralRecord.js.map
  48. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/integral/integralRule.js.map
  49. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/my.js.map
  50. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/myorders/orderDetail.js.map
  51. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/myorders/orders.js.map
  52. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/prize/exchangeDetail.js.map
  53. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/prize/exchangePrize.js.map
  54. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/prize/prize.js.map
  55. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/protocol/PrivacyPolicy.js.map
  56. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/protocol/UserAgreement.js.map
  57. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/setting/setting.js.map
  58. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/verification/orderVerification.js.map
  59. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/verification/verification.js.map
  60. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/verification/verificationDetail.js.map
  61. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/webview/webview.js.map
  62. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.js.map
  63. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js.map
  64. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.js.map
  65. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms/uni-forms.js.map
  66. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js.map
  67. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js.map
  68. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.js.map
  69. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot.js.map
  70. 8 39
      unpackage/dist/dev/mp-weixin/common/vendor.js
  71. 45 10
      unpackage/dist/dev/mp-weixin/pages/goods/goods-detail/index.js
  72. 0 0
      unpackage/dist/dev/mp-weixin/pages/goods/goods-detail/index.wxml
  73. 7 4
      unpackage/dist/dev/mp-weixin/pages/goods/goods.js
  74. 0 0
      unpackage/dist/dev/mp-weixin/pages/goods/goods.wxml
  75. 4 1
      unpackage/dist/dev/mp-weixin/pages/goods/goods.wxss
  76. 20 0
      unpackage/dist/dev/mp-weixin/pages/index/index.js
  77. 0 0
      unpackage/dist/dev/mp-weixin/pages/index/index.wxml
  78. 8 3
      unpackage/dist/dev/mp-weixin/pages/index/index.wxss
  79. 31 20
      unpackage/dist/dev/mp-weixin/pages/login/login.js
  80. 1 1
      unpackage/dist/dev/mp-weixin/pages/login/login.wxml
  81. 27 2
      unpackage/dist/dev/mp-weixin/pages/map/hotel-book/index.js
  82. 0 0
      unpackage/dist/dev/mp-weixin/pages/map/hotel-book/index.wxml
  83. 29 5
      unpackage/dist/dev/mp-weixin/pages/map/map.js
  84. 0 0
      unpackage/dist/dev/mp-weixin/pages/my/integral/integral.wxml
  85. 7 2
      unpackage/dist/dev/mp-weixin/pages/my/integral/integralExchange.js
  86. 1 1
      unpackage/dist/dev/mp-weixin/pages/my/integral/integralExchange.wxml
  87. 47 11
      unpackage/dist/dev/mp-weixin/pages/my/integral/integralOrder.js
  88. 0 0
      unpackage/dist/dev/mp-weixin/pages/my/integral/integralOrder.wxml
  89. 2 0
      unpackage/dist/dev/mp-weixin/pages/my/integral/integralRecord.js
  90. 0 1
      unpackage/dist/dev/mp-weixin/pages/my/integral/integralRecord.wxml
  91. 1 0
      unpackage/dist/dev/mp-weixin/pages/my/my.js
  92. 6 4
      unpackage/dist/dev/mp-weixin/pages/my/setting/setting.js
  93. 2 2
      unpackage/dist/dev/mp-weixin/pages/my/setting/setting.wxss
  94. 0 31
      utils/index.js

+ 77 - 78
manifest.json

xqd
@@ -1,80 +1,79 @@
 {
-	"name": "hotel_uni",
-	"appid": "__UNI__89DEB06",
-	"description": "",
-	"versionName": "1.0.0",
-	"versionCode": "100",
-	"transformPx": false,
-	/* 5+App特有相关 */
-	"app-plus": {
-		"usingComponents": true,
-		"nvueStyleCompiler": "uni-app",
-		"compilerVersion": 3,
-		"splashscreen": {
-			"alwaysShowBeforeRender": true,
-			"waiting": true,
-			"autoclose": true,
-			"delay": 0
-		},
-		/* 模块配置 */
-		"modules": {},
-		/* 应用发布信息 */
-		"distribute": {
-			/* android打包配置 */
-			"android": {
-				"permissions": [
-					"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
-					"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
-					"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
-					"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
-					"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
-					"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
-					"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
-					"<uses-permission android:name=\"android.permission.CAMERA\"/>",
-					"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
-					"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
-					"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
-					"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
-					"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
-					"<uses-feature android:name=\"android.hardware.camera\"/>",
-					"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
-				]
-			},
-			/* ios打包配置 */
-			"ios": {},
-			/* SDK配置 */
-			"sdkConfigs": {}
-		}
-	},
-	/* 快应用特有相关 */
-	"quickapp": {},
-	/* 小程序特有相关 */
-	"mp-weixin": {
-		"appid": "wx0f8eba0a55baa7fc",
-		"setting": {
-			"urlCheck": false,
-			"minified": true
-		},
-		"usingComponents": true,
-		"permission": {
-			"scope.userLocation": {
-				"desc": "获取位置,推荐精彩信息"
-			}
-		},
-		"requiredPrivateInfos": ["getLocation", "chooseLocation"]
-
-	},
-	"mp-alipay": {
-		"usingComponents": true
-	},
-	"mp-baidu": {
-		"usingComponents": true
-	},
-	"mp-toutiao": {
-		"usingComponents": true
-	},
-	"uniStatistics": {
-		"enable": false
-	},
-	"vueVersion": "2"
+    "name" : "hotel_uni",
+    "appid" : "__UNI__5247DC2",
+    "description" : "",
+    "versionName" : "1.0.0",
+    "versionCode" : "100",
+    "transformPx" : false,
+    /* 5+App特有相关 */
+    "app-plus" : {
+        "usingComponents" : true,
+        "nvueStyleCompiler" : "uni-app",
+        "compilerVersion" : 3,
+        "splashscreen" : {
+            "alwaysShowBeforeRender" : true,
+            "waiting" : true,
+            "autoclose" : true,
+            "delay" : 0
+        },
+        /* 模块配置 */
+        "modules" : {},
+        /* 应用发布信息 */
+        "distribute" : {
+            /* android打包配置 */
+            "android" : {
+                "permissions" : [
+                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
+                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
+                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
+                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
+                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
+                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
+                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
+                    "<uses-feature android:name=\"android.hardware.camera\"/>",
+                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
+                ]
+            },
+            /* ios打包配置 */
+            "ios" : {},
+            /* SDK配置 */
+            "sdkConfigs" : {}
+        }
+    },
+    /* 快应用特有相关 */
+    "quickapp" : {},
+    /* 小程序特有相关 */
+    "mp-weixin" : {
+        "appid" : "wx0f8eba0a55baa7fc",
+        "setting" : {
+            "urlCheck" : false,
+            "minified" : true
+        },
+        "usingComponents" : true,
+        "permission" : {
+            "scope.userLocation" : {
+                "desc" : "获取位置,推荐精彩信息"
+            }
+        },
+        "requiredPrivateInfos" : [ "getLocation", "chooseLocation" ]
+    },
+    "mp-alipay" : {
+        "usingComponents" : true
+    },
+    "mp-baidu" : {
+        "usingComponents" : true
+    },
+    "mp-toutiao" : {
+        "usingComponents" : true
+    },
+    "uniStatistics" : {
+        "enable" : false
+    },
+    "vueVersion" : "2"
 }

+ 63 - 29
pages/goods/goods-detail/index.vue

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -35,12 +35,11 @@
 						<text>选择</text>
 					</view>
 					<view class="price-specs-main" @click="Recipientopen()">
-						<text>请选择规格</text>
+						<text>{{specsText||'请选择规格'}}</text>
 					</view>
 					<view @click="Recipientopen()">
 						<image style="width: 12rpx;height: 20rpx;" src="/static/icon/right03.png" mode=""></image>
 					</view>
-
 				</view>
 			</view>
 
@@ -69,8 +68,8 @@
 				<view class="produce-title">
 					<text>产品简介</text>
 				</view>
-				<view class="produce-text">
-					<text>{{productDetail.details}}</text>
+				<view class="produce-text" v-html="productDetail.details">
+					<!-- <text>{{productDetail.details}}</text> -->
 				</view>
 			</view>
 		</view>
@@ -83,7 +82,7 @@
 			<view class="buy-btn-right" @click="$refs.codePurchase.open()" v-if="false">
 				<text>立即购买</text>
 			</view>
-			<view v-if="true" class="buy-btn-right" @click="goIntegralOrder">
+			<view v-if="true" class="buy-btn-right" @click="goIntegralOrder(product_id)">
 				<text>立即兑换</text>
 			</view>
 		</view>
@@ -111,9 +110,9 @@
 				<view class="pop-flavor">
 					<text>口味</text>
 					<view class="tab_flavor">
-						<view class="flavorTitle-item" :class="{'flavorTitle-item-active':isActive === index}"  v-for="(item,index) in flavorList" :key="index"
-							@click="checked(index)">
-							<view :class="{'active-flavor':isActive === index}">
+						<view class="flavorTitle-item" :class="{'flavorTitle-item-active':flavorIsActive === index}"  v-for="(item,index) in flavorList" :key="index"
+							@click="flavorchecked(index,item.attr_name)">
+							<view :class="{'active-flavor':flavorIsActive === index}">
 								{{item.attr_name}}
 							</view>
 						</view>
@@ -122,9 +121,9 @@
 				<view class="pop-flavor" style="margin-top: 44rpx;">
 					<text>重量</text>
 					<view class="tab_flavor">
-						<view class="flavorTitle-item" :class="{'flavorTitle-item-active':isActive === index}" v-for="(item,index) in weightList" :key="index"
-							@click="checked(index)">
-							<view :class="{'active-flavor':isActive === index}">
+						<view class="flavorTitle-item" :class="{'flavorTitle-item-active':weightIsActive === index}" v-for="(item,index) in weightList" :key="index"
+							@click="weightchecked(index,item.attr_name)">
+							<view :class="{'active-flavor':weightIsActive === index}">
 								{{item.attr_name}}
 							</view>
 						</view>
@@ -133,20 +132,21 @@
 				<view class="pop-flavor" style="margin-top: 44rpx;">
 					<text>包装</text>
 					<view class="tab_flavor">
-						<view class="flavorTitle-item" :class="{'flavorTitle-item-active':isActive === index}" v-for="(item,index) in packList" :key="index"
-							@click="checked(index)">
-							<view :class="{'active-flavor':isActive === index}">
+						<view class="flavorTitle-item" :class="{'flavorTitle-item-active':packIsActive === index}" v-for="(item,index) in packList" :key="index"
+							@click="packchecked(index,item.title)">
+							<view :class="{'active-flavor':packIsActive === index}">
 								{{item.title}}
 							</view>
 						</view>
 					</view>
 				</view>
 			</view>
-			<view class="purchase" v-if="false">
+			<view class="purchase" v-if="false" @click="goIntegralOrder(product_id)">
 				<view class="purchase-btn">立即购买</view>
 			</view>
-			<view class="purchase" v-if="true" @click="goIntegralOrder">
-				<view class="purchase-btn">立即兑换</view>
+			<view class="purchase" v-if="true"  @click="selectSpecs">
+				<!-- <view class="purchase-btn">立即兑换</view> -->
+				<view class="purchase-btn">确认</view>
 			</view>
 
 		</uni-popup>
@@ -173,6 +173,13 @@
 	export default {
 		data() {
 			return {
+				// 规格
+				specsText:'',
+				specs:{
+					pack:'',
+					weight:'',
+					flavor:'',
+				},
 				// 产品详情
 				productDetail:'',
 				// 酒店详情
@@ -187,21 +194,24 @@
 					}
 				],
 				weightList: [{
-					title: '50g'
+					attr_name: '50g'
 				}, {
-					title: '100g'
+					attr_name: '100g'
 				}, {
-					title: '150g'
+					attr_name: '150g'
 				}],
 				flavorList: [{
-					title: '五仁'
+					attr_name: '五仁'
 				}, {
-					title: '豆沙'
+					attr_name: '豆沙'
 				}, {
-					title: '水果'
+					attr_name: '水果'
 				}],
 				//激活指定table菜单
 				isActive: 0,
+				flavorIsActive:0,
+				weightIsActive:0,
+				packIsActive:0,
 				
 				backImageUrl: require('../../../static/icon/add01.png'),
 
@@ -225,6 +235,7 @@
 		},
 		onLoad(op) {
 			this.product_id=op.id
+			console.log(this.product_id,"产品id")
 			this.getProductDetail(op.id)
 		},
 		methods: {
@@ -238,9 +249,9 @@
 					if(res.code==0){
 						this.productDetail=res.data
 						// 口味
-						this.flavorList=JSON.parse(res.data.attr_group)[0].attr_list
+						// this.flavorList=JSON.parse(res.data.attr_group)[0].attr_list
 						// 重量
-						this.weightList=JSON.parse(res.data.attr_group)[1].attr_list
+						// this.weightList=JSON.parse(res.data.attr_group)[1].attr_list
 						this.getHotelDetail(res.data.hotel_id)
 					}
 				})
@@ -280,6 +291,30 @@
 			checked(index) {
 				this.isActive = index
 			},
+			// 口味切换
+			flavorchecked(index,name) {
+				this.flavorIsActive = index
+				this.specs.flavor=name
+			},
+			// 重量切换
+			weightchecked(index,name) {
+				this.weightIsActive = index
+				this.specs.weight=name
+			},
+			// 包装切换
+			packchecked(index,name) {
+				this.packIsActive = index
+				this.specs.pack=name
+			},
+			// 选择规格
+			selectSpecs(){
+				this.specs.flavor='五仁'
+				this.specs.weight='50g'
+				this.specs.pack='礼盒'
+				console.log(this.specs)
+				this.specsText=this.specs.flavor+'--'+this.specs.weight+'--'+this.specs.pack
+				this.Recipientclose()
+			},
 			Recipientopen() {
 				this.$refs.Recipient.open('bottom')
 			},
@@ -294,12 +329,11 @@
 				this.current1 = e.detail.current;
 			},
 			// 跳转积分兑换
-			goIntegralOrder(){
+			goIntegralOrder(id){
 				uni.navigateTo({
-					url:'/pages/my/integral/integralOrder'
+					url:'/pages/my/integral/integralOrder?product_id='+id
 				})
-			}
-
+			},
 		}
 	}
 </script>

+ 60 - 51
pages/goods/goods.vue

xqd xqd xqd xqd xqd xqd xqd xqd
@@ -1,33 +1,36 @@
 <template>
 	<view class="goods">
-		<!-- 背景图 -->
-		<view class="goods-img">
-			<image style="width: 100%; height: 450rpx;" src="http://t9.9026.com/imgs/swiper01.png" mode=""></image>
-		</view>
-		<!-- 内容 -->
-		<view class="main">
-			<view class="search">
-				<u-input placeholder="搜索" border='none'>
-					<template slot="suffix" style='margin-right:40rpx;'>
-						<u-image :showLoading="true" :showError='true' src="/static/icon/search.png" width="40rpx"
-							height="32rpx"></u-image>
-					</template>
-				</u-input>
+		<scroll-view class="scroll-y" @scroll="handleScroll" :scroll-into-view="topItem" scroll-with-animation
+			scroll-y="true">
+			<view id="top"></view>
+			<!-- 背景图 -->
+			<view class="goods-img">
+				<image style="width: 100%; height: 450rpx;" src="http://t9.9026.com/imgs/swiper01.png" mode=""></image>
 			</view>
-			<view class="tab_nav">
-				<view class="navTitle" v-for="(item,index) in items" :key="index">
-					<view class="navTitle-item">
-						<view :class="{'active':isActive === index}" @click="checked(index)">
-							{{item.title}}
+			<!-- 内容 -->
+			<view class="main">
+				<view class="search">
+					<u-input placeholder="搜索" border='none'>
+						<template slot="suffix" style='margin-right:40rpx;'>
+							<u-image :showLoading="true" :showError='true' src="/static/icon/search.png" width="40rpx"
+								height="32rpx"></u-image>
+						</template>
+					</u-input>
+				</view>
+				<view class="tab_nav">
+					<view class="navTitle" v-for="(item,index) in items" :key="index">
+						<view class="navTitle-item">
+							<view :class="{'active':isActive === index}" @click="checked(index)">
+								{{item.title}}
+							</view>
 						</view>
 					</view>
 				</view>
 			</view>
-		</view>
-		<view class="content">
-			<scroll-view @scroll="handleScroll" :scroll-into-view="topItem" scroll-with-animation scroll-y="true">
+			<view class="content">
+
 				<view class="home-hotel-img-content">
-					<view id="top"></view>
+					
 					<view class="home-hotel-img-content-item" v-for="item in goodsList"
 						:style="{marginTop:item.marginTop || 0 }">
 						<image class="home-hotel-img-content-item-img"
@@ -38,33 +41,34 @@
 							<text class="text-main">{{item.title}}</text>
 						</view>
 					</view>
-					<view class="return-btn" v-if="isShow" @click="handleBackTop">
-						<image style="width: 128rpx;height: 128rpx;" src="/static/icon/returntop.png" mode=""></image>
-					</view>
+
 				</view>
-				
-			</scroll-view>
+				<!-- 触底 -->
+				<view class="home-bottom">
+					<uni-load-more :status="status" color="#CCCCCC" :content-text="contentText" />
+				</view>
+
 
-			<!-- <text @click="goGoodsDetail">商品</text>
+
+
+				<!-- <text @click="goGoodsDetail">商品</text>
 			<text @click="goGoodsDetailImg">转盘</text> -->
+			</view>
+		</scroll-view>
+		<view class="return-btn" v-if="isShow" @click="handleBackTop">
+			<image style="width: 128rpx;height: 128rpx;" src="/static/icon/returntop.png" mode=""></image>
 		</view>
-		<!-- 触底 -->
-		<view class="home-bottom">
-			<uni-load-more :status="status" color="#CCCCCC" :content-text="contentText" />
-		</view>
-
 	</view>
 </template>
 
 <script>
-
 	export default {
 
 		data() {
 			return {
 				// 返回的按钮是否显示
-				isShow: true,
-				topItem: '' ,//返回顶部的标记点
+				isShow: false,
+				topItem: '', //返回顶部的标记点
 				goodsList: [{
 						img: 'http://t9.9026.com/imgs/goodsimg01.png',
 						text: '中秋佳节五仁月饼,惊喜特供,限时抢购',
@@ -86,7 +90,7 @@
 						text: '中秋佳节五仁月饼,惊喜特供,限时抢购',
 						title: '环球洲际',
 						short: '',
-					},{
+					}, {
 						img: 'http://t9.9026.com/imgs/goodsimg01.png',
 						text: '中秋佳节五仁月饼,惊喜特供,限时抢购',
 						title: '环球洲际',
@@ -107,7 +111,7 @@
 						text: '中秋佳节五仁月饼,惊喜特供,限时抢购',
 						title: '环球洲际',
 						short: '',
-					},{
+					}, {
 						img: 'http://t9.9026.com/imgs/goodsimg01.png',
 						text: '中秋佳节五仁月饼,惊喜特供,限时抢购',
 						title: '环球洲际',
@@ -128,7 +132,7 @@
 						text: '中秋佳节五仁月饼,惊喜特供,限时抢购',
 						title: '环球洲际',
 						short: '',
-					},{
+					}, {
 						img: 'http://t9.9026.com/imgs/goodsimg01.png',
 						text: '中秋佳节五仁月饼,惊喜特供,限时抢购',
 						title: '环球洲际',
@@ -185,31 +189,30 @@
 		// 	this.shortLong()
 		// 	console.log(this)
 		// },
-		onLoad(){
+		onLoad() {
 			this.shortLong()
 			this.getGoodsList()
 		},
 		methods: {
-			
-			getGoodsList(){
+
+			getGoodsList() {
 				this.$api.product.getProducts({
-					type:1,
+					type: 1,
 					page: 0
 				}).then(res => {
 					console.log(res);
 				})
 			},
-			
+
 			handleScroll(e) {
-				console.log(111);
 				//只有scrollTop有用,先拿scrollTop
 				let {
 					scrollTop
 				} = e.detail
-				
+
 				console.log(scrollTop);
 				//滑动大于500让按钮显示
-				this.isShow = scrollTop > 200
+				this.isShow = scrollTop > 500
 				//因为点第二次不行,这里记得重置清空一下
 				this.topItem = ''
 			},
@@ -296,6 +299,13 @@
 
 	}
 
+
+	.scroll-y {
+		height: 100vh;
+	}
+
+
+
 	.content {
 		background-color: #FFF;
 		padding: 20rpx 30rpx;
@@ -348,15 +358,14 @@
 				}
 			}
 		}
-
-		.return-btn {
+	}
+	
+.return-btn {
 			position: fixed;
 			bottom: 140rpx;
 			right: 14rpx;
 
 		}
-	}
-
 
 
 

+ 30 - 20
pages/index/index.vue

xqd xqd xqd xqd
@@ -108,8 +108,8 @@
 
 		<!-- 酒店品牌图片 -->
 		<view class="home-brand-img">
-			<uni-swiper-dot :info="info" mode="default" :dots-styles="dotsStylesBand">
-				<swiper class="swiper-box" circular>
+			<uni-swiper-dot :info="info" mode="default" :current="current2" :dots-styles="dotsStylesBand">
+				<swiper class="swiper-box" circular @change="change2">
 					<swiper-item v-for="(items ,index) in info" :key="index">
 						<view v-for="(item ,j) in items" :key="j" class="swiper-item"
 							@click="goGoodsDetail(item.pic_url)">
@@ -217,6 +217,23 @@
 							name: '酒店预订'
 						}
 					],
+					[{
+							img: 'http://t9.9026.com/imgs/swiper01.png',
+							name: '酒店预订'
+						},
+						{
+							img: 'http://t9.9026.com/imgs/swiper01.png',
+							name: '酒店预订'
+						},
+						{
+							img: 'http://t9.9026.com/imgs/swiper01.png',
+							name: '酒店预订'
+						},
+						{
+							img: 'http://t9.9026.com/imgs/swiper01.png',
+							name: '酒店预订'
+						}
+					],
 
 				],
 				dotsStyles: {
@@ -393,6 +410,9 @@
 			change1(e) {
 				this.current1 = e.detail.current;
 			},
+			change2(e){
+				this.current2 = e.detail.current;
+			}
 
 		}
 	}
@@ -642,27 +662,17 @@
 		background-color: #f9f9f9;
 	}
 
-	.home-banner-img {
-		
-			::v-deep .uni-swiper__dots-box{
-				bottom: 20px !important;
-			}
-			
-			// ::v-deep .uni-swiper__dots-item {
-			// 	width: 22rpx !important;
-			// 	height: 2rpx !important;
-			// }
-			// ::v-deep .uni-swiper__dots-bar {
-			// 	width: 22rpx !important;
-			// 	height: 2rpx !important;
-			// }
-		
-	}
-
 	.home-brand-img {
 		padding: 0 30rpx;
 		background-color: #f9f9f9;
-
+		::v-deep .uni-swiper__dots-item {
+			width: 22rpx !important;
+			height: 2rpx !important;
+		}
+		::v-deep .uni-swiper__dots-bar {
+			width: 22rpx !important;
+			height: 2rpx !important;
+		}
 		.swiper-box {
 			background-color: #f9f9f9;
 			height: 200rpx;

+ 33 - 22
pages/login/login.vue

xqd xqd xqd xqd
@@ -15,7 +15,8 @@
 			</view>
 			<view class="item" @click="getmsg">
 				<image src="/static/icon/wechart.png" mode="scaleToFill"></image>
-				<text>微信登录</text>
+				<text v-if="!isLoginOff">微信登录</text>
+				<text v-if="isLoginOff">授权登录</text>
 			</view>
 		</view>
 
@@ -39,6 +40,7 @@
 	export default {
 		data() {
 			return {
+				isLoginOff:false,
 				modal: {
 					show: false,
 					title: '用户信息获取',
@@ -51,7 +53,9 @@
 				data: {}
 			}
 		},
-		onLoad() {},
+		onLoad() {
+			this.isLoginOff = this.$store.getters.userInfo
+		},
 		methods: {
 			//提交微信名称和头像
 			handleConfirmWechatUserInfo() {
@@ -107,27 +111,34 @@
 			},
 			//获取微信登录的code码
 			getmsg() {
-				uni.login({
-					provider: uni.$u.platform,
-					success: res => {
-						this.getCode().then((data) => {
-							const params = {
-								code: res.code,
-								iv: data.iv,
-								encryptData: data.encryptData
-							}
-							console.log(params);
-							this.$api.my.myLogin(params).then(res => {
-								let {
-									token
-								} = res.data
-								this.$store.dispatch('user/token', token)
-								this.handleGetWechatUserInfo()
-								this.handleConfirmWechatUserInfo()
+				if(this.isLoginOff){
+					uni.switchTab({
+						url: '/pages/my/my'
+					})
+				}else{
+					uni.login({
+						provider: uni.$u.platform,
+						success: res => {
+							this.getCode().then((data) => {
+								const params = {
+									code: res.code,
+									iv: data.iv,
+									encryptData: data.encryptData
+								}
+								console.log(params);
+								this.$api.my.myLogin(params).then(res => {
+									let {
+										token
+									} = res.data
+									this.$store.dispatch('user/token', token)
+									this.handleGetWechatUserInfo()
+									this.handleConfirmWechatUserInfo()
+								})
 							})
-						})
-					}
-				})
+						}
+					})
+				}
+				
 			},
 
 		}

+ 28 - 3
pages/map/hotel-book/index.vue

xqd xqd
@@ -33,13 +33,13 @@
 		
 		<view class="hotel-btn">
 			<view class="hotel-btn-left">
-				<view class="hotel-btn-left-text">
+				<view class="hotel-btn-left-text" @click="goIndex">
 					<view style="width: 48rpx;height: 48rpx;display: flex;align-items: center;justify-content: center;">
 						<image style="width: 40rpx;height: 42rpx;" src="/static/icon/home04.png" mode=""></image>
 					</view>
 					<text>首页</text>
 				</view>
-				<view class="hotel-btn-left-text">
+				<view class="hotel-btn-left-text" @click="goJoin">
 					<view style="width: 48rpx;height: 48rpx; display: flex;align-items: center;justify-content: center; ">
 						<image style="width: 52rpx;height: 46rpx;" src="/static/icon/vip02.png" mode=""></image>
 					</view>
@@ -65,7 +65,32 @@
 		data() {
 			return {}
 		},
-		methods: {}
+		methods: {
+			// 跳转其他小程序
+			goJoin() {
+				wx.navigateToMiniProgram({
+					appId: 'wx255b58f0992b3c53', //appid
+					path: 'newUIMain/enrollment/enrollment', //path
+					extraData: { //参数
+						foo: 'bar'
+					},
+					// envVersion: 'develop', //开发版develop 开发版 trial   体验版 release 正式版 
+					success(res) {
+						console.log('成功')
+						// 打开成功
+					},
+					fail(e) {
+						console.log(e, '失败')
+					}
+				})
+			},
+			// 跳转首页
+			goIndex(){
+				uni.reLaunch({
+					url:'/pages/index/index'
+				})
+			}
+		}
 	}
 </script>
 

+ 24 - 0
pages/map/map.vue

xqd
@@ -326,6 +326,30 @@
 		},
 
 		methods: {
+			//计算酒店距离我的位置--int
+			calcDistanceFromHotel({x0,y0},{x1,y1}){
+				//x0,y0是我的坐标(经纬度)
+				//x1,y1是酒店坐标(经纬度)
+				return Math.sqrt(Math.pow(Math.abs(x1-x0),2)+Math.pow(Math.abs(y1-y0),2));//返回距离
+			},
+			//遍历所有酒店,并计算出酒店分别与我的距离--数组
+			setEachHotelDistance(hotelArray=[],{x0,y0}){
+				hotelArray.map(item=>{
+					item.distanceToMe=this.calcDistanceFromHotel({x0,y0},{x1:item.longitude,y1:item.latitude})
+					return item;
+				})
+				return hotelArray;
+				
+			},
+			//筛选出距离我最近的酒店--对象
+			getMinDistanceHotel({x0,y0}){
+				this.markers=this.setEachHotelDistance(this.markers,{x0,y0});
+				this.markers.sort((prev,next)=>{
+					return prev.distanceToMe-next.distanceToMe;
+				})
+				return this.markers[0];
+			},
+			//-------------------------------------
 			getList() {
 				this.$api.hotel.getHotelList({
 					page: 1

+ 2 - 2
pages/my/integral/integral.vue

xqd
@@ -35,8 +35,8 @@
 			:reset="waterfall.reset"></helang-waterfall-list> -->
 			<view class="ListContent">
 				<view :class="item.short?'[contentItemShort,contentItem]':'[contentItemLong,contentItem]'" v-for="item in integralList" @click="goIntegralDetail(item.id)" >
-					<image :src="item.img_urls?item.img_urls:'http://t9.9026.com/imgs/loginBg.png'" ></image>
-					<view class="itemName">{{item.details}}</view>
+					<image :src="item.cover_img?item.cover_img:'http://t9.9026.com/imgs/loginBg.png'" ></image>
+					<view class="itemName">{{item.name}}</view>
 					<view class="itemPrice">{{item.integral}}积分</view>
 				</view>
 			</view>

+ 7 - 2
pages/my/integral/integralExchange.vue

xqd xqd
@@ -4,7 +4,7 @@
 		<view class="detailCard">
 			<image src="/static/icon/success.png"></image>
 			<text style="margin-bottom: 20rpx;">商品兑换成功</text>
-			<text>-5000积分</text>
+			<text>-{{integral}}积分</text>
 		</view>
 		<!-- 按钮 -->
 		<view class="btn">
@@ -31,9 +31,14 @@
 	export default {
 		data() {
 			return {
-
+				// 积分
+				integral:0,
 			}
 		},
+		onLoad(op) {
+			console.log(op)
+			this.integral=op.integral
+		},
 		methods: {
 			// 返回首页
 			goBack() {

+ 55 - 19
pages/my/integral/integralOrder.vue

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -17,10 +17,10 @@
 						</view>
 					</uni-forms-item>
 					<uni-forms-item name="name" v-if="formData.type!=''||isVerification==true">
-						<uni-easyinput type="text" v-model="formData.name" placeholder="填写联系人" />
+						<uni-easyinput type="text" v-model="Data.receiver" placeholder="填写联系人" />
 					</uni-forms-item>
 					<uni-forms-item name="phone" v-if="formData.type!=''||isVerification==true">
-						<uni-easyinput type="number" v-model="formData.phone" placeholder="填写联系电话" />
+						<uni-easyinput type="number" v-model="Data.phone" placeholder="填写联系电话" maxlength=11 />
 					</uni-forms-item>
 					<uni-forms-item name="region" v-if="formData.type=='快递配送'">
 						
@@ -40,7 +40,7 @@
 						</pickerAddress>
 					</uni-forms-item>
 					<uni-forms-item name="region" v-if="formData.type=='快递配送'">
-						<textarea placeholder-style="#999" class="text-area" type="text" placeholder="详细地址" />
+						<textarea placeholder-style="#999" class="text-area" type="text" placeholder="详细地址"  v-model="Data.address" />
 
 					</uni-forms-item>
 					<uni-forms-item name="region" v-if="formData.type=='到店自提'||isVerification==true">
@@ -64,9 +64,9 @@
 				<text>产品信息</text>
 			</view>
 			<view class="shopCard">
-				<image src="http://t9.9026.com/imgs/Kudosbg.png"></image>
+				<image :src="productDetail.cover_img?productDetail.cover_img:'http://t9.9026.com/imgs/Kudosbg.png'"></image>
 				<view style="margin-left: 24rpx;">
-					<text class="name">端午佳节五香肉粽子,仅限前</text>
+					<text class="name">{{productDetail.name}}</text>
 					<text class="tag">礼盒装 </text>
 				</view>
 			</view>
@@ -76,16 +76,16 @@
 			</view>
 			<view class="shopNumber">
 				<text>积分</text>
-				<text>2000积分</text>
+				<text>{{productDetail.integral}}积分</text>
 			</view>
 			<view style="width: 694rpx;height: 4rpx;border: 2rpx solid #F2F2F2;margin-top: 38rpx;"></view>
 			<view class="shopNumber">
 				<text>合计</text>
-				<text>2000积分</text>
+				<text>{{productDetail.integral}}积分</text>
 			</view>
 		</view>
 		<!-- 兑换按钮 -->
-		<view class="bottombtn" @click="goExDetail">
+		<view class="bottombtn" @click="goExchange">
 			<view class="btnitem">
 				<text>确认兑换</text>
 			</view>
@@ -148,6 +148,8 @@
 				activeIndex: null,
 				// 是否核销
 				isVerification: false,
+				// 产品信息
+				productDetail:'',
 				// 表单数据
 				formData: {
 					type: '',
@@ -161,11 +163,11 @@
 					// 快递类型(1.快递发货 2.到店自提也是线下核销)
 					express_type:'',
 					// 收货人
-					receiver:'',
+					receiver:"",
 					// 联系电话
 					phone:'',
 					// 地址ID,最小行政单位地区ID,express_type=1时必传
-					area_id:'',
+					area_id:2000,
 					// 详细地址,express_type=1时必传
 					address:'',
 					// 门店ID,express_type=2时必传
@@ -173,7 +175,7 @@
 					// 产品ID
 					product_id:'',
 					// 产品规格ID
-					product_attr_id:'',
+					product_attr_id:1,
 				},
 				// 配送方式
 				typeSelect: [{
@@ -201,11 +203,14 @@
 				}]
 			}
 		},
+		onLoad(op) {
+			console.log(op,"产品id")
+			this.Data.product_id=op.product_id
+			this.getProductDetail(op.product_id)
+		},
 		methods: {
 			change(ret){
-				
 				this.formData.region = ret.data.join('-')
-				
 			},
 			//打开门店弹框
 			openShop() {
@@ -215,6 +220,7 @@
 				this.typestatus2 = i
 				this.activeIndex = index
 				console.log(i, this.activeIndex)
+				this.Data.hotel_id=index
 			},
 			//确定按钮
 			sureShopBtn() {
@@ -227,7 +233,6 @@
 					this.formData.shop = this.typestatus2
 					this.$refs.shopSelected.close()
 				}
-
 			},
 			//取消按钮
 			cancelShopBtn() {
@@ -243,7 +248,11 @@
 				this.typestatus1 = i
 				this.activeIndex = index
 				console.log(i, this.activeIndex)
-
+				if(index==0){
+					this.Data.express_type=1
+				}else if(index==1){
+					this.Data.express_type=2
+				}
 			},
 			//确定按钮
 			sureBtn() {
@@ -263,19 +272,46 @@
 			},
 
 			// 跳转积分兑换详情
-			goExDetail() {
+			goExDetail(integral) {
 				uni.navigateTo({
-					url: '/pages/my/integral/integralExchange'
+					url: '/pages/my/integral/integralExchange?integral='+integral
 				})
 			},
 			// 积分兑换
 			goExchange(){
+				console.log(this.Data,"提交表单")
 				this.$api.integral.integralExchange({
-					...formData
+					...this.Data
 				}).then(res=>{
 					console.log(res)
+					if(res.code==0){
+						this.goExDetail(this.productDetail.integral)
+					}else{
+						uni.showToast({
+							title:res.msg,
+							icon:'none'
+						})
+					}
 				})
-			}
+			},
+			// 获取产品信息
+			getProductDetail(id){
+				this.$loading()
+				this.$api.product.getProductDetail({
+					product_id:id
+				}).then(res=>{
+					console.log(res,"产品信息")
+					this.$hideLoading()
+					if(res.code==0){
+						this.productDetail=res.data
+					}else{
+						uni.showToast({
+							title:res.msg,
+							icon:'none'
+						})
+					}
+				})
+			},
 		}
 	}
 </script>

+ 8 - 6
pages/my/integral/integralRecord.vue

xqd xqd
@@ -15,10 +15,11 @@
 		<view class="List" v-if="isActive == 0">
 			<view class="ListItem" v-for="item in incomeList">
 				<view style="display: flex; justify-content: space-between;">
-					<view class="title"><text>500积分</text> </view>
-					<view class='data'><text>2022-02-10</text></view>
+					<view class="title"><text>{{item.change_integral}}积分</text> </view>
+					<view class='data'><text>{{item.created_at}}</text></view>
 				</view>
-				<view class="content"><text>投票活动奖励</text></view>
+				<view class="content" v-if="item.type==1"><text>投票奖励获得</text></view>
+				<view class="content" v-if="item.type==2"><text>抽奖奖励获得</text></view>
 			</view>
 		</view>
 		
@@ -26,10 +27,11 @@
 		<view class="List" :style="{'--height':ListHeight+'rpx'}" v-if="isActive == 1">
 			<view class="ListItem" v-for="item in spendingList">
 				<view style="display: flex; justify-content: space-between;">
-					<view class="title"><text>500积分</text> </view>
-					<view class='data'><text>2022-02-10</text></view>
+					<view class="title"><text>{{item.change_integral}}积分</text> </view>
+					<view class='data'><text>{{item.created_at}}</text></view>
 				</view>
-				<view class="content"><text>积分兑换商品</text></view>
+				<view class="content" v-if="item.type==3"><text>兑换商品消耗</text></view>
+				<view class="content" v-if="item.type==4"><text>后台增加/减少</text></view>
 			</view>
 		</view>
 		

+ 1 - 0
pages/my/my.vue

xqd
@@ -170,6 +170,7 @@
 				this.$api.my.update({avatar: this.modal.avatar, nickname: this.modal.nickname}).then(res=>{
 					  this.$hideLoading()  
 					  this.$store.dispatch('user/info', res.data)
+					  this.admin = this.$store.getters.userInfo
 					  this.modal.show = false
 				})
 			},

+ 55 - 43
pages/my/setting/setting.vue

xqd xqd
@@ -25,48 +25,50 @@
 </template>
 
 <script>
-	export default{
-		data(){
-			return{
-				
+	export default {
+		data() {
+			return {
+
 			}
 		},
-		methods:{
+		methods: {
 			// 跳转隐私政策
-			goPrivacy(){
+			goPrivacy() {
 				uni.navigateTo({
-					url:'/pages/my/protocol/PrivacyPolicy'
+					url: '/pages/my/protocol/PrivacyPolicy'
 				})
 			},
 			// 跳转用户协议
-			goUser(){
+			goUser() {
 				uni.navigateTo({
-					url:'/pages/my/protocol/UserAgreement'
+					url: '/pages/my/protocol/UserAgreement'
 				})
 			},
 			// 跳转核销中心
-			goVerfication(){
+			goVerfication() {
 				uni.navigateTo({
-					url:'/pages/my/verification/verification'
+					url: '/pages/my/verification/verification'
 				})
 			},
 			// 退出登录
-			loginOut(){
-				if(this.$store.getters.token){
-					this.$store.dispatch("user/info", null)
-					this.$store.dispatch("user/token", null)
-					uni.removeStorageSync('auth_token')
-					uni.removeStorageSync('userInfo')
+			loginOut() {
+				if (this.$store.getters.token) {
+					//记录用户曾经登录过
+					this.$store.getters.userInfo.isLoginOff = true
+					this.$store.dispatch("user/info", this.$store.getters.userInfo)
+					// this.$store.dispatch("user/token", null)
+					// uni.removeStorageSync('auth_token')
+					// uni.removeStorageSync('userInfo')
 					uni.reLaunch({
 						url:'/pages/login/login'
 					})
-				}else{
+				} else {
 					uni.showToast({
-						title:'请先登录!',
-						icon:'error'
+						title: '请先登录!',
+						icon: 'error'
 					})
 				}
-				
+
 			}
 		}
 	}
@@ -75,80 +77,90 @@
 <style lang="scss" scoped>
 	$pageColor:#F9F9F9;
 	$bgColor:#FFFFFF;
-	@mixin flexlayout{
+
+	@mixin flexlayout {
 		display: flex;
 		align-items: center;
 		justify-content: center;
 	}
-	.setting{
+
+	.setting {
 		height: 100%;
 		background: $pageColor;
 	}
-	.cell{
+
+	.cell {
 		width: 750rpx;
 		height: 336rpx;
 		border-radius: 16rpx;
-		padding:0 30rpx;
-		background:$bgColor ;
+		padding: 0 30rpx;
+		background: $bgColor;
 		margin-bottom: 48rpx;
-		.cell_item{
+
+		.cell_item {
 			box-sizing: border-box;
 			height: 110rpx;
 			width: 690rpx;
-			border-bottom:solid  2rpx #F0F0F0;
+			border-bottom: solid 2rpx #F0F0F0;
 			display: flex;
 			align-items: center;
 			position: relative;
-			text{
+
+			text {
 				font-size: 30rpx;
 				font-family: PingFang-SC-Medium, PingFang-SC;
 				font-weight: 500;
 				color: #000000;
 			}
-			image{
-				width: 12rpx ;
+
+			image {
+				width: 12rpx;
 				height: 20rpx;
 				position: absolute;
 				right: 0rpx;
-				top:46rpx;
+				top: 46rpx;
 			}
 		}
-		.cell_item:nth-last-child(1){
+
+		.cell_item:nth-last-child(1) {
 			box-sizing: border-box;
 			height: 110rpx;
 			width: 690rpx;
-			border-bottom:solid  0rpx #F0F0F0;
+			border-bottom: solid 0rpx #F0F0F0;
 			display: flex;
 			align-items: center;
 			position: relative;
-			text{
+
+			text {
 				font-size: 30rpx;
 				font-family: PingFang-SC-Medium, PingFang-SC;
 				font-weight: 500;
 				color: #000000;
 			}
-			image{
-				width: 12rpx ;
+
+			image {
+				width: 12rpx;
 				height: 20rpx;
 				position: absolute;
 				right: 0rpx;
-				top:46rpx;
+				top: 46rpx;
 			}
 		}
-		
+
 	}
-	.btn{
+
+	.btn {
 		width: 690rpx;
 		height: 92rpx;
 		background: $bgColor;
 		border-radius: 16rpx;
 		margin-left: 30rpx;
-		@include flexlayout()
-		text{
+
+		@include flexlayout() text {
 			font-size: 28rpx;
 			font-family: PingFang-SC-Medium, PingFang-SC;
 			font-weight: 500;
 			color: #333333;
 		}
 	}
-</style>
+</style>

文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/SwiperBox/index.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/TabBar/tabbar.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/WaterFall/waterfall-item.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/WaterFall/waterfall-list.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/hch-position/hch-position.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/q-turntable/q-turntable.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-icon/u-icon.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-image/u-image.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-input/u-input.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-loading-icon/u-loading-icon.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-swiper-indicator/u-swiper-indicator.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-swiper/u-swiper.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-transition/u-transition.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/goods/goods-detail/index.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/goods/goods-hotel/index.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/goods/goods-lucky/index.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/goods/goods.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/active-detail/index.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/active-list/index.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/vote-detail/index.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/youyue.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/map/hotel-book/index.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/map/map.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/msg/msg.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/Kudos/Kudos.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/PersonalData/personalData.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/integral/integral.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/integral/integralExchange.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/integral/integralOrder.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/integral/integralRecord.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/integral/integralRule.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/my.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/myorders/orderDetail.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/myorders/orders.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/prize/exchangeDetail.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/prize/exchangePrize.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/prize/prize.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/protocol/PrivacyPolicy.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/protocol/UserAgreement.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/setting/setting.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/verification/orderVerification.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/verification/verification.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/verification/verificationDetail.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/webview/webview.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms/uni-forms.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.js.map


文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot.js.map


+ 8 - 39
unpackage/dist/dev/mp-weixin/common/vendor.js

xqd xqd xqd xqd xqd xqd xqd
@@ -1464,7 +1464,7 @@ function initData(vueOptions, context) {
     try {
       data = data.call(context); // 支持 Vue.prototype 上挂的数据
     } catch (e) {
-      if (Object({"VUE_APP_NAME":"hotel_uni","VUE_APP_PLATFORM":"mp-weixin","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG) {
+      if (Object({"NODE_ENV":"development","VUE_APP_NAME":"hotel_uni","VUE_APP_PLATFORM":"mp-weixin","BASE_URL":"/"}).VUE_APP_DEBUG) {
         console.warn('根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。', data);
       }
     }
@@ -8556,7 +8556,7 @@ function type(obj) {
 
 function flushCallbacks$1(vm) {
     if (vm.__next_tick_callbacks && vm.__next_tick_callbacks.length) {
-        if (Object({"VUE_APP_NAME":"hotel_uni","VUE_APP_PLATFORM":"mp-weixin","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG) {
+        if (Object({"NODE_ENV":"development","VUE_APP_NAME":"hotel_uni","VUE_APP_PLATFORM":"mp-weixin","BASE_URL":"/"}).VUE_APP_DEBUG) {
             var mpInstance = vm.$scope;
             console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +
                 ']:flushCallbacks[' + vm.__next_tick_callbacks.length + ']');
@@ -8577,14 +8577,14 @@ function nextTick$1(vm, cb) {
     //1.nextTick 之前 已 setData 且 setData 还未回调完成
     //2.nextTick 之前存在 render watcher
     if (!vm.__next_tick_pending && !hasRenderWatcher(vm)) {
-        if(Object({"VUE_APP_NAME":"hotel_uni","VUE_APP_PLATFORM":"mp-weixin","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG){
+        if(Object({"NODE_ENV":"development","VUE_APP_NAME":"hotel_uni","VUE_APP_PLATFORM":"mp-weixin","BASE_URL":"/"}).VUE_APP_DEBUG){
             var mpInstance = vm.$scope;
             console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +
                 ']:nextVueTick');
         }
         return nextTick(cb, vm)
     }else{
-        if(Object({"VUE_APP_NAME":"hotel_uni","VUE_APP_PLATFORM":"mp-weixin","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG){
+        if(Object({"NODE_ENV":"development","VUE_APP_NAME":"hotel_uni","VUE_APP_PLATFORM":"mp-weixin","BASE_URL":"/"}).VUE_APP_DEBUG){
             var mpInstance$1 = vm.$scope;
             console.log('[' + (+new Date) + '][' + (mpInstance$1.is || mpInstance$1.route) + '][' + vm._uid +
                 ']:nextMPTick');
@@ -8670,7 +8670,7 @@ var patch = function(oldVnode, vnode) {
     });
     var diffData = this.$shouldDiffData === false ? data : diff(data, mpData);
     if (Object.keys(diffData).length) {
-      if (Object({"VUE_APP_NAME":"hotel_uni","VUE_APP_PLATFORM":"mp-weixin","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG) {
+      if (Object({"NODE_ENV":"development","VUE_APP_NAME":"hotel_uni","VUE_APP_PLATFORM":"mp-weixin","BASE_URL":"/"}).VUE_APP_DEBUG) {
         console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + this._uid +
           ']差量更新',
           JSON.stringify(diffData));
@@ -20933,9 +20933,9 @@ function confirmOrderDetail(data) {
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
-/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.copyText = copyText;exports.checkOS = checkOS;exports.throttle = throttle;exports.debounce = debounce;exports.default = void 0; /**
-                                                                                                                                                                                                                    * Created by JianJia.Zhou<jianjia.zhou> on 2022/5/26.
-                                                                                                                                                                                                                    */
+/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.copyText = copyText;exports.checkOS = checkOS;exports.default = void 0; /**
+                                                                                                                                                            * Created by JianJia.Zhou<jianjia.zhou> on 2022/5/26.
+                                                                                                                                                            */
 function copyText(text, tips) {
   uni.setClipboardData({
     data: text,
@@ -20964,35 +20964,6 @@ function checkOS() {
   return true;
 }
 
-// 节流
-function throttle(fn) {var wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 200;
-  var last, timer, now;
-  return function () {
-    now = Date.now();
-    if (last && now - last < wait) {
-      clearTimeout(timer);
-      timer = setTimeout(function () {
-        last = now;
-        fn.call.apply(fn, [this].concat(Array.prototype.slice.call(arguments)));
-      }, wait);
-    } else {
-      last = now;
-      fn.call.apply(fn, [this].concat(Array.prototype.slice.call(arguments)));
-    }
-  };
-}
-// 防抖
-function debounce(fn) {var wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 200;
-  var timer;
-  return function () {
-    var context = this;
-    var args = arguments;
-    if (timer) clearTimeout(timer);
-    timer = setTimeout(function () {
-      fn.apply(context, args);
-    }, wait);
-  };
-}
 
 var shareMessage = function shareMessage(user) {
 
@@ -21013,8 +20984,6 @@ var shareMessage = function shareMessage(user) {
 {
   copyText: copyText,
   checkOS: checkOS,
-  throttle: throttle,
-  debounce: debounce,
   shareMessage: shareMessage };exports.default = _default;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
 

+ 45 - 10
unpackage/dist/dev/mp-weixin/pages/goods/goods-detail/index.js

xqd xqd xqd xqd xqd xqd
@@ -338,6 +338,13 @@ var _default =
 {
   data: function data() {
     return {
+      // 规格
+      specsText: '',
+      specs: {
+        pack: '',
+        weight: '',
+        flavor: '' },
+
       // 产品详情
       productDetail: '',
       // 酒店详情
@@ -352,21 +359,24 @@ var _default =
 
 
       weightList: [{
-        title: '50g' },
+        attr_name: '50g' },
       {
-        title: '100g' },
+        attr_name: '100g' },
       {
-        title: '150g' }],
+        attr_name: '150g' }],
 
       flavorList: [{
-        title: '五仁' },
+        attr_name: '五仁' },
       {
-        title: '豆沙' },
+        attr_name: '豆沙' },
       {
-        title: '水果' }],
+        attr_name: '水果' }],
 
       //激活指定table菜单
       isActive: 0,
+      flavorIsActive: 0,
+      weightIsActive: 0,
+      packIsActive: 0,
 
       backImageUrl: __webpack_require__(/*! ../../../static/icon/add01.png */ 228),
 
@@ -390,6 +400,7 @@ var _default =
   },
   onLoad: function onLoad(op) {
     this.product_id = op.id;
+    console.log(this.product_id, "产品id");
     this.getProductDetail(op.id);
   },
   methods: {
@@ -403,9 +414,9 @@ var _default =
         if (res.code == 0) {
           _this.productDetail = res.data;
           // 口味
-          _this.flavorList = JSON.parse(res.data.attr_group)[0].attr_list;
+          // this.flavorList=JSON.parse(res.data.attr_group)[0].attr_list
           // 重量
-          _this.weightList = JSON.parse(res.data.attr_group)[1].attr_list;
+          // this.weightList=JSON.parse(res.data.attr_group)[1].attr_list
           _this.getHotelDetail(res.data.hotel_id);
         }
       });
@@ -445,6 +456,30 @@ var _default =
     checked: function checked(index) {
       this.isActive = index;
     },
+    // 口味切换
+    flavorchecked: function flavorchecked(index, name) {
+      this.flavorIsActive = index;
+      this.specs.flavor = name;
+    },
+    // 重量切换
+    weightchecked: function weightchecked(index, name) {
+      this.weightIsActive = index;
+      this.specs.weight = name;
+    },
+    // 包装切换
+    packchecked: function packchecked(index, name) {
+      this.packIsActive = index;
+      this.specs.pack = name;
+    },
+    // 选择规格
+    selectSpecs: function selectSpecs() {
+      this.specs.flavor = '五仁';
+      this.specs.weight = '50g';
+      this.specs.pack = '礼盒';
+      console.log(this.specs);
+      this.specsText = this.specs.flavor + '--' + this.specs.weight + '--' + this.specs.pack;
+      this.Recipientclose();
+    },
     Recipientopen: function Recipientopen() {
       this.$refs.Recipient.open('bottom');
     },
@@ -459,9 +494,9 @@ var _default =
       this.current1 = e.detail.current;
     },
     // 跳转积分兑换
-    goIntegralOrder: function goIntegralOrder() {
+    goIntegralOrder: function goIntegralOrder(id) {
       uni.navigateTo({
-        url: '/pages/my/integral/integralOrder' });
+        url: '/pages/my/integral/integralOrder?product_id=' + id });
 
     } } };exports.default = _default;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))

文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/goods/goods-detail/index.wxml


+ 7 - 4
unpackage/dist/dev/mp-weixin/pages/goods/goods.js

xqd xqd xqd
@@ -219,14 +219,18 @@ __webpack_require__.r(__webpack_exports__);
 //
 //
 //
+//
+//
+//
+//
+//
 var _default =
-
 {
 
   data: function data() {
     return {
       // 返回的按钮是否显示
-      isShow: true,
+      isShow: false,
       topItem: '', //返回顶部的标记点
       goodsList: [{
         img: 'http://t9.9026.com/imgs/goodsimg01.png',
@@ -364,7 +368,6 @@ var _default =
     },
 
     handleScroll: function handleScroll(e) {
-      console.log(111);
       //只有scrollTop有用,先拿scrollTop
       var
       scrollTop =
@@ -372,7 +375,7 @@ var _default =
 
       console.log(scrollTop);
       //滑动大于500让按钮显示
-      this.isShow = scrollTop > 200;
+      this.isShow = scrollTop > 500;
       //因为点第二次不行,这里记得重置清空一下
       this.topItem = '';
     },

文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/goods/goods.wxml


+ 4 - 1
unpackage/dist/dev/mp-weixin/pages/goods/goods.wxss

xqd xqd
@@ -35,6 +35,9 @@
   font-family: PingFang-SC-Heavy, PingFang-SC;
   overflow-x: scroll;
 }
+.scroll-y.data-v-5566b618 {
+  height: 100vh;
+}
 .content.data-v-5566b618 {
   background-color: #FFF;
   padding: 20rpx 30rpx;
@@ -81,7 +84,7 @@
   font-size: 24rpx;
   color: #999999;
 }
-.content .return-btn.data-v-5566b618 {
+.return-btn.data-v-5566b618 {
   position: fixed;
   bottom: 140rpx;
   right: 14rpx;

+ 20 - 0
unpackage/dist/dev/mp-weixin/pages/index/index.js

xqd xqd
@@ -360,6 +360,23 @@ __webpack_require__.r(__webpack_exports__);
         name: '酒店预订' }],
 
 
+      [{
+        img: 'http://t9.9026.com/imgs/swiper01.png',
+        name: '酒店预订' },
+
+      {
+        img: 'http://t9.9026.com/imgs/swiper01.png',
+        name: '酒店预订' },
+
+      {
+        img: 'http://t9.9026.com/imgs/swiper01.png',
+        name: '酒店预订' },
+
+      {
+        img: 'http://t9.9026.com/imgs/swiper01.png',
+        name: '酒店预订' }],
+
+
       [{
         img: 'http://t9.9026.com/imgs/swiper01.png',
         name: '酒店预订' },
@@ -552,6 +569,9 @@ __webpack_require__.r(__webpack_exports__);
     // 切换轮播图指示点
     change1: function change1(e) {
       this.current1 = e.detail.current;
+    },
+    change2: function change2(e) {
+      this.current2 = e.detail.current;
     } } };exports.default = _default;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
 

文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/index/index.wxml


+ 8 - 3
unpackage/dist/dev/mp-weixin/pages/index/index.wxss

xqd
@@ -223,13 +223,18 @@ page.data-v-57280228 {
   height: 124rpx;
   background-color: #f9f9f9;
 }
-.home-banner-img.data-v-57280228  .uni-swiper__dots-box {
-  bottom: 20px !important;
-}
 .home-brand-img.data-v-57280228 {
   padding: 0 30rpx;
   background-color: #f9f9f9;
 }
+.home-brand-img.data-v-57280228  .uni-swiper__dots-item {
+  width: 22rpx !important;
+  height: 2rpx !important;
+}
+.home-brand-img.data-v-57280228  .uni-swiper__dots-bar {
+  width: 22rpx !important;
+  height: 2rpx !important;
+}
 .home-brand-img .swiper-box.data-v-57280228 {
   background-color: #f9f9f9;
   height: 200rpx;

+ 31 - 20
unpackage/dist/dev/mp-weixin/pages/login/login.js

xqd xqd xqd
@@ -192,10 +192,12 @@ __webpack_require__.r(__webpack_exports__);
 //
 //
 //
+//
 var _default =
 {
   data: function data() {
     return {
+      isLoginOff: false,
       modal: {
         show: false,
         title: '用户信息获取',
@@ -208,7 +210,9 @@ var _default =
       data: {} };
 
   },
-  onLoad: function onLoad() {},
+  onLoad: function onLoad() {
+    this.isLoginOff = this.$store.getters.userInfo;
+  },
   methods: {
     //提交微信名称和头像
     handleConfirmWechatUserInfo: function handleConfirmWechatUserInfo() {var _this = this;
@@ -264,26 +268,33 @@ var _default =
     },
     //获取微信登录的code码
     getmsg: function getmsg() {var _this3 = this;
-      uni.login({
-        provider: uni.$u.platform,
-        success: function success(res) {
-          _this3.getCode().then(function (data) {
-            var params = {
-              code: res.code,
-              iv: data.iv,
-              encryptData: data.encryptData };
-
-            console.log(params);
-            _this3.$api.my.myLogin(params).then(function (res) {var
-
-              token =
-              res.data.token;
-              _this3.$store.dispatch('user/token', token);
-              _this3.handleGetWechatUserInfo();
-              _this3.handleConfirmWechatUserInfo();
+      if (this.isLoginOff) {
+        uni.switchTab({
+          url: '/pages/my/my' });
+
+      } else {
+        uni.login({
+          provider: uni.$u.platform,
+          success: function success(res) {
+            _this3.getCode().then(function (data) {
+              var params = {
+                code: res.code,
+                iv: data.iv,
+                encryptData: data.encryptData };
+
+              console.log(params);
+              _this3.$api.my.myLogin(params).then(function (res) {var
+
+                token =
+                res.data.token;
+                _this3.$store.dispatch('user/token', token);
+                _this3.handleGetWechatUserInfo();
+                _this3.handleConfirmWechatUserInfo();
+              });
             });
-          });
-        } });
+          } });
+
+      }
 
     } } };exports.default = _default;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))

+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/login/login.wxml

xqd
@@ -1 +1 @@
-<view class="login data-v-b237504c"><view class="img data-v-b237504c"><image src="http://t9.9026.com/imgs/loginBg.png" mode="scaleToFill" class="data-v-b237504c"></image></view><view class="title data-v-b237504c"><view class="line data-v-b237504c"></view><view class="logintype data-v-b237504c"><text class="data-v-b237504c">登录方式</text></view><view class="line data-v-b237504c"></view></view><view class="typebtn data-v-b237504c"><view data-event-opts="{{[['tap',[['goYouyue',['$event']]]]]}}" class="item data-v-b237504c" bindtap="__e"><image src="/static/icon/youyue.png" mode="scaleToFill" class="data-v-b237504c"></image><text class="data-v-b237504c">加入优悦会</text></view><view data-event-opts="{{[['tap',[['getmsg',['$event']]]]]}}" class="item data-v-b237504c" bindtap="__e"><image src="/static/icon/wechart.png" mode="scaleToFill" class="data-v-b237504c"></image><text class="data-v-b237504c">微信登录</text></view></view><u-modal vue-id="35a7246c-1" show="{{modal.show}}" title="{{modal.title}}" show-confirm-button="{{false}}" class="data-v-b237504c" bind:__l="__l" vue-slots="{{['default']}}"><view class="data-v-b237504c"><button class="avatar data-v-b237504c" open-type="chooseAvatar" data-event-opts="{{[['chooseavatar',[['handleChooseAvatar',['$event']]]]]}}" bindchooseavatar="__e"><image class="user-avatar data-v-b237504c" style="height:176rpx;width:176rpx;border-radius:50%;" src="{{modal.avatar?modal.avatar:'/static/icon/avatar.png'}}"></image></button><input class="avatar data-v-b237504c" type="nickname" placeholder="填写昵称" data-event-opts="{{[['change',[['handleChangeNickname',['$event']]]]]}}" value="{{modal.nickname}}" bindchange="__e"/><button data-event-opts="{{[['tap',[['handleConfirmWechatUserInfo',['$event']]]]]}}" class="confirm data-v-b237504c" bindtap="__e">提交</button></view></u-modal></view>
+<view class="login data-v-b237504c"><view class="img data-v-b237504c"><image src="http://t9.9026.com/imgs/loginBg.png" mode="scaleToFill" class="data-v-b237504c"></image></view><view class="title data-v-b237504c"><view class="line data-v-b237504c"></view><view class="logintype data-v-b237504c"><text class="data-v-b237504c">登录方式</text></view><view class="line data-v-b237504c"></view></view><view class="typebtn data-v-b237504c"><view data-event-opts="{{[['tap',[['goYouyue',['$event']]]]]}}" class="item data-v-b237504c" bindtap="__e"><image src="/static/icon/youyue.png" mode="scaleToFill" class="data-v-b237504c"></image><text class="data-v-b237504c">加入优悦会</text></view><view data-event-opts="{{[['tap',[['getmsg',['$event']]]]]}}" class="item data-v-b237504c" bindtap="__e"><image src="/static/icon/wechart.png" mode="scaleToFill" class="data-v-b237504c"></image><block wx:if="{{!isLoginOff}}"><text class="data-v-b237504c">微信登录</text></block><block wx:if="{{isLoginOff}}"><text class="data-v-b237504c">授权登录</text></block></view></view><u-modal vue-id="35a7246c-1" show="{{modal.show}}" title="{{modal.title}}" show-confirm-button="{{false}}" class="data-v-b237504c" bind:__l="__l" vue-slots="{{['default']}}"><view class="data-v-b237504c"><button class="avatar data-v-b237504c" open-type="chooseAvatar" data-event-opts="{{[['chooseavatar',[['handleChooseAvatar',['$event']]]]]}}" bindchooseavatar="__e"><image class="user-avatar data-v-b237504c" style="height:176rpx;width:176rpx;border-radius:50%;" src="{{modal.avatar?modal.avatar:'/static/icon/avatar.png'}}"></image></button><input class="avatar data-v-b237504c" type="nickname" placeholder="填写昵称" data-event-opts="{{[['change',[['handleChangeNickname',['$event']]]]]}}" value="{{modal.nickname}}" bindchange="__e"/><button data-event-opts="{{[['tap',[['handleConfirmWechatUserInfo',['$event']]]]]}}" class="confirm data-v-b237504c" bindtap="__e">提交</button></view></u-modal></view>

+ 27 - 2
unpackage/dist/dev/mp-weixin/pages/map/hotel-book/index.js

xqd xqd
@@ -132,7 +132,7 @@ __webpack_require__.r(__webpack_exports__);
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
-Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0; //
+/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0; //
 //
 //
 //
@@ -199,7 +199,32 @@ var _default =
   data: function data() {
     return {};
   },
-  methods: {} };exports.default = _default;
+  methods: {
+    // 跳转其他小程序
+    goJoin: function goJoin() {
+      wx.navigateToMiniProgram({
+        appId: 'wx255b58f0992b3c53', //appid
+        path: 'newUIMain/enrollment/enrollment', //path
+        extraData: { //参数
+          foo: 'bar' },
+
+        // envVersion: 'develop', //开发版develop 开发版 trial   体验版 release 正式版 
+        success: function success(res) {
+          console.log('成功');
+          // 打开成功
+        },
+        fail: function fail(e) {
+          console.log(e, '失败');
+        } });
+
+    },
+    // 跳转首页
+    goIndex: function goIndex() {
+      uni.reLaunch({
+        url: '/pages/index/index' });
+
+    } } };exports.default = _default;
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
 
 /***/ }),
 

文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/map/hotel-book/index.wxml


+ 29 - 5
unpackage/dist/dev/mp-weixin/pages/map/map.js

xqd xqd
@@ -500,13 +500,37 @@ __webpack_require__.r(__webpack_exports__);
   },
 
   methods: {
-    getList: function getList() {var _this = this;
+    //计算酒店距离我的位置--int
+    calcDistanceFromHotel: function calcDistanceFromHotel(_ref, _ref2) {var x0 = _ref.x0,y0 = _ref.y0;var x1 = _ref2.x1,y1 = _ref2.y1;
+      //x0,y0是我的坐标(经纬度)
+      //x1,y1是酒店坐标(经纬度)
+      return Math.sqrt(Math.pow(Math.abs(x1 - x0), 2) + Math.pow(Math.abs(y1 - y0), 2)); //返回距离
+    },
+    //遍历所有酒店,并计算出酒店分别与我的距离--数组
+    setEachHotelDistance: function setEachHotelDistance() {var _this = this;var hotelArray = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];var _ref3 = arguments.length > 1 ? arguments[1] : undefined,x0 = _ref3.x0,y0 = _ref3.y0;
+      hotelArray.map(function (item) {
+        item.distanceToMe = _this.calcDistanceFromHotel({ x0: x0, y0: y0 }, { x1: item.longitude, y1: item.latitude });
+        return item;
+      });
+      return hotelArray;
+
+    },
+    //筛选出距离我最近的酒店--对象
+    getMinDistanceHotel: function getMinDistanceHotel(_ref4) {var x0 = _ref4.x0,y0 = _ref4.y0;
+      this.markers = this.setEachHotelDistance(this.markers, { x0: x0, y0: y0 });
+      this.markers.sort(function (prev, next) {
+        return prev.distanceToMe - next.distanceToMe;
+      });
+      return this.markers[0];
+    },
+    //-------------------------------------
+    getList: function getList() {var _this2 = this;
       this.$api.hotel.getHotelList({
         page: 1 }).
       then(function (res) {
-        _this.hotelList = res.data.data;
-        console.log(_this.hotelList);
-        _this.markers = _this.hotelList.map(function (item) {
+        _this2.hotelList = res.data.data;
+        console.log(_this2.hotelList);
+        _this2.markers = _this2.hotelList.map(function (item) {
           return {
             id: item.id,
             latitude: item.latitude,
@@ -522,7 +546,7 @@ __webpack_require__.r(__webpack_exports__);
 
 
         });
-        console.log(_this.markers);
+        console.log(_this2.markers);
       });
     },
     //去预定页面

文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/my/integral/integral.wxml


+ 7 - 2
unpackage/dist/dev/mp-weixin/pages/my/integral/integralExchange.js

xqd
@@ -164,10 +164,15 @@ __webpack_require__.r(__webpack_exports__);
 var _default =
 {
   data: function data() {
-    return {};
-
+    return {
+      // 积分
+      integral: 0 };
 
   },
+  onLoad: function onLoad(op) {
+    console.log(op);
+    this.integral = op.integral;
+  },
   methods: {
     // 返回首页
     goBack: function goBack() {

+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/my/integral/integralExchange.wxml

xqd
@@ -1 +1 @@
-<view class="exchangeDetail data-v-85fdca70"><view class="detailCard data-v-85fdca70"><image src="/static/icon/success.png" class="data-v-85fdca70"></image><text style="margin-bottom:20rpx;" class="data-v-85fdca70">商品兑换成功</text><text class="data-v-85fdca70">-5000积分</text></view><view class="btn data-v-85fdca70"><view data-event-opts="{{[['tap',[['goBack',['$event']]]]]}}" class="back data-v-85fdca70" bindtap="__e"><text class="data-v-85fdca70">返回首页</text></view><view data-event-opts="{{[['tap',[['goOrderDetail',['$event']]]]]}}" class="checkout data-v-85fdca70" bindtap="__e"><text class="data-v-85fdca70">查看订单</text></view></view><view data-event-opts="{{[['tap',[['goOther',['$event']]]]]}}" class="bottomCard data-v-85fdca70" bindtap="__e"><image src="http://t9.9026.com/imgs/Kudosbg.png" class="data-v-85fdca70"></image><view class="content data-v-85fdca70"><text class="data-v-85fdca70">立即加入IHG会员</text><image src="/static/icon/right.png" class="data-v-85fdca70"></image></view></view></view>
+<view class="exchangeDetail data-v-85fdca70"><view class="detailCard data-v-85fdca70"><image src="/static/icon/success.png" class="data-v-85fdca70"></image><text style="margin-bottom:20rpx;" class="data-v-85fdca70">商品兑换成功</text><text class="data-v-85fdca70">{{"-"+integral+"积分"}}</text></view><view class="btn data-v-85fdca70"><view data-event-opts="{{[['tap',[['goBack',['$event']]]]]}}" class="back data-v-85fdca70" bindtap="__e"><text class="data-v-85fdca70">返回首页</text></view><view data-event-opts="{{[['tap',[['goOrderDetail',['$event']]]]]}}" class="checkout data-v-85fdca70" bindtap="__e"><text class="data-v-85fdca70">查看订单</text></view></view><view data-event-opts="{{[['tap',[['goOther',['$event']]]]]}}" class="bottomCard data-v-85fdca70" bindtap="__e"><image src="http://t9.9026.com/imgs/Kudosbg.png" class="data-v-85fdca70"></image><view class="content data-v-85fdca70"><text class="data-v-85fdca70">立即加入IHG会员</text><image src="/static/icon/right.png" class="data-v-85fdca70"></image></view></view></view>

+ 47 - 11
unpackage/dist/dev/mp-weixin/pages/my/integral/integralOrder.js

xqd xqd xqd xqd xqd xqd xqd xqd
@@ -314,6 +314,8 @@ __webpack_require__.r(__webpack_exports__);
       activeIndex: null,
       // 是否核销
       isVerification: false,
+      // 产品信息
+      productDetail: '',
       // 表单数据
       formData: {
         type: '',
@@ -327,11 +329,11 @@ __webpack_require__.r(__webpack_exports__);
         // 快递类型(1.快递发货 2.到店自提也是线下核销)
         express_type: '',
         // 收货人
-        receiver: '',
+        receiver: "",
         // 联系电话
         phone: '',
         // 地址ID,最小行政单位地区ID,express_type=1时必传
-        area_id: '',
+        area_id: 2000,
         // 详细地址,express_type=1时必传
         address: '',
         // 门店ID,express_type=2时必传
@@ -339,7 +341,7 @@ __webpack_require__.r(__webpack_exports__);
         // 产品ID
         product_id: '',
         // 产品规格ID
-        product_attr_id: '' },
+        product_attr_id: 1 },
 
       // 配送方式
       typeSelect: [{
@@ -366,12 +368,15 @@ __webpack_require__.r(__webpack_exports__);
         name: '第七门店' }] };
 
 
+  },
+  onLoad: function onLoad(op) {
+    console.log(op, "产品id");
+    this.Data.product_id = op.product_id;
+    this.getProductDetail(op.product_id);
   },
   methods: {
     change: function change(ret) {
-
       this.formData.region = ret.data.join('-');
-
     },
     //打开门店弹框
     openShop: function openShop() {
@@ -381,6 +386,7 @@ __webpack_require__.r(__webpack_exports__);
       this.typestatus2 = i;
       this.activeIndex = index;
       console.log(i, this.activeIndex);
+      this.Data.hotel_id = index;
     },
     //确定按钮
     sureShopBtn: function sureShopBtn() {
@@ -393,7 +399,6 @@ __webpack_require__.r(__webpack_exports__);
         this.formData.shop = this.typestatus2;
         this.$refs.shopSelected.close();
       }
-
     },
     //取消按钮
     cancelShopBtn: function cancelShopBtn() {
@@ -409,7 +414,11 @@ __webpack_require__.r(__webpack_exports__);
       this.typestatus1 = i;
       this.activeIndex = index;
       console.log(i, this.activeIndex);
-
+      if (index == 0) {
+        this.Data.express_type = 1;
+      } else if (index == 1) {
+        this.Data.express_type = 2;
+      }
     },
     //确定按钮
     sureBtn: function sureBtn() {
@@ -429,17 +438,44 @@ __webpack_require__.r(__webpack_exports__);
     },
 
     // 跳转积分兑换详情
-    goExDetail: function goExDetail() {
+    goExDetail: function goExDetail(integral) {
       uni.navigateTo({
-        url: '/pages/my/integral/integralExchange' });
+        url: '/pages/my/integral/integralExchange?integral=' + integral });
 
     },
     // 积分兑换
-    goExchange: function goExchange() {
+    goExchange: function goExchange() {var _this = this;
+      console.log(this.Data, "提交表单");
       this.$api.integral.integralExchange(_objectSpread({},
-      formData)).
+      this.Data)).
       then(function (res) {
         console.log(res);
+        if (res.code == 0) {
+          _this.goExDetail(_this.productDetail.integral);
+        } else {
+          uni.showToast({
+            title: res.msg,
+            icon: 'none' });
+
+        }
+      });
+    },
+    // 获取产品信息
+    getProductDetail: function getProductDetail(id) {var _this2 = this;
+      this.$loading();
+      this.$api.product.getProductDetail({
+        product_id: id }).
+      then(function (res) {
+        console.log(res, "产品信息");
+        _this2.$hideLoading();
+        if (res.code == 0) {
+          _this2.productDetail = res.data;
+        } else {
+          uni.showToast({
+            title: res.msg,
+            icon: 'none' });
+
+        }
       });
     } } };exports.default = _default;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))

文件差異過大導致無法顯示
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/my/integral/integralOrder.wxml


+ 2 - 0
unpackage/dist/dev/mp-weixin/pages/my/integral/integralRecord.js

xqd
@@ -197,6 +197,8 @@ __webpack_require__.r(__webpack_exports__);
 //
 //
 //
+//
+//
 var _default =
 {
   data: function data() {

文件差異過大導致無法顯示
+ 0 - 1
unpackage/dist/dev/mp-weixin/pages/my/integral/integralRecord.wxml


+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/my/my.js

xqd
@@ -327,6 +327,7 @@ __webpack_require__.r(__webpack_exports__);
       this.$api.my.update({ avatar: this.modal.avatar, nickname: this.modal.nickname }).then(function (res) {
         _this.$hideLoading();
         _this.$store.dispatch('user/info', res.data);
+        _this.admin = _this.$store.getters.userInfo;
         _this.modal.show = false;
       });
     },

+ 6 - 4
unpackage/dist/dev/mp-weixin/pages/my/setting/setting.js

xqd
@@ -187,10 +187,12 @@ var _default =
     // 退出登录
     loginOut: function loginOut() {
       if (this.$store.getters.token) {
-        this.$store.dispatch("user/info", null);
-        this.$store.dispatch("user/token", null);
-        uni.removeStorageSync('auth_token');
-        uni.removeStorageSync('userInfo');
+        //记录用户曾经登录过
+        this.$store.getters.userInfo.isLoginOff = true;
+        this.$store.dispatch("user/info", this.$store.getters.userInfo);
+        // this.$store.dispatch("user/token", null)
+        // uni.removeStorageSync('auth_token')
+        // uni.removeStorageSync('userInfo')
         uni.reLaunch({
           url: '/pages/login/login' });
 

+ 2 - 2
unpackage/dist/dev/mp-weixin/pages/my/setting/setting.wxss

xqd xqd
@@ -40,7 +40,7 @@
   box-sizing: border-box;
   height: 110rpx;
   width: 690rpx;
-  border-bottom: solid  2rpx #F0F0F0;
+  border-bottom: solid 2rpx #F0F0F0;
   display: flex;
   align-items: center;
   position: relative;
@@ -62,7 +62,7 @@
   box-sizing: border-box;
   height: 110rpx;
   width: 690rpx;
-  border-bottom: solid  0rpx #F0F0F0;
+  border-bottom: solid 0rpx #F0F0F0;
   display: flex;
   align-items: center;
   position: relative;

+ 0 - 31
utils/index.js

xqd xqd
@@ -29,35 +29,6 @@ export function checkOS() {
   return true
 }
 
-// 节流
-export function throttle(fn, wait = 200) {
-	let last, timer, now;
-	return function() {
-		now = Date.now();
-		if (last && now - last < wait) {
-			clearTimeout(timer);
-			timer = setTimeout(function() {
-				last = now;
-				fn.call(this, ...arguments);
-			}, wait);
-		} else {
-			last = now;
-			fn.call(this, ...arguments);
-		}
-	};
-}
-// 防抖
-export function debounce(fn, wait = 200) {
-	let timer;
-	return function() {
-		let context = this;
-		let args = arguments;
-		if (timer) clearTimeout(timer);
-		timer = setTimeout(() => {
-			fn.apply(context, args);
-		}, wait)
-	}
-}
 
 const shareMessage = user => {
   // #ifdef  MP-KUAISHOU
@@ -78,7 +49,5 @@ const shareMessage = user => {
 export default {
   copyText,
   checkOS,
-  throttle,
-  debounce,
   shareMessage
 }

部分文件因文件數量過多而無法顯示