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