Browse Source

no message

xiaoxin 2 years ago
parent
commit
4b7b1f02f4
100 changed files with 3851 additions and 1524 deletions
  1. 9 15
      App.vue
  2. 5 2
      manifest.json
  3. 20 1
      pages.json
  4. 298 170
      pages/affirmOrder/affirmOrder.vue
  5. 74 15
      pages/detail/detail.vue
  6. 13 7
      pages/detailInfo/detailInfo.vue
  7. 284 0
      pages/home/home.vue
  8. 24 244
      pages/index/index.vue
  9. 127 14
      pages/orderDetail/orderDetail.vue
  10. 92 9
      pages/orderManage/orderManage.vue
  11. 50 10
      pages/pay/pay.vue
  12. 73 0
      pages/payStatus/payStatus.vue
  13. 28 0
      pages/photo/photo.vue
  14. 8 2
      pages/set/set.vue
  15. BIN
      static/index/fail.png
  16. BIN
      static/index/success.png
  17. 7 0
      uni_modules/uv-count-down/changelog.md
  18. 25 0
      uni_modules/uv-count-down/components/uv-count-down/props.js
  19. 62 0
      uni_modules/uv-count-down/components/uv-count-down/utils.js
  20. 162 0
      uni_modules/uv-count-down/components/uv-count-down/uv-count-down.vue
  21. 87 0
      uni_modules/uv-count-down/package.json
  22. 11 0
      uni_modules/uv-count-down/readme.md
  23. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  24. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
  25. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  26. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/addOrEdit/addOrEdit.js.map
  27. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/affirmOrder/affirmOrder.js.map
  28. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/common/common.js.map
  29. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/detail/detail.js.map
  30. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/detailInfo/detailInfo.js.map
  31. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/home/home.js.map
  32. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  33. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/my.js.map
  34. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/orderDetail/orderDetail.js.map
  35. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/orderManage/orderManage.js.map
  36. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/pay/pay.js.map
  37. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/payStatus/payStatus.js.map
  38. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/photo/photo.js.map
  39. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/search/search.js.map
  40. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/set/set.js.map
  41. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/setMeal/setMeal.js.map
  42. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item.js.map
  43. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-button/components/uv-button/uv-button.js.map
  44. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-calendar/components/uv-calendar/header.js.map
  45. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-calendar/components/uv-calendar/month.js.map
  46. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-calendar/components/uv-calendar/uv-calendar.js.map
  47. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-count-down/components/uv-count-down/uv-count-down.js.map
  48. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-icon/components/uv-icon/uv-icon.js.map
  49. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-loading-icon/components/uv-loading-icon/uv-loading-icon.js.map
  50. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-overlay/components/uv-overlay/uv-overlay.js.map
  51. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-picker/components/uv-picker/uv-picker.js.map
  52. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-picker/components/uv-toolbar/uv-toolbar.js.map
  53. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-popup/components/uv-popup/uv-popup.js.map
  54. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-row/components/uv-row/uv-row.js.map
  55. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-safe-bottom/components/uv-safe-bottom/uv-safe-bottom.js.map
  56. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-status-bar/components/uv-status-bar/uv-status-bar.js.map
  57. 5 2
      unpackage/dist/dev/mp-weixin/app.json
  58. 3 9
      unpackage/dist/dev/mp-weixin/common/main.js
  59. 1 7
      unpackage/dist/dev/mp-weixin/common/main.wxss
  60. 2 2
      unpackage/dist/dev/mp-weixin/common/runtime.js
  61. 708 564
      unpackage/dist/dev/mp-weixin/common/vendor.js
  62. 54 22
      unpackage/dist/dev/mp-weixin/pages/affirmOrder/affirmOrder.js
  63. 1 1
      unpackage/dist/dev/mp-weixin/pages/affirmOrder/affirmOrder.wxml
  64. 106 25
      unpackage/dist/dev/mp-weixin/pages/affirmOrder/affirmOrder.wxss
  65. 2 2
      unpackage/dist/dev/mp-weixin/pages/common/common.js
  66. 46 17
      unpackage/dist/dev/mp-weixin/pages/detail/detail.js
  67. 1 1
      unpackage/dist/dev/mp-weixin/pages/detail/detail.wxml
  68. 27 4
      unpackage/dist/dev/mp-weixin/pages/detail/detail.wxss
  69. 17 12
      unpackage/dist/dev/mp-weixin/pages/detailInfo/detailInfo.js
  70. 1 1
      unpackage/dist/dev/mp-weixin/pages/detailInfo/detailInfo.wxml
  71. 6 6
      unpackage/dist/dev/mp-weixin/pages/detailInfo/detailInfo.wxss
  72. 328 0
      unpackage/dist/dev/mp-weixin/pages/home/home.js
  73. 6 0
      unpackage/dist/dev/mp-weixin/pages/home/home.json
  74. 1 0
      unpackage/dist/dev/mp-weixin/pages/home/home.wxml
  75. 163 0
      unpackage/dist/dev/mp-weixin/pages/home/home.wxss
  76. 34 135
      unpackage/dist/dev/mp-weixin/pages/index/index.js
  77. 3 4
      unpackage/dist/dev/mp-weixin/pages/index/index.json
  78. 1 1
      unpackage/dist/dev/mp-weixin/pages/index/index.wxml
  79. 1 126
      unpackage/dist/dev/mp-weixin/pages/index/index.wxss
  80. 1 1
      unpackage/dist/dev/mp-weixin/pages/my/my.js
  81. 126 21
      unpackage/dist/dev/mp-weixin/pages/orderDetail/orderDetail.js
  82. 1 1
      unpackage/dist/dev/mp-weixin/pages/orderDetail/orderDetail.wxml
  83. 13 6
      unpackage/dist/dev/mp-weixin/pages/orderDetail/orderDetail.wxss
  84. 80 7
      unpackage/dist/dev/mp-weixin/pages/orderManage/orderManage.js
  85. 2 1
      unpackage/dist/dev/mp-weixin/pages/orderManage/orderManage.json
  86. 1 1
      unpackage/dist/dev/mp-weixin/pages/orderManage/orderManage.wxml
  87. 6 0
      unpackage/dist/dev/mp-weixin/pages/orderManage/orderManage.wxss
  88. 84 20
      unpackage/dist/dev/mp-weixin/pages/pay/pay.js
  89. 3 1
      unpackage/dist/dev/mp-weixin/pages/pay/pay.json
  90. 1 1
      unpackage/dist/dev/mp-weixin/pages/pay/pay.wxml
  91. 212 0
      unpackage/dist/dev/mp-weixin/pages/payStatus/payStatus.js
  92. 5 0
      unpackage/dist/dev/mp-weixin/pages/payStatus/payStatus.json
  93. 1 0
      unpackage/dist/dev/mp-weixin/pages/payStatus/payStatus.wxml
  94. 58 0
      unpackage/dist/dev/mp-weixin/pages/payStatus/payStatus.wxss
  95. 198 0
      unpackage/dist/dev/mp-weixin/pages/photo/photo.js
  96. 5 0
      unpackage/dist/dev/mp-weixin/pages/photo/photo.json
  97. 1 0
      unpackage/dist/dev/mp-weixin/pages/photo/photo.wxml
  98. 34 0
      unpackage/dist/dev/mp-weixin/pages/photo/photo.wxss
  99. 9 4
      unpackage/dist/dev/mp-weixin/pages/set/set.js
  100. 0 0
      unpackage/dist/dev/mp-weixin/pages/set/set.wxml

+ 9 - 15
App.vue

@@ -1,20 +1,14 @@
 <script>
 <script>
-	export default {
-		onLaunch: function() {
-			console.log('App Launch')
-		},
-		onShow: function() {
-			console.log('App Show')
-		},
-		onHide: function() {
-			console.log('App Hide')
-		}
-	}
+export default {
+	onLaunch: function () {},
+	onShow: function () {},
+	onHide: function () {}
+}
 </script>
 </script>
 
 
 <style>
 <style>
-	/*每个页面公共css */
-	page {
-		background: rgba(234, 234, 234, 1.0);
-	}
+/*每个页面公共css */
+page {
+	background: rgba(234, 234, 234, 1);
+}
 </style>
 </style>

+ 5 - 2
manifest.json

@@ -50,9 +50,12 @@
 	"quickapp": {},
 	"quickapp": {},
 	/* 小程序特有相关 */
 	/* 小程序特有相关 */
 	"mp-weixin": {
 	"mp-weixin": {
-		"appid": "wxb064310cc85cf115",
+		"appid": "wx2fc3f45732fae5d3",
 		"setting": {
 		"setting": {
-			"urlCheck": false
+			"urlCheck": false,
+			"es6": true,
+			"postcss": true,
+			"minified": true
 		},
 		},
 		"usingComponents": true
 		"usingComponents": true
 	},
 	},

+ 20 - 1
pages.json

@@ -3,6 +3,13 @@
 		{
 		{
 			"path": "pages/index/index",
 			"path": "pages/index/index",
 			"style": {
 			"style": {
+				"navigationBarTitleText": "授权中",
+				"enablePullDownRefresh": false
+			}
+		},
+		{
+			"path": "pages/home/home",
+			"style": {
 				"navigationBarTitleText": "靖安民宿"
 				"navigationBarTitleText": "靖安民宿"
 			}
 			}
 		}, {
 		}, {
@@ -81,6 +88,18 @@
 				"enablePullDownRefresh": false,
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 				"navigationStyle": "custom"
 			}
 			}
+		}, {
+			"path": "pages/payStatus/payStatus",
+			"style": {
+				"navigationBarTitleText": "支付订单",
+				"enablePullDownRefresh": false
+			}
+		}, {
+			"path": "pages/photo/photo",
+			"style": {
+				"navigationBarTitleText": "个人头像",
+				"enablePullDownRefresh": false
+			}
 		}
 		}
 	],
 	],
 	"tabBar": {
 	"tabBar": {
@@ -89,7 +108,7 @@
 		"borderStyle": "black",
 		"borderStyle": "black",
 		"backgroundColor": "#ffffff",
 		"backgroundColor": "#ffffff",
 		"list": [{
 		"list": [{
-				"pagePath": "pages/index/index",
+				"pagePath": "pages/home/home",
 				"iconPath": "static/images/index.png",
 				"iconPath": "static/images/index.png",
 				"selectedIconPath": "static/images/index-active.png",
 				"selectedIconPath": "static/images/index-active.png",
 				"text": "首页"
 				"text": "首页"

+ 298 - 170
pages/affirmOrder/affirmOrder.vue

@@ -9,75 +9,107 @@
 			<!-- 返回图标区域 -->
 			<!-- 返回图标区域 -->
 			<img class="header_icon" src="../../static/index/left.png" @click="handleBack" />
 			<img class="header_icon" src="../../static/index/left.png" @click="handleBack" />
 		</view>
 		</view>
-		<!-- 房间信息区域 -->
-		<view class="info">
-			<view class="info_time">
-				{{ info.startTimeMonth }}月{{ info.startTimeMonth }}日
-				<text class="gap">星期{{ info.startTimeWeek }}</text>
-				<view class="time_line"></view>
-				<view class="time_num">{{ info.nightNum }}晚</view>
-				<view class="time_line"></view>
-				<view class="gap">{{ info.endTimeMonth }}月{{ info.endTimeDay }}日</view>
-				<text>星期{{ info.endTimeWeek }}</text>
-			</view>
-			<view class="info_msg">大床房</view>
-			<view class="info_type">
-				<view class="type_item">包吃住型</view>
-				<view class="type_item">包吃住型</view>
-				<view class="type_item">包吃住型</view>
-			</view>
-			<view class="info_tag">
-				<view class="tag_item">16-20㎡</view>
-				<view class="tag_item">双人床</view>
-				<view class="tag_item">窗户位于走廊/窗户较小</view>
-			</view>
-		</view>
 
 
-		<!-- 入住信息区域 -->
-		<view class="msg">
-			<view class="msg_title">入住信息</view>
-			<view class="msg_box">
-				<view class="box_key">房间数量</view>
-				<view class="box_value">{{ roomCount }}间</view>
-				<view class="box_icon">
-					<img class="img" src="../../static/index/add.png" @click="handleAdd" />
-					<img class="img2" src="../../static/index/minus.png" @click="handleMinus" />
+		<view class="body">
+			<!-- 房间信息区域 -->
+			<view class="info">
+				<view class="info_time">
+					{{ info.startTimeMonth }}月{{ info.startTimeMonth }}日
+					<text class="gap">星期{{ info.startTimeWeek }}</text>
+					<view class="time_line"></view>
+					<view class="time_num">{{ info.nightNum }}晚</view>
+					<view class="time_line"></view>
+					<view class="gap">{{ info.endTimeMonth }}月{{ info.endTimeDay }}日</view>
+					<text>星期{{ info.endTimeWeek }}</text>
 				</view>
 				</view>
-			</view>
-			<view class="msg_box">
-				<view class="box_key">住客姓名</view>
-				<view class="box_value">
-					<input type="text" placeholder="请输入住客姓名" v-model="clientName" />
+				<view class="info_msg">大床房</view>
+				<view class="info_type">
+					<view class="type_item">包吃住型</view>
+					<view class="type_item">包吃住型</view>
+					<view class="type_item">包吃住型</view>
 				</view>
 				</view>
-				<view class="box_icon" @click="handleSelectClient">
-					<img class="img2" src="../../static/index/people.png" />
+				<view class="info_tag">
+					<view class="tag_item">16-20㎡</view>
+					<view class="tag_item">双人床</view>
+					<view class="tag_item">窗户位于走廊/窗户较小</view>
 				</view>
 				</view>
 			</view>
 			</view>
-			<view class="msg_box">
-				<view class="box_key">联系电话</view>
-				<view class="box_value">
-					<input type="number" maxlength="11" placeholder="请输入联系电话" v-model="clientPhone" />
+
+			<!-- 入住信息区域 -->
+			<view class="msg">
+				<view class="msg_title">入住信息</view>
+				<view class="msg_box">
+					<view class="box_key">房间数量</view>
+					<view class="box_value">{{ roomCount }}间</view>
+					<view class="box_icon">
+						<img class="img" src="../../static/index/add.png" @click="handleAdd" />
+						<img class="img2" src="../../static/index/minus.png" @click="handleMinus" />
+					</view>
+				</view>
+				<view class="msg_box">
+					<view class="box_key">住客姓名</view>
+					<view class="box_value">
+						<input type="text" placeholder="请输入住客姓名" v-model="clientName" />
+					</view>
+					<view class="box_icon" @click="handleSelectClient">
+						<img class="img2" src="../../static/index/people.png" />
+					</view>
+				</view>
+				<view class="msg_box">
+					<view class="box_key">联系电话</view>
+					<view class="box_value">
+						<input type="number" maxlength="11" placeholder="请输入联系电话" v-model="clientPhone" />
+					</view>
 				</view>
 				</view>
+				<view class="msg_box" @click="handleSelectTime">
+					<view class="box_key">预计到店</view>
+					<view class="box_value" :class="{ color: !arriveTime }">{{ arriveTime ? arriveTime : '请选择预计到店时间' }}</view>
+					<view class="box_icon">
+						<img class="img3" src="../../static/index/right2.png" />
+					</view>
+				</view>
+
+				<uv-datetime-picker
+					ref="datetimePicker"
+					v-model="timeValue"
+					mode="datetime"
+					:closeOnClickOverlay="false"
+					confirmColor="#096562"
+					:formatter="formatter"
+					@confirm="confirm"
+				></uv-datetime-picker>
 			</view>
 			</view>
-			<view class="msg_box" @click="handleSelectTime">
-				<view class="box_key">预计到店</view>
-				<view class="box_value" :class="{ color: !arriveTime }">{{ arriveTime ? arriveTime : '请选择预计到店时间' }}</view>
-				<view class="box_icon">
-					<img class="img3" src="../../static/index/right2.png" />
+
+			<!-- 费用信息区域 -->
+			<view class="price">
+				<view class="price_title">费用明细</view>
+				<view class="price_box">
+					<view class="box_key">在线支付</view>
+					<view class="box_value">
+						1间1晚 共
+						<text>¥</text>
+						<span>280.00</span>
+					</view>
 				</view>
 				</view>
 			</view>
 			</view>
 
 
-			<uv-datetime-picker
-				ref="datetimePicker"
-				v-model="timeValue"
-				mode="datetime"
-				:closeOnClickOverlay="false"
-				confirmColor="#096562"
-				:formatter="formatter"
-				@confirm="confirm"
-			></uv-datetime-picker>
+			<view class="all">
+				<view class="all_title">
+					<text>房费</text>
+					<text class="mr_30">¥280</text>
+				</view>
+
+				<view class="all_box">
+					<view class="box_list">
+						<view class="list_item">2023-08-01</view>
+						<view class="list_item">2023-08-02</view>
+					</view>
+					<view class="box_total">1 x ¥280</view>
+				</view>
+			</view>
 		</view>
 		</view>
 
 
+		<!-- 底部提交订单区域 -->
 		<view class="foot">
 		<view class="foot">
 			<view class="foot_left">
 			<view class="foot_left">
 				<text>¥</text>
 				<text>¥</text>
@@ -174,12 +206,13 @@ export default {
 	position: relative;
 	position: relative;
 	display: flex;
 	display: flex;
 	flex-direction: column;
 	flex-direction: column;
-	min-height: 100vh;
+	height: 100vh;
+	overflow: hidden;
 	background-color: #ebeced;
 	background-color: #ebeced;
 
 
 	.header {
 	.header {
 		position: relative;
 		position: relative;
-		height: 125rpx;
+		height: 145rpx;
 		overflow: hidden;
 		overflow: hidden;
 
 
 		img {
 		img {
@@ -196,158 +229,253 @@ export default {
 
 
 		.header_icon {
 		.header_icon {
 			position: absolute;
 			position: absolute;
-			top: 56rpx;
+			top: 76rpx;
 			left: 5rpx;
 			left: 5rpx;
 			width: 47rpx;
 			width: 47rpx;
 			height: 47rpx;
 			height: 47rpx;
 		}
 		}
 	}
 	}
 
 
-	.info {
-		display: flex;
-		flex-direction: column;
-		box-sizing: border-box;
-		padding: 0 30rpx;
-		margin: 0 auto;
-		margin-top: 18rpx;
-		width: 710rpx;
-		border-radius: 15rpx;
-		background-color: #fff;
+	.body {
+		height: calc(100vh - 271rpx);
+		overflow-y: auto;
 
 
-		.info_time {
+		.info {
 			display: flex;
 			display: flex;
-			align-items: center;
-			margin-top: 20rpx;
-			font-size: 32rpx;
-			font-weight: bold;
+			flex-direction: column;
+			box-sizing: border-box;
+			padding: 0 30rpx;
+			margin: 0 auto;
+			margin-top: 18rpx;
+			width: 710rpx;
+			border-radius: 15rpx;
+			background-color: #fff;
+
+			.info_time {
+				display: flex;
+				align-items: center;
+				margin-top: 20rpx;
+				font-size: 32rpx;
+				font-weight: bold;
+
+				.time_line {
+					width: 17rpx;
+					height: 1rpx;
+					background-color: #096562;
+				}
+
+				.time_num {
+					box-sizing: border-box;
+					padding: 0 15rpx;
+					height: 46rpx;
+					line-height: 46rpx;
+					font-size: 24rpx;
+					font-weight: 400;
+					border-radius: 66rpx;
+					border: 1rpx solid #096562;
+					background-color: #f0f2f5;
+				}
+
+				.gap {
+					margin: 0 10rpx;
+				}
 
 
-			.time_line {
-				width: 17rpx;
-				height: 1rpx;
-				background-color: #096562;
+				text {
+					font-size: 24rpx;
+					font-weight: 400;
+				}
 			}
 			}
 
 
-			.time_num {
-				box-sizing: border-box;
-				padding: 0 15rpx;
-				height: 46rpx;
-				line-height: 46rpx;
-				font-size: 24rpx;
-				font-weight: 400;
-				border-radius: 66rpx;
-				border: 1rpx solid #096562;
-				background-color: #f0f2f5;
+			.info_msg {
+				margin-top: 15rpx;
+				font-size: 28rpx;
+				font-weight: bold;
 			}
 			}
+			.info_type {
+				display: flex;
+				flex-wrap: wrap;
+				margin-top: 15rpx;
 
 
-			.gap {
-				margin: 0 10rpx;
+				.type_item {
+					box-sizing: border-box;
+					padding: 0 15rpx;
+					margin-right: 20rpx;
+					height: 41rpx;
+					line-height: 41rpx;
+					font-size: 24rpx;
+					color: #fff;
+					border-radius: 34rpx;
+					background-color: #096562;
+				}
 			}
 			}
 
 
-			text {
+			.info_tag {
+				display: flex;
+				flex-wrap: wrap;
+				margin: 18rpx 0 30rpx;
+				color: #808080;
 				font-size: 24rpx;
 				font-size: 24rpx;
-				font-weight: 400;
-			}
-		}
 
 
-		.info_msg {
-			margin-top: 15rpx;
-			font-size: 28rpx;
-			font-weight: bold;
+				.tag_item {
+					margin-right: 20rpx;
+				}
+			}
 		}
 		}
-		.info_type {
-			display: flex;
-			flex-wrap: wrap;
-			margin-top: 15rpx;
 
 
-			.type_item {
-				box-sizing: border-box;
-				padding: 0 15rpx;
-				margin-right: 20rpx;
-				height: 41rpx;
-				line-height: 41rpx;
-				font-size: 24rpx;
-				color: #fff;
-				border-radius: 34rpx;
-				background-color: #096562;
+		.msg {
+			box-sizing: border-box;
+			padding-left: 26rpx;
+			margin: auto;
+			margin-top: 20rpx;
+			width: 710rpx;
+			border-radius: 15rpx;
+			background-color: #fff;
+
+			.msg_title {
+				height: 87rpx;
+				line-height: 87rpx;
+				font-size: 28rpx;
+				font-weight: bold;
+				border-bottom: 1rpx solid #e6e6e6;
 			}
 			}
-		}
 
 
-		.info_tag {
-			display: flex;
-			flex-wrap: wrap;
-			margin: 18rpx 0 30rpx;
-			color: #808080;
-			font-size: 24rpx;
+			.msg_box {
+				display: flex;
+				align-items: center;
+				height: 97rpx;
+				font-size: 28rpx;
+				border-bottom: 1rpx solid #e6e6e6;
 
 
-			.tag_item {
-				margin-right: 20rpx;
+				.box_key {
+					width: 120rpx;
+					color: #808080;
+				}
+
+				.box_value {
+					margin-left: 30rpx;
+					flex: 1;
+
+					input {
+						box-sizing: border-box;
+						padding-right: 30rpx;
+						width: 100%;
+					}
+				}
+
+				.color {
+					color: #808080;
+				}
+
+				.box_icon {
+					display: flex;
+					align-items: center;
+
+					.img {
+						width: 47rpx;
+						height: 47rpx;
+					}
+
+					.img2 {
+						margin: 0 30rpx;
+						width: 37rpx;
+						height: 37rpx;
+					}
+
+					.img3 {
+						margin: 0 30rpx;
+						width: 40rpx;
+						height: 40rpx;
+					}
+				}
 			}
 			}
 		}
 		}
-	}
 
 
-	.msg {
-		box-sizing: border-box;
-		padding-left: 26rpx;
-		margin: auto;
-		margin-top: 20rpx;
-		width: 710rpx;
-		border-radius: 15rpx;
-		background-color: #fff;
+		.price {
+			box-sizing: border-box;
+			padding-left: 26rpx;
+			margin: 20rpx auto;
+			width: 710rpx;
+			height: 197rpx;
+			border-radius: 15rpx;
+			background-color: #fff;
+
+			.price_title {
+				line-height: 92rpx;
+				font-size: 28rpx;
+				font-weight: bold;
+				border-bottom: 1rpx solid #e6e6e6;
+			}
 
 
-		.msg_title {
-			height: 87rpx;
-			line-height: 87rpx;
-			font-size: 28rpx;
-			font-weight: bold;
-			border-bottom: 1rpx solid #e6e6e6;
-		}
+			.price_box {
+				display: flex;
+				justify-content: space-between;
+				align-items: center;
+				height: 92rpx;
+				font-size: 28rpx;
 
 
-		.msg_box {
-			display: flex;
-			align-items: center;
-			height: 97rpx;
-			font-size: 28rpx;
-			border-bottom: 1rpx solid #e6e6e6;
+				.box_key {
+					color: #808080;
+				}
 
 
-			.box_key {
-				width: 120rpx;
-				color: #808080;
-			}
+				.box_value {
+					display: flex;
+					align-items: center;
 
 
-			.box_value {
-				margin-left: 30rpx;
-				flex: 1;
+					text {
+						color: #ff5733;
+						font-size: 24rpx;
+					}
 
 
-				input {
-					box-sizing: border-box;
-					padding-right: 30rpx;
-					width: 100%;
+					span {
+						margin-right: 30rpx;
+						color: #ff5733;
+					}
 				}
 				}
 			}
 			}
+		}
 
 
-			.color {
-				color: #808080;
-			}
+		.all {
+			box-sizing: border-box;
+			padding-left: 26rpx;
+			margin: 0 auto 60rpx;
+			width: 710rpx;
+			border-radius: 15rpx;
+			background-color: #fff;
 
 
-			.box_icon {
+			.all_title {
 				display: flex;
 				display: flex;
+				height: 92rpx;
+				justify-content: space-between;
 				align-items: center;
 				align-items: center;
+				font-size: 28rpx;
+				font-weight: bold;
+				border-bottom: 1rpx solid #e6e6e6;
 
 
-				.img {
-					width: 47rpx;
-					height: 47rpx;
+				.mr_30 {
+					margin-right: 30rpx;
 				}
 				}
+			}
+
+			.all_box {
+				box-sizing: border-box;
+				padding-right: 26rpx;
+				display: flex;
+				justify-content: space-between;
+				font-size: 28rpx;
+
+				.box_list {
+					margin-bottom: 28rpx;
+					color: #808080;
 
 
-				.img2 {
-					margin: 0 30rpx;
-					width: 37rpx;
-					height: 37rpx;
+					.list_item {
+						margin-top: 30rpx;
+					}
 				}
 				}
 
 
-				.img3 {
-					margin: 0 30rpx;
-					width: 40rpx;
-					height: 40rpx;
+				.box_total {
+					display: flex;
+					justify-content: center;
+					align-items: center;
 				}
 				}
 			}
 			}
 		}
 		}

+ 74 - 15
pages/detail/detail.vue

@@ -2,7 +2,7 @@
 	<view class="container" :style="'overflow:' + (showPage ? 'hidden' : 'visible')">
 	<view class="container" :style="'overflow:' + (showPage ? 'hidden' : 'visible')">
 		<!-- 顶部民宿图片区域 -->
 		<!-- 顶部民宿图片区域 -->
 		<view class="banner">
 		<view class="banner">
-			<img class="img" :src="info.imgUrl" />
+			<img class="img" :src="info.imgUrl || '../../static/index/banner.png'" />
 
 
 			<view class="slogan">
 			<view class="slogan">
 				<img src="../../static/index/slogan.png" />
 				<img src="../../static/index/slogan.png" />
@@ -11,7 +11,7 @@
 
 
 		<!-- 民宿详细信息区域 -->
 		<!-- 民宿详细信息区域 -->
 		<view class="detail">
 		<view class="detail">
-			<view class="detail_name">{{ info.hotelName }}</view>
+			<view class="detail_name">{{ info.hotelName || '默认名字' }}</view>
 
 
 			<view class="detail_info">
 			<view class="detail_info">
 				<view class="info_left">2021年装修|2023年开业</view>
 				<view class="info_left">2021年装修|2023年开业</view>
@@ -39,10 +39,10 @@
 			<view class="address">
 			<view class="address">
 				<view class="address_left">宜春市靖安县北高速路口什么路899号</view>
 				<view class="address_left">宜春市靖安县北高速路口什么路899号</view>
 				<view class="address_right">
 				<view class="address_right">
-					<view class="right_box">
+					<view class="right_box" @click="handleMap(info)">
 						<img src="../../static/index/map.png" />
 						<img src="../../static/index/map.png" />
 					</view>
 					</view>
-					<view class="right_box">
+					<view class="right_box" @click="handlePhone(info.phone)">
 						<img src="../../static/index/phone.png" />
 						<img src="../../static/index/phone.png" />
 					</view>
 					</view>
 				</view>
 				</view>
@@ -115,7 +115,7 @@
 				</view>
 				</view>
 
 
 				<!-- 点击房型弹窗区域 -->
 				<!-- 点击房型弹窗区域 -->
-				<uv-popup ref="popup" bgColor="none" :safeAreaInsetBottom="false" :closeOnClickOverlay="false">
+				<uv-popup ref="popup" bgColor="none" :safeAreaInsetBottom="false">
 					<view class="body_pop">
 					<view class="body_pop">
 						<!-- 轮播图区域 -->
 						<!-- 轮播图区域 -->
 						<swiper indicator-dots circular indicator-color="#FFFFFF" indicator-active-color="#096562" class="pop_swiper">
 						<swiper indicator-dots circular indicator-color="#FFFFFF" indicator-active-color="#096562" class="pop_swiper">
@@ -128,6 +128,7 @@
 						</swiper>
 						</swiper>
 						<!-- 轮播图关闭图标区域 -->
 						<!-- 轮播图关闭图标区域 -->
 						<img class="pop_icon" src="../../static/index/close.png" @click="handleClosePop" />
 						<img class="pop_icon" src="../../static/index/close.png" @click="handleClosePop" />
+
 						<view class="pop_body">
 						<view class="pop_body">
 							<view class="body_title">{{ roomInfo.name }}</view>
 							<view class="body_title">{{ roomInfo.name }}</view>
 							<view class="body_tags">
 							<view class="body_tags">
@@ -150,14 +151,24 @@
 							</view>
 							</view>
 							<view class="body_title2">费用明细</view>
 							<view class="body_title2">费用明细</view>
 							<view class="body_detail">
 							<view class="body_detail">
-								<view>¥{{ roomInfo.price }}</view>
-								<view>
+								<view class="detail_old">¥{{ roomInfo.price }}</view>
+								<view class="detail_box">
+									黄金会员9折
+									<text>-¥25</text>
+								</view>
+								<view class="detail_box">
+									活动
+									<text>-¥2.5</text>
+								</view>
+
+								<view class="detail_new">
 									每间每晚
 									每间每晚
-									<text>¥{{ roomInfo.price }}</text>
+									<view class="ml_10 color">¥</view>
+									<view class="price color">{{ roomInfo.price }}</view>
 								</view>
 								</view>
 							</view>
 							</view>
 							<view class="body_bottom">
 							<view class="body_bottom">
-								<view class="bottom_left">
+								<view class="bottom_left" @click="handlePhone('18320846714')">
 									<img class="img" src="../../static/index/phone2.png" />
 									<img class="img" src="../../static/index/phone2.png" />
 									联系商家
 									联系商家
 								</view>
 								</view>
@@ -229,10 +240,28 @@ export default {
 	},
 	},
 	onLoad(options) {
 	onLoad(options) {
 		// console.log(JSON.parse(options.info))
 		// console.log(JSON.parse(options.info))
-		this.info = JSON.parse(options.info)
+		if (options.info) {
+			this.info = JSON.parse(options.info)
+		}
 		this.getTimes()
 		this.getTimes()
 	},
 	},
 	methods: {
 	methods: {
+		// 点击地图图标回调
+		handleMap(item) {
+			uni.openLocation({
+				latitude: 28.86054,
+				longitude: 115.361744,
+				name: item.hotelName,
+				address: '靖安县---详细地址',
+				success: () => {}
+			})
+		},
+		// 点击电话图标回调
+		handlePhone(phone) {
+			uni.makePhoneCall({
+				phoneNumber: phone
+			})
+		},
 		// 点击弹窗关闭图标回调
 		// 点击弹窗关闭图标回调
 		handleClosePop() {
 		handleClosePop() {
 			this.showPage = false
 			this.showPage = false
@@ -695,18 +724,48 @@ export default {
 						display: flex;
 						display: flex;
 						flex-direction: column;
 						flex-direction: column;
 						justify-content: space-between;
 						justify-content: space-between;
-						align-items: flex-end;
+						// align-items: flex-end;
 						box-sizing: border-box;
 						box-sizing: border-box;
 						padding: 20rpx 30rpx;
 						padding: 20rpx 30rpx;
 						margin-top: 18rpx;
 						margin-top: 18rpx;
 						width: 710rpx;
 						width: 710rpx;
-						height: 215rpx;
-						font-size: 28rpx;
+						height: 266rpx;
+						font-size: 24rpx;
 						border-radius: 7rpx;
 						border-radius: 7rpx;
 						background-color: #f2f2f2;
 						background-color: #f2f2f2;
 
 
-						text {
-							color: #ff5733;
+						.detail_old {
+							text-align: end;
+							text-decoration: line-through;
+						}
+
+						.detail_box {
+							display: flex;
+							justify-content: space-between;
+							color: #808080;
+
+							text {
+								color: #ff5733;
+							}
+						}
+
+						.detail_new {
+							display: flex;
+							justify-content: flex-end;
+							align-items: center;
+							font-size: 24rpx;
+
+							.color {
+								color: #ff5733;
+							}
+
+							.price {
+								font-size: 36rpx;
+							}
+
+							.ml_10 {
+								margin-left: 10rpx;
+							}
 						}
 						}
 					}
 					}
 
 

+ 13 - 7
pages/detailInfo/detailInfo.vue

@@ -28,7 +28,7 @@
 					<img src="../../static/index/address.png" />
 					<img src="../../static/index/address.png" />
 				</view>
 				</view>
 			</view>
 			</view>
-			<view class="body_phone">联系电话:13656895689</view>
+			<view class="body_phone" @click="handlePhone('18320846714')">联系电话:13656895689</view>
 
 
 			<view class="body_title">政策</view>
 			<view class="body_title">政策</view>
 			<view class="body_box">
 			<view class="body_box">
@@ -59,6 +59,11 @@ export default {
 	methods: {
 	methods: {
 		handleBack() {
 		handleBack() {
 			uni.navigateBack(1)
 			uni.navigateBack(1)
+		},
+		handlePhone(phone) {
+			uni.makePhoneCall({
+				phoneNumber: phone
+			})
 		}
 		}
 	}
 	}
 }
 }
@@ -70,6 +75,7 @@ export default {
 	height: 100vh;
 	height: 100vh;
 	overflow: hidden;
 	overflow: hidden;
 	background-color: #fff;
 	background-color: #fff;
+
 	.header {
 	.header {
 		position: relative;
 		position: relative;
 		height: 480rpx;
 		height: 480rpx;
@@ -90,7 +96,7 @@ export default {
 
 
 		.header_icon {
 		.header_icon {
 			position: absolute;
 			position: absolute;
-			top: 56rpx;
+			top: 76rpx;
 			left: 5rpx;
 			left: 5rpx;
 			width: 47rpx;
 			width: 47rpx;
 			height: 47rpx;
 			height: 47rpx;
@@ -98,7 +104,7 @@ export default {
 
 
 		.header_name {
 		.header_name {
 			position: absolute;
 			position: absolute;
-			top: 135rpx;
+			top: 155rpx;
 			left: 30rpx;
 			left: 30rpx;
 			font-size: 40rpx;
 			font-size: 40rpx;
 			font-weight: bold;
 			font-weight: bold;
@@ -106,14 +112,14 @@ export default {
 
 
 		.header_info {
 		.header_info {
 			position: absolute;
 			position: absolute;
-			top: 215rpx;
+			top: 230rpx;
 			left: 30rpx;
 			left: 30rpx;
 			font-size: 24rpx;
 			font-size: 24rpx;
 		}
 		}
 
 
 		.header_types {
 		.header_types {
 			position: absolute;
 			position: absolute;
-			top: 261rpx;
+			top: 281rpx;
 			left: 30rpx;
 			left: 30rpx;
 			display: flex;
 			display: flex;
 			font-size: 20rpx;
 			font-size: 20rpx;
@@ -131,12 +137,12 @@ export default {
 
 
 	.body {
 	.body {
 		position: absolute;
 		position: absolute;
-		top: 322rpx;
+		top: 350rpx;
 		left: 0;
 		left: 0;
 		right: 0;
 		right: 0;
 		box-sizing: border-box;
 		box-sizing: border-box;
 		padding: 0 30rpx 50rpx;
 		padding: 0 30rpx 50rpx;
-		height: calc(100vh - 322rpx);
+		height: calc(100vh - 350rpx);
 		border-radius: 20rpx 20rpx 0 0;
 		border-radius: 20rpx 20rpx 0 0;
 		background-color: #fff;
 		background-color: #fff;
 		overflow-y: auto;
 		overflow-y: auto;

+ 284 - 0
pages/home/home.vue

@@ -0,0 +1,284 @@
+<template>
+	<view class="container">
+		<!-- 搜索框区域 -->
+		<uv-row custom-style="margin: 10px 0px" gutter="10">
+			<picker @change="bindPickerChange" :value="placeIndex" :range="placeList">
+				<view class="address">
+					<view class="address_text">{{ placeList[placeIndex] }}</view>
+					<img src="../../static/index/bottom.png" />
+				</view>
+			</picker>
+
+			<view class="search">
+				<view class="add">
+					<image class="img" src="../../static/index/search.png" mode="aspectFit"></image>
+				</view>
+				<input class="inp" type="text" v-model="keywords" placeholder="请输入关键字搜索" />
+				<view class="btnSearch" @click="searchHandler()">搜索</view>
+			</view>
+		</uv-row>
+
+		<!-- 名宿列表区域 -->
+		<view class="body">
+			<!-- 每一个名宿区域 -->
+			<view class="item" v-for="item in hotelList" :key="item.id" @click="goPageDetail(item)">
+				<image class="item-img" :src="item.imgUrl" mode="scaleToFill"></image>
+				<view class="descrition">
+					<text class="title">{{ item.hotelName }}</text>
+					<text class="type">{{ item.type }}</text>
+					<text class="distance">距您直线{{ item.distance }}公里</text>
+					<view class="detail">
+						<img class="img" src="../../static/index/hotel.png" />
+						<view class="price">
+							<text class="txt1">¥{{ item.price }}</text>
+							<text class="txt2">起</text>
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			// 搜索框绑定数据
+			keywords: '',
+			// 名宿列表数组
+			hotelList: [
+				{
+					id: 1,
+					imgUrl: '../../static/search/img.png',
+					hotelName: '双溪镇抱朴小院',
+					type: '舒适型',
+					distance: '7.2',
+					price: 180,
+					phone: '18320846714'
+				},
+				{
+					id: 2,
+					imgUrl: '../../static/index/banner.png',
+					hotelName: '幸福乡宿',
+					type: '舒适型',
+					distance: '3.2',
+					price: 190,
+					phone: '18320846714'
+				},
+				{
+					id: 3,
+					imgUrl: '../../static/index/banner.png',
+					hotelName: '健康乡宿',
+					type: '舒适型',
+					distance: '8.6',
+					price: 150,
+					phone: '18320846714'
+				},
+				{
+					id: 4,
+					imgUrl: '../../static/search/img.png',
+					hotelName: '开心乡宿',
+					type: '舒适型',
+					distance: '6.2',
+					price: 180,
+					phone: '18320846714'
+				},
+				{
+					id: 5,
+					imgUrl: '../../static/index/banner.png',
+					hotelName: '快乐乡宿',
+					type: '舒适型',
+					distance: '3.9',
+					price: 280,
+					phone: '18320846714'
+				}
+			],
+			// 地区数组
+			placeList: ['靖安县', '宝峰镇', '三爪乡'],
+			// 当前选择地区索引
+			placeIndex: 0
+		}
+	},
+	onLoad() {},
+	methods: {
+		// 搜索按钮点击回调
+		searchHandler() {
+			console.log(this.keywords)
+		},
+		// 点击每一个名宿卡片回调
+		goPageDetail(item) {
+			// console.log(item)
+			const info = JSON.stringify(item)
+			uni.navigateTo({
+				url: `/pages/detail/detail?info=${info}`
+			})
+		},
+		bindPickerChange(e) {
+			console.log('picker发送选择改变,携带值为', e.detail.value)
+			this.placeIndex = e.detail.value
+		}
+	}
+}
+</script>
+
+<style lang="scss" scoped>
+.container {
+	display: flex;
+	flex-direction: column;
+	width: 750rpx;
+	padding: 0 30rpx;
+	box-sizing: border-box;
+	background-color: #ebeced;
+
+	.address {
+		display: flex;
+		width: 152rpx;
+		font-size: 28rpx;
+
+		.address_text {
+			width: 104rpx;
+			text-align: center;
+			overflow: hidden;
+			white-space: nowrap;
+			text-overflow: ellipsis;
+		}
+
+		img {
+			width: 48rpx;
+			height: 48rpx;
+		}
+	}
+
+	.search {
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		width: 538rpx;
+		height: 80rpx;
+		opacity: 1;
+		border-radius: 70px;
+		background-color: #fff;
+
+		.add {
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			margin-left: 10rpx;
+			width: 60rpx;
+			font-size: 50rpx;
+			height: 60rpx;
+			line-height: 60rpx;
+			color: rgba(30, 125, 251, 1);
+
+			.img {
+				width: 30rpx;
+				height: 30rpx;
+			}
+		}
+
+		.inp {
+			height: 60rpx;
+			line-height: 60rpx;
+			flex-grow: 1;
+			font-size: 28rpx;
+		}
+
+		.btnSearch {
+			width: 100rpx;
+			text-align: center;
+			margin-right: 10rpx;
+			height: 60rpx;
+			line-height: 60rpx;
+			opacity: 1;
+			font-size: 28rpx;
+			font-weight: 400;
+			height: 2rem;
+			color: #096562;
+		}
+	}
+
+	.body {
+		display: flex;
+		justify-content: space-between;
+		flex-wrap: wrap;
+
+		.item {
+			width: 335rpx;
+			box-sizing: border-box;
+			margin-bottom: 20rpx;
+
+			.item-img {
+				width: 100%;
+				height: 223rpx;
+				border-radius: 18rpx 18rpx 0 0;
+				box-sizing: border-box;
+			}
+
+			.descrition {
+				display: flex;
+				flex-direction: column;
+				width: 100%;
+				border-radius: 0 0 18rpx 18rpx;
+				box-sizing: border-box;
+				background: rgba(255, 255, 255, 1);
+				margin-top: -10rpx;
+
+				.title {
+					font-size: 28rpx;
+					font-weight: 600;
+					padding: 20rpx 20rpx 10rpx;
+					color: rgba(0, 0, 0, 1);
+				}
+
+				.type {
+					padding: 5rpx 20rpx;
+					font-size: 24rpx;
+					color: #a6a6a6;
+				}
+
+				.distance {
+					padding: 10rpx 20rpx;
+					font-size: 24rpx;
+					color: #a6a6a6;
+				}
+
+				.detail {
+					display: flex;
+					flex-direction: row;
+					justify-content: space-between;
+					align-items: center;
+					padding: 0 20rpx 20rpx 20rpx;
+					color: rgba(0, 0, 0, 1);
+
+					.img {
+						width: 40rpx;
+						height: 40rpx;
+					}
+
+					.price {
+						.txt1 {
+							font-size: 36rpx;
+							font-weight: 600;
+							color: rgba(255, 87, 51, 1);
+						}
+
+						.txt2 {
+							font-size: 24rpx;
+							font-weight: 400;
+							color: #a6a6a6;
+						}
+					}
+
+					.score {
+						font-size: 24rpx;
+						font-weight: 400;
+						padding-top: 10rpx;
+						color: rgba(166, 166, 166, 1);
+					}
+				}
+			}
+		}
+	}
+}
+</style>

+ 24 - 244
pages/index/index.vue

@@ -1,107 +1,33 @@
 <template>
 <template>
-	<view class="container">
-		<!-- 搜索框区域 -->
-		<uv-row custom-style="margin: 10px 0px" gutter="10">
-			<view class="address">
-				<view class="">靖安县</view>
-				<img src="../../static/index/bottom.png" />
-			</view>
-
-			<view class="search">
-				<view class="add">
-					<image class="img" src="../../static/index/search.png" mode="aspectFit"></image>
-				</view>
-				<input class="inp" type="text" v-model="keywords" placeholder="请输入关键字搜索" />
-				<view class="btnSearch" @click="searchHandler()">搜索</view>
-			</view>
-		</uv-row>
-
-		<!-- 名宿列表区域 -->
-		<view class="body">
-			<!-- 每一个名宿区域 -->
-			<view class="item" v-for="item in hotelList" :key="item.id" @click="goPageDetail(item)">
-				<image class="item-img" :src="item.imgUrl" mode="scaleToFill"></image>
-				<view class="descrition">
-					<text class="title">{{ item.hotelName }}</text>
-					<text class="type">{{ item.type }}</text>
-					<text class="distance">距您直线{{ item.distance }}公里</text>
-					<view class="detail">
-						<img class="img" src="../../static/index/hotel.png" />
-						<view class="price">
-							<text class="txt1">¥{{ item.price }}</text>
-							<text class="txt2">起</text>
-						</view>
-						<!-- <text class="score">5.0分</text> -->
-					</view>
-				</view>
-			</view>
-		</view>
-	</view>
+	<view class="container"></view>
 </template>
 </template>
 
 
 <script>
 <script>
 export default {
 export default {
 	data() {
 	data() {
-		return {
-			// 搜索框绑定数据
-			keywords: '',
-			// 名宿列表数组
-			hotelList: [
-				{
-					id: 1,
-					imgUrl: '../../static/search/img.png',
-					hotelName: '双溪镇抱朴小院',
-					type: '舒适型',
-					distance: '7.2',
-					price: 180
-				},
-				{
-					id: 2,
-					imgUrl: '../../static/index/banner.png',
-					hotelName: '幸福乡宿',
-					type: '舒适型',
-					distance: '3.2',
-					price: 190
-				},
-				{
-					id: 3,
-					imgUrl: '../../static/index/banner.png',
-					hotelName: '健康乡宿',
-					type: '舒适型',
-					distance: '8.6',
-					price: 150
-				},
-				{
-					id: 4,
-					imgUrl: '../../static/search/img.png',
-					hotelName: '开心乡宿',
-					type: '舒适型',
-					distance: '6.2',
-					price: 180
-				},
-				{
-					id: 5,
-					imgUrl: '../../static/index/banner.png',
-					hotelName: '快乐乡宿',
-					type: '舒适型',
-					distance: '3.9',
-					price: 280
-				}
-			]
-		}
+		return {}
+	},
+	onLoad() {
+		// this.shouquan()
+		uni.switchTab({
+			url: '/pages/home/home'
+		})
 	},
 	},
-	onLoad() {},
 	methods: {
 	methods: {
-		// 搜索按钮点击回调
-		searchHandler() {
-			console.log(this.keywords)
-		},
-		// 点击每一个名宿卡片回调
-		goPageDetail(item) {
-			// console.log(item)
-			const info = JSON.stringify(item)
-			uni.navigateTo({
-				url: `/pages/detail/detail?info=${info}`
+		//授权
+		shouquan() {
+			uni.login({
+				provider: 'weixin', //使用微信登录
+				success: function (loginRes) {
+					console.log(loginRes)
+					console.log(loginRes.authResult)
+					uni.getUserProfile({
+						desc: '用于完善用户资料',
+						success: function (res) {
+							console.log('res', res)
+						}
+					})
+				}
 			})
 			})
 		}
 		}
 	}
 	}
@@ -110,153 +36,7 @@ export default {
 
 
 <style lang="scss" scoped>
 <style lang="scss" scoped>
 .container {
 .container {
-	display: flex;
-	flex-direction: column;
-	width: 750rpx;
-	padding: 0 30rpx;
-	box-sizing: border-box;
-	background-color: #ebeced;
-
-	.address {
-		display: flex;
-		width: 152rpx;
-		font-size: 28rpx;
-
-		img {
-			width: 48rpx;
-			height: 48rpx;
-		}
-	}
-
-	.search {
-		display: flex;
-		justify-content: space-between;
-		align-items: center;
-		width: 538rpx;
-		height: 80rpx;
-		opacity: 1;
-		border-radius: 70px;
-		background-color: #fff;
-
-		.add {
-			display: flex;
-			justify-content: center;
-			align-items: center;
-			margin-left: 10rpx;
-			width: 60rpx;
-			font-size: 50rpx;
-			height: 60rpx;
-			line-height: 60rpx;
-			color: rgba(30, 125, 251, 1);
-
-			.img {
-				width: 30rpx;
-				height: 30rpx;
-			}
-		}
-
-		.inp {
-			height: 60rpx;
-			line-height: 60rpx;
-			flex-grow: 1;
-			font-size: 28rpx;
-		}
-
-		.btnSearch {
-			width: 100rpx;
-			text-align: center;
-			margin-right: 10rpx;
-			height: 60rpx;
-			line-height: 60rpx;
-			opacity: 1;
-			font-size: 28rpx;
-			font-weight: 400;
-			height: 2rem;
-			color: #096562;
-		}
-	}
-
-	.body {
-		display: flex;
-		justify-content: space-between;
-		flex-wrap: wrap;
-
-		.item {
-			width: 335rpx;
-			box-sizing: border-box;
-			margin-bottom: 20rpx;
-
-			.item-img {
-				width: 100%;
-				height: 223rpx;
-				border-radius: 18rpx 18rpx 0 0;
-				box-sizing: border-box;
-			}
-
-			.descrition {
-				display: flex;
-				flex-direction: column;
-				width: 100%;
-				border-radius: 0 0 18rpx 18rpx;
-				box-sizing: border-box;
-				background: rgba(255, 255, 255, 1);
-				margin-top: -10rpx;
-
-				.title {
-					font-size: 28rpx;
-					font-weight: 600;
-					padding: 20rpx 20rpx 10rpx;
-					color: rgba(0, 0, 0, 1);
-				}
-
-				.type {
-					padding: 5rpx 20rpx;
-					font-size: 24rpx;
-					color: #a6a6a6;
-				}
-
-				.distance {
-					padding: 10rpx 20rpx;
-					font-size: 24rpx;
-					color: #a6a6a6;
-				}
-
-				.detail {
-					display: flex;
-					flex-direction: row;
-					justify-content: space-between;
-					align-items: center;
-					padding: 0 20rpx 20rpx 20rpx;
-					color: rgba(0, 0, 0, 1);
-
-					.img {
-						width: 40rpx;
-						height: 40rpx;
-					}
-
-					.price {
-						.txt1 {
-							font-size: 36rpx;
-							font-weight: 600;
-							color: rgba(255, 87, 51, 1);
-						}
-
-						.txt2 {
-							font-size: 24rpx;
-							font-weight: 400;
-							color: #a6a6a6;
-						}
-					}
-
-					.score {
-						font-size: 24rpx;
-						font-weight: 400;
-						padding-top: 10rpx;
-						color: rgba(166, 166, 166, 1);
-					}
-				}
-			}
-		}
-	}
+	height: 100vh;
+	background-color: #fff;
 }
 }
 </style>
 </style>

+ 127 - 14
pages/orderDetail/orderDetail.vue

@@ -8,12 +8,36 @@
 			<view class="header_title">订单详情</view>
 			<view class="header_title">订单详情</view>
 			<!-- 返回图标区域 -->
 			<!-- 返回图标区域 -->
 			<img class="header_icon" src="../../static/index/left.png" @click="handleBack" />
 			<img class="header_icon" src="../../static/index/left.png" @click="handleBack" />
-			<view class="header_type">订单超时</view>
-			<view class="header_info">订单已超过可支付时间,请重新下单</view>
+
+			<view class="header_type" v-if="type === '1'">代付款</view>
+			<view class="header_info" v-if="type === '1'">超时后,订单将会自动取消</view>
+			<view class="header_type" v-if="type === '2'">支付超时</view>
+			<view class="header_info" v-if="type === '2'">订单已超过可支付时间,请重新下单</view>
+			<view class="header_type" v-if="type === '3'">已支付</view>
+			<view class="header_info" v-if="type === '3'">订单已支付,请等待商家接单</view>
+			<view class="header_type" v-if="type === '4'">已取消</view>
+			<view class="header_info" v-if="type === '4'">订单已取消,请重新下单</view>
+			<view class="header_type" v-if="type === '5'">已退单</view>
+			<view class="header_info" v-if="type === '5'">订单已被商家退单,请重新下单</view>
+			<view class="header_type" v-if="type === '6'">待入住</view>
+			<view class="header_info" v-if="type === '6'">订单已被商家接单,请前往办理入住</view>
+			<view class="header_type" v-if="type === '7'">已入住</view>
+			<view class="header_info" v-if="type === '7'">订单已办理入住</view>
+			<view class="header_type" v-if="type === '8'">已退款</view>
+			<view class="header_info" v-if="type === '8'">订单已退款</view>
+			<view class="header_type" v-if="type === '9'">已消费</view>
+			<view class="header_info" v-if="type === '9'">您的订单已消费,期待您再次预定哦</view>
+
 			<view class="header_btn">
 			<view class="header_btn">
-				<view class="btn_box">再次预定</view>
-				<view class="btn_box">删除订单</view>
+				<view class="btn_box" v-if="type === '1'" @click="handlePay">去支付 ¥280.00</view>
+				<view class="btn_box" v-if="type === '3' || type === '6'" @click="handleCancel">取消订单</view>
+				<view class="btn_box" v-if="type === '2' || type === '4' || type === '5' || type === '7' || type === '8' || type === '9'" @click="handleAgain">再次预定</view>
+				<view class="btn_box" @click="handleDelete">删除订单</view>
 			</view>
 			</view>
+
+			<view class="header_msg" v-if="type === '1'">预定成功后,07月26日12:00前可免费取消</view>
+			<view class="header_msg" v-if="type === '3' || type === '6'">办理入住前,您均可取消订单</view>
+			<view class="header_msg" v-if="type === '8'">您的订单被商家退款了,请重新预定</view>
 		</view>
 		</view>
 
 
 		<!-- 主体内容区域 -->
 		<!-- 主体内容区域 -->
@@ -41,11 +65,11 @@
 					</view>
 					</view>
 				</view>
 				</view>
 				<view class="box_btn">
 				<view class="box_btn">
-					<view class="btn_item">
+					<view class="btn_item" @click="handleMap">
 						<img class="img" src="../../static/my/map.png" />
 						<img class="img" src="../../static/my/map.png" />
 						地图/导航
 						地图/导航
 					</view>
 					</view>
-					<view class="btn_item">
+					<view class="btn_item" @click="handlePhone('18320846714')">
 						<img class="img2" src="../../static/my/phone.png" />
 						<img class="img2" src="../../static/my/phone.png" />
 						联系商家
 						联系商家
 					</view>
 					</view>
@@ -94,7 +118,7 @@
 				<view class="box_container">
 				<view class="box_container">
 					<view class="container_key">订单号</view>
 					<view class="container_key">订单号</view>
 					<view class="container_value">2626262626260660606</view>
 					<view class="container_value">2626262626260660606</view>
-					<view class="container_copy">复制</view>
+					<view class="container_copy" @click="handleCopy('2626262626260660606')">复制</view>
 				</view>
 				</view>
 				<view class="box_container">
 				<view class="box_container">
 					<view class="container_key">下单时间</view>
 					<view class="container_key">下单时间</view>
@@ -108,11 +132,92 @@
 <script>
 <script>
 export default {
 export default {
 	data() {
 	data() {
-		return {}
+		return {
+			// 订单类型
+			type: null
+		}
+	},
+	onLoad(options) {
+		this.type = options.type
 	},
 	},
 	methods: {
 	methods: {
+		// 点击复制文字回调
+		handleCopy(text) {
+			uni.setClipboardData({
+				data: text,
+				success: () => {}
+			})
+		},
 		handleBack() {
 		handleBack() {
 			uni.navigateBack(1)
 			uni.navigateBack(1)
+		},
+		// 点击地图/导航文字回调
+		handleMap() {
+			uni.openLocation({
+				latitude: 28.86054,
+				longitude: 115.361744,
+				name: '',
+				address: '靖安县---详细地址',
+				success: () => {}
+			})
+		},
+		// 点击联系商家文字回调
+		handlePhone(phone) {
+			uni.makePhoneCall({
+				phoneNumber: phone
+			})
+		},
+		// 点击去支付按钮回调
+		handlePay() {
+			uni.navigateTo({
+				url: '/pages/pay/pay'
+			})
+		},
+		// 点击取消订单按钮回调
+		handleCancel() {
+			uni.showModal({
+				title: '提示',
+				content: '确定取消该订单吗?',
+				success: (res) => {
+					if (res.confirm) {
+						uni.showToast({
+							title: '取消成功',
+							icon: 'success'
+						})
+						setTimeout(() => {
+							uni.redirectTo({
+								url: '/pages/orderManage/orderManage'
+							})
+						}, 1500)
+					}
+				}
+			})
+		},
+		// 点击再次预定按钮回调
+		handleAgain() {
+			uni.navigateTo({
+				url: '/pages/detail/detail'
+			})
+		},
+		// 点击删除订单按钮回调
+		handleDelete() {
+			uni.showModal({
+				title: '提示',
+				content: '确定删除该订单吗?',
+				success: (res) => {
+					if (res.confirm) {
+						uni.showToast({
+							title: '删除成功',
+							icon: 'success'
+						})
+						setTimeout(() => {
+							uni.redirectTo({
+								url: '/pages/orderManage/orderManage'
+							})
+						}, 1500)
+					}
+				}
+			})
 		}
 		}
 	}
 	}
 }
 }
@@ -142,7 +247,7 @@ export default {
 
 
 		.header_icon {
 		.header_icon {
 			position: absolute;
 			position: absolute;
-			top: 56rpx;
+			top: 76rpx;
 			left: 10rpx;
 			left: 10rpx;
 			width: 47rpx;
 			width: 47rpx;
 			height: 47rpx;
 			height: 47rpx;
@@ -150,21 +255,22 @@ export default {
 
 
 		.header_type {
 		.header_type {
 			position: absolute;
 			position: absolute;
-			top: 144rpx;
+			top: 162rpx;
 			left: 30rpx;
 			left: 30rpx;
 			font-size: 40rpx;
 			font-size: 40rpx;
+			font-weight: bold;
 		}
 		}
 
 
 		.header_info {
 		.header_info {
 			position: absolute;
 			position: absolute;
-			top: 215rpx;
+			top: 235rpx;
 			left: 30rpx;
 			left: 30rpx;
 			font-size: 24rpx;
 			font-size: 24rpx;
 		}
 		}
 
 
 		.header_btn {
 		.header_btn {
 			position: absolute;
 			position: absolute;
-			top: 280rpx;
+			top: 290rpx;
 			left: 30rpx;
 			left: 30rpx;
 			right: 30rpx;
 			right: 30rpx;
 			display: flex;
 			display: flex;
@@ -182,16 +288,23 @@ export default {
 				background-color: #fff;
 				background-color: #fff;
 			}
 			}
 		}
 		}
+
+		.header_msg {
+			position: absolute;
+			top: 378rpx;
+			left: 30rpx;
+			font-size: 24rpx;
+		}
 	}
 	}
 
 
 	.body {
 	.body {
 		position: absolute;
 		position: absolute;
-		top: 390rpx;
+		top: 430rpx;
 		left: 0;
 		left: 0;
 		right: 0;
 		right: 0;
 		box-sizing: border-box;
 		box-sizing: border-box;
 		padding: 20rpx;
 		padding: 20rpx;
-		height: calc(100vh - 390rpx);
+		height: calc(100vh - 430rpx);
 		border-radius: 20rpx 20rpx 0 0;
 		border-radius: 20rpx 20rpx 0 0;
 		background-color: #ebeced;
 		background-color: #ebeced;
 		overflow-y: auto;
 		overflow-y: auto;

+ 92 - 9
pages/orderManage/orderManage.vue

@@ -9,15 +9,23 @@
 						<img class="img" src="../../static/my/delete.png" />
 						<img class="img" src="../../static/my/delete.png" />
 					</view>
 					</view>
 				</template>
 				</template>
-				<view class="order_box" @click="goPageOrderDetail">
+				<view class="order_box" @click="goPageOrderDetail(item.type)">
 					<!-- 标题区域 -->
 					<!-- 标题区域 -->
 					<view class="box_header">
 					<view class="box_header">
 						<img class="img" src="../../static/my/hotel.png" />
 						<img class="img" src="../../static/my/hotel.png" />
 						<view class="title">{{ item.hotelName }}</view>
 						<view class="title">{{ item.hotelName }}</view>
-						<view class="type type2" v-if="item.type === 1">待付款,剩余15:00</view>
+						<view class="type type2" v-if="item.type === 1">
+							待付款,剩余
+							<uv-count-down :time="countDownTime" format="mm:ss" @change="change" @finish="finish"></uv-count-down>
+						</view>
 						<view class="type" v-if="item.type === 2">支付超时</view>
 						<view class="type" v-if="item.type === 2">支付超时</view>
 						<view class="type" v-if="item.type === 3">已支付</view>
 						<view class="type" v-if="item.type === 3">已支付</view>
 						<view class="type" v-if="item.type === 4">已取消</view>
 						<view class="type" v-if="item.type === 4">已取消</view>
+						<view class="type" v-if="item.type === 5">已退单</view>
+						<view class="type" v-if="item.type === 6">待入住</view>
+						<view class="type" v-if="item.type === 7">已入住</view>
+						<view class="type" v-if="item.type === 8">已退款</view>
+						<view class="type" v-if="item.type === 9">已消费</view>
 					</view>
 					</view>
 
 
 					<!-- 酒店信息区域 -->
 					<!-- 酒店信息区域 -->
@@ -32,8 +40,8 @@
 
 
 					<!-- 按钮区域 -->
 					<!-- 按钮区域 -->
 					<view class="box_btn" v-if="item.type === 1 || item.type === 2">
 					<view class="box_btn" v-if="item.type === 1 || item.type === 2">
-						<view class="btn_item" v-if="item.type === 1">预定</view>
-						<view class="btn_item" v-if="item.type === 2">再次预定</view>
+						<view class="btn_item" v-if="item.type === 1" @click="goPagePay">预定</view>
+						<view class="btn_item" v-if="item.type === 2" @click="goPageDetail">再次预定</view>
 					</view>
 					</view>
 				</view>
 				</view>
 			</uni-swipe-action-item>
 			</uni-swipe-action-item>
@@ -45,8 +53,12 @@
 export default {
 export default {
 	data() {
 	data() {
 		return {
 		return {
-			// type: 1 为待付款  2 为支付超时,
-			//       3 为已支付  4 为已取消
+			/* type
+			1 为待付款  2 为支付超时,
+		    3 为已支付  4 为已取消,
+			5 为已退单  6 为待入住,
+			7 为已入住  8 为已退款,
+			9 为已消费 */
 			orderList: [
 			orderList: [
 				{
 				{
 					id: 1,
 					id: 1,
@@ -71,15 +83,78 @@ export default {
 					hotelName: '幸福乡宿',
 					hotelName: '幸福乡宿',
 					type: 4,
 					type: 4,
 					imgUrl: '../../static/my/test.png'
 					imgUrl: '../../static/my/test.png'
+				},
+				{
+					id: 5,
+					hotelName: '靖安乡宿',
+					type: 5,
+					imgUrl: '../../static/my/test.png'
+				},
+				{
+					id: 6,
+					hotelName: '开心乡宿',
+					type: 6,
+					imgUrl: '../../static/my/test.png'
+				},
+				{
+					id: 7,
+					hotelName: '健康乡宿',
+					type: 7,
+					imgUrl: '../../static/my/test.png'
+				},
+				{
+					id: 8,
+					hotelName: '幸福乡宿',
+					type: 8,
+					imgUrl: '../../static/my/test.png'
+				},
+				{
+					id: 9,
+					hotelName: '幸福乡宿',
+					type: 9,
+					imgUrl: '../../static/my/test.png'
 				}
 				}
-			]
+			],
+			// 倒计时时间(毫秒)
+			countDownTime: 1000 * 60 * 15
 		}
 		}
 	},
 	},
 	methods: {
 	methods: {
+		// 倒计时变化时触发
+		change(e) {
+			// console.log(e)
+		},
+		// 倒计时结束回调
+		finish() {
+			uni.showModal({
+				title: '提示',
+				content: '订单已超过可支付时间,请重新下单',
+				showCancel: false,
+				success: (res) => {
+					if (res.confirm) {
+						uni.switchTab({
+							url: '/pages/home/home'
+						})
+					}
+				}
+			})
+		},
+		// 点击预定按钮回调
+		goPagePay() {
+			uni.navigateTo({
+				url: '/pages/pay/pay'
+			})
+		},
+		// 点击再次预定按钮回调
+		goPageDetail() {
+			uni.navigateTo({
+				url: '/pages/detail/detail'
+			})
+		},
 		// 点击每一个订单回调
 		// 点击每一个订单回调
-		goPageOrderDetail() {
+		goPageOrderDetail(type) {
 			uni.navigateTo({
 			uni.navigateTo({
-				url: '/pages/orderDetail/orderDetail'
+				url: `/pages/orderDetail/orderDetail?type=${type}`
 			})
 			})
 		},
 		},
 		// 右侧选项内容删除按钮回调
 		// 右侧选项内容删除按钮回调
@@ -149,6 +224,8 @@ export default {
 			}
 			}
 
 
 			.type {
 			.type {
+				display: flex;
+				align-items: center;
 				margin-left: auto;
 				margin-left: auto;
 				color: #808080;
 				color: #808080;
 				font-size: 28rpx;
 				font-size: 28rpx;
@@ -188,6 +265,7 @@ export default {
 		.box_btn {
 		.box_btn {
 			display: flex;
 			display: flex;
 			justify-content: flex-end;
 			justify-content: flex-end;
+			margin-top: -10rpx;
 			height: 100rpx;
 			height: 100rpx;
 
 
 			.btn_item {
 			.btn_item {
@@ -205,4 +283,9 @@ export default {
 		}
 		}
 	}
 	}
 }
 }
+
+// 修改倒计时字体颜色
+::v-deep .uv-count-down .uv-count-down__text {
+	color: #ff5733;
+}
 </style>
 </style>

+ 50 - 10
pages/pay/pay.vue

@@ -1,21 +1,24 @@
 <template>
 <template>
 	<view class="container">
 	<view class="container">
-		<view class="countDown">交易剩余时间15:00</view>
+		<view class="countDown">
+			交易剩余时间
+			<uv-count-down :time="countDownTime" format="mm:ss" @change="change" @finish="finish"></uv-count-down>
+		</view>
 		<view class="price">
 		<view class="price">
 			<text>¥</text>
 			<text>¥</text>
-			{{ info.price }}
+			{{ info.price || '188.00' }}
 		</view>
 		</view>
 
 
 		<view class="title">住房信息</view>
 		<view class="title">住房信息</view>
 		<view class="info">
 		<view class="info">
 			<view class="info_time">
 			<view class="info_time">
-				{{ info.startTimeMonth }}月{{ info.startTimeDay }}日
-				<text class="gap">星期{{ info.startTimeWeek }}</text>
+				{{ info.startTimeMonth || 8 }}月{{ info.startTimeDay || 2 }}日
+				<text class="gap">星期{{ info.startTimeWeek || '三' }}</text>
 				<view class="time_line"></view>
 				<view class="time_line"></view>
-				<view class="time_num">{{ info.nightNum }}晚</view>
+				<view class="time_num">{{ info.nightNum || 1 }}晚</view>
 				<view class="time_line"></view>
 				<view class="time_line"></view>
-				<view class="gap">{{ info.endTimeMonth }}月{{ info.endTimeDay }}日</view>
-				<text>星期{{ info.endTimeWeek }}</text>
+				<view class="gap">{{ info.endTimeMonth || 8 }}月{{ info.endTimeDay || 3 }}日</view>
+				<text>星期{{ info.endTimeWeek || '四' }}</text>
 			</view>
 			</view>
 			<view class="info_msg">大床房</view>
 			<view class="info_msg">大床房</view>
 			<view class="info_type">
 			<view class="info_type">
@@ -40,7 +43,7 @@
 		</view>
 		</view>
 
 
 		<!-- 提交订单区域 -->
 		<!-- 提交订单区域 -->
-		<view class="btn">提交订单</view>
+		<view class="btn" @click="handleSub">提交订单</view>
 	</view>
 	</view>
 </template>
 </template>
 
 
@@ -49,17 +52,54 @@ export default {
 	data() {
 	data() {
 		return {
 		return {
 			isChecked: true,
 			isChecked: true,
-			info: {}
+			info: {},
+			// 倒计时时间(毫秒)
+			countDownTime: 1000 * 60 * 15
 		}
 		}
 	},
 	},
 	onLoad(options) {
 	onLoad(options) {
-		this.info = JSON.parse(options.info)
+		if (options.info) {
+			this.info = JSON.parse(options.info)
+		}
 		console.log(this.info)
 		console.log(this.info)
 	},
 	},
 	methods: {
 	methods: {
+		// 点击提交订单按钮回调
+		handleSub() {
+			if (this.isChecked) {
+				// 1 支付成功  2 支付失败
+				uni.navigateTo({
+					url: '/pages/payStatus/payStatus?status=1'
+				})
+			} else {
+				uni.showToast({
+					title: '请选择支付方式',
+					icon: 'none'
+				})
+			}
+		},
 		// 点击支付方式回调
 		// 点击支付方式回调
 		handleChange() {
 		handleChange() {
 			this.isChecked = !this.isChecked
 			this.isChecked = !this.isChecked
+		},
+		// 倒计时变化时触发
+		change(e) {
+			// console.log(e)
+		},
+		// 倒计时结束回调
+		finish() {
+			uni.showModal({
+				title: '提示',
+				content: '订单已超过可支付时间,请重新下单',
+				showCancel: false,
+				success: (res) => {
+					if (res.confirm) {
+						uni.switchTab({
+							url: '/pages/home/home'
+						})
+					}
+				}
+			})
 		}
 		}
 	}
 	}
 }
 }

+ 73 - 0
pages/payStatus/payStatus.vue

@@ -0,0 +1,73 @@
+<template>
+	<view class="container">
+		<!-- 图标区域 -->
+		<img class="img" :src="status === '1' ? '../../static/index/success.png' : '../../static/index/fail.png'" />
+		<!-- 支付状态区域 -->
+		<view class="status">{{ status === '1' ? '支付成功' : '支付失败' }}</view>
+		<!-- 底部按钮区域 -->
+		<view class="btn" @click="handleClickBtn">{{ status === '1' ? '返回主页' : '重新支付' }}</view>
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			// 支付状态
+			status: ''
+		}
+	},
+	onLoad(options) {
+		this.status = options.status
+		console.log(this.status)
+	},
+	methods: {
+		// 点击底部按钮回调
+		handleClickBtn() {
+			if (this.status === '1') {
+				uni.switchTab({
+					url: '/pages/home/home'
+				})
+			} else if (this.status === '2') {
+			}
+		}
+	}
+}
+</script>
+
+<style lang="scss" scoped>
+.container {
+	display: flex;
+	flex-direction: column;
+	align-items: center;
+	height: 100vh;
+	background-color: #fff;
+
+	.img {
+		margin-top: 80rpx;
+		width: 134rpx;
+		height: 134rpx;
+		text-align: center;
+	}
+
+	.status {
+		margin-top: 40rpx;
+		font-size: 32rpx;
+		font-weight: bold;
+	}
+
+	.btn {
+		position: absolute;
+		bottom: 75rpx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		width: 710rpx;
+		height: 96rpx;
+		font-size: 32rpx;
+		color: #fff;
+		border-radius: 64rpx;
+		background-color: #096562;
+	}
+}
+</style>

+ 28 - 0
pages/photo/photo.vue

@@ -0,0 +1,28 @@
+<template>
+	<view class="container">
+		<img mode="aspectFit" src="../../static/my/portrait.png" />
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return {}
+	}
+}
+</script>
+
+<style lang="scss" scoped>
+.container {
+	display: flex;
+	justify-content: center;
+	align-items: center;
+	height: 100vh;
+	background-color: #000;
+
+	// .img {
+	// 	width: 100%;
+	// 	height: auto;
+	// }
+}
+</style>

+ 8 - 2
pages/set/set.vue

@@ -4,7 +4,7 @@
 			<!-- 个人头像区域 -->
 			<!-- 个人头像区域 -->
 			<view class="body_box">
 			<view class="body_box">
 				个人头像
 				个人头像
-				<view class="box_right">
+				<view class="box_right" @click="handleClickPhoto">
 					<img class="img" src="../../static/my/portrait.png" />
 					<img class="img" src="../../static/my/portrait.png" />
 
 
 					<img class="img2" src="../../static/my/right.png" />
 					<img class="img2" src="../../static/my/right.png" />
@@ -25,7 +25,6 @@
 				ID
 				ID
 				<view class="box_right">
 				<view class="box_right">
 					<view class="msg">1925689</view>
 					<view class="msg">1925689</view>
-					<img class="img2" src="../../static/my/right.png" />
 				</view>
 				</view>
 			</view>
 			</view>
 		</view>
 		</view>
@@ -36,6 +35,13 @@
 export default {
 export default {
 	data() {
 	data() {
 		return {}
 		return {}
+	},
+	methods: {
+		handleClickPhoto() {
+			uni.navigateTo({
+				url: '/pages/photo/photo'
+			})
+		}
 	}
 	}
 }
 }
 </script>
 </script>

BIN
static/index/fail.png


BIN
static/index/success.png


+ 7 - 0
uni_modules/uv-count-down/changelog.md

@@ -0,0 +1,7 @@
+## 1.0.2(2023-06-20)
+1. 增加外部样式customStyle参数
+## 1.0.1(2023-05-16)
+1. 优化组件依赖,修改后无需全局引入,组件导入即可使用
+2. 优化部分功能
+## 1.0.0(2023-05-10)
+uv-count-down 倒计时

+ 25 - 0
uni_modules/uv-count-down/components/uv-count-down/props.js

@@ -0,0 +1,25 @@
+export default {
+	props: {
+		// 倒计时时长,单位ms
+		time: {
+			type: [String, Number],
+			default: 0
+		},
+		// 时间格式,DD-日,HH-时,mm-分,ss-秒,SSS-毫秒
+		format: {
+			type: String,
+			default: 'HH:mm:ss'
+		},
+		// 是否自动开始倒计时
+		autoStart: {
+			type: Boolean,
+			default: true
+		},
+		// 是否展示毫秒倒计时
+		millisecond: {
+			type: Boolean,
+			default: false
+		},
+		...uni.$uv?.props?.countDown
+	}
+}

+ 62 - 0
uni_modules/uv-count-down/components/uv-count-down/utils.js

@@ -0,0 +1,62 @@
+// 补0,如1 -> 01
+function padZero(num, targetLength = 2) {
+    let str = `${num}`
+    while (str.length < targetLength) {
+        str = `0${str}`
+    }
+    return str
+}
+const SECOND = 1000
+const MINUTE = 60 * SECOND
+const HOUR = 60 * MINUTE
+const DAY = 24 * HOUR
+export function parseTimeData(time) {
+    const days = Math.floor(time / DAY)
+    const hours = Math.floor((time % DAY) / HOUR)
+    const minutes = Math.floor((time % HOUR) / MINUTE)
+    const seconds = Math.floor((time % MINUTE) / SECOND)
+    const milliseconds = Math.floor(time % SECOND)
+    return {
+        days,
+        hours,
+        minutes,
+        seconds,
+        milliseconds
+    }
+}
+export function parseFormat(format, timeData) {
+    let {
+        days,
+        hours,
+        minutes,
+        seconds,
+        milliseconds
+    } = timeData
+    // 如果格式化字符串中不存在DD(天),则将天的时间转为小时中去
+    if (format.indexOf('DD') === -1) {
+        hours += days * 24
+    } else {
+        // 对天补0
+        format = format.replace('DD', padZero(days))
+    }
+    // 其他同理于DD的格式化处理方式
+    if (format.indexOf('HH') === -1) {
+        minutes += hours * 60
+    } else {
+        format = format.replace('HH', padZero(hours))
+    }
+    if (format.indexOf('mm') === -1) {
+        seconds += minutes * 60
+    } else {
+        format = format.replace('mm', padZero(minutes))
+    }
+    if (format.indexOf('ss') === -1) {
+        milliseconds += seconds * 1000
+    } else {
+        format = format.replace('ss', padZero(seconds))
+    }
+    return format.replace('SSS', padZero(milliseconds, 3))
+}
+export function isSameSecond(time1, time2) {
+    return Math.floor(time1 / 1000) === Math.floor(time2 / 1000)
+}

+ 162 - 0
uni_modules/uv-count-down/components/uv-count-down/uv-count-down.vue

@@ -0,0 +1,162 @@
+<template>
+	<view 
+		class="uv-count-down"
+		:style="[$uv.addStyle(customStyle)]">
+		<slot>
+			<text class="uv-count-down__text">{{ formattedTime }}</text>
+		</slot>
+	</view>
+</template>
+<script>
+	import mpMixin from '@/uni_modules/uv-ui-tools/libs/mixin/mpMixin.js'
+	import mixin from '@/uni_modules/uv-ui-tools/libs/mixin/mixin.js'
+	import props from './props.js';
+	import {
+		isSameSecond,
+		parseFormat,
+		parseTimeData
+	} from './utils';
+	/**
+	 * uv-count-down 倒计时
+	 * @description 该组件一般使用于某个活动的截止时间上,通过数字的变化,给用户明确的时间感受,提示用户进行某一个行为操作。
+	 * @tutorial https://www.uvui.cn/components/countDown.html
+	 * @property {String | Number}	time		倒计时时长,单位ms (默认 0 )
+	 * @property {String}			format		时间格式,DD-日,HH-时,mm-分,ss-秒,SSS-毫秒  (默认 'HH:mm:ss' )
+	 * @property {Boolean}			autoStart	是否自动开始倒计时 (默认 true )
+	 * @property {Boolean}			millisecond	是否展示毫秒倒计时 (默认 false )
+	 * @event {Function} finish 倒计时结束时触发 
+	 * @event {Function} change 倒计时变化时触发 
+	 * @event {Function} start	开始倒计时
+	 * @event {Function} pause	暂停倒计时 
+	 * @event {Function} reset	重设倒计时,若 auto-start 为 true,重设后会自动开始倒计时 
+	 * @example <uv-count-down :time="time"></uv-count-down>
+	 */
+	export default {
+		name: 'uv-count-down',
+		mixins: [mpMixin, mixin, props],
+		data() {
+			return {
+				timer: null,
+				// 各单位(天,时,分等)剩余时间
+				timeData: parseTimeData(0),
+				// 格式化后的时间,如"03:23:21"
+				formattedTime: '0',
+				// 倒计时是否正在进行中
+				runing: false,
+				endTime: 0, // 结束的毫秒时间戳
+				remainTime: 0, // 剩余的毫秒时间
+			}
+		},
+		watch: {
+			time(n) {
+				this.reset()
+			}
+		},
+		mounted() {
+			this.init()
+		},
+		methods: {
+			init() {
+				this.reset()
+			},
+			// 开始倒计时
+			start() {
+				if (this.runing) return
+				// 标识为进行中
+				this.runing = true
+				// 结束时间戳 = 此刻时间戳 + 剩余的时间
+				this.endTime = Date.now() + this.remainTime
+				this.toTick()
+			},
+			// 根据是否展示毫秒,执行不同操作函数
+			toTick() {
+				if (this.millisecond) {
+					this.microTick()
+				} else {
+					this.macroTick()
+				}
+			},
+			macroTick() {
+				this.clearTimeout()
+				// 每隔一定时间,更新一遍定时器的值
+				// 同时此定时器的作用也能带来毫秒级的更新
+				this.timer = setTimeout(() => {
+					// 获取剩余时间
+					const remain = this.getRemainTime()
+					// 重设剩余时间
+					if (!isSameSecond(remain, this.remainTime) || remain === 0) {
+						this.setRemainTime(remain)
+					}
+					// 如果剩余时间不为0,则继续检查更新倒计时
+					if (this.remainTime !== 0) {
+						this.macroTick()
+					}
+				}, 30)
+			},
+			microTick() {
+				this.clearTimeout()
+				this.timer = setTimeout(() => {
+					this.setRemainTime(this.getRemainTime())
+					if (this.remainTime !== 0) {
+						this.microTick()
+					}
+				}, 50)
+			},
+			// 获取剩余的时间
+			getRemainTime() {
+				// 取最大值,防止出现小于0的剩余时间值
+				return Math.max(this.endTime - Date.now(), 0)
+			},
+			// 设置剩余的时间
+			setRemainTime(remain) {
+				this.remainTime = remain
+				// 根据剩余的毫秒时间,得出该有天,小时,分钟等的值,返回一个对象
+				const timeData = parseTimeData(remain)
+				this.$emit('change', timeData)
+				// 得出格式化后的时间
+				this.formattedTime = parseFormat(this.format, timeData)
+				// 如果时间已到,停止倒计时
+				if (remain <= 0) {
+					this.pause()
+					this.$emit('finish')
+				}
+			},
+			// 重置倒计时
+			reset() {
+				this.pause()
+				this.remainTime = this.time
+				this.setRemainTime(this.remainTime)
+				if (this.autoStart) {
+					this.start()
+				}
+			},
+			// 暂停倒计时
+			pause() {
+				this.runing = false;
+				this.clearTimeout()
+			},
+			// 清空定时器
+			clearTimeout() {
+				clearTimeout(this.timer)
+				this.timer = null
+			}
+		},
+		beforeDestroy() {
+			this.clearTimeout()
+		}
+	}
+</script>
+<style lang="scss" scoped>
+	@import '@/uni_modules/uv-ui-tools/libs/css/components.scss';
+	@import '@/uni_modules/uv-ui-tools/libs/css/color.scss';
+	$uv-count-down-text-color: $uv-content-color !default;
+	$uv-count-down-text-font-size: 15px !default;
+	$uv-count-down-text-line-height: 22px !default;
+	.uv-count-down {
+		&__text {
+			color: $uv-count-down-text-color;
+			font-size: $uv-count-down-text-font-size;
+			line-height: $uv-count-down-text-line-height;
+		}
+	}
+</style>

+ 87 - 0
uni_modules/uv-count-down/package.json

@@ -0,0 +1,87 @@
+{
+  "id": "uv-count-down",
+  "displayName": "uv-count-down 倒计时 全面兼容小程序、nvue、vue2、vue3等多端",
+  "version": "1.0.2",
+  "description": "该倒计时组件一般使用于某个活动的截止时间上,通过数字的变化,给用户明确的时间感受,提示用户进行某一个行为操作。",
+  "keywords": [
+    "uv-count-down",
+    "uvui",
+    "uv-ui",
+    "countDown",
+    "倒计时"
+],
+  "repository": "",
+  "engines": {
+    "HBuilderX": "^3.1.0"
+  },
+  "dcloudext": {
+    "type": "component-vue",
+    "sale": {
+      "regular": {
+        "price": "0.00"
+      },
+      "sourcecode": {
+        "price": "0.00"
+      }
+    },
+    "contact": {
+      "qq": ""
+    },
+    "declaration": {
+    	"ads": "无",
+    	"data": "插件不采集任何数据",
+    	"permissions": "无"
+    },
+    "npmurl": ""
+  },
+  "uni_modules": {
+    "dependencies": [
+			"uv-ui-tools"
+		],
+    "encrypt": [],
+    "platforms": {
+			"cloud": {
+				"tcb": "y",
+				"aliyun": "y"
+			},
+			"client": {
+				"Vue": {
+					"vue2": "y",
+					"vue3": "y"
+				},
+				"App": {
+					"app-vue": "y",
+					"app-nvue": "y"
+				},
+				"H5-mobile": {
+					"Safari": "y",
+					"Android Browser": "y",
+					"微信浏览器(Android)": "y",
+					"QQ浏览器(Android)": "y"
+				},
+				"H5-pc": {
+					"Chrome": "y",
+					"IE": "y",
+					"Edge": "y",
+					"Firefox": "y",
+					"Safari": "y"
+				},
+				"小程序": {
+					"微信": "y",
+					"阿里": "y",
+					"百度": "y",
+					"字节跳动": "y",
+					"QQ": "y",
+					"钉钉": "u",
+					"快手": "u",
+					"飞书": "u",
+					"京东": "u"
+				},
+				"快应用": {
+					"华为": "u",
+					"联盟": "u"
+				}
+			}
+		}
+  }
+}

+ 11 - 0
uni_modules/uv-count-down/readme.md

@@ -0,0 +1,11 @@
+## CountDown 倒计时
+
+> **组件名:uv-count-down**
+
+该组件一般使用于某个活动的截止时间上,通过数字的变化,给用户明确的时间感受,提示用户进行某一个行为操作。
+
+### <a href="https://www.uvui.cn/components/countDown.html" target="_blank">查看文档</a>
+
+### [完整示例项目下载 | 关注更多组件](https://ext.dcloud.net.cn/plugin?name=uv-ui)
+
+#### 如使用过程中有任何问题,或者您对uv-ui有一些好的建议,欢迎加入 uv-ui 交流群:<a href="https://ext.dcloud.net.cn/plugin?id=12287" target="_blank">uv-ui</a>、<a href="https://www.uvui.cn/components/addQQGroup.html" target="_blank">官方QQ群</a>

File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/addOrEdit/addOrEdit.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/affirmOrder/affirmOrder.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/common/common.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/detail/detail.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/detailInfo/detailInfo.js.map


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/home/home.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/my.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/orderDetail/orderDetail.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/orderManage/orderManage.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/pay/pay.js.map


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/payStatus/payStatus.js.map


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/photo/photo.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/search/search.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/set/set.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/setMeal/setMeal.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-button/components/uv-button/uv-button.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-calendar/components/uv-calendar/header.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-calendar/components/uv-calendar/month.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-calendar/components/uv-calendar/uv-calendar.js.map


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-count-down/components/uv-count-down/uv-count-down.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-icon/components/uv-icon/uv-icon.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-loading-icon/components/uv-loading-icon/uv-loading-icon.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-overlay/components/uv-overlay/uv-overlay.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-picker/components/uv-picker/uv-picker.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-picker/components/uv-toolbar/uv-toolbar.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-popup/components/uv-popup/uv-popup.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-row/components/uv-row/uv-row.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-safe-bottom/components/uv-safe-bottom/uv-safe-bottom.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-status-bar/components/uv-status-bar/uv-status-bar.js.map


+ 5 - 2
unpackage/dist/dev/mp-weixin/app.json

@@ -1,6 +1,7 @@
 {
 {
   "pages": [
   "pages": [
     "pages/index/index",
     "pages/index/index",
+    "pages/home/home",
     "pages/my/my",
     "pages/my/my",
     "pages/search/search",
     "pages/search/search",
     "pages/setMeal/setMeal",
     "pages/setMeal/setMeal",
@@ -12,7 +13,9 @@
     "pages/detailInfo/detailInfo",
     "pages/detailInfo/detailInfo",
     "pages/pay/pay",
     "pages/pay/pay",
     "pages/affirmOrder/affirmOrder",
     "pages/affirmOrder/affirmOrder",
-    "pages/orderDetail/orderDetail"
+    "pages/orderDetail/orderDetail",
+    "pages/payStatus/payStatus",
+    "pages/photo/photo"
   ],
   ],
   "subPackages": [],
   "subPackages": [],
   "window": {
   "window": {
@@ -28,7 +31,7 @@
     "backgroundColor": "#ffffff",
     "backgroundColor": "#ffffff",
     "list": [
     "list": [
       {
       {
-        "pagePath": "pages/index/index",
+        "pagePath": "pages/home/home",
         "iconPath": "static/images/index.png",
         "iconPath": "static/images/index.png",
         "selectedIconPath": "static/images/index-active.png",
         "selectedIconPath": "static/images/index-active.png",
         "text": "首页"
         "text": "首页"

+ 3 - 9
unpackage/dist/dev/mp-weixin/common/main.js

@@ -99,15 +99,9 @@ Object.defineProperty(exports, "__esModule", {
 });
 });
 exports.default = void 0;
 exports.default = void 0;
 var _default = {
 var _default = {
-  onLaunch: function onLaunch() {
-    console.log('App Launch');
-  },
-  onShow: function onShow() {
-    console.log('App Show');
-  },
-  onHide: function onHide() {
-    console.log('App Hide');
-  }
+  onLaunch: function onLaunch() {},
+  onShow: function onShow() {},
+  onHide: function onHide() {}
 };
 };
 exports.default = _default;
 exports.default = _default;
 
 

+ 1 - 7
unpackage/dist/dev/mp-weixin/common/main.wxss

@@ -7,14 +7,8 @@
 
 
 
 
 
 
-
-
-
-
-
-
 /*每个页面公共css */
 /*每个页面公共css */
 page {
 page {
-	background: rgba(234, 234, 234, 1.0);
+	background: rgba(234, 234, 234, 1);
 }
 }
 
 

File diff suppressed because it is too large
+ 2 - 2
unpackage/dist/dev/mp-weixin/common/runtime.js


File diff suppressed because it is too large
+ 708 - 564
unpackage/dist/dev/mp-weixin/common/vendor.js


File diff suppressed because it is too large
+ 54 - 22
unpackage/dist/dev/mp-weixin/pages/affirmOrder/affirmOrder.js


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/affirmOrder/affirmOrder.wxml


+ 106 - 25
unpackage/dist/dev/mp-weixin/pages/affirmOrder/affirmOrder.wxss

@@ -28,12 +28,13 @@
   position: relative;
   position: relative;
   display: flex;
   display: flex;
   flex-direction: column;
   flex-direction: column;
-  min-height: 100vh;
+  height: 100vh;
+  overflow: hidden;
   background-color: #ebeced;
   background-color: #ebeced;
 }
 }
 .container .header.data-v-36d90744 {
 .container .header.data-v-36d90744 {
   position: relative;
   position: relative;
-  height: 125rpx;
+  height: 145rpx;
   overflow: hidden;
   overflow: hidden;
 }
 }
 .container .header ._img.data-v-36d90744 {
 .container .header ._img.data-v-36d90744 {
@@ -48,12 +49,16 @@
 }
 }
 .container .header .header_icon.data-v-36d90744 {
 .container .header .header_icon.data-v-36d90744 {
   position: absolute;
   position: absolute;
-  top: 56rpx;
+  top: 76rpx;
   left: 5rpx;
   left: 5rpx;
   width: 47rpx;
   width: 47rpx;
   height: 47rpx;
   height: 47rpx;
 }
 }
-.container .info.data-v-36d90744 {
+.container .body.data-v-36d90744 {
+  height: calc(100vh - 271rpx);
+  overflow-y: auto;
+}
+.container .body .info.data-v-36d90744 {
   display: flex;
   display: flex;
   flex-direction: column;
   flex-direction: column;
   box-sizing: border-box;
   box-sizing: border-box;
@@ -64,19 +69,19 @@
   border-radius: 15rpx;
   border-radius: 15rpx;
   background-color: #fff;
   background-color: #fff;
 }
 }
-.container .info .info_time.data-v-36d90744 {
+.container .body .info .info_time.data-v-36d90744 {
   display: flex;
   display: flex;
   align-items: center;
   align-items: center;
   margin-top: 20rpx;
   margin-top: 20rpx;
   font-size: 32rpx;
   font-size: 32rpx;
   font-weight: bold;
   font-weight: bold;
 }
 }
-.container .info .info_time .time_line.data-v-36d90744 {
+.container .body .info .info_time .time_line.data-v-36d90744 {
   width: 17rpx;
   width: 17rpx;
   height: 1rpx;
   height: 1rpx;
   background-color: #096562;
   background-color: #096562;
 }
 }
-.container .info .info_time .time_num.data-v-36d90744 {
+.container .body .info .info_time .time_num.data-v-36d90744 {
   box-sizing: border-box;
   box-sizing: border-box;
   padding: 0 15rpx;
   padding: 0 15rpx;
   height: 46rpx;
   height: 46rpx;
@@ -87,24 +92,24 @@
   border: 1rpx solid #096562;
   border: 1rpx solid #096562;
   background-color: #f0f2f5;
   background-color: #f0f2f5;
 }
 }
-.container .info .info_time .gap.data-v-36d90744 {
+.container .body .info .info_time .gap.data-v-36d90744 {
   margin: 0 10rpx;
   margin: 0 10rpx;
 }
 }
-.container .info .info_time text.data-v-36d90744 {
+.container .body .info .info_time text.data-v-36d90744 {
   font-size: 24rpx;
   font-size: 24rpx;
   font-weight: 400;
   font-weight: 400;
 }
 }
-.container .info .info_msg.data-v-36d90744 {
+.container .body .info .info_msg.data-v-36d90744 {
   margin-top: 15rpx;
   margin-top: 15rpx;
   font-size: 28rpx;
   font-size: 28rpx;
   font-weight: bold;
   font-weight: bold;
 }
 }
-.container .info .info_type.data-v-36d90744 {
+.container .body .info .info_type.data-v-36d90744 {
   display: flex;
   display: flex;
   flex-wrap: wrap;
   flex-wrap: wrap;
   margin-top: 15rpx;
   margin-top: 15rpx;
 }
 }
-.container .info .info_type .type_item.data-v-36d90744 {
+.container .body .info .info_type .type_item.data-v-36d90744 {
   box-sizing: border-box;
   box-sizing: border-box;
   padding: 0 15rpx;
   padding: 0 15rpx;
   margin-right: 20rpx;
   margin-right: 20rpx;
@@ -115,17 +120,17 @@
   border-radius: 34rpx;
   border-radius: 34rpx;
   background-color: #096562;
   background-color: #096562;
 }
 }
-.container .info .info_tag.data-v-36d90744 {
+.container .body .info .info_tag.data-v-36d90744 {
   display: flex;
   display: flex;
   flex-wrap: wrap;
   flex-wrap: wrap;
   margin: 18rpx 0 30rpx;
   margin: 18rpx 0 30rpx;
   color: #808080;
   color: #808080;
   font-size: 24rpx;
   font-size: 24rpx;
 }
 }
-.container .info .info_tag .tag_item.data-v-36d90744 {
+.container .body .info .info_tag .tag_item.data-v-36d90744 {
   margin-right: 20rpx;
   margin-right: 20rpx;
 }
 }
-.container .msg.data-v-36d90744 {
+.container .body .msg.data-v-36d90744 {
   box-sizing: border-box;
   box-sizing: border-box;
   padding-left: 26rpx;
   padding-left: 26rpx;
   margin: auto;
   margin: auto;
@@ -134,54 +139,130 @@
   border-radius: 15rpx;
   border-radius: 15rpx;
   background-color: #fff;
   background-color: #fff;
 }
 }
-.container .msg .msg_title.data-v-36d90744 {
+.container .body .msg .msg_title.data-v-36d90744 {
   height: 87rpx;
   height: 87rpx;
   line-height: 87rpx;
   line-height: 87rpx;
   font-size: 28rpx;
   font-size: 28rpx;
   font-weight: bold;
   font-weight: bold;
   border-bottom: 1rpx solid #e6e6e6;
   border-bottom: 1rpx solid #e6e6e6;
 }
 }
-.container .msg .msg_box.data-v-36d90744 {
+.container .body .msg .msg_box.data-v-36d90744 {
   display: flex;
   display: flex;
   align-items: center;
   align-items: center;
   height: 97rpx;
   height: 97rpx;
   font-size: 28rpx;
   font-size: 28rpx;
   border-bottom: 1rpx solid #e6e6e6;
   border-bottom: 1rpx solid #e6e6e6;
 }
 }
-.container .msg .msg_box .box_key.data-v-36d90744 {
+.container .body .msg .msg_box .box_key.data-v-36d90744 {
   width: 120rpx;
   width: 120rpx;
   color: #808080;
   color: #808080;
 }
 }
-.container .msg .msg_box .box_value.data-v-36d90744 {
+.container .body .msg .msg_box .box_value.data-v-36d90744 {
   margin-left: 30rpx;
   margin-left: 30rpx;
   flex: 1;
   flex: 1;
 }
 }
-.container .msg .msg_box .box_value input.data-v-36d90744 {
+.container .body .msg .msg_box .box_value input.data-v-36d90744 {
   box-sizing: border-box;
   box-sizing: border-box;
   padding-right: 30rpx;
   padding-right: 30rpx;
   width: 100%;
   width: 100%;
 }
 }
-.container .msg .msg_box .color.data-v-36d90744 {
+.container .body .msg .msg_box .color.data-v-36d90744 {
   color: #808080;
   color: #808080;
 }
 }
-.container .msg .msg_box .box_icon.data-v-36d90744 {
+.container .body .msg .msg_box .box_icon.data-v-36d90744 {
   display: flex;
   display: flex;
   align-items: center;
   align-items: center;
 }
 }
-.container .msg .msg_box .box_icon .img.data-v-36d90744 {
+.container .body .msg .msg_box .box_icon .img.data-v-36d90744 {
   width: 47rpx;
   width: 47rpx;
   height: 47rpx;
   height: 47rpx;
 }
 }
-.container .msg .msg_box .box_icon .img2.data-v-36d90744 {
+.container .body .msg .msg_box .box_icon .img2.data-v-36d90744 {
   margin: 0 30rpx;
   margin: 0 30rpx;
   width: 37rpx;
   width: 37rpx;
   height: 37rpx;
   height: 37rpx;
 }
 }
-.container .msg .msg_box .box_icon .img3.data-v-36d90744 {
+.container .body .msg .msg_box .box_icon .img3.data-v-36d90744 {
   margin: 0 30rpx;
   margin: 0 30rpx;
   width: 40rpx;
   width: 40rpx;
   height: 40rpx;
   height: 40rpx;
 }
 }
+.container .body .price.data-v-36d90744 {
+  box-sizing: border-box;
+  padding-left: 26rpx;
+  margin: 20rpx auto;
+  width: 710rpx;
+  height: 197rpx;
+  border-radius: 15rpx;
+  background-color: #fff;
+}
+.container .body .price .price_title.data-v-36d90744 {
+  line-height: 92rpx;
+  font-size: 28rpx;
+  font-weight: bold;
+  border-bottom: 1rpx solid #e6e6e6;
+}
+.container .body .price .price_box.data-v-36d90744 {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  height: 92rpx;
+  font-size: 28rpx;
+}
+.container .body .price .price_box .box_key.data-v-36d90744 {
+  color: #808080;
+}
+.container .body .price .price_box .box_value.data-v-36d90744 {
+  display: flex;
+  align-items: center;
+}
+.container .body .price .price_box .box_value text.data-v-36d90744 {
+  color: #ff5733;
+  font-size: 24rpx;
+}
+.container .body .price .price_box .box_value ._span.data-v-36d90744 {
+  margin-right: 30rpx;
+  color: #ff5733;
+}
+.container .body .all.data-v-36d90744 {
+  box-sizing: border-box;
+  padding-left: 26rpx;
+  margin: 0 auto 60rpx;
+  width: 710rpx;
+  border-radius: 15rpx;
+  background-color: #fff;
+}
+.container .body .all .all_title.data-v-36d90744 {
+  display: flex;
+  height: 92rpx;
+  justify-content: space-between;
+  align-items: center;
+  font-size: 28rpx;
+  font-weight: bold;
+  border-bottom: 1rpx solid #e6e6e6;
+}
+.container .body .all .all_title .mr_30.data-v-36d90744 {
+  margin-right: 30rpx;
+}
+.container .body .all .all_box.data-v-36d90744 {
+  box-sizing: border-box;
+  padding-right: 26rpx;
+  display: flex;
+  justify-content: space-between;
+  font-size: 28rpx;
+}
+.container .body .all .all_box .box_list.data-v-36d90744 {
+  margin-bottom: 28rpx;
+  color: #808080;
+}
+.container .body .all .all_box .box_list .list_item.data-v-36d90744 {
+  margin-top: 30rpx;
+}
+.container .body .all .all_box .box_total.data-v-36d90744 {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
 .container .foot.data-v-36d90744 {
 .container .foot.data-v-36d90744 {
   position: absolute;
   position: absolute;
   left: 0;
   left: 0;

+ 2 - 2
unpackage/dist/dev/mp-weixin/pages/common/common.js

@@ -101,10 +101,10 @@ var components
 try {
 try {
   components = {
   components = {
     uniSwipeAction: function () {
     uniSwipeAction: function () {
-      return __webpack_require__.e(/*! import() | uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action */ "uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action").then(__webpack_require__.bind(null, /*! @/uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action.vue */ 186))
+      return __webpack_require__.e(/*! import() | uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action */ "uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action").then(__webpack_require__.bind(null, /*! @/uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action.vue */ 197))
     },
     },
     uniSwipeActionItem: function () {
     uniSwipeActionItem: function () {
-      return Promise.all(/*! import() | uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item.vue */ 191))
+      return Promise.all(/*! import() | uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item.vue */ 202))
     },
     },
   }
   }
 } catch (e) {
 } catch (e) {

+ 46 - 17
unpackage/dist/dev/mp-weixin/pages/detail/detail.js

@@ -101,10 +101,10 @@ var components
 try {
 try {
   components = {
   components = {
     uvCalendar: function () {
     uvCalendar: function () {
-      return Promise.all(/*! import() | uni_modules/uv-calendar/components/uv-calendar/uv-calendar */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uv-calendar/components/uv-calendar/uv-calendar")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uv-calendar/components/uv-calendar/uv-calendar.vue */ 203))
+      return Promise.all(/*! import() | uni_modules/uv-calendar/components/uv-calendar/uv-calendar */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uv-calendar/components/uv-calendar/uv-calendar")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uv-calendar/components/uv-calendar/uv-calendar.vue */ 214))
     },
     },
     uvPopup: function () {
     uvPopup: function () {
-      return Promise.all(/*! import() | uni_modules/uv-popup/components/uv-popup/uv-popup */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uv-popup/components/uv-popup/uv-popup")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uv-popup/components/uv-popup/uv-popup.vue */ 213))
+      return Promise.all(/*! import() | uni_modules/uv-popup/components/uv-popup/uv-popup */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uv-popup/components/uv-popup/uv-popup")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uv-popup/components/uv-popup/uv-popup.vue */ 224))
     },
     },
   }
   }
 } catch (e) {
 } catch (e) {
@@ -128,22 +128,22 @@ var render = function () {
   var _vm = this
   var _vm = this
   var _h = _vm.$createElement
   var _h = _vm.$createElement
   var _c = _vm._self._c || _h
   var _c = _vm._self._c || _h
-  var m0 = __webpack_require__(/*! ../../static/index/slogan.png */ 117)
-  var m1 = __webpack_require__(/*! ../../static/index/right.png */ 118)
-  var m2 = __webpack_require__(/*! ../../static/index/meeting.png */ 119)
-  var m3 = __webpack_require__(/*! ../../static/index/brekker.png */ 120)
-  var m4 = __webpack_require__(/*! ../../static/index/parking.png */ 121)
-  var m5 = __webpack_require__(/*! ../../static/index/map.png */ 122)
-  var m6 = __webpack_require__(/*! ../../static/index/phone.png */ 123)
-  var m7 = __webpack_require__(/*! ../../static/index/wifi.png */ 124)
-  var m8 = __webpack_require__(/*! ../../static/index/air.png */ 125)
-  var m9 = __webpack_require__(/*! ../../static/index/smoke.png */ 126)
-  var m10 = __webpack_require__(/*! ../../static/index/lock.png */ 127)
-  var m11 = __webpack_require__(/*! ../../static/index/banner.png */ 116)
-  var m12 = __webpack_require__(/*! ../../static/index/banner.png */ 116)
+  var m0 = __webpack_require__(/*! ../../static/index/slogan.png */ 116)
+  var m1 = __webpack_require__(/*! ../../static/index/right.png */ 117)
+  var m2 = __webpack_require__(/*! ../../static/index/meeting.png */ 118)
+  var m3 = __webpack_require__(/*! ../../static/index/brekker.png */ 119)
+  var m4 = __webpack_require__(/*! ../../static/index/parking.png */ 120)
+  var m5 = __webpack_require__(/*! ../../static/index/map.png */ 121)
+  var m6 = __webpack_require__(/*! ../../static/index/phone.png */ 122)
+  var m7 = __webpack_require__(/*! ../../static/index/wifi.png */ 123)
+  var m8 = __webpack_require__(/*! ../../static/index/air.png */ 124)
+  var m9 = __webpack_require__(/*! ../../static/index/smoke.png */ 125)
+  var m10 = __webpack_require__(/*! ../../static/index/lock.png */ 126)
+  var m11 = __webpack_require__(/*! ../../static/index/banner.png */ 127)
+  var m12 = __webpack_require__(/*! ../../static/index/banner.png */ 127)
   var m13 = __webpack_require__(/*! ../../static/index/close.png */ 128)
   var m13 = __webpack_require__(/*! ../../static/index/close.png */ 128)
   var m14 = __webpack_require__(/*! ../../static/index/bed.png */ 129)
   var m14 = __webpack_require__(/*! ../../static/index/bed.png */ 129)
-  var m15 = __webpack_require__(/*! ../../static/index/wifi.png */ 124)
+  var m15 = __webpack_require__(/*! ../../static/index/wifi.png */ 123)
   var m16 = __webpack_require__(/*! ../../static/index/place.png */ 130)
   var m16 = __webpack_require__(/*! ../../static/index/place.png */ 130)
   var m17 = __webpack_require__(/*! ../../static/index/window.png */ 131)
   var m17 = __webpack_require__(/*! ../../static/index/window.png */ 131)
   var m18 = __webpack_require__(/*! ../../static/index/phone2.png */ 132)
   var m18 = __webpack_require__(/*! ../../static/index/phone2.png */ 132)
@@ -389,6 +389,17 @@ exports.default = void 0;
 //
 //
 //
 //
 //
 //
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
 var _default = {
 var _default = {
   data: function data() {
   data: function data() {
     return {
     return {
@@ -438,10 +449,28 @@ var _default = {
   },
   },
   onLoad: function onLoad(options) {
   onLoad: function onLoad(options) {
     // console.log(JSON.parse(options.info))
     // console.log(JSON.parse(options.info))
-    this.info = JSON.parse(options.info);
+    if (options.info) {
+      this.info = JSON.parse(options.info);
+    }
     this.getTimes();
     this.getTimes();
   },
   },
   methods: {
   methods: {
+    // 点击地图图标回调
+    handleMap: function handleMap(item) {
+      uni.openLocation({
+        latitude: 28.86054,
+        longitude: 115.361744,
+        name: item.hotelName,
+        address: '靖安县---详细地址',
+        success: function success() {}
+      });
+    },
+    // 点击电话图标回调
+    handlePhone: function handlePhone(phone) {
+      uni.makePhoneCall({
+        phoneNumber: phone
+      });
+    },
     // 点击弹窗关闭图标回调
     // 点击弹窗关闭图标回调
     handleClosePop: function handleClosePop() {
     handleClosePop: function handleClosePop() {
       this.showPage = false;
       this.showPage = false;

File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/detail/detail.wxml


+ 27 - 4
unpackage/dist/dev/mp-weixin/pages/detail/detail.wxss

@@ -342,19 +342,42 @@
   display: flex;
   display: flex;
   flex-direction: column;
   flex-direction: column;
   justify-content: space-between;
   justify-content: space-between;
-  align-items: flex-end;
   box-sizing: border-box;
   box-sizing: border-box;
   padding: 20rpx 30rpx;
   padding: 20rpx 30rpx;
   margin-top: 18rpx;
   margin-top: 18rpx;
   width: 710rpx;
   width: 710rpx;
-  height: 215rpx;
-  font-size: 28rpx;
+  height: 266rpx;
+  font-size: 24rpx;
   border-radius: 7rpx;
   border-radius: 7rpx;
   background-color: #f2f2f2;
   background-color: #f2f2f2;
 }
 }
-.container .body .body_content .body_pop .pop_body .body_detail text.data-v-3e159eb4 {
+.container .body .body_content .body_pop .pop_body .body_detail .detail_old.data-v-3e159eb4 {
+  text-align: end;
+  text-decoration: line-through;
+}
+.container .body .body_content .body_pop .pop_body .body_detail .detail_box.data-v-3e159eb4 {
+  display: flex;
+  justify-content: space-between;
+  color: #808080;
+}
+.container .body .body_content .body_pop .pop_body .body_detail .detail_box text.data-v-3e159eb4 {
+  color: #ff5733;
+}
+.container .body .body_content .body_pop .pop_body .body_detail .detail_new.data-v-3e159eb4 {
+  display: flex;
+  justify-content: flex-end;
+  align-items: center;
+  font-size: 24rpx;
+}
+.container .body .body_content .body_pop .pop_body .body_detail .detail_new .color.data-v-3e159eb4 {
   color: #ff5733;
   color: #ff5733;
 }
 }
+.container .body .body_content .body_pop .pop_body .body_detail .detail_new .price.data-v-3e159eb4 {
+  font-size: 36rpx;
+}
+.container .body .body_content .body_pop .pop_body .body_detail .detail_new .ml_10.data-v-3e159eb4 {
+  margin-left: 10rpx;
+}
 .container .body .body_content .body_pop .pop_body .body_bottom.data-v-3e159eb4 {
 .container .body .body_content .body_pop .pop_body .body_bottom.data-v-3e159eb4 {
   display: flex;
   display: flex;
   justify-content: space-between;
   justify-content: space-between;

File diff suppressed because it is too large
+ 17 - 12
unpackage/dist/dev/mp-weixin/pages/detailInfo/detailInfo.js


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/detailInfo/detailInfo.wxml


+ 6 - 6
unpackage/dist/dev/mp-weixin/pages/detailInfo/detailInfo.wxss

@@ -48,27 +48,27 @@
 }
 }
 .container .header .header_icon.data-v-c0575434 {
 .container .header .header_icon.data-v-c0575434 {
   position: absolute;
   position: absolute;
-  top: 56rpx;
+  top: 76rpx;
   left: 5rpx;
   left: 5rpx;
   width: 47rpx;
   width: 47rpx;
   height: 47rpx;
   height: 47rpx;
 }
 }
 .container .header .header_name.data-v-c0575434 {
 .container .header .header_name.data-v-c0575434 {
   position: absolute;
   position: absolute;
-  top: 135rpx;
+  top: 155rpx;
   left: 30rpx;
   left: 30rpx;
   font-size: 40rpx;
   font-size: 40rpx;
   font-weight: bold;
   font-weight: bold;
 }
 }
 .container .header .header_info.data-v-c0575434 {
 .container .header .header_info.data-v-c0575434 {
   position: absolute;
   position: absolute;
-  top: 215rpx;
+  top: 230rpx;
   left: 30rpx;
   left: 30rpx;
   font-size: 24rpx;
   font-size: 24rpx;
 }
 }
 .container .header .header_types.data-v-c0575434 {
 .container .header .header_types.data-v-c0575434 {
   position: absolute;
   position: absolute;
-  top: 261rpx;
+  top: 281rpx;
   left: 30rpx;
   left: 30rpx;
   display: flex;
   display: flex;
   font-size: 20rpx;
   font-size: 20rpx;
@@ -83,12 +83,12 @@
 }
 }
 .container .body.data-v-c0575434 {
 .container .body.data-v-c0575434 {
   position: absolute;
   position: absolute;
-  top: 322rpx;
+  top: 350rpx;
   left: 0;
   left: 0;
   right: 0;
   right: 0;
   box-sizing: border-box;
   box-sizing: border-box;
   padding: 0 30rpx 50rpx;
   padding: 0 30rpx 50rpx;
-  height: calc(100vh - 322rpx);
+  height: calc(100vh - 350rpx);
   border-radius: 20rpx 20rpx 0 0;
   border-radius: 20rpx 20rpx 0 0;
   background-color: #fff;
   background-color: #fff;
   overflow-y: auto;
   overflow-y: auto;

File diff suppressed because it is too large
+ 328 - 0
unpackage/dist/dev/mp-weixin/pages/home/home.js


+ 6 - 0
unpackage/dist/dev/mp-weixin/pages/home/home.json

@@ -0,0 +1,6 @@
+{
+  "navigationBarTitleText": "靖安民宿",
+  "usingComponents": {
+    "uv-row": "/uni_modules/uv-row/components/uv-row/uv-row"
+  }
+}

File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/home/home.wxml


+ 163 - 0
unpackage/dist/dev/mp-weixin/pages/home/home.wxss

@@ -0,0 +1,163 @@
+@charset "UTF-8";
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.container.data-v-92bb8f34 {
+  display: flex;
+  flex-direction: column;
+  width: 750rpx;
+  padding: 0 30rpx;
+  box-sizing: border-box;
+  background-color: #ebeced;
+}
+.container .address.data-v-92bb8f34 {
+  display: flex;
+  width: 152rpx;
+  font-size: 28rpx;
+}
+.container .address .address_text.data-v-92bb8f34 {
+  width: 104rpx;
+  text-align: center;
+  overflow: hidden;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+}
+.container .address ._img.data-v-92bb8f34 {
+  width: 48rpx;
+  height: 48rpx;
+}
+.container .search.data-v-92bb8f34 {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  width: 538rpx;
+  height: 80rpx;
+  opacity: 1;
+  border-radius: 70px;
+  background-color: #fff;
+}
+.container .search .add.data-v-92bb8f34 {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  margin-left: 10rpx;
+  width: 60rpx;
+  font-size: 50rpx;
+  height: 60rpx;
+  line-height: 60rpx;
+  color: #1e7dfb;
+}
+.container .search .add .img.data-v-92bb8f34 {
+  width: 30rpx;
+  height: 30rpx;
+}
+.container .search .inp.data-v-92bb8f34 {
+  height: 60rpx;
+  line-height: 60rpx;
+  flex-grow: 1;
+  font-size: 28rpx;
+}
+.container .search .btnSearch.data-v-92bb8f34 {
+  width: 100rpx;
+  text-align: center;
+  margin-right: 10rpx;
+  height: 60rpx;
+  line-height: 60rpx;
+  opacity: 1;
+  font-size: 28rpx;
+  font-weight: 400;
+  height: 2rem;
+  color: #096562;
+}
+.container .body.data-v-92bb8f34 {
+  display: flex;
+  justify-content: space-between;
+  flex-wrap: wrap;
+}
+.container .body .item.data-v-92bb8f34 {
+  width: 335rpx;
+  box-sizing: border-box;
+  margin-bottom: 20rpx;
+}
+.container .body .item .item-img.data-v-92bb8f34 {
+  width: 100%;
+  height: 223rpx;
+  border-radius: 18rpx 18rpx 0 0;
+  box-sizing: border-box;
+}
+.container .body .item .descrition.data-v-92bb8f34 {
+  display: flex;
+  flex-direction: column;
+  width: 100%;
+  border-radius: 0 0 18rpx 18rpx;
+  box-sizing: border-box;
+  background: white;
+  margin-top: -10rpx;
+}
+.container .body .item .descrition .title.data-v-92bb8f34 {
+  font-size: 28rpx;
+  font-weight: 600;
+  padding: 20rpx 20rpx 10rpx;
+  color: black;
+}
+.container .body .item .descrition .type.data-v-92bb8f34 {
+  padding: 5rpx 20rpx;
+  font-size: 24rpx;
+  color: #a6a6a6;
+}
+.container .body .item .descrition .distance.data-v-92bb8f34 {
+  padding: 10rpx 20rpx;
+  font-size: 24rpx;
+  color: #a6a6a6;
+}
+.container .body .item .descrition .detail.data-v-92bb8f34 {
+  display: flex;
+  flex-direction: row;
+  justify-content: space-between;
+  align-items: center;
+  padding: 0 20rpx 20rpx 20rpx;
+  color: black;
+}
+.container .body .item .descrition .detail .img.data-v-92bb8f34 {
+  width: 40rpx;
+  height: 40rpx;
+}
+.container .body .item .descrition .detail .price .txt1.data-v-92bb8f34 {
+  font-size: 36rpx;
+  font-weight: 600;
+  color: #ff5733;
+}
+.container .body .item .descrition .detail .price .txt2.data-v-92bb8f34 {
+  font-size: 24rpx;
+  font-weight: 400;
+  color: #a6a6a6;
+}
+.container .body .item .descrition .detail .score.data-v-92bb8f34 {
+  font-size: 24rpx;
+  font-weight: 400;
+  padding-top: 10rpx;
+  color: #a6a6a6;
+}
+

File diff suppressed because it is too large
+ 34 - 135
unpackage/dist/dev/mp-weixin/pages/index/index.js


+ 3 - 4
unpackage/dist/dev/mp-weixin/pages/index/index.json

@@ -1,6 +1,5 @@
 {
 {
-  "navigationBarTitleText": "靖安民宿",
-  "usingComponents": {
-    "uv-row": "/uni_modules/uv-row/components/uv-row/uv-row"
-  }
+  "navigationBarTitleText": "授权中",
+  "enablePullDownRefresh": false,
+  "usingComponents": {}
 }
 }

File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/index.wxml


+ 1 - 126
unpackage/dist/dev/mp-weixin/pages/index/index.wxss

@@ -25,132 +25,7 @@
 /* 透明度 */
 /* 透明度 */
 /* 文章场景相关 */
 /* 文章场景相关 */
 .container.data-v-57280228 {
 .container.data-v-57280228 {
-  display: flex;
-  flex-direction: column;
-  width: 750rpx;
-  padding: 0 30rpx;
-  box-sizing: border-box;
-  background-color: #ebeced;
-}
-.container .address.data-v-57280228 {
-  display: flex;
-  width: 152rpx;
-  font-size: 28rpx;
-}
-.container .address ._img.data-v-57280228 {
-  width: 48rpx;
-  height: 48rpx;
-}
-.container .search.data-v-57280228 {
-  display: flex;
-  justify-content: space-between;
-  align-items: center;
-  width: 538rpx;
-  height: 80rpx;
-  opacity: 1;
-  border-radius: 70px;
+  height: 100vh;
   background-color: #fff;
   background-color: #fff;
 }
 }
-.container .search .add.data-v-57280228 {
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  margin-left: 10rpx;
-  width: 60rpx;
-  font-size: 50rpx;
-  height: 60rpx;
-  line-height: 60rpx;
-  color: #1e7dfb;
-}
-.container .search .add .img.data-v-57280228 {
-  width: 30rpx;
-  height: 30rpx;
-}
-.container .search .inp.data-v-57280228 {
-  height: 60rpx;
-  line-height: 60rpx;
-  flex-grow: 1;
-  font-size: 28rpx;
-}
-.container .search .btnSearch.data-v-57280228 {
-  width: 100rpx;
-  text-align: center;
-  margin-right: 10rpx;
-  height: 60rpx;
-  line-height: 60rpx;
-  opacity: 1;
-  font-size: 28rpx;
-  font-weight: 400;
-  height: 2rem;
-  color: #096562;
-}
-.container .body.data-v-57280228 {
-  display: flex;
-  justify-content: space-between;
-  flex-wrap: wrap;
-}
-.container .body .item.data-v-57280228 {
-  width: 335rpx;
-  box-sizing: border-box;
-  margin-bottom: 20rpx;
-}
-.container .body .item .item-img.data-v-57280228 {
-  width: 100%;
-  height: 223rpx;
-  border-radius: 18rpx 18rpx 0 0;
-  box-sizing: border-box;
-}
-.container .body .item .descrition.data-v-57280228 {
-  display: flex;
-  flex-direction: column;
-  width: 100%;
-  border-radius: 0 0 18rpx 18rpx;
-  box-sizing: border-box;
-  background: white;
-  margin-top: -10rpx;
-}
-.container .body .item .descrition .title.data-v-57280228 {
-  font-size: 28rpx;
-  font-weight: 600;
-  padding: 20rpx 20rpx 10rpx;
-  color: black;
-}
-.container .body .item .descrition .type.data-v-57280228 {
-  padding: 5rpx 20rpx;
-  font-size: 24rpx;
-  color: #a6a6a6;
-}
-.container .body .item .descrition .distance.data-v-57280228 {
-  padding: 10rpx 20rpx;
-  font-size: 24rpx;
-  color: #a6a6a6;
-}
-.container .body .item .descrition .detail.data-v-57280228 {
-  display: flex;
-  flex-direction: row;
-  justify-content: space-between;
-  align-items: center;
-  padding: 0 20rpx 20rpx 20rpx;
-  color: black;
-}
-.container .body .item .descrition .detail .img.data-v-57280228 {
-  width: 40rpx;
-  height: 40rpx;
-}
-.container .body .item .descrition .detail .price .txt1.data-v-57280228 {
-  font-size: 36rpx;
-  font-weight: 600;
-  color: #ff5733;
-}
-.container .body .item .descrition .detail .price .txt2.data-v-57280228 {
-  font-size: 24rpx;
-  font-weight: 400;
-  color: #a6a6a6;
-}
-.container .body .item .descrition .detail .score.data-v-57280228 {
-  font-size: 24rpx;
-  font-weight: 400;
-  padding-top: 10rpx;
-  color: #a6a6a6;
-}
 
 

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

@@ -105,7 +105,7 @@ var render = function () {
   var m0 = __webpack_require__(/*! ../../static/my/headerImg.png */ 48)
   var m0 = __webpack_require__(/*! ../../static/my/headerImg.png */ 48)
   var m1 = __webpack_require__(/*! ../../static/my/portrait.png */ 49)
   var m1 = __webpack_require__(/*! ../../static/my/portrait.png */ 49)
   var m2 = _vm.real ? __webpack_require__(/*! ../../static/my/true.png */ 50) : null
   var m2 = _vm.real ? __webpack_require__(/*! ../../static/my/true.png */ 50) : null
-  var m3 = !_vm.real ? __webpack_require__(/*! ../../static/my/right2.png */ 316) : null
+  var m3 = !_vm.real ? __webpack_require__(/*! ../../static/my/right2.png */ 51) : null
   var m4 = __webpack_require__(/*! ../../static/my/order.png */ 52)
   var m4 = __webpack_require__(/*! ../../static/my/order.png */ 52)
   var m5 = __webpack_require__(/*! ../../static/my/people.png */ 53)
   var m5 = __webpack_require__(/*! ../../static/my/people.png */ 53)
   var m6 = __webpack_require__(/*! ../../static/my/set.png */ 54)
   var m6 = __webpack_require__(/*! ../../static/my/set.png */ 54)

File diff suppressed because it is too large
+ 126 - 21
unpackage/dist/dev/mp-weixin/pages/orderDetail/orderDetail.js


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/orderDetail/orderDetail.wxml


+ 13 - 6
unpackage/dist/dev/mp-weixin/pages/orderDetail/orderDetail.wxss

@@ -45,26 +45,27 @@
 }
 }
 .container .header .header_icon.data-v-c547daf4 {
 .container .header .header_icon.data-v-c547daf4 {
   position: absolute;
   position: absolute;
-  top: 56rpx;
+  top: 76rpx;
   left: 10rpx;
   left: 10rpx;
   width: 47rpx;
   width: 47rpx;
   height: 47rpx;
   height: 47rpx;
 }
 }
 .container .header .header_type.data-v-c547daf4 {
 .container .header .header_type.data-v-c547daf4 {
   position: absolute;
   position: absolute;
-  top: 144rpx;
+  top: 162rpx;
   left: 30rpx;
   left: 30rpx;
   font-size: 40rpx;
   font-size: 40rpx;
+  font-weight: bold;
 }
 }
 .container .header .header_info.data-v-c547daf4 {
 .container .header .header_info.data-v-c547daf4 {
   position: absolute;
   position: absolute;
-  top: 215rpx;
+  top: 235rpx;
   left: 30rpx;
   left: 30rpx;
   font-size: 24rpx;
   font-size: 24rpx;
 }
 }
 .container .header .header_btn.data-v-c547daf4 {
 .container .header .header_btn.data-v-c547daf4 {
   position: absolute;
   position: absolute;
-  top: 280rpx;
+  top: 290rpx;
   left: 30rpx;
   left: 30rpx;
   right: 30rpx;
   right: 30rpx;
   display: flex;
   display: flex;
@@ -81,14 +82,20 @@
   font-size: 28rpx;
   font-size: 28rpx;
   background-color: #fff;
   background-color: #fff;
 }
 }
+.container .header .header_msg.data-v-c547daf4 {
+  position: absolute;
+  top: 378rpx;
+  left: 30rpx;
+  font-size: 24rpx;
+}
 .container .body.data-v-c547daf4 {
 .container .body.data-v-c547daf4 {
   position: absolute;
   position: absolute;
-  top: 390rpx;
+  top: 430rpx;
   left: 0;
   left: 0;
   right: 0;
   right: 0;
   box-sizing: border-box;
   box-sizing: border-box;
   padding: 20rpx;
   padding: 20rpx;
-  height: calc(100vh - 390rpx);
+  height: calc(100vh - 430rpx);
   border-radius: 20rpx 20rpx 0 0;
   border-radius: 20rpx 20rpx 0 0;
   background-color: #ebeced;
   background-color: #ebeced;
   overflow-y: auto;
   overflow-y: auto;

+ 80 - 7
unpackage/dist/dev/mp-weixin/pages/orderManage/orderManage.js

@@ -101,10 +101,13 @@ var components
 try {
 try {
   components = {
   components = {
     uniSwipeAction: function () {
     uniSwipeAction: function () {
-      return __webpack_require__.e(/*! import() | uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action */ "uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action").then(__webpack_require__.bind(null, /*! @/uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action.vue */ 186))
+      return __webpack_require__.e(/*! import() | uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action */ "uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action").then(__webpack_require__.bind(null, /*! @/uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action.vue */ 197))
     },
     },
     uniSwipeActionItem: function () {
     uniSwipeActionItem: function () {
-      return Promise.all(/*! import() | uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item.vue */ 191))
+      return Promise.all(/*! import() | uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item.vue */ 202))
+    },
+    uvCountDown: function () {
+      return Promise.all(/*! import() | uni_modules/uv-count-down/components/uv-count-down/uv-count-down */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uv-count-down/components/uv-count-down/uv-count-down")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uv-count-down/components/uv-count-down/uv-count-down.vue */ 362))
     },
     },
   }
   }
 } catch (e) {
 } catch (e) {
@@ -221,11 +224,23 @@ exports.default = void 0;
 //
 //
 //
 //
 //
 //
+//
+//
+//
+//
+//
+//
+//
+//
 var _default = {
 var _default = {
   data: function data() {
   data: function data() {
     return {
     return {
-      // type: 1 为待付款  2 为支付超时,
-      //       3 为已支付  4 为已取消
+      /* type
+      1 为待付款  2 为支付超时,
+         3 为已支付  4 为已取消,
+      5 为已退单  6 为待入住,
+      7 为已入住  8 为已退款,
+      9 为已消费 */
       orderList: [{
       orderList: [{
         id: 1,
         id: 1,
         hotelName: '靖安乡宿',
         hotelName: '靖安乡宿',
@@ -246,14 +261,72 @@ var _default = {
         hotelName: '幸福乡宿',
         hotelName: '幸福乡宿',
         type: 4,
         type: 4,
         imgUrl: '../../static/my/test.png'
         imgUrl: '../../static/my/test.png'
-      }]
+      }, {
+        id: 5,
+        hotelName: '靖安乡宿',
+        type: 5,
+        imgUrl: '../../static/my/test.png'
+      }, {
+        id: 6,
+        hotelName: '开心乡宿',
+        type: 6,
+        imgUrl: '../../static/my/test.png'
+      }, {
+        id: 7,
+        hotelName: '健康乡宿',
+        type: 7,
+        imgUrl: '../../static/my/test.png'
+      }, {
+        id: 8,
+        hotelName: '幸福乡宿',
+        type: 8,
+        imgUrl: '../../static/my/test.png'
+      }, {
+        id: 9,
+        hotelName: '幸福乡宿',
+        type: 9,
+        imgUrl: '../../static/my/test.png'
+      }],
+      // 倒计时时间(毫秒)
+      countDownTime: 1000 * 60 * 15
     };
     };
   },
   },
   methods: {
   methods: {
+    // 倒计时变化时触发
+    change: function change(e) {
+      // console.log(e)
+    },
+    // 倒计时结束回调
+    finish: function finish() {
+      uni.showModal({
+        title: '提示',
+        content: '订单已超过可支付时间,请重新下单',
+        showCancel: false,
+        success: function success(res) {
+          if (res.confirm) {
+            uni.switchTab({
+              url: '/pages/home/home'
+            });
+          }
+        }
+      });
+    },
+    // 点击预定按钮回调
+    goPagePay: function goPagePay() {
+      uni.navigateTo({
+        url: '/pages/pay/pay'
+      });
+    },
+    // 点击再次预定按钮回调
+    goPageDetail: function goPageDetail() {
+      uni.navigateTo({
+        url: '/pages/detail/detail'
+      });
+    },
     // 点击每一个订单回调
     // 点击每一个订单回调
-    goPageOrderDetail: function goPageOrderDetail() {
+    goPageOrderDetail: function goPageOrderDetail(type) {
       uni.navigateTo({
       uni.navigateTo({
-        url: '/pages/orderDetail/orderDetail'
+        url: "/pages/orderDetail/orderDetail?type=".concat(type)
       });
       });
     },
     },
     // 右侧选项内容删除按钮回调
     // 右侧选项内容删除按钮回调

+ 2 - 1
unpackage/dist/dev/mp-weixin/pages/orderManage/orderManage.json

@@ -3,6 +3,7 @@
   "enablePullDownRefresh": false,
   "enablePullDownRefresh": false,
   "usingComponents": {
   "usingComponents": {
     "uni-swipe-action": "/uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action",
     "uni-swipe-action": "/uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action",
-    "uni-swipe-action-item": "/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item"
+    "uni-swipe-action-item": "/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item",
+    "uv-count-down": "/uni_modules/uv-count-down/components/uv-count-down/uv-count-down"
   }
   }
 }
 }

File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/orderManage/orderManage.wxml


+ 6 - 0
unpackage/dist/dev/mp-weixin/pages/orderManage/orderManage.wxss

@@ -66,6 +66,8 @@
   font-weight: bold;
   font-weight: bold;
 }
 }
 .container .order_box .box_header .type.data-v-66f06aa4 {
 .container .order_box .box_header .type.data-v-66f06aa4 {
+  display: flex;
+  align-items: center;
   margin-left: auto;
   margin-left: auto;
   color: #808080;
   color: #808080;
   font-size: 28rpx;
   font-size: 28rpx;
@@ -98,6 +100,7 @@
 .container .order_box .box_btn.data-v-66f06aa4 {
 .container .order_box .box_btn.data-v-66f06aa4 {
   display: flex;
   display: flex;
   justify-content: flex-end;
   justify-content: flex-end;
+  margin-top: -10rpx;
   height: 100rpx;
   height: 100rpx;
 }
 }
 .container .order_box .box_btn .btn_item.data-v-66f06aa4 {
 .container .order_box .box_btn .btn_item.data-v-66f06aa4 {
@@ -112,4 +115,7 @@
   font-size: 28rpx;
   font-size: 28rpx;
   border: 1rpx solid #808080;
   border: 1rpx solid #808080;
 }
 }
+.data-v-66f06aa4 .uv-count-down .uv-count-down__text {
+  color: #ff5733;
+}
 
 

File diff suppressed because it is too large
+ 84 - 20
unpackage/dist/dev/mp-weixin/pages/pay/pay.js


+ 3 - 1
unpackage/dist/dev/mp-weixin/pages/pay/pay.json

@@ -1,5 +1,7 @@
 {
 {
   "navigationBarTitleText": "支付订单",
   "navigationBarTitleText": "支付订单",
   "enablePullDownRefresh": false,
   "enablePullDownRefresh": false,
-  "usingComponents": {}
+  "usingComponents": {
+    "uv-count-down": "/uni_modules/uv-count-down/components/uv-count-down/uv-count-down"
+  }
 }
 }

File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/pay/pay.wxml


File diff suppressed because it is too large
+ 212 - 0
unpackage/dist/dev/mp-weixin/pages/payStatus/payStatus.js


+ 5 - 0
unpackage/dist/dev/mp-weixin/pages/payStatus/payStatus.json

@@ -0,0 +1,5 @@
+{
+  "navigationBarTitleText": "支付订单",
+  "enablePullDownRefresh": false,
+  "usingComponents": {}
+}

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

@@ -0,0 +1 @@
+<view class="container data-v-6383783c"><image class="img _img data-v-6383783c" src="{{status==='1'?'../../static/index/success.png':'../../static/index/fail.png'}}"></image><view class="status data-v-6383783c">{{status==='1'?'支付成功':'支付失败'}}</view><view data-event-opts="{{[['tap',[['handleClickBtn',['$event']]]]]}}" class="btn data-v-6383783c" bindtap="__e">{{status==='1'?'返回主页':'重新支付'}}</view></view>

+ 58 - 0
unpackage/dist/dev/mp-weixin/pages/payStatus/payStatus.wxss

@@ -0,0 +1,58 @@
+@charset "UTF-8";
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.container.data-v-6383783c {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  height: 100vh;
+  background-color: #fff;
+}
+.container .img.data-v-6383783c {
+  margin-top: 80rpx;
+  width: 134rpx;
+  height: 134rpx;
+  text-align: center;
+}
+.container .status.data-v-6383783c {
+  margin-top: 40rpx;
+  font-size: 32rpx;
+  font-weight: bold;
+}
+.container .btn.data-v-6383783c {
+  position: absolute;
+  bottom: 75rpx;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  width: 710rpx;
+  height: 96rpx;
+  font-size: 32rpx;
+  color: #fff;
+  border-radius: 64rpx;
+  background-color: #096562;
+}
+

File diff suppressed because it is too large
+ 198 - 0
unpackage/dist/dev/mp-weixin/pages/photo/photo.js


+ 5 - 0
unpackage/dist/dev/mp-weixin/pages/photo/photo.json

@@ -0,0 +1,5 @@
+{
+  "navigationBarTitleText": "个人头像",
+  "enablePullDownRefresh": false,
+  "usingComponents": {}
+}

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

@@ -0,0 +1 @@
+<view class="container data-v-72cf41ac"><image mode="aspectFit" src="{{$root.m0}}" class="_img data-v-72cf41ac"></image></view>

+ 34 - 0
unpackage/dist/dev/mp-weixin/pages/photo/photo.wxss

@@ -0,0 +1,34 @@
+@charset "UTF-8";
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.container.data-v-72cf41ac {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  height: 100vh;
+  background-color: #000;
+}
+

+ 9 - 4
unpackage/dist/dev/mp-weixin/pages/set/set.js

@@ -105,7 +105,6 @@ var render = function () {
   var m0 = __webpack_require__(/*! ../../static/my/portrait.png */ 49)
   var m0 = __webpack_require__(/*! ../../static/my/portrait.png */ 49)
   var m1 = __webpack_require__(/*! ../../static/my/right.png */ 80)
   var m1 = __webpack_require__(/*! ../../static/my/right.png */ 80)
   var m2 = __webpack_require__(/*! ../../static/my/right.png */ 80)
   var m2 = __webpack_require__(/*! ../../static/my/right.png */ 80)
-  var m3 = __webpack_require__(/*! ../../static/my/right.png */ 80)
   _vm.$mp.data = Object.assign(
   _vm.$mp.data = Object.assign(
     {},
     {},
     {
     {
@@ -113,7 +112,6 @@ var render = function () {
         m0: m0,
         m0: m0,
         m1: m1,
         m1: m1,
         m2: m2,
         m2: m2,
-        m3: m3,
       },
       },
     }
     }
   )
   )
@@ -150,7 +148,7 @@ __webpack_require__.r(__webpack_exports__);
 /***/ (function(module, exports, __webpack_require__) {
 /***/ (function(module, exports, __webpack_require__) {
 
 
 "use strict";
 "use strict";
-
+/* WEBPACK VAR INJECTION */(function(uni) {
 
 
 Object.defineProperty(exports, "__esModule", {
 Object.defineProperty(exports, "__esModule", {
   value: true
   value: true
@@ -189,13 +187,20 @@ exports.default = void 0;
 //
 //
 //
 //
 //
 //
-//
 var _default = {
 var _default = {
   data: function data() {
   data: function data() {
     return {};
     return {};
+  },
+  methods: {
+    handleClickPhoto: function handleClickPhoto() {
+      uni.navigateTo({
+        url: '/pages/photo/photo'
+      });
+    }
   }
   }
 };
 };
 exports.default = _default;
 exports.default = _default;
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
 
 
 /***/ }),
 /***/ }),
 
 

+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/set/set.wxml


Some files were not shown because too many files changed in this diff