From b830b6a25e8aa0d2ee285d4efd5c12504a3f36a7 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 21 八月 2025 14:57:28 +0800
Subject: [PATCH] 前端

---
 small-program/store/index.js        |    5 +
 small-program/App.vue               |   84 ++++++++++++++++-----------
 small-program/pages/index/index.vue |   34 +++++++----
 3 files changed, 75 insertions(+), 48 deletions(-)

diff --git a/small-program/App.vue b/small-program/App.vue
index e87c66c..a57861a 100644
--- a/small-program/App.vue
+++ b/small-program/App.vue
@@ -1,11 +1,13 @@
 <script>
 	import { mapState } from 'vuex'
+	var QQMapWX = require('@/utils/qqmap-wx-jssdk.js')
 	export default {
 		computed: {
 			...mapState(['userInfo','openid'])
 		},
 		onLaunch: function() {  
 			var that = this;
+			that.getLocaltionBiz() 
 			if (!this.openid || this.openid =='') {
 				uni.login({
 					provider: 'weixin',
@@ -16,17 +18,6 @@
 							that.$store.commit('setToken', res.data.token)
 							that.$store.commit('setOpenid', res.data.openid)
 							that.$store.commit('setUserInfo', res.data.member)
-							uni.getLocation({
-								type: 'wgs84',
-								success: (addr) => {
-									that.$store.commit('setPosition', { latitude: addr.latitude, longitude: addr.longitude })
-									that.$isResolve()
-								},
-								fail: (err) => {
-									console.error('鑾峰彇浣嶇疆澶辫触', err);
-									that.$isResolve()
-								}
-							});
 							
 						}
 					}
@@ -35,32 +26,10 @@
 				var that = this
 				let res = this.$u.api.getMemberInfo({}).then(res =>{ 
 					if (res && res.code === 200) { 
-						that.$store.commit('setUserInfo', res.data)
-						uni.getLocation({
-							type: 'wgs84',
-							success: (addr) => {
-								that.$store.commit('setPosition', { latitude: addr.latitude, longitude: addr.longitude })
-								that.$isResolve()
-							},
-							fail: (err) => {
-								console.error('鑾峰彇浣嶇疆澶辫触', err);
-								that.$isResolve()
-							}
-						});
+						that.$store.commit('setUserInfo', res.data) 
 					} else {
 						that.$store.commit('setToken','')
-						that.$store.commit('setUserInfo',{})
-						uni.getLocation({
-							type: 'wgs84',
-							success: (addr) => {
-								that.$store.commit('setPosition', { latitude: addr.latitude, longitude: addr.longitude })
-								that.$isResolve()
-							},
-							fail: (err) => {
-								console.error('鑾峰彇浣嶇疆澶辫触', err);
-								that.$isResolve()
-							}
-						});
+						that.$store.commit('setUserInfo',{}) 
 					}
 				})
 			}
@@ -70,6 +39,51 @@
 		},
 		onHide: function() {
 			console.log('App Hide')
+		},
+		methods:{
+			getLocaltionBiz(){
+				var that =this
+				uni.getLocation({
+					type: 'wgs84',
+					success: (addr) => {
+						const locParam = { latitude: addr.latitude, longitude: addr.longitude ,address:'鑾峰彇鍦板潃澶辫触'};
+						var address =null
+						const qqmapsdk = new QQMapWX({
+							 key: '4PXBZ-JLBC7-LCLXG-P2SZX-C4HYE-LDBLQ' //鑵捐鍦板浘鐢宠鐨刱ey锛堝悗缁渶瑕佸叕鍙告彁渚涳紝涓汉寮�鍙戣�呴搴︽湁闄愶級
+						 });  
+						  // 鑵捐鍦板浘閫嗗湴鐞嗙紪鐮�
+						qqmapsdk.reverseGeocoder({
+							locParam,
+							success: function(res) {
+								console.log(res, '==================鑾峰彇鍦板潃');
+								let info = res.result;
+								locParam.province = info.address_component.province;
+								locParam.city = info.address_component.city;
+								locParam.area = info.address_component.district;
+								locParam.street = info.address_component.street;
+								var ta = info.address  || '鍦板潃鑾峰彇澶辫触' ;
+								if(info.formatted_addresses  && info.formatted_addresses.recommend){
+									ta =info.formatted_addresses.recommend
+								}
+								locParam.address =ta											
+								that.$store.commit('setPosition',locParam)
+								that.$isResolve()
+							},
+							fail: (err) => {
+								console.error('鑾峰彇浣嶇疆澶辫触===========', err);
+								that.$store.commit('setPosition',locParam)
+								that.$isResolve()
+							}
+						});
+						// that.$store.commit('setPosition',locParam)
+						that.$isResolve()
+					},
+					fail: (err) => {
+						console.error('鑾峰彇浣嶇疆澶辫触', err);
+						that.$isResolve()
+					}
+				});
+			}
 		}
 	}
 </script>
diff --git a/small-program/pages/index/index.vue b/small-program/pages/index/index.vue
index 4fce84e..f8c2695 100644
--- a/small-program/pages/index/index.vue
+++ b/small-program/pages/index/index.vue
@@ -83,10 +83,10 @@
 		<!-- 鍙戝崟鏂� -->
 		<view class="index-c" v-if="typeViewId === 0">
 			<view :style="{ width: '100%', height: statusbarHeight + 'px' }"></view>
-			<view class="index-c-title" :style="{ height: navHeight + 'px' }" @click="selectAddress">
+			<view class="index-c-title" :style="{ height: navHeight + 'px' }" @click="selectAddress(-1)">
 				<text class="index-c-title-logo">杩戝揩</text>
 				<image class="dingwei" src="/static/icon/home_ic_location@2x.png" mode="widthFix"></image>
-				<text>瑗挎箹鍥介檯骞垮満</text>
+				<text>{{location.address || address || '鑾峰彇鍦板潃澶辫触'}}</text>
 				<image class="qu" src="/static/icon/home_ar_next@2x.png" mode="widthFix"></image>
 			</view>
 			
@@ -321,11 +321,7 @@
 				 <view class="phone-item" v-for="(item,index) in serverPhone"    :key="item" @click="contactPhoneDo(item)">
 				 	<view></view>
 				 	<text>{{item}}</text> 
-				 </view> 
-				 <view class="phone-item" v-for="(item,index) in serverPhone"    :key="item" @click="contactPhoneDo(item)">
-				 	<view></view>
-				 	<text>{{item}}</text> 
-				 </view> 
+				 </view>  
 				<!-- <view class="phone-botton"  @click="contactPhone()" >鍏抽棴</view> -->
 			</view>
 		</u-popup>
@@ -339,7 +335,7 @@
 	export default {
 		components: { sunuiMverify },
 		computed: {
-			...mapState(['navHeight', 'statusbarHeight','userInfo','token','openid', 'latitude', 'longitude']),
+			...mapState(['navHeight', 'statusbarHeight','userInfo','token','openid', 'latitude', 'longitude','address']),
 			totalPrice() {
 				return this.form.estimatedAccount / 100
 			}
@@ -352,6 +348,11 @@
 				isLogin: false,
 				typeId: 0,
 				qqmapsdk: null,
+				location:{
+					latitude:null,
+					longitude:null,
+					address:null,
+				},
 				type: [
 					{ name: '鐢ㄥ伐', id: 0 },
 					{ name: '杩愯揣', id: 1 },
@@ -411,7 +412,7 @@
 				isOnce: true
 			}
 		},
-		async onLoad() {
+		async onLoad() { 
 			await this.$onLaunched;
 			
 			if (this.token && this.token != '' && this.userInfo && JSON.stringify(this.userInfo) != '{}') {
@@ -702,7 +703,7 @@
 			},
 			selectAddress(type, index) {
 				uni.chooseLocation({
-					success: (res) => {
+					success: (res) => { 
 						if ([1,2].includes(type)) {
 							this.form.latitude = res.latitude
 							this.form.longitude = res.longitude
@@ -715,7 +716,12 @@
 							this.form.wayInfoDTOList[0].lat = res.latitude
 							this.form.wayInfoDTOList[0].lgt = res.longitude
 							this.form.wayInfoDTOList[0].location = res.address
-						}
+						}else if (type == -1) {
+							console.log(res)
+							this.location.latitude = res.latitude
+							this.location.longitude = res.longitude
+							this.location.address =res.name ||  res.address
+						} 
 					}
 				});
 			},
@@ -1107,7 +1113,7 @@
 				padding: 0 30rpx;
 				box-sizing: border-box;
 				display: flex;
-				align-items: center;
+				align-items: center; 				
 				.index-c-title-logo {
 					font-weight: bold;
 					font-size: 40rpx;
@@ -1124,6 +1130,10 @@
 					font-size: 32rpx;
 					color: #ffffff;
 					margin-right: 12rpx;
+					max-width: 280rpx;
+					white-space: nowrap;
+					overflow: hidden;
+					text-overflow: ellipsis;
 				}
 				.qu {
 					width: 22rpx;
diff --git a/small-program/store/index.js b/small-program/store/index.js
index e783ab2..337989e 100644
--- a/small-program/store/index.js
+++ b/small-program/store/index.js
@@ -19,7 +19,8 @@
 		openid: token || '',
 		
 		latitude: '',
-		longitude: ''
+		longitude: '',
+		address:'瀹氫綅涓�'
 	},
 	mutations: {
 		// 璁剧疆瀵艰埅鏍忛珮搴�
@@ -49,6 +50,8 @@
 			console.log(obj)
 			state.latitude = obj.latitude
 			state.longitude = obj.longitude
+			state.address = obj.address  
+			console.log("=====================",obj)
 		},
 		// 娓呴櫎缂撳瓨鏁版嵁
 		empty(state) {

--
Gitblit v1.9.3