From a59ff44b2eaa7020f0529632d9ec064c4dc38e27 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期二, 28 四月 2026 22:08:46 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/gtzxinglijicun

---
 small-program/pages/index/index.vue |   80 +++++++++++++++++++++++++--------------
 1 files changed, 51 insertions(+), 29 deletions(-)

diff --git a/small-program/pages/index/index.vue b/small-program/pages/index/index.vue
index 1b2f032..df092fb 100644
--- a/small-program/pages/index/index.vue
+++ b/small-program/pages/index/index.vue
@@ -1,6 +1,6 @@
 <template>
 	<view class="index-page">
-		<view class="top-gradient-bg" :style="{ backgroundImage: 'url(' + backgroundImage + ')' }"></view>
+		<image class="top-gradient-bg" src="/static/image/bg_home@2x.png" mode="aspectFill"></image>
 		<view class="top-hero">
 			<view :style="{ height: statusbarHeight + 'px' }"></view>
 			<view class="hero-bar" :style="{ height: navHeight + 'px' }">
@@ -18,7 +18,7 @@
 
 			<view class="banner-card hero-banner">
 				<swiper class="banner-swiper" :indicator-dots="true" :autoplay="true" :interval="3000" :duration="500" :circular="true" :indicator-color="'rgba(255, 255, 255, 0.5)'" :indicator-active-color="'#ffffff'">
-                <swiper-item v-for="(item, index) in bannerList" :key="index">
+                <swiper-item v-for="(item, index) in bannerList" :key="index" @click="jumpBannerDetail(item)">
                     <image class="banner-image" :src="item.imgurlFull" mode="aspectFill"></image>
                 </swiper-item>
             </swiper>
@@ -52,7 +52,7 @@
 
 			<view class="recommend-list">
 				<template v-if="pointList.length > 0">
-					<view v-for="(item, index) in pointList" :key="index" class="point-card" @click="goStoragePage(item)">
+					<view v-for="(item, index) in pointList" :key="index" class="point-card" @click="goShopDetails(item)">
 						<view class="point-thumb">
 							<image class="point-thumb-image" :src="item.coverImg" mode="widthFix"></image>
 						</view>
@@ -84,6 +84,7 @@
 			</view>
 			<view class="toast-btn" @click="handleLocation">寮�鍚畾浣�</view>
 		</view>
+		<auth-login :show="showLogin" @close="showLogin = false"></auth-login>
 		<custom-tabbar></custom-tabbar>
 	</view>
 </template>
@@ -98,19 +99,18 @@
 			CustomTabbar
 		},
 		computed: {
-			...mapState(['navHeight', 'statusbarHeight', 'address', 'latitude', 'cityId', 'longitude']),
+			...mapState(['navHeight', 'statusbarHeight', 'address', 'latitude', 'cityId', 'longitude', 'token']),
 			currentAddress() {
 				return this.address && this.address !== '瀹氫綅涓�' ? this.address : '鑾峰彇瀹氫綅'
 			}
 		},
 		data() {
 			return {
-				backgroundImage: require('@/static/image/bg_home@2x.png'),
 				bannerList: [],
 				pointList: [],
-				page: 1,
-				ingOrder:null,
-				isRequest: true
+				ingOrder: null,
+				showLogin: false,
+				pendingNavigate: null
 			}
 		},
 		async onLoad() {
@@ -124,12 +124,31 @@
 			this.ingOrder =null
 			this.getIngorder()
 		},
-		onReachBottom() {
-			if (this.cityId && this.latitude && this.longitude) {
-				this.getNearbyShopList()
+		watch: {
+			token(newToken) {
+				if (newToken && this.pendingNavigate) {
+					const fn = this.pendingNavigate
+					this.pendingNavigate = null
+					this.showLogin = false
+					fn()
+				}
 			}
 		},
 		methods: {
+			jumpBannerDetail(item) {
+				if(!item.content || item.content =='' || item.type==0){
+					return
+				}
+				if (item.type == 1) {
+					uni.navigateTo({
+						url: '/shop/pages/article-details/article-details?id=' + item.id
+					})
+				} else if(item.type == 2) {
+					uni.navigateTo({
+						url: '/shop/pages/webview/webview?url=' + item.content
+					})
+				}
+			},
 			jumpOrderDetail(id){
 				uni.navigateTo({
 					url:'/pages/delivery-order-detail/delivery-order-detail?userType=0&id='+id
@@ -143,12 +162,22 @@
 				} 
 			},
 			jumpOrderList(status){
+				if (!this.token) {
+					this.pendingNavigate = () => this.jumpOrderList(status)
+					this.showLogin = true
+					return
+				}
 				uni.setStorageSync("orderStatus",status)
 				uni.switchTab({
 					url: '/pages/itinerary/itinerary'
 				})
 			},
 			jumpxiadan() {
+				if (!this.token) {
+					this.pendingNavigate = () => this.jumpxiadan()
+					this.showLogin = true
+					return
+				}
 				if (!this.cityId) return uni.showToast({
 					title: '褰撳墠鍩庡競鏆傛湭寮�閫�',
 					icon: 'none'
@@ -164,10 +193,9 @@
 				}
 			},
 			async getNearbyShopList() {
-				if (!this.isRequest) return;
 				const res = await this.$u.api.getNearbyShopList({
-					capacity: 10,
-					page: this.page,
+					capacity: 5,
+					page: 1,
 					model: {
 						latitude: this.latitude,
 						longitude: this.longitude,
@@ -177,10 +205,6 @@
 				})
 				if (res.code === 200) {
 					this.pointList = res.data.records || []
-					this.page++
-					if (res.data.total <= this.pointList.length) {
-						this.isRequest = false
-					}
 				}
 			},
 			jumpJC() {
@@ -207,11 +231,10 @@
 				uni.chooseLocation({
 					type: 'gcj02',
 					success: async function(addr) {
+						console.log(addr, '==================uniapp閫夋嫨浣嶇疆鎴愬姛');
 						if (addr.errMsg === 'chooseLocation:ok' && addr.latitude) {
 							const locParam = { latitude: addr.latitude, longitude: addr.longitude };
-							// uni.setStorageSync('address', locParam);
-							
-							var myAmapFun = new amapFile.AMapWX({ key: 'e4d46c87adf151dca20060317592b1b6' });
+							var myAmapFun = new amapFile.AMapWX({ key: that.$gaodeMapKey });
 							myAmapFun.getRegeo({
 								location: addr.longitude + ',' + addr.latitude,
 								success: async function(data) {
@@ -221,31 +244,25 @@
 									locParam.city = (info.regeocodeData.addressComponent.city && typeof info.regeocodeData.addressComponent.city === 'string') 
 										? info.regeocodeData.addressComponent.city 
 										: info.regeocodeData.addressComponent.province;
-									var ta = info.name || '鍦板潃鑾峰彇澶辫触';
+									var ta = addr.name || '鍦板潃鑾峰彇澶辫触';
 									locParam.address = ta
 									const resCity = await that.$u.api.getCityByName({ cityName: locParam.city })
 									if (resCity.code === 200 && resCity.data) {
 										locParam.cityId = resCity.data.id
 										that.$store.commit('setPosition', locParam)
-										that.page = 1
 										that.pointList = []
-										that.isRequest = true
 										that.getNearbyShopList()
 									} else {
 										that.$store.commit('setPosition', locParam)
 										that.$store.commit('clearCityId')
-										that.page = 1
 										that.pointList = []
-										that.isRequest = true
 									}
 								},
 								fail: function(err) {
 									console.error('鑾峰彇浣嶇疆澶辫触===========', err);
 									that.$store.commit('setPosition', locParam)
-									that.page = 1
 									that.pointList = []
-									that.isRequest = true
-									// that.getNearbyShopList()
+									that.getNearbyShopList()
 								}
 							});
 						}
@@ -290,6 +307,11 @@
 					}
 				});
 			},
+			goShopDetails(item){
+				uni.navigateTo({
+					url: '/pages/storage-point-detail/storage-point-detail?id='+item.id
+				})
+			},
 			goStoragePage() {
 				if (!this.cityId) return uni.showToast({
 					title: '褰撳墠鍩庡競鏆傛湭寮�閫�',

--
Gitblit v1.9.3