From ea2fb93a0dfcde8f5b66825b20f9d9b835a28acc Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 22 五月 2026 10:54:09 +0800
Subject: [PATCH] 提交

---
 small-program/components/custom-tabbar/custom-tabbar.vue |   42 +++++++++++++++++++++++++++++++-----------
 1 files changed, 31 insertions(+), 11 deletions(-)

diff --git a/small-program/components/custom-tabbar/custom-tabbar.vue b/small-program/components/custom-tabbar/custom-tabbar.vue
index ca09a2a..7f214a3 100644
--- a/small-program/components/custom-tabbar/custom-tabbar.vue
+++ b/small-program/components/custom-tabbar/custom-tabbar.vue
@@ -3,21 +3,22 @@
 		<view class="custom-tabbar" :style="{ paddingBottom: safeAreaBottom + 'px' }">
 			<view class="tabbar-item" v-for="(item, index) in tabList" :key="index" @click="switchTab(item)">
 				<image class="tabbar-icon" :src="currentIndex === index ? item.selectedIconPath : item.iconPath" mode="aspectFit"></image>
-				<text class="tabbar-text" :class="{ active: currentIndex === index }">{{ item.text }}</text>
+				<text class="tabbar-text" :class="{ active: currentIndex === index, shop: userType === 1 }">{{ item.text }}</text>
 			</view>
 		</view>
 		<view class="tabbar-placeholder" :style="{ height: '100px' }"></view>
+		<auth-login :show="showLogin" @close="showLogin = false"></auth-login>
 	</view>
 </template>
 
 <script>
 	import { mapState } from 'vuex'
-
 	export default {
 		name: 'CustomTabbar',
 		data() {
 			return {
 				safeAreaBottom: 0,
+				showLogin: false,
 				memberTabList: [
 					{
 						text: '棣栭〉',
@@ -49,7 +50,7 @@
 						text: '棣栭〉',
 						pagePath: '/shop/pages/store-home/store-home',
 						iconPath: '/static/icon/nav_home@2x.png',
-						selectedIconPath: '/static/icon/nav_home_sel@2x.png'
+						selectedIconPath: '/static/shopTabbar/nav_home_sel@2x.png'
 					},
 					{
 						text: '閽卞寘',
@@ -59,21 +60,21 @@
 					},
 					{
 						text: '娑堟伅',
-						pagePath: '/pages/message/message',
+						pagePath: '/shop/pages/message/message',
 						iconPath: '/static/icon/nav_xiaoxi@2x.png',
-						selectedIconPath: '/static/icon/nav_xiaoxi_sel@2x.png'
+						selectedIconPath: '/static/shopTabbar/nav_xiaoxi_sel@2x.png'
 					},
 					{
 						text: '鎴戠殑',
 						pagePath: '/shop/pages/mine/mine',
 						iconPath: '/static/icon/nav_wode@2x.png',
-						selectedIconPath: '/static/icon/nav_wode_sel@2x.png'
+						selectedIconPath: '/static/shopTabbar/nav_wode_sel@2x.png'
 					}
 				]
 			}
 		},
 		computed: {
-			...mapState(['userType']),
+			...mapState(['userType', 'token']),
 			currentIndex() {
 				const pages = getCurrentPages()
 				const currentPage = pages[pages.length - 1]
@@ -98,11 +99,26 @@
 				this.safeAreaBottom = systemInfo.safeAreaInsets.bottom || 0
 			},
 			switchTab(item) {
+				if (item.pagePath === '/pages/itinerary/itinerary' && !this.token) {
+					this.showLogin = true
+					return
+				}
 				const currentPath = getCurrentPages()[getCurrentPages().length - 1].$page.fullPath
-				if (currentPath !== item.pagePath) {
-					uni.switchTab({
-						url: item.pagePath
-					})
+				if (this.userType === 1) {
+					if (currentPath !== item.pagePath) {
+						uni.redirectTo({
+							url: item.pagePath
+						})
+					}
+				} else {
+					if (currentPath !== item.pagePath) {
+						if(item.pagePath ==='/pages/itinerary/itinerary'){
+							uni.setStorageSync("orderStatus",-1)
+						}
+						uni.switchTab({
+							url: item.pagePath
+						})
+					}
 				}
 			}
 		}
@@ -153,5 +169,9 @@
 		&.active {
 			color: #1ba8fa;
 		}
+
+		&.shop.active {
+			color: #004096;
+		}
 	}
 </style>

--
Gitblit v1.9.3