Browse Source

update wx

whx 1 năm trước cách đây
mục cha
commit
4905576e8f
54 tập tin đã thay đổi với 1829 bổ sung1053 xóa
  1. 18 4
      virgo.wzfrontend/wx/App.vue
  2. 23 79
      virgo.wzfrontend/wx/components/house/houseList.vue
  3. 64 0
      virgo.wzfrontend/wx/components/previewVideo/previewVideo.vue
  4. 47 0
      virgo.wzfrontend/wx/config/field.js
  5. 22 20
      virgo.wzfrontend/wx/index.html
  6. 13 0
      virgo.wzfrontend/wx/main.js
  7. 240 297
      virgo.wzfrontend/wx/pages/houseDetail/houseDetail.vue
  8. 36 9
      virgo.wzfrontend/wx/pages/index/index.vue
  9. 20 9
      virgo.wzfrontend/wx/pages/login/login.vue
  10. 8 5
      virgo.wzfrontend/wx/pages/my/my.vue
  11. 27 0
      virgo.wzfrontend/wx/request/api/house.js
  12. 12 1
      virgo.wzfrontend/wx/request/api/login.js
  13. 5 3
      virgo.wzfrontend/wx/request/request.js
  14. 1 1
      virgo.wzfrontend/wx/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  15. 1 1
      virgo.wzfrontend/wx/unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
  16. 1 1
      virgo.wzfrontend/wx/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  17. 1 1
      virgo.wzfrontend/wx/unpackage/dist/dev/.sourcemap/mp-weixin/components/house/houseList.js.map
  18. 1 1
      virgo.wzfrontend/wx/unpackage/dist/dev/.sourcemap/mp-weixin/components/login/model.js.map
  19. 1 0
      virgo.wzfrontend/wx/unpackage/dist/dev/.sourcemap/mp-weixin/components/previewVideo/previewVideo.js.map
  20. 1 1
      virgo.wzfrontend/wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/houseDetail/houseDetail.js.map
  21. 1 1
      virgo.wzfrontend/wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  22. 1 1
      virgo.wzfrontend/wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map
  23. 1 1
      virgo.wzfrontend/wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/my.js.map
  24. 1 1
      virgo.wzfrontend/wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/order.js.map
  25. 1 1
      virgo.wzfrontend/wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js.map
  26. 1 0
      virgo.wzfrontend/wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-tag/components/uni-tag/uni-tag.js.map
  27. 10 5
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/common/main.js
  28. 2 2
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/common/runtime.js
  29. 162 41
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/common/vendor.js
  30. 36 92
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/components/house/houseList.js
  31. 1 1
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/components/house/houseList.wxml
  32. 2 0
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/components/house/houseList.wxss
  33. 14 14
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/components/login/model.js
  34. 214 0
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/components/previewVideo/previewVideo.js
  35. 6 0
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/components/previewVideo/previewVideo.json
  36. 1 0
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/components/previewVideo/previewVideo.wxml
  37. 35 0
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/components/previewVideo/previewVideo.wxss
  38. 12 12
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/pages/house/house.js
  39. 83 109
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/pages/houseDetail/houseDetail.js
  40. 4 1
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/pages/houseDetail/houseDetail.json
  41. 1 1
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/pages/houseDetail/houseDetail.wxml
  42. 63 118
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/pages/houseDetail/houseDetail.wxss
  43. 51 21
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/pages/index/index.js
  44. 1 1
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/pages/index/index.wxml
  45. 39 29
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/pages/login/login.js
  46. 12 12
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/pages/message/message.js
  47. 24 21
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/pages/my/my.js
  48. 1 1
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/pages/my/my.wxml
  49. 16 16
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/pages/order/order.js
  50. 118 118
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js
  51. 260 0
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/uni_modules/uni-tag/components/uni-tag/uni-tag.js
  52. 4 0
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/uni_modules/uni-tag/components/uni-tag/uni-tag.json
  53. 1 0
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/uni_modules/uni-tag/components/uni-tag/uni-tag.wxml
  54. 108 0
      virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/uni_modules/uni-tag/components/uni-tag/uni-tag.wxss

+ 18 - 4
virgo.wzfrontend/wx/App.vue

@@ -1,12 +1,26 @@
 <script>
 	export default {
-		onLaunch: function() {
+		onLaunch() {
 			console.log('App Launch')
 		},
-		onShow: function() {
-			console.log('App Show')
+		onShow() {
+			// #ifdef H5
+			if (sessionStorage.getItem('store')) {
+				this.$store.replaceState(Object.assign({}, this.$store.state, JSON.parse(sessionStorage.getItem(
+					'store'))));
+				sessionStorage.setItem('store', ''); //重新置完清空session
+			}
+			if (sessionStorage.getItem('stores')) {
+				this.$store.replaceState(Object.assign({}, this.$store.state, JSON.parse(sessionStorage.getItem(
+					'stores'))));
+				sessionStorage.setItem('stores', ''); //重新置完清空session
+			}
+			window.addEventListener('beforeunload', () => {
+				sessionStorage.setItem('store', JSON.stringify(this.$store.state));
+			});
+			// #endif
 		},
-		onHide: function() {
+		onHide() {
 			console.log('App Hide')
 		}
 	}

+ 23 - 79
virgo.wzfrontend/wx/components/house/houseList.vue

@@ -1,6 +1,7 @@
 <template>
 	<view class="house-list">
-		<view class="house-item" v-for="(item,index) in houseList" :key="index">
+		<view class="house-item" v-for="(item,index) in houseList" :key="index"
+			@click="$navigateTo('/pages/houseDetail/houseDetail?id='+item.id)">
 			<view class="house-item-box">
 				<view class="house-item-img">
 					<image :src="item.privewImage" mode="aspectFill"></image>
@@ -13,13 +14,13 @@
 					<view class="house-item-name">{{item.name}}</view>
 					<view class="house-item-tag">
 						<text v-for="(tag,i) in item.tagList" :key="i">
-							<text>{{tag}}</text>
+							<text>{{tag.name}}</text>
 							<text class="line" v-if="i < item.tagList.length-1">|</text>
 						</text>
 					</view>
 					<view class="house-item-price">
 						<text>{{item.price}}</text>
-						<view class="price-type">{{item.priceType}}</view>
+						<view class="price-type">/{{item.payType === 0 ? '月' : '年'}}</view>
 					</view>
 				</view>
 			</view>
@@ -30,89 +31,30 @@
 <script>
 	export default {
 		name: 'houseList',
+		props: {
+			list: {
+				type: Array,
+				default: () => {
+					return []
+				}
+			},
+		},
 		data() {
 			return {
-				houseList: [{
-					privewImage: 'https://file-node.oss-cn-shanghai.aliyuncs.com/youji/3556e2b4f9c844758c3af76407b3a5d5',
-					projectItemName: '一号楼',
-					projectItemTargetName: '一层',
-					name: '1602,可短租~',
-					tagList: ['标签1', '标签2', '标签3'],
-					price: '1200',
-					priceType: '元/月'
-				}, {
-					privewImage: 'https://file-node.oss-cn-shanghai.aliyuncs.com/youji/3556e2b4f9c844758c3af76407b3a5d5',
-					projectItemName: '一号楼',
-					projectItemTargetName: '一层',
-					name: '1602,可短租~',
-					tagList: ['标签1', '标签2', '标签3'],
-					price: '1200',
-					priceType: '元/月'
-				}, {
-					privewImage: 'https://file-node.oss-cn-shanghai.aliyuncs.com/youji/3556e2b4f9c844758c3af76407b3a5d5',
-					projectItemName: '一号楼',
-					projectItemTargetName: '一层',
-					name: '1602,可短租~',
-					tagList: ['标签1', '标签2', '标签3'],
-					price: '1200',
-					priceType: '元/月'
-				}, {
-					privewImage: 'https://file-node.oss-cn-shanghai.aliyuncs.com/youji/3556e2b4f9c844758c3af76407b3a5d5',
-					projectItemName: '一号楼',
-					projectItemTargetName: '一层',
-					name: '1602,可短租~',
-					tagList: ['标签1', '标签2', '标签3'],
-					price: '1200',
-					priceType: '元/月'
-				}, {
-					privewImage: 'https://file-node.oss-cn-shanghai.aliyuncs.com/youji/3556e2b4f9c844758c3af76407b3a5d5',
-					projectItemName: '一号楼',
-					projectItemTargetName: '一层',
-					name: '1602,可短租~',
-					tagList: ['标签1', '标签2', '标签3'],
-					price: '1200',
-					priceType: '元/月'
-				}, {
-					privewImage: 'https://file-node.oss-cn-shanghai.aliyuncs.com/youji/3556e2b4f9c844758c3af76407b3a5d5',
-					projectItemName: '一号楼',
-					projectItemTargetName: '一层',
-					name: '1602,可短租~',
-					tagList: ['标签1', '标签2', '标签3'],
-					price: '1200',
-					priceType: '元/月'
-				}, {
-					privewImage: 'https://file-node.oss-cn-shanghai.aliyuncs.com/youji/3556e2b4f9c844758c3af76407b3a5d5',
-					projectItemName: '一号楼',
-					projectItemTargetName: '一层',
-					name: '1602,可短租~',
-					tagList: ['标签1', '标签2', '标签3'],
-					price: '1200',
-					priceType: '元/月'
-				}, {
-					privewImage: 'https://file-node.oss-cn-shanghai.aliyuncs.com/youji/3556e2b4f9c844758c3af76407b3a5d5',
-					projectItemName: '一号楼',
-					projectItemTargetName: '一层',
-					name: '1602,可短租~',
-					tagList: ['标签1', '标签2', '标签3'],
-					price: '1200',
-					priceType: '元/月'
-				}, {
-					privewImage: 'https://file-node.oss-cn-shanghai.aliyuncs.com/youji/3556e2b4f9c844758c3af76407b3a5d5',
-					projectItemName: '一号楼',
-					projectItemTargetName: '一层',
-					name: '1602,可短租~',
-					tagList: ['标签1', '标签2', '标签3'],
-					price: '1200',
-					priceType: '元/月'
-				}]
+				houseList: []
 			}
 		},
-		onShow() {
-
+		created() {
+			this.houseList = this.list;
 		},
 		onLoad() {
 
-		}
+		},
+		watch: {
+			list() {
+				this.houseList = this.list;
+			}
+		},
 	}
 </script>
 
@@ -175,6 +117,8 @@
 						padding-top: 10rpx;
 						padding-left: 20rpx;
 						color: $uni-extra-color;
+						overflow: hidden;
+						white-space: nowrap;
 
 						text {
 							font-size: 24rpx;

+ 64 - 0
virgo.wzfrontend/wx/components/previewVideo/previewVideo.vue

@@ -0,0 +1,64 @@
+<template>
+	<view class="preview-video" v-if="show">
+		<uni-icons class="preview-video-icon" type="clear" color="#fff" size="28" @click="$emit('close')"></uni-icons>
+		<view class="block" @tap.stop>
+			<video class="block-video" autoplay :src="videoUrl"></video>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		name: "previewVideo",
+		props: {
+			videoUrl: {
+				type: String,
+				default: ''
+			},
+			show: {
+				type: Boolean,
+				default: false
+			}
+		},
+		data() {
+			return {};
+		}
+	}
+</script>
+
+<style lang="scss">
+	.preview-video {
+		background-color: $uni-black;
+		position: fixed;
+		top: 0;
+		right: 0;
+		bottom: 0;
+		left: 0;
+		z-index: 99;
+
+		.block {
+			padding: 0 30rpx;
+			position: absolute;
+			top: 50%;
+			left: 50%;
+			transform: translate(-50%, -50%);
+			width: 100%;
+		}
+
+		.block-video {
+			width: 100%;
+		}
+
+		.preview-video-icon {
+			position: absolute;
+			/* #ifdef MP-WEIXIN */
+			top: 40rpx;
+			/* #endif */
+			/* #ifdef H5 */
+			top: 120rpx;
+			/* #endif */
+			right: 40rpx;
+
+		}
+	}
+</style>

+ 47 - 0
virgo.wzfrontend/wx/config/field.js

@@ -0,0 +1,47 @@
+const houseType = [{
+	id: 1,
+	name: '纯写字楼'
+}, {
+	id: 2,
+	name: '商住两用'
+}, {
+	id: 3,
+	name: '商业裙楼'
+}, {
+	id: 4,
+	name: '厂房改造'
+}]
+const payWay = [{
+	id: 1,
+	name: '公对公转账'
+}, {
+	id: 2,
+	name: '微信小程序支付'
+}]
+
+const findItem = (type, id) => {
+	if (type === 'houseType') {
+		return houseType.find(node => node.id === id) || {
+			id: 0,
+			name: '-'
+		};
+	} else if (type === 'payWay') {
+		return payWay.find(node => node.id === id) || {
+			id: 0,
+			name: '-'
+		};
+	}
+}
+
+export default {
+	field: {
+		houseType,
+		payWay
+	},
+	findHouseTypeName(id) {
+		return findItem('houseType', id).name;
+	},
+	findPayWayName(id) {
+		return findItem('payWay', id).name;
+	}
+}

+ 22 - 20
virgo.wzfrontend/wx/index.html

@@ -1,20 +1,22 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="UTF-8" />
-    <script>
-      var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
-        CSS.supports('top: constant(a)'))
-      document.write(
-        '<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
-        (coverSupport ? ', viewport-fit=cover' : '') + '" />')
-    </script>
-    <title></title>
-    <!--preload-links-->
-    <!--app-context-->
-  </head>
-  <body>
-    <div id="app"><!--app-html--></div>
-    <script type="module" src="/main.js"></script>
-  </body>
-</html>
+<!DOCTYPE html>
+<html lang="en">
+	<head>
+		<meta charset="UTF-8" />
+		<meta http-equiv="X-UA-Compatible" content="IE=edge">
+		<link rel="icon" href="https://file-node.oss-cn-shanghai.aliyuncs.com/youji/3156449b8a1a4874981b2a76d5947721">
+		<title>有极</title>
+		<script>
+			var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
+				CSS.supports('top: constant(a)'))
+			document.write(
+				'<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
+				(coverSupport ? ', viewport-fit=cover' : '') + '" />')
+		</script>
+		<!--preload-links-->
+		<!--app-context-->
+	</head>
+	<body>
+		<div id="app"><!--app-html--></div>
+		<script type="module" src="/main.js"></script>
+	</body>
+</html>

+ 13 - 0
virgo.wzfrontend/wx/main.js

@@ -3,7 +3,20 @@ import App from './App'
 import store from './store'
 
 Vue.prototype.$store = store;
+Vue.prototype.$navigateTo = (url) => {
+	uni.navigateTo({
+		url: url
+	})
+}
+
+import field from './config/field.js'
+Vue.prototype.$field = field;
+
+
 Vue.config.productionTip = false;
+
+
+
 App.mpType = 'app';
 
 const app = new Vue({

+ 240 - 297
virgo.wzfrontend/wx/pages/houseDetail/houseDetail.vue

@@ -1,94 +1,106 @@
 <template>
-	<view class="content">
-		<view class="position-details">
-			<!-- 滚动广告图 -->
-			<view class="banner">
-				<swiper :indicator-dots="false" :autoplay="true" :interval="3000" :duration="1000"
-					indicator-color="#fff" indicator-active-color="#74e0fa" class="banner-swiper"
-					@change="swiperchange">
-					<swiper-item>
-						<view class="swiper-item"
-							@click="previewImage('https://file-node.oss-cn-shanghai.aliyuncs.com/youji/3556e2b4f9c844758c3af76407b3a5d5')">
-							<image
-								src="https://file-node.oss-cn-shanghai.aliyuncs.com/youji/3556e2b4f9c844758c3af76407b3a5d5"
-								mode="aspectFill" class="banner-swiper-img">
-							</image>
-						</view>
-					</swiper-item>
-					<swiper-item>
-						<view class="swiper-item"
-							@click="previewImage('https://file-node.oss-cn-shanghai.aliyuncs.com/youji/3556e2b4f9c844758c3af76407b3a5d5')">
-							<image
-								src="https://file-node.oss-cn-shanghai.aliyuncs.com/youji/3556e2b4f9c844758c3af76407b3a5d5"
-								mode="aspectFill" class="banner-swiper-img">
-							</image>
-						</view>
-					</swiper-item>
-				</swiper>
-				<view class="indicator-dots">
-					<text>{{current + 1}}/4</text>
-				</view>
+	<view class="house-detail">
+		<view class="banner">
+			<swiper class="banner-swiper" @change="swiperchange">
+				<swiper-item v-for="(item,index) in detail.banner" :key="index">
+					<view class="swiper-item" @click="previewImage(item.url)">
+						<image :src="item.url" mode="aspectFill" class="banner-swiper-img">
+						</image>
+					</view>
+				</swiper-item>
+			</swiper>
+			<view class="indicator-dots">
+				<text>{{current + 1}}/{{detail.banner.length}}</text>
+			</view>
+		</view>
+		<view class="house-info">
+			<view class="title">{{detail.name}}</view>
+			<view class="price">
+				<view class="price-text">¥</view>
+				<text class="price-number">{{detail.price}}</text>
+				<view class="price-text">元/{{detail.payType === 0 ? '月' : '年'}}</view>
 			</view>
-			<view class="info">
-				<view class="title">name【village_name】</view>
-				<view class="price">
-					<view class="price-text">¥</view>
-					<text>120</text>
-					<view class="price-text">元/月</view>
+			<view class="information">
+				<view class="head-tilte">房源标签</view>
+				<view class="tag">
+					<uni-tag v-for="(tag,i) in detail.tagList" :key="i" :text="tag.name" size="mini"
+						class="house-tag" />
 				</view>
-				<!-- 房源信息 -->
-				<view class="information">
-					<view class="head-tilte">房源信息</view>
-					<view class="information-list">
-						<view class="information-box">
-							<text class="information-title">房型:</text>
-							<text class="information-text">housing</text>
-						</view>
-						<view class="information-box">
-							<text class="information-title">押付:</text>
-							<text class="information-text">oshitsuke</text>
-						</view>
-						<view class="information-box">
-							<text class="information-title">楼层:</text>
-							<text class="information-text">floor楼</text>
-						</view>
-						<view class="information-box">
-							<text class="information-title">朝向:</text>
-							<text class="information-text">orientation_name</text>
-						</view>
-						<view class="information-box">
-							<text class="information-title">建面:</text>
-							<text class="information-text">aream²</text>
-						</view>
-						<view class="information-box">
-							<text class="information-title">电梯:</text>
-							<text class="information-text">elevator</text>
-						</view>
+				<view class="head-tilte">房源信息</view>
+				<view class="information-list">
+					<view class="information-box">
+						<text class="information-title">所属楼宇:</text>
+						<text class="information-text">{{detail.projectItemName}}</text>
+					</view>
+					<view class="information-box">
+						<text class="information-title">所属楼层:</text>
+						<text class="information-text">{{detail.projectItemTargetName}}</text>
+					</view>
+					<view class="information-box">
+						<text class="information-title">房源类型:</text>
+						<text class="information-text">{{$field.findHouseTypeName(detail.roomTypeId)}}</text>
+					</view>
+					<view class="information-box">
+						<text class="information-title">房间号码:</text>
+						<text class="information-text">{{detail.roomNumber}}</text>
+					</view>
+					<view class="information-box">
+						<text class="information-title">房源面积:</text>
+						<text class="information-text">{{detail.area}}</text>
+					</view>
+					<view class="information-box">
+						<text class="information-title">付款方式:</text>
+						<text class="information-text">{{$field.findPayWayName(detail.payWay)}}</text>
+					</view>
+					<view class="information-box">
+						<text class="information-title">产权证书:</text>
+						<text class="information-text">{{detail.propertyCertificateNumber}}</text>
+					</view>
+					<view class="information-box">
+						<text class="information-title">是否装修:</text>
+						<text class="information-text">{{detail.decoration === 1 ? '已装修':'未装修'}}</text>
 					</view>
 				</view>
-				<!-- 房屋介绍 -->
 				<view class="desc">
 					<view class="head-tilte">房屋介绍</view>
-					<view class="desc-text"><text>goods_desc</text></view>
+					<view class="desc-text" v-html="detail.introduce"></view>
 				</view>
 			</view>
-			<!-- 底部按钮 -->
-			<view class="btn">
-				<view class="share color01"><text>签约</text></view>
-				<view class="share color02"><text>咨询</text></view>
-				<view class="share"><text>留言</text></view>
-			</view>
 		</view>
+		<view class="btn-box">
+			<view class="share color01">签约</view>
+			<view class="share color02">咨询</view>
+			<view class="share">留言</view>
+		</view>
+		<preview-video :show="videoShow" :videoUrl="videoUrl" @close="videoShow = false"></preview-video>
 	</view>
 </template>
 
 <script>
+	import previewVideo from '../../components/previewVideo/previewVideo'
+	import {
+		getHouseDetailById
+	} from '@/request/api/house'
 	export default {
 		data() {
 			return {
+				videoShow: false,
+				videoUrl: 'https://file-node.oss-cn-shanghai.aliyuncs.com/youji/071c2be54d154f57ae34c31242282788',
 				current: 0,
+				detail: {
+					banner: [],
+					tagList: []
+				}
 			}
 		},
+		onLoad(body) {
+			getHouseDetailById(body.id).then(res => {
+				if (res.code === 200) {
+					this.detail = res.data;
+					if (this.detail.picture) this.detail['banner'] = JSON.parse(this.detail.picture);
+				}
+			})
+		},
 		methods: {
 			swiperchange(e) {
 				this.current = e.detail.current
@@ -105,266 +117,197 @@
 					phoneNumber: '10086' //仅为示例
 				});
 			},
-			// 去首页
-			gohome() {
-				uni.reLaunch({
-					url: '/pages/index/index'
-				})
-			},
 			// 预览图片
 			previewImage(url) {
 				uni.previewImage({
-					urls: url,
-					showmenu: false
+					urls: [url]
 				})
 			},
+		},
+		components: {
+			previewVideo
 		}
 	}
 </script>
 
 <style lang="scss">
-	.content {
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		justify-content: center;
+	.house-detail {
 		background: #fff;
-	}
-
-	.position-details {
-		width: 100%;
-		padding-bottom: 140upx;
-	}
-
-	.banner {
-		position: relative;
-		width: 100%;
-	}
-
-	.banner-swiper {
-		height: 650upx;
-	}
-
-	.banner-swiper-img {
-		height: 650upx !important;
-	}
-
-	.swiper-item image {
-		width: 100%;
-	}
-
-	.indicator-dots {
-		position: absolute;
-		bottom: 30upx;
-		left: 0;
-		right: 0;
-		display: flex;
-		justify-content: center;
-		align-items: center;
-	}
-
-	.indicator-dots text {
-		font-size: 24upx;
-		color: #FFFFFF;
-		background: rgba(0, 0, 0, 0.5);
-		border-radius: 50upx;
-		width: 64upx;
-		text-align: center;
-	}
-
-	/deep/ .uni-swiper-dot {
-		width: 40upx;
-		height: 4upx;
-		border-radius: 20upx;
-	}
-
-	wx-swiper .wx-swiper-dot {
-		width: 40upx;
-		height: 4upx;
-		border-radius: 20upx;
-	}
-
-	.info {
-		position: relative;
-		padding: 30upx;
-		border-top-left-radius: 20upx;
-		border-top-right-radius: 20upx;
-		background: #FFFFFF;
-		margin-top: -20upx;
-	}
-
-	.info .title {
-		font-size: 38upx;
-		font-weight: bold;
-	}
-
-	.price {
-		padding-top: 20upx;
-		color: red;
-	}
-
-	.price text {
-		font-size: 40upx;
-	}
-
-	.price .price-text {
-		display: inline-block;
-		font-size: 26upx;
-		scale: 0.8;
-	}
-
-	.information {
-		padding-top: 30upx;
-	}
-
-	.head-tilte {
-		font-size: 30upx;
-		font-weight: bold;
-	}
-
-	.information-list {
-		display: flex;
-		flex-wrap: wrap;
-		padding: 20upx 30upx 0;
-	}
-
-	.information-box {
-		width: 50%;
-		display: flex;
-		padding: 20upx 0;
-	}
-
-	.information-title {
-		font-size: 26upx;
-		color: #b4b4b4;
-	}
+		padding-bottom: 140rpx;
 
-	.information-text {
-		font-size: 26upx;
-		color: #2d2d2d;
-	}
-
-	.arrangement {
-		padding-top: 30upx;
-	}
+		.banner {
+			position: relative;
+			width: 100%;
 
-	.arrangement-list {
-		display: flex;
-		flex-wrap: wrap;
-		padding: 20upx 0;
-	}
+			.banner-swiper {
+				height: 600rpx;
+			}
 
-	.arrangement-box {
-		width: 20%;
-		padding-top: 20upx;
-		text-align: center
-	}
+			.banner-swiper-img {
+				height: 600rpx !important;
+			}
 
-	.arrangement-icon {
-		color: red;
-		font-size: 64upx;
-	}
+			.swiper-item image {
+				width: 100%;
+			}
 
-	.arrangement-text {
-		padding-top: 6upx;
-		font-size: 24upx;
-	}
+			.indicator-dots {
+				position: absolute;
+				bottom: 30rpx;
+				left: 0;
+				right: 0;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+			}
 
-	.desc {
-		padding-top: 20upx;
-	}
+			.indicator-dots text {
+				font-size: 24rpx;
+				color: $uni-white;
+				background: rgba(0, 0, 0, 0.5);
+				border-radius: 50rpx;
+				width: 64rpx;
+				text-align: center;
+			}
 
-	.desc-text {
-		padding: 30upx 30upx 20upx 30upx;
-	}
+			/deep/ .uni-swiper-dot {
+				width: 40rpx;
+				height: 4rpx;
+				border-radius: 20rpx;
+			}
+		}
 
-	.desc-text text {
-		line-height: 44upx;
-		font-size: 28upx;
-	}
+		.house-info {
+			position: relative;
+			padding: 30rpx;
+			border-top-left-radius: 30rpx;
+			border-top-right-radius: 30rpx;
+			background: $uni-white;
+			margin-top: -30rpx;
+
+			.title {
+				font-size: 38rpx;
+				font-weight: bold;
+			}
 
-	.map {
-		padding: 30upx 0 0 0;
-	}
+			.price {
+				padding-top: 20rpx;
+				color: $uni-error;
 
-	.btn {
-		position: fixed;
-		bottom: 0;
-		left: 0;
-		right: 0;
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		padding: 20upx 1%;
-		background: #fff;
-	}
+				.price-number {
+					font-size: 44rpx;
+					font-weight: bold;
+				}
 
-	.share {
-		flex: 1;
-		text-align: center;
-		background: #4a55fd;
-		border-radius: 8upx;
-		height: 90upx;
-		text-align: center;
-		margin: 0 1%;
-		display: flex;
-		justify-content: center;
-		align-items: center;
-	}
+				.price-text {
+					display: inline-block;
+					font-size: 26rpx;
+					scale: 0.8;
+				}
+			}
+		}
 
-	.share text {
-		font-size: 26upx;
-		color: #fff;
-	}
+		.information {
+			padding-top: 30rpx;
+
+			.tag {
+				margin-top: 10rpx;
+				margin-bottom: 20rpx;
+				padding: 0 20rpx;
+
+				.house-tag {
+					background-color: #d4d1d7;
+					border-color: #d4d1d7;
+					padding: 0 10px;
+					border-radius: 10rpx;
+					margin-right: 20rpx;
+
+					/* #ifdef MP-WEIXIN */
+					text {
+						background: transparent;
+						border: none;
+					}
+
+					/* #endif */
+				}
+			}
 
-	.share button {
-		padding: 0;
-		margin: 0;
-		color: #fff;
-		font-size: 26upx;
-		border-radius: 8upx;
-		height: 90upx;
-		background: #4a55fd;
-		line-height: 90upx;
-	}
+			.head-tilte {
+				font-size: 30rpx;
+				font-weight: bold;
+			}
 
-	.color01 {
-		background: linear-gradient(to right, #fea733, #feb34d, #fdc46b);
-	}
+			.information-list {
+				display: flex;
+				flex-wrap: wrap;
+				padding: 20rpx 20rpx 0;
+
+				.information-box {
+					width: 50%;
+					display: flex;
+					padding: 20rpx 0;
+				}
+
+				.information-title {
+					font-size: 26rpx;
+					color: $uni-extra-color;
+				}
+
+				.information-text {
+					font-size: 26rpx;
+					color: $uni-base-color;
+					flex: 1;
+					width: 0;
+					overflow: hidden;
+					white-space: nowrap;
+				}
+			}
 
-	.color02 {
-		background: linear-gradient(to right, #ff4761, #fe606e, #fc706f);
-	}
+			.desc {
+				padding-top: 20rpx;
 
-	.bnt-box {
-		position: fixed;
-		right: 20upx;
-		bottom: 12%;
+				.desc-text {
+					padding: 20rpx;
+					color: $uni-base-color;
+					font-size: 26rpx;
+				}
+			}
+		}
 
-		button {
+		.btn-box {
+			position: fixed;
+			bottom: 0;
+			left: 0;
+			right: 0;
 			display: flex;
 			justify-content: center;
 			align-items: center;
-			padding: 0;
-			margin: 14upx 0;
-			width: 76upx;
-			height: 76upx;
-			border-radius: 50%;
-			background: rgba(255, 255, 255, 1);
-			box-shadow: 0px 2px 4px #e9e9e9;
+			padding: 20rpx 1%;
+			background: #fff;
+			box-shadow: $uni-shadow-sm;
+
+			.share {
+				flex: 1;
+				text-align: center;
+				background: #4a55fd;
+				border-radius: 8rpx;
+				height: 60rpx;
+				text-align: center;
+				margin: 0 1%;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+				font-size: 26rpx;
+				color: #fff;
+			}
 
-			text {
-				color: #666666;
+			.color01 {
+				background: linear-gradient(to right, #fea733, #feb34d, #fdc46b);
 			}
-		}
 
-		.kefunv {
-			color: #666666;
-			font-size: 40upx;
+			.color02 {
+				background: linear-gradient(to right, #ff4761, #fe606e, #fc706f);
+			}
 		}
 	}
-
-	.recommend-list {
-		padding: 0 10upx;
-	}
 </style>

+ 36 - 9
virgo.wzfrontend/wx/pages/index/index.vue

@@ -42,13 +42,16 @@
 			<view class="good-box">
 				<text>推荐房源</text>
 			</view>
-			<house-list></house-list>
+			<house-list :list="houseList"></house-list>
 		</view>
 	</view>
 </template>
 
 <script>
 	import houseList from '@/components/house/houseList.vue'
+	import {
+		getHouseListByPage
+	} from '@/request/api/house'
 	export default {
 		data() {
 			return {
@@ -58,11 +61,40 @@
 					{
 						url: 'https://file-node.oss-cn-shanghai.aliyuncs.com/youji/f488a1cc0e904ed089d52d88e3c1b33d'
 					}
-				]
+				],
+				houseList: []
+			}
+		},
+		onShow() {
+			this.getHouseList();
+		},
+		methods: {
+			getHouseList() {
+				getHouseListByPage({
+					currPage: 1,
+					pageSize: 10,
+					projectId: 9
+				}).then(res => {
+					if (res.code === 200) {
+						let commonUrl =
+							'https://file-node.oss-cn-shanghai.aliyuncs.com/youji/f488a1cc0e904ed089d52d88e3c1b33d';
+						this.houseList = res.data.dataList.map(node => {
+							if (node.picture) {
+								let picture = JSON.parse(node.picture);
+								if (picture.length === 0) {
+									node['privewImage'] = commonUrl;
+								} else {
+									node['privewImage'] = picture[0].url;
+								}
+							} else {
+								node['privewImage'] = commonUrl;
+							}
+							return node;
+						});
+					}
+				})
 			}
 		},
-		onShow() {},
-		methods: {},
 		components: {
 			houseList
 		}
@@ -192,7 +224,6 @@
 				opacity: 0.5;
 			}
 
-
 			.sub-label-icon {
 				/* #ifdef H5 */
 				color: $uni-extras-color !important;
@@ -206,10 +237,6 @@
 				/* #endif */
 			}
 
-
-
-
-
 			.grid-item:nth-child(2n) {
 				margin-left: 30rpx;
 			}

+ 20 - 9
virgo.wzfrontend/wx/pages/login/login.vue

@@ -56,7 +56,8 @@
 	import {
 		login,
 		getImgCode,
-		sendPhoneCode
+		sendPhoneCode,
+		getUserInfo
 	} from '@/request/api/login'
 	import {
 		isTel
@@ -160,15 +161,25 @@
 			},
 			successFunc(res) {
 				if (res.code === 200) {
-					uni.showToast({
-						title: '登录成功',
-						icon: "none"
+					uni.setStorageSync('token', res.data.token);
+					getUserInfo().then(user => {
+						if (user.code === 200) {
+							let userInfo = user.data;
+							this.$store.dispatch('app/changeOrganization', userInfo.organization);
+							this.$store.dispatch('app/changeUser', userInfo);
+							uni.showToast({
+								title: '登录成功',
+								icon: "none"
+							})
+							setTimeout(() => {
+								uni.hideLoading();
+								uni.navigateBack();
+							}, 400)
+						} else {
+							uni.hideLoading();
+						}
 					})
-					console.log(res.data);
-					setTimeout(() => {
-						uni.hideLoading();
-						// uni.navigateBack();
-					}, 400)
+
 				} else {
 					uni.hideLoading();
 				}

+ 8 - 5
virgo.wzfrontend/wx/pages/my/my.vue

@@ -2,8 +2,8 @@
 	<view class="my-index">
 		<image class="my-header-image" :src="bgImage" mode="aspectFill"></image>
 		<view class="user-info-box" @click="goPage('/pages/login/login')">
-			<image class="avatar-image" :src="logoImage" mode="aspectFill"></image>
-			<view class="user-info-right">登录/注册</view>
+			<image class="avatar-image" :src="user.portrait" mode="aspectFill"></image>
+			<view class="user-info-right">{{!user.userId ? '登录/注册':user.userName}}</view>
 		</view>
 		<view class="user-activity-menu">
 			<view class="menu-item">
@@ -36,11 +36,14 @@
 		data() {
 			return {
 				bgImage: require('@/static/image/my/banner.png'),
-				logoImage: require('@/static/image/login/logo.png'),
+				user: {
+					portrait: 'https://file-node.oss-cn-shanghai.aliyuncs.com/youji/3156449b8a1a4874981b2a76d5947721'
+				}
 			};
 		},
-		created() {},
-		onShow() {},
+		onShow() {
+			if (this.$store.getters.user.userId) this.user = this.$store.getters.user;
+		},
 		methods: {
 			/* 跳转页面 */
 			goPage(page) {

+ 27 - 0
virgo.wzfrontend/wx/request/api/house.js

@@ -0,0 +1,27 @@
+import {
+	request
+} from '@/request/request.js';
+
+/* 
+ * 获取房源列表
+ * 
+ * 
+ */
+export function getHouseListByPage(data) {
+	return request({
+		url: `/api/projectItemTargetRoom/${data.currPage}/${data.pageSize}`,
+		method: 'post',
+		data: data
+	})
+}
+/* 
+ * 获取房源详情
+ * 
+ * 
+ */
+export function getHouseDetailById(id) {
+	return request({
+		url: `/api/projectItemTargetRoom/${id}`,
+		method: 'get'
+	})
+}

+ 12 - 1
virgo.wzfrontend/wx/request/api/login.js

@@ -1,6 +1,6 @@
 import {
 	request
-} from '../request.js';
+} from '@/request/request.js';
 
 /* 
  * 登录
@@ -32,4 +32,15 @@ export function sendPhoneCode(phone, vCode) {
 		url: `/manager/send/${phone}/${vCode}`,
 		method: 'get'
 	})
+}
+/* 
+ * 获取当前登录者信息
+ * @param null
+ * 
+ */
+export function getUserInfo(data) {
+	return request({
+		url: `/manager/userContext`,
+		method: 'get'
+	})
 }

+ 5 - 3
virgo.wzfrontend/wx/request/request.js

@@ -1,13 +1,15 @@
 const BASE_URL = 'https://www.waywish.com';
 export function request(options) {
 	return new Promise((resolve, reject) => {
+		let header = options.header || {
+			'Content-Type': 'application/json'
+		}
+		if (uni.getStorageSync('token')) header['token'] = uni.getStorageSync('token');
 		uni.request({
 			url: BASE_URL + options.url, // 服务器url
 			method: options.method || 'GET', // 请求方法,默认为GET
 			data: options.data || {}, // 请求参数
-			header: options.header || {
-				'Content-Type': 'application/json'
-			}, // 设置请求的 header
+			header: header, // 设置请求的 header
 			success: (res) => {
 				// 请求成功
 				if (res.statusCode === 200) {

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 1
virgo.wzfrontend/wx/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 1
virgo.wzfrontend/wx/unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 1
virgo.wzfrontend/wx/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 1
virgo.wzfrontend/wx/unpackage/dist/dev/.sourcemap/mp-weixin/components/house/houseList.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 1
virgo.wzfrontend/wx/unpackage/dist/dev/.sourcemap/mp-weixin/components/login/model.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 0
virgo.wzfrontend/wx/unpackage/dist/dev/.sourcemap/mp-weixin/components/previewVideo/previewVideo.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 1
virgo.wzfrontend/wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/houseDetail/houseDetail.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 1
virgo.wzfrontend/wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 1
virgo.wzfrontend/wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 1
virgo.wzfrontend/wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/my.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 1
virgo.wzfrontend/wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/order.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 1
virgo.wzfrontend/wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 0
virgo.wzfrontend/wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-tag/components/uni-tag/uni-tag.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 10 - 5
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/common/main.js


+ 2 - 2
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/common/runtime.js

@@ -105,11 +105,11 @@
 /******/
 /******/
 /******/ 		// mini-css-extract-plugin CSS loading
-/******/ 		var cssChunks = {"uni_modules/uni-icons/components/uni-icons/uni-icons":1,"components/house/houseList":1,"components/login/model":1};
+/******/ 		var cssChunks = {"uni_modules/uni-icons/components/uni-icons/uni-icons":1,"components/house/houseList":1,"components/login/model":1,"components/previewVideo/previewVideo":1,"uni_modules/uni-tag/components/uni-tag/uni-tag":1};
 /******/ 		if(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);
 /******/ 		else if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {
 /******/ 			promises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {
-/******/ 				var href = "" + ({"uni_modules/uni-icons/components/uni-icons/uni-icons":"uni_modules/uni-icons/components/uni-icons/uni-icons","components/house/houseList":"components/house/houseList","components/login/model":"components/login/model"}[chunkId]||chunkId) + ".wxss";
+/******/ 				var href = "" + ({"uni_modules/uni-icons/components/uni-icons/uni-icons":"uni_modules/uni-icons/components/uni-icons/uni-icons","components/house/houseList":"components/house/houseList","components/login/model":"components/login/model","components/previewVideo/previewVideo":"components/previewVideo/previewVideo","uni_modules/uni-tag/components/uni-tag/uni-tag":"uni_modules/uni-tag/components/uni-tag/uni-tag"}[chunkId]||chunkId) + ".wxss";
 /******/ 				var fullhref = __webpack_require__.p + href;
 /******/ 				var existingLinkTags = document.getElementsByTagName("link");
 /******/ 				for(var i = 0; i < existingLinkTags.length; i++) {

+ 162 - 41
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/common/vendor.js

@@ -11033,23 +11033,81 @@ var _default = {
 exports.default = _default;
 
 /***/ }),
-/* 38 */,
+/* 38 */
+/*!**********************************************************************************!*\
+  !*** /Users/whx/Documents/yuiProject/realty/virgo.wzfrontend/wx/config/field.js ***!
+  \**********************************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var houseType = [{
+  id: 1,
+  name: '纯写字楼'
+}, {
+  id: 2,
+  name: '商住两用'
+}, {
+  id: 3,
+  name: '商业裙楼'
+}, {
+  id: 4,
+  name: '厂房改造'
+}];
+var payWay = [{
+  id: 1,
+  name: '公对公转账'
+}, {
+  id: 2,
+  name: '微信小程序支付'
+}];
+var findItem = function findItem(type, id) {
+  if (type === 'houseType') {
+    return houseType.find(function (node) {
+      return node.id === id;
+    }) || {
+      id: 0,
+      name: '-'
+    };
+  } else if (type === 'payWay') {
+    return payWay.find(function (node) {
+      return node.id === id;
+    }) || {
+      id: 0,
+      name: '-'
+    };
+  }
+};
+var _default = {
+  field: {
+    houseType: houseType,
+    payWay: payWay
+  },
+  findHouseTypeName: function findHouseTypeName(id) {
+    return findItem('houseType', id).name;
+  },
+  findPayWayName: function findPayWayName(id) {
+    return findItem('payWay', id).name;
+  }
+};
+exports.default = _default;
+
+/***/ }),
 /* 39 */,
 /* 40 */,
 /* 41 */,
 /* 42 */,
 /* 43 */,
 /* 44 */,
-/* 45 */,
-/* 46 */,
-/* 47 */,
-/* 48 */,
-/* 49 */,
-/* 50 */,
-/* 51 */,
-/* 52 */
+/* 45 */
 /*!***************************************************************************************!*\
-  !*** /Users/whx/Documents/yuiProject/realty/virgo.wzfrontend/wx/request/api/login.js ***!
+  !*** /Users/whx/Documents/yuiProject/realty/virgo.wzfrontend/wx/request/api/house.js ***!
   \***************************************************************************************/
 /*! no static exports found */
 /***/ (function(module, exports, __webpack_require__) {
@@ -11060,44 +11118,35 @@ exports.default = _default;
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
-exports.getImgCode = getImgCode;
-exports.login = login;
-exports.sendPhoneCode = sendPhoneCode;
-var _request = __webpack_require__(/*! ../request.js */ 53);
+exports.getHouseDetailById = getHouseDetailById;
+exports.getHouseListByPage = getHouseListByPage;
+var _request = __webpack_require__(/*! @/request/request.js */ 46);
 /* 
- * 登录
+ * 获取房源列表
+ * 
  * 
  */
-function login(data) {
+function getHouseListByPage(data) {
   return (0, _request.request)({
-    url: "/manager/login",
+    url: "/api/projectItemTargetRoom/".concat(data.currPage, "/").concat(data.pageSize),
     method: 'post',
     data: data
   });
 }
 /* 
- * 获取图片验证码
+ * 获取房源详情
  * 
- */
-function getImgCode() {
-  return (0, _request.request)({
-    url: "/manager/pCode",
-    method: 'get'
-  });
-}
-/* 
- * 发送手机验证码
  * 
  */
-function sendPhoneCode(phone, vCode) {
+function getHouseDetailById(id) {
   return (0, _request.request)({
-    url: "/manager/send/".concat(phone, "/").concat(vCode),
+    url: "/api/projectItemTargetRoom/".concat(id),
     method: 'get'
   });
 }
 
 /***/ }),
-/* 53 */
+/* 46 */
 /*!*************************************************************************************!*\
   !*** /Users/whx/Documents/yuiProject/realty/virgo.wzfrontend/wx/request/request.js ***!
   \*************************************************************************************/
@@ -11114,6 +11163,10 @@ exports.request = request;
 var BASE_URL = 'https://www.waywish.com';
 function request(options) {
   return new Promise(function (resolve, reject) {
+    var header = options.header || {
+      'Content-Type': 'application/json'
+    };
+    if (uni.getStorageSync('token')) header['token'] = uni.getStorageSync('token');
     uni.request({
       url: BASE_URL + options.url,
       // 服务器url
@@ -11121,9 +11174,7 @@ function request(options) {
       // 请求方法,默认为GET
       data: options.data || {},
       // 请求参数
-      header: options.header || {
-        'Content-Type': 'application/json'
-      },
+      header: header,
       // 设置请求的 header
       success: function success(res) {
         // 请求成功
@@ -11149,7 +11200,77 @@ function request(options) {
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
 
 /***/ }),
-/* 54 */
+/* 47 */,
+/* 48 */,
+/* 49 */,
+/* 50 */,
+/* 51 */,
+/* 52 */,
+/* 53 */,
+/* 54 */,
+/* 55 */
+/*!***************************************************************************************!*\
+  !*** /Users/whx/Documents/yuiProject/realty/virgo.wzfrontend/wx/request/api/login.js ***!
+  \***************************************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.getImgCode = getImgCode;
+exports.getUserInfo = getUserInfo;
+exports.login = login;
+exports.sendPhoneCode = sendPhoneCode;
+var _request = __webpack_require__(/*! @/request/request.js */ 46);
+/* 
+ * 登录
+ * 
+ */
+function login(data) {
+  return (0, _request.request)({
+    url: "/manager/login",
+    method: 'post',
+    data: data
+  });
+}
+/* 
+ * 获取图片验证码
+ * 
+ */
+function getImgCode() {
+  return (0, _request.request)({
+    url: "/manager/pCode",
+    method: 'get'
+  });
+}
+/* 
+ * 发送手机验证码
+ * 
+ */
+function sendPhoneCode(phone, vCode) {
+  return (0, _request.request)({
+    url: "/manager/send/".concat(phone, "/").concat(vCode),
+    method: 'get'
+  });
+}
+/* 
+ * 获取当前登录者信息
+ * @param null
+ * 
+ */
+function getUserInfo(data) {
+  return (0, _request.request)({
+    url: "/manager/userContext",
+    method: 'get'
+  });
+}
+
+/***/ }),
+/* 56 */
 /*!************************************************************************************!*\
   !*** /Users/whx/Documents/yuiProject/realty/virgo.wzfrontend/wx/uitls/validate.js ***!
   \************************************************************************************/
@@ -11265,7 +11386,7 @@ function isTel(phone) {
 }
 
 /***/ }),
-/* 55 */
+/* 57 */
 /*!**********************************************************************************************!*\
   !*** /Users/whx/Documents/yuiProject/realty/virgo.wzfrontend/wx/static/image/login/logo.png ***!
   \**********************************************************************************************/
@@ -11275,8 +11396,6 @@ function isTel(phone) {
 module.exports = __webpack_require__.p + "static/image/login/logo.png";
 
 /***/ }),
-/* 56 */,
-/* 57 */,
 /* 58 */,
 /* 59 */,
 /* 60 */,
@@ -11291,7 +11410,9 @@ module.exports = __webpack_require__.p + "static/image/login/logo.png";
 /* 69 */,
 /* 70 */,
 /* 71 */,
-/* 72 */
+/* 72 */,
+/* 73 */,
+/* 74 */
 /*!*********************************************************************************************!*\
   !*** /Users/whx/Documents/yuiProject/realty/virgo.wzfrontend/wx/static/image/my/banner.png ***!
   \*********************************************************************************************/
@@ -11301,8 +11422,6 @@ module.exports = __webpack_require__.p + "static/image/login/logo.png";
 module.exports = __webpack_require__.p + "static/image/my/banner.png";
 
 /***/ }),
-/* 73 */,
-/* 74 */,
 /* 75 */,
 /* 76 */,
 /* 77 */,
@@ -11328,7 +11447,9 @@ module.exports = __webpack_require__.p + "static/image/my/banner.png";
 /* 97 */,
 /* 98 */,
 /* 99 */,
-/* 100 */
+/* 100 */,
+/* 101 */,
+/* 102 */
 /*!**********************************************************************************************************************!*\
   !*** /Users/whx/Documents/yuiProject/realty/virgo.wzfrontend/wx/uni_modules/uni-icons/components/uni-icons/icons.js ***!
   \**********************************************************************************************************************/

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 36 - 92
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/components/house/houseList.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 1
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/components/house/houseList.wxml


+ 2 - 0
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/components/house/houseList.wxss

@@ -58,6 +58,8 @@
   padding-top: 10rpx;
   padding-left: 20rpx;
   color: #c7c7c7;
+  overflow: hidden;
+  white-space: nowrap;
 }
 .house-list .house-item .house-item-box .house-item-info .house-item-tag text {
   font-size: 24rpx;

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 14 - 14
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/components/login/model.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 214 - 0
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/components/previewVideo/previewVideo.js


+ 6 - 0
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/components/previewVideo/previewVideo.json

@@ -0,0 +1,6 @@
+{
+  "usingComponents": {
+    "uni-icons": "/uni_modules/uni-icons/components/uni-icons/uni-icons"
+  },
+  "component": true
+}

+ 1 - 0
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/components/previewVideo/previewVideo.wxml

@@ -0,0 +1 @@
+<block wx:if="{{show}}"><view class="preview-video"><uni-icons class="preview-video-icon" vue-id="1e7c4922-1" type="clear" color="#fff" size="28" data-event-opts="{{[['^click',[['$emit',['close']]]]]}}" bind:click="__e" bind:__l="__l"></uni-icons><view data-event-opts="{{[['tap',[['',['$event']]]]]}}" class="block" catchtap="__e"><video class="block-video" autoplay="{{true}}" src="{{videoUrl}}"></video></view></view></block>

+ 35 - 0
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/components/previewVideo/previewVideo.wxss

@@ -0,0 +1,35 @@
+@charset "UTF-8";
+/* 需要放到文件最上面 */
+/* 水平间距 */
+/* 水平间距 */
+/*
+ 以下变量是默认值,如不需要修改可以不用给下面的变量重新赋值
+ */
+/* 水平间距 */
+.preview-video {
+  background-color: #000000;
+  position: fixed;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 99;
+}
+.preview-video .block {
+  padding: 0 30rpx;
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  -webkit-transform: translate(-50%, -50%);
+          transform: translate(-50%, -50%);
+  width: 100%;
+}
+.preview-video .block-video {
+  width: 100%;
+}
+.preview-video .preview-video-icon {
+  position: absolute;
+  top: 40rpx;
+  right: 40rpx;
+}
+

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 12 - 12
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/pages/house/house.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 83 - 109
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/pages/houseDetail/houseDetail.js


+ 4 - 1
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/pages/houseDetail/houseDetail.json

@@ -1,4 +1,7 @@
 {
   "navigationBarTitleText": "房源详情",
-  "usingComponents": {}
+  "usingComponents": {
+    "uni-tag": "/uni_modules/uni-tag/components/uni-tag/uni-tag",
+    "preview-video": "/components/previewVideo/previewVideo"
+  }
 }

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 1
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/pages/houseDetail/houseDetail.wxml


+ 63 - 118
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/pages/houseDetail/houseDetail.wxss

@@ -6,31 +6,24 @@
  以下变量是默认值,如不需要修改可以不用给下面的变量重新赋值
  */
 /* 水平间距 */
-.content {
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  justify-content: center;
+.house-detail {
   background: #fff;
-}
-.position-details {
-  width: 100%;
   padding-bottom: 140rpx;
 }
-.banner {
+.house-detail .banner {
   position: relative;
   width: 100%;
 }
-.banner-swiper {
-  height: 650rpx;
+.house-detail .banner .banner-swiper {
+  height: 600rpx;
 }
-.banner-swiper-img {
-  height: 650rpx !important;
+.house-detail .banner .banner-swiper-img {
+  height: 600rpx !important;
 }
-.swiper-item image {
+.house-detail .banner .swiper-item image {
   width: 100%;
 }
-.indicator-dots {
+.house-detail .banner .indicator-dots {
   position: absolute;
   bottom: 30rpx;
   left: 0;
@@ -39,108 +32,98 @@
   justify-content: center;
   align-items: center;
 }
-.indicator-dots text {
+.house-detail .banner .indicator-dots text {
   font-size: 24rpx;
-  color: #FFFFFF;
+  color: #ffffff;
   background: rgba(0, 0, 0, 0.5);
   border-radius: 50rpx;
   width: 64rpx;
   text-align: center;
 }
- .uni-swiper-dot {
+.house-detail .banner .uni-swiper-dot {
   width: 40rpx;
   height: 4rpx;
   border-radius: 20rpx;
 }
-wx-swiper .wx-swiper-dot {
-  width: 40rpx;
-  height: 4rpx;
-  border-radius: 20rpx;
-}
-.info {
+.house-detail .house-info {
   position: relative;
   padding: 30rpx;
-  border-top-left-radius: 20rpx;
-  border-top-right-radius: 20rpx;
-  background: #FFFFFF;
-  margin-top: -20rpx;
+  border-top-left-radius: 30rpx;
+  border-top-right-radius: 30rpx;
+  background: #ffffff;
+  margin-top: -30rpx;
 }
-.info .title {
+.house-detail .house-info .title {
   font-size: 38rpx;
   font-weight: bold;
 }
-.price {
+.house-detail .house-info .price {
   padding-top: 20rpx;
-  color: red;
+  color: #e43d33;
 }
-.price text {
-  font-size: 40rpx;
+.house-detail .house-info .price .price-number {
+  font-size: 44rpx;
+  font-weight: bold;
 }
-.price .price-text {
+.house-detail .house-info .price .price-text {
   display: inline-block;
   font-size: 26rpx;
   scale: 0.8;
 }
-.information {
+.house-detail .information {
   padding-top: 30rpx;
 }
-.head-tilte {
+.house-detail .information .tag {
+  margin-top: 10rpx;
+  margin-bottom: 20rpx;
+  padding: 0 20rpx;
+}
+.house-detail .information .tag .house-tag {
+  background-color: #d4d1d7;
+  border-color: #d4d1d7;
+  padding: 0 10px;
+  border-radius: 10rpx;
+  margin-right: 20rpx;
+}
+.house-detail .information .tag .house-tag text {
+  background: transparent;
+  border: none;
+}
+.house-detail .information .head-tilte {
   font-size: 30rpx;
   font-weight: bold;
 }
-.information-list {
+.house-detail .information .information-list {
   display: flex;
   flex-wrap: wrap;
-  padding: 20rpx 30rpx 0;
+  padding: 20rpx 20rpx 0;
 }
-.information-box {
+.house-detail .information .information-list .information-box {
   width: 50%;
   display: flex;
   padding: 20rpx 0;
 }
-.information-title {
+.house-detail .information .information-list .information-title {
   font-size: 26rpx;
-  color: #b4b4b4;
+  color: #c7c7c7;
 }
-.information-text {
+.house-detail .information .information-list .information-text {
   font-size: 26rpx;
-  color: #2d2d2d;
-}
-.arrangement {
-  padding-top: 30rpx;
-}
-.arrangement-list {
-  display: flex;
-  flex-wrap: wrap;
-  padding: 20rpx 0;
-}
-.arrangement-box {
-  width: 20%;
-  padding-top: 20rpx;
-  text-align: center;
-}
-.arrangement-icon {
-  color: red;
-  font-size: 64rpx;
-}
-.arrangement-text {
-  padding-top: 6rpx;
-  font-size: 24rpx;
+  color: #6a6a6a;
+  flex: 1;
+  width: 0;
+  overflow: hidden;
+  white-space: nowrap;
 }
-.desc {
+.house-detail .information .desc {
   padding-top: 20rpx;
 }
-.desc-text {
-  padding: 30rpx 30rpx 20rpx 30rpx;
-}
-.desc-text text {
-  line-height: 44rpx;
-  font-size: 28rpx;
-}
-.map {
-  padding: 30rpx 0 0 0;
+.house-detail .information .desc .desc-text {
+  padding: 20rpx;
+  color: #6a6a6a;
+  font-size: 26rpx;
 }
-.btn {
+.house-detail .btn-box {
   position: fixed;
   bottom: 0;
   left: 0;
@@ -150,64 +133,26 @@ wx-swiper .wx-swiper-dot {
   align-items: center;
   padding: 20rpx 1%;
   background: #fff;
+  box-shadow: 0 0 5px rgba(216, 216, 216, 0.5);
 }
-.share {
+.house-detail .btn-box .share {
   flex: 1;
   text-align: center;
   background: #4a55fd;
   border-radius: 8rpx;
-  height: 90rpx;
+  height: 60rpx;
   text-align: center;
   margin: 0 1%;
   display: flex;
   justify-content: center;
   align-items: center;
-}
-.share text {
   font-size: 26rpx;
   color: #fff;
 }
-.share button {
-  padding: 0;
-  margin: 0;
-  color: #fff;
-  font-size: 26rpx;
-  border-radius: 8rpx;
-  height: 90rpx;
-  background: #4a55fd;
-  line-height: 90rpx;
-}
-.color01 {
+.house-detail .btn-box .color01 {
   background: linear-gradient(to right, #fea733, #feb34d, #fdc46b);
 }
-.color02 {
+.house-detail .btn-box .color02 {
   background: linear-gradient(to right, #ff4761, #fe606e, #fc706f);
 }
-.bnt-box {
-  position: fixed;
-  right: 20rpx;
-  bottom: 12%;
-}
-.bnt-box button {
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  padding: 0;
-  margin: 14rpx 0;
-  width: 76rpx;
-  height: 76rpx;
-  border-radius: 50%;
-  background: white;
-  box-shadow: 0px 2px 4px #e9e9e9;
-}
-.bnt-box button text {
-  color: #666666;
-}
-.bnt-box .kefunv {
-  color: #666666;
-  font-size: 40rpx;
-}
-.recommend-list {
-  padding: 0 10rpx;
-}
 

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 51 - 21
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/pages/index/index.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 1
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/pages/index/index.wxml


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 39 - 29
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/pages/login/login.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 12 - 12
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/pages/message/message.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 24 - 21
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/pages/my/my.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 1
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/pages/my/my.wxml


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 16 - 16
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/pages/order/order.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 118 - 118
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 260 - 0
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/uni_modules/uni-tag/components/uni-tag/uni-tag.js


+ 4 - 0
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/uni_modules/uni-tag/components/uni-tag/uni-tag.json

@@ -0,0 +1,4 @@
+{
+  "usingComponents": {},
+  "component": true
+}

+ 1 - 0
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/uni_modules/uni-tag/components/uni-tag/uni-tag.wxml

@@ -0,0 +1 @@
+<block wx:if="{{text}}"><text data-event-opts="{{[['tap',[['onClick',['$event']]]]]}}" class="{{['uni-tag',classes]}}" style="{{(customStyle)}}" bindtap="__e">{{text}}</text></block>

+ 108 - 0
virgo.wzfrontend/wx/unpackage/dist/dev/mp-weixin/uni_modules/uni-tag/components/uni-tag/uni-tag.wxss

@@ -0,0 +1,108 @@
+@charset "UTF-8";
+/* 需要放到文件最上面 */
+/* 水平间距 */
+/* 水平间距 */
+/*
+ 以下变量是默认值,如不需要修改可以不用给下面的变量重新赋值
+ */
+/* 水平间距 */
+.uni-tag {
+  line-height: 14px;
+  font-size: 12px;
+  font-weight: 200;
+  padding: 4px 7px;
+  color: #fff;
+  border-radius: 3px;
+  background-color: #8f939c;
+  border-width: 1rpx;
+  border-style: solid;
+  border-color: #8f939c;
+}
+.uni-tag--default {
+  font-size: 12px;
+}
+.uni-tag--default--inverted {
+  color: #8f939c;
+  border-color: #8f939c;
+}
+.uni-tag--small {
+  padding: 2px 5px;
+  font-size: 12px;
+  border-radius: 2px;
+}
+.uni-tag--mini {
+  padding: 1px 3px;
+  font-size: 12px;
+  border-radius: 2px;
+}
+.uni-tag--primary {
+  background-color: #3371FF;
+  border-color: #3371FF;
+  color: #fff;
+}
+.uni-tag--success {
+  color: #fff;
+  background-color: #18bc37;
+  border-color: #18bc37;
+}
+.uni-tag--warning {
+  color: #fff;
+  background-color: #f3a73f;
+  border-color: #f3a73f;
+}
+.uni-tag--error {
+  color: #fff;
+  background-color: #e43d33;
+  border-color: #e43d33;
+}
+.uni-tag--primary--inverted {
+  color: #3371FF;
+  border-color: #3371FF;
+}
+.uni-tag--success--inverted {
+  color: #18bc37;
+  border-color: #18bc37;
+}
+.uni-tag--warning--inverted {
+  color: #f3a73f;
+  border-color: #f3a73f;
+}
+.uni-tag--error--inverted {
+  color: #e43d33;
+  border-color: #e43d33;
+}
+.uni-tag--inverted {
+  background-color: #fff;
+}
+.uni-tag--circle {
+  border-radius: 15px !important;
+}
+.uni-tag--mark {
+  border-top-left-radius: 0 !important;
+  border-bottom-left-radius: 0 !important;
+  border-top-right-radius: 15px !important;
+  border-bottom-right-radius: 15px !important;
+}
+.uni-tag--disabled {
+  opacity: 0.5;
+}
+.uni-tag-text {
+  color: #fff;
+  font-size: 14px;
+}
+.uni-tag-text--primary {
+  color: #3371FF;
+}
+.uni-tag-text--success {
+  color: #18bc37;
+}
+.uni-tag-text--warning {
+  color: #f3a73f;
+}
+.uni-tag-text--error {
+  color: #e43d33;
+}
+.uni-tag-text--small {
+  font-size: 12px;
+}
+