From 36e794d948b856f2a542aaadd0e374892635be14 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 25 六月 2025 21:19:17 +0800
Subject: [PATCH] 自定义顶部组件优化

---
 pages/kitchen/KitchenVideo.vue                              |    2 +
 pages.json                                                  |   51 +++++++++----------------
 pages/mine/activity/reportActivity.vue                      |    2 
 components/TopBar.vue                                       |   11 ++++-
 uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue |    1 
 pages/health/healthVideo.vue                                |   14 ++++++
 components/custom-tabbar.vue                                |    6 +-
 pages/tabbar/index/home.vue                                 |    2 
 pages/commodity-square/commoditySquare.vue                  |    6 +-
 9 files changed, 51 insertions(+), 44 deletions(-)

diff --git a/components/TopBar.vue b/components/TopBar.vue
index 64913f8..b1d6ffe 100644
--- a/components/TopBar.vue
+++ b/components/TopBar.vue
@@ -8,10 +8,11 @@
 						v-for="(item, index) in titleList" 
 						:key="index"
 						:class="{active: selectedTitleIndex === item.index, 'title-item': true}"
+						:style="{color: textColor}"
 						@click="changeTab(item)"
 					>
 						<text>{{item.title}}</text>
-						<view class="underline" v-if="selectedTitleIndex === item.index"></view>
+						<view class="underline" :style="{backgroundColor: textColor}" v-if="selectedTitleIndex === item.index"></view>
 					</view>
 				</view>
 			</scroll-view>
@@ -26,6 +27,10 @@
 			selectedTitleIndex: {
 				type: String,
 				default: 'home'
+			},
+			textColor: {
+				type: String,
+				default: 'white'
 			}
 		},
 		data() {
@@ -117,7 +122,7 @@
 			position: relative;
 			padding: 0 24rpx;
 			font-size: 32rpx;
-			color: white;
+			/* color: white; */
 			height: 100%;
 			display: flex;
 			align-items: center;
@@ -136,7 +141,7 @@
 			transform: translateX(-50%);
 			width: calc(100% - 76rpx);
 			height: 4rpx;
-			background-color: white;
+			/* background-color: white; */
 			border-radius: 4rpx;
 		}
 </style>
\ No newline at end of file
diff --git a/components/custom-tabbar.vue b/components/custom-tabbar.vue
index 75aec2e..7d29bed 100644
--- a/components/custom-tabbar.vue
+++ b/components/custom-tabbar.vue
@@ -48,12 +48,12 @@
         	},
         	{
         		// "pagePath": "/pages/tabbar/category/category",
-				"pagePath": "/pages/commodity-square/commoditySquare",
+				"pagePath": "/pages/kitchen/KitchenVideo",
 				
         		"iconPath": "/static/tabbar/category.png",
         		"selectedIconPath": "/static/tabbar/category-s.png",
-        		"text": "鍟嗗煄",
-				"key": 'shop'
+        		"text": "绁炲帹",
+				"key": 'kitchen'
         	},
 			{
 				"pagePath": "/pages/tabbar/video/video",
diff --git a/pages.json b/pages.json
index 49495a3..e03183c 100644
--- a/pages.json
+++ b/pages.json
@@ -36,6 +36,13 @@
 			}
 		},
 		{
+			"path": "pages/kitchen/KitchenVideo",
+			"style": {
+				"navigationBarTitleText": "绁炲帹",
+				"navigationStyle": "custom" // 闅愯棌绯荤粺瀵艰埅鏍�
+			}
+		},
+		{
 			"path": "pages/tabbar/home/title",
 			"style": {
 				"navigationBarTitleText": "娑堟伅"
@@ -65,7 +72,7 @@
 		{
 			// "path": "pages/tabbar/category/category",
 			"path": "pages/commodity-square/commoditySquare",
-
+		
 			"style": {
 				"navigationBarTitleText": "鍟嗗搧骞垮満",
 				"navigationStyle": "custom", // 闅愯棌绯荤粺瀵艰埅鏍�
@@ -988,7 +995,7 @@
 				},
 				{
 					"path" : "video-goods-detail",
-					"style" :
+					"style" : 
 					{
 						"navigationBarTitleText" : "瑙嗛鎺ㄨ崘鍟嗗搧",
 						"componentPlaceholder": {
@@ -1440,27 +1447,7 @@
 					"navigationStyle": "custom"
 				}
 			}]
-		},
-		{
-			"root": "pages/kitchen",
-			"pages": [{
-				"path": "KitchenVideo",
-				"style": {
-					"navigationBarTitleText": "鍘ㄧ"
-				}
-			}]
-		},
-		{
-			"root": "pages/supplier",
-			"pages": [{
-				"path" : "suppler-order/suppler-order",
-				"style" :
-				{
-					"navigationBarTitleText" : ""
-				}
-			}]
 		}
-
 		// ,
 		// {
 		// 	"root": "pages/commodity-square",
@@ -1498,13 +1485,13 @@
 				"selectedIconPath": "static/tabbar/home-s.png",
 				"text": "棣栭〉"
 			},
-			// {
-			// 	// "pagePath": "pages/tabbar/category/category",
-			// 	"pagePath": "pages/commodity-square/commoditySquare",
-			// 	"iconPath": "static/tabbar/category.png",
-			// 	"selectedIconPath": "static/tabbar/category-s.png",
-			// 	"text": "鍟嗗煄"
-			// },
+			{
+				// "pagePath": "pages/tabbar/category/category",
+				"pagePath": "pages/kitchen/KitchenVideo",
+				"iconPath": "static/tabbar/category.png",
+				"selectedIconPath": "static/tabbar/category-s.png",
+				"text": "绁炲帹"
+			},
 			{
 				"pagePath": "pages/tabbar/video/video",
 				"iconPath": "static/tabbar/video.png",
@@ -1524,11 +1511,11 @@
 			}
 		]
 	},
-	// #todo 涓轰粈涔堣娉ㄩ噴condition涓嬩唬鐮侊紵
+	// #todo 涓轰粈涔堣娉ㄩ噴condition涓嬩唬鐮侊紵 
 	// IOS plus.runtime.arguments 娣诲姞 condition鑺傜偣鍚庯紝 妗嗘灦浼氫慨鏀� runtime.arguments
 	// 浼氬奖鍝嶄粈涔堝姛鑳斤紵
 	//    -鍦╤5涓敜閱抋pp浼氫竴鐩磋繑鍥為粯璁ゅ�� {"name":"","path":"","query":"","id":0}
-	"condition": { //妯″紡閰嶇疆锛屼粎寮�鍙戞湡闂寸敓鏁�
+	"condition": { //妯″紡閰嶇疆锛屼粎寮�鍙戞湡闂寸敓鏁�   
 		// "current": 0, //褰撳墠婵�娲荤殑妯″紡(list 鐨勭储寮曢」)
 		// "list": [{
 		// 	"name": "", //妯″紡鍚嶇О
@@ -1536,4 +1523,4 @@
 		// 	"query": "" //鍚姩鍙傛暟锛屽湪椤甸潰鐨刼nLoad鍑芥暟閲岄潰寰楀埌
 		// }]
 	}
-}
+}
\ No newline at end of file
diff --git a/pages/commodity-square/commoditySquare.vue b/pages/commodity-square/commoditySquare.vue
index e83e4e5..8a0e232 100644
--- a/pages/commodity-square/commoditySquare.vue
+++ b/pages/commodity-square/commoditySquare.vue
@@ -1,6 +1,6 @@
 <template>
 	<view class="container">
-		<top-bar selectedTitleIndex="shop" @changeTab="topBarChange" class="topBar"></top-bar>
+		<top-bar selectedTitleIndex="shop" textColor="black" @changeTab="topBarChange" class="topBar"></top-bar>
 		<input type="text" v-show="false" v-model="flushDom" />
 		<view class="search">
 			<u-search class="nav-search" @blur='searchGoods' placeholder="鎼滅储鍟嗗搧" :show-action="false"></u-search>
@@ -49,7 +49,7 @@
 			<view class="openShowLeft" @click="showDrawer('showLeft')" v-if="!showLeft">
 				<uni-icons type="right" size="30"></uni-icons>
 			</view>
-			<uni-drawer ref="showLeft" mode="left" width="120" height="94vh" @change="change($event,'showLeft')"
+			<uni-drawer ref="showLeft" mode="left" width="120" height="80vh" @change="change($event,'showLeft')"
 				:cus-style="true" class="navigationLeft">
 				<scroll-view class="typeNavigation" :scroll-y="true" show-scrollbar="false">
 					<view class="typeNavigationItem" :class="{typeNavigationItemCheck:currentCategort ==item.id}"
@@ -303,7 +303,7 @@
 
 	.openShowLeft {
 		position: fixed;
-		top: 120rpx;
+		top: 200rpx;
 		left: 0;
 		align-items: center;
 		justify-content: flex-start;
diff --git a/pages/health/healthVideo.vue b/pages/health/healthVideo.vue
index 4ac5030..8fef229 100644
--- a/pages/health/healthVideo.vue
+++ b/pages/health/healthVideo.vue
@@ -1,6 +1,6 @@
 <template>
   <view class="video-container">
-    <top-bar selectedTitleIndex="health" @changeTab="topBarChange" class="topBar"></top-bar>
+    <top-bar selectedTitleIndex="health" textColor="black" @changeTab="topBarChange" class="topBar"></top-bar>
 	<!-- 瑙嗛鍔犺浇 -->
 	<zero-loading v-show="videoLoading" type="circle" color="#0ebd57" text=""></zero-loading>
     <!-- 瑙嗛鍒楄〃 -->
@@ -250,6 +250,7 @@
 import { getUserInfo } from "@/api/members";
 import storage from "@/utils/storage.js";
 export default {
+  components: {TopBar},
   computed: {
 	    hasPlayTime() {
 	      return this.sliderFormatTime(this.progress > 0 ? this.duration * this.progress / 100 : 0);
@@ -381,6 +382,17 @@
   	}
   },
   methods: {
+	  topBarChange(titleObj) {
+	  	if (titleObj.index === 'home') {
+	  		uni.switchTab({
+	  			url: titleObj.pagePath
+	  		});
+	  	} else {
+	  		uni.redirectTo({
+	  			url: titleObj.pagePath
+	  		});
+	  	}
+	  },
 	  // 闈欓粯鐧诲綍
 	  wxSilentLogin(callback) {
 		  //鑾峰彇code
diff --git a/pages/kitchen/KitchenVideo.vue b/pages/kitchen/KitchenVideo.vue
index adb9b71..a01aae6 100644
--- a/pages/kitchen/KitchenVideo.vue
+++ b/pages/kitchen/KitchenVideo.vue
@@ -247,6 +247,8 @@
       </scroll-view>
     </uni-drawer>
     <view v-if="videoList.length===0"  style="display: flex;align-items: center;justify-content: center;background-color: #fff;height: 100%">褰撳墠娌℃湁鍙互鏌ョ湅鐨勮棰�</view>
+	
+	<custom-tabbar bgColor="#ffffff" selected="kitchen"></custom-tabbar>
   </view>
 </template>
 
diff --git a/pages/mine/activity/reportActivity.vue b/pages/mine/activity/reportActivity.vue
index 017f929..4929634 100644
--- a/pages/mine/activity/reportActivity.vue
+++ b/pages/mine/activity/reportActivity.vue
@@ -1,6 +1,6 @@
 <template>
 	<view class="wrapper">
-		<top-bar selectedTitleIndex="activity" @changeTab="topBarChange" class="topBar"></top-bar>
+		<top-bar selectedTitleIndex="activity" textColor="black" @changeTab="topBarChange" class="topBar"></top-bar>
 
 		<view style="height: 100rpx"></view>
 		<!-- 鍐呭鍖哄煙 -->
diff --git a/pages/tabbar/index/home.vue b/pages/tabbar/index/home.vue
index 4e2f810..9aebf49 100644
--- a/pages/tabbar/index/home.vue
+++ b/pages/tabbar/index/home.vue
@@ -1,6 +1,6 @@
 <template>
   <view class="video-container">
-	<top-bar selectedTitleIndex="home" @changeTab="topBarChange" class="topBar"></top-bar>
+	<top-bar selectedTitleIndex="home" textColor="white" @changeTab="topBarChange" class="topBar"></top-bar>
 	<!-- 瑙嗛鍔犺浇 -->
 	<zero-loading v-show="videoLoading" type="circle" color="#0ebd57" text=""></zero-loading>
     <!-- 瑙嗛鍒楄〃 -->
diff --git a/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue b/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue
index 4d0deef..5608140 100644
--- a/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue
+++ b/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue
@@ -154,6 +154,7 @@
 	}
 	.custom-style{
 		border-radius: 0 24rpx 24rpx 0;
+		top: 100px;
 	}
 
 	.uni-drawer--left {

--
Gitblit v1.8.0