liuziting 7 месяцев назад
Родитель
Сommit
d77fd4015c
2 измененных файлов с 11 добавлено и 59 удалено
  1. 8 8
      src/config/cuisines.ts
  2. 3 51
      src/views/Home.vue

+ 8 - 8
src/config/cuisines.ts

@@ -5,7 +5,7 @@ export const cuisines: CuisineType[] = [
         id: 'su',
         name: '苏菜大师',
         description: '江南水乡的精致美味',
-        avatar: '👨‍🍳',
+        avatar: '🦐',
         specialty: '清淡鲜美,刀工精细',
         prompt: `作为苏菜传承人,你精通淮扬菜系精髓。苏菜以清鲜雅致、刀工精湛、造型玲珑著称。请基于用户食材设计一道正统苏菜,突出食材本味与养生搭配。回答需包含:创意菜名、分步烹饪流程、刀工技法解析、营养平衡说明。`
     },
@@ -13,7 +13,7 @@ export const cuisines: CuisineType[] = [
         id: 'lu',
         name: '鲁菜大师',
         description: '齐鲁大地的豪放风味',
-        avatar: '👨‍🍳',
+        avatar: '🐟',
         specialty: '咸鲜为主,火候精准',
         prompt: `身为鲁菜宗师,你深谙孔府宫廷菜真谛。鲁菜讲究咸鲜纯正、火功严谨、礼仪考究。请依据用户食材创作经典鲁菜,强调火候层次与五味调和。回答需包含:传统菜名、分步烹饪图解、关键火候节点、宫廷技法溯源。`
     },
@@ -21,7 +21,7 @@ export const cuisines: CuisineType[] = [
         id: 'chuan',
         name: '川菜大师',
         description: '巴蜀之地的麻辣传奇',
-        avatar: '👨‍🍳',
+        avatar: '🌶️',
         specialty: '麻辣鲜香,变化多端',
         prompt: `作为川味掌门,你掌握二十三味型精髓。川菜擅长麻辣平衡、复合调味、一菜一格。请针对用户食材设计地道川味,突出口感层次与红油运用。回答需包含:特色菜名、七步烹饪法、秘制调料配方、味型创新解析。`
     },
@@ -29,7 +29,7 @@ export const cuisines: CuisineType[] = [
         id: 'yue',
         name: '粤菜大师',
         description: '岭南文化的鲜美诠释',
-        avatar: '👨‍🍳',
+        avatar: '🦆',
         specialty: '清淡鲜美,原汁原味',
         prompt: `身为粤菜泰斗,你崇尚清中求鲜理念。粤菜注重时令本味、镬气逼人、养生之道。请根据用户食材构思广府佳肴,凸显生猛鲜香与少油烹饪。回答需包含:意境菜名、精准火候时序、锁鲜技巧、药膳融合建议。`
     },
@@ -37,7 +37,7 @@ export const cuisines: CuisineType[] = [
         id: 'zhe',
         name: '浙菜大师',
         description: '江南水乡的清雅之味',
-        avatar: '👨‍🍳',
+        avatar: '🐠',
         specialty: '清香淡雅,鲜嫩爽滑',
         prompt: `作为浙菜传人,你深得南宋遗风真传。浙菜追求清雅时鲜、南料北烹、滑嫩见长。请基于用户食材创作江南风韵菜,突出时令搭配与脆嫩口感。回答需包含:诗意菜名、分步滑炒技法、时令食材解析、勾芡要诀。`
     },
@@ -45,7 +45,7 @@ export const cuisines: CuisineType[] = [
         id: 'xiang',
         name: '湘菜大师',
         description: '湖湘文化的辣味人生',
-        avatar: '👨‍🍳',
+        avatar: '🔥',
         specialty: '香辣浓郁,口味厚重',
         prompt: `身为湘味宗师,你精通腊熏剁椒秘技。湘菜讲究酸辣透味、油重色浓、乡野本真。请针对用户食材设计火辣湘肴,突出发酵辣味与油色融合。回答需包含:霸气菜名、三重辣味调制法、腊味处理秘笈、油色控制要诀。`
     },
@@ -53,7 +53,7 @@ export const cuisines: CuisineType[] = [
         id: 'min',
         name: '闽菜大师',
         description: '八闽大地的海鲜盛宴',
-        avatar: '👨‍🍳',
+        avatar: '🦀',
         specialty: '鲜香清淡,汤鲜味美',
         prompt: `作为闽菜大家,你传承佛跳墙精髓。闽菜擅长汤醇味隽、糟香四溢、山珍海味。请依据用户食材创作闽派珍馐,突出红糟提鲜与汤品层次。回答需包含:典故菜名、吊汤八法详解、海鲜保鲜术、糟汁调配比例。`
     },
@@ -61,7 +61,7 @@ export const cuisines: CuisineType[] = [
         id: 'hui',
         name: '徽菜大师',
         description: '徽州文化的朴实醇香',
-        avatar: '👨‍🍳',
+        avatar: '🐷',
         specialty: '重油重色,醇厚朴实',
         prompt: `身为徽菜掌门,你掌握文火炖焖绝技。徽菜强调重油保色、火腿提鲜、山野本味。请针对用户食材设计徽州古韵菜,突出炭火慢炖与油色控制。回答需包含:徽派菜名、三阶段火功法、火腿吊味技巧、收汁成色要诀。`
     },

+ 3 - 51
src/views/Home.vue

@@ -152,14 +152,13 @@
                                         v-for="cuisine in cuisines.slice(0, 8)"
                                         :key="cuisine.id"
                                         @click="selectCuisine(cuisine)"
-                                        @mouseenter="showCuisineTooltip(cuisine, $event)"
-                                        @mouseleave="hideCuisineTooltip"
                                         :class="[
-                                            'p-2 rounded-lg border-2 border-black font-medium text-xs transition-all duration-200 relative text-center',
+                                            'p-2 rounded-lg border-2 border-black font-medium text-xs transition-all duration-200 relative flex items-center justify-center gap-1',
                                             selectedCuisines.includes(cuisine.id) ? 'bg-yellow-400 text-dark-800' : 'bg-gray-100 text-gray-700 hover:bg-gray-200'
                                         ]"
                                     >
-                                        {{ cuisine.name.replace('大师', '') }}
+                                        <span>{{ cuisine.avatar }}</span>
+                                        <span>{{ cuisine.name.replace('大师', '') }}</span>
                                     </button>
                                 </div>
                             </div>
@@ -172,8 +171,6 @@
                                         v-for="cuisine in cuisines.slice(8)"
                                         :key="cuisine.id"
                                         @click="selectCuisine(cuisine)"
-                                        @mouseenter="showCuisineTooltip(cuisine, $event)"
-                                        @mouseleave="hideCuisineTooltip"
                                         :class="[
                                             'p-2 rounded-lg border-2 border-black font-medium text-xs transition-all duration-200 relative flex items-center justify-center gap-1',
                                             selectedCuisines.includes(cuisine.id) ? 'bg-yellow-400 text-dark-800' : 'bg-gray-100 text-gray-700 hover:bg-gray-200'
@@ -459,29 +456,6 @@
             </div>
         </div>
 
-        <!-- 菜系Tooltip -->
-        <div
-            v-if="hoveredCuisine && getHoveredCuisine()"
-            class="fixed z-50 pointer-events-none transform -translate-x-1/2 -translate-y-full"
-            :style="{
-                left: tooltipPosition.x + 'px',
-                top: tooltipPosition.y + 'px'
-            }"
-        >
-            <div class="bg-white border-2 border-black rounded-lg shadow-lg p-2 max-w-xs mb-2">
-                <div class="flex items-center gap-2 mb-2">
-                    <!-- <span class="text-lg">{{ getHoveredCuisine()?.avatar }}</span> -->
-                    <h4 class="font-bold text-dark-800">{{ getHoveredCuisine()?.name }}</h4>
-                </div>
-                <p class="text-sm text-gray-600 mb-2">{{ getHoveredCuisine()?.description }}</p>
-                <div class="text-xs text-gray-500"><span class="font-medium">特色:</span>{{ getHoveredCuisine()?.specialty }}</div>
-            </div>
-            <!-- 小箭头 -->
-            <div class="flex justify-center">
-                <div class="w-3 h-3 bg-white border-r-2 border-b-2 border-black transform rotate-45"></div>
-            </div>
-        </div>
-
         <!-- 底部 -->
         <footer class="bg-white border-4 border-black max-w-7xl mx-auto px-2 mb-4 rounded-lg p-4 text-center">
             <p class="text-sm text-gray-600">
@@ -530,8 +504,6 @@ const errorMessage = ref('')
 const showIngredientPicker = ref(false)
 const showPresetPicker = ref(false)
 const showCustomPrompt = ref(false)
-const hoveredCuisine = ref<string | null>(null)
-const tooltipPosition = ref({ x: 0, y: 0 })
 
 // 加载文字轮播
 const loadingTexts = [
@@ -682,26 +654,6 @@ const getRandomInspiration = () => {
     }
 }
 
-// 显示菜系tooltip
-const showCuisineTooltip = (cuisine: CuisineType, event: MouseEvent) => {
-    hoveredCuisine.value = cuisine.id
-    const rect = (event.target as HTMLElement).getBoundingClientRect()
-    tooltipPosition.value = {
-        x: rect.left + rect.width / 2,
-        y: rect.top - 10
-    }
-}
-
-// 隐藏菜系tooltip
-const hideCuisineTooltip = () => {
-    hoveredCuisine.value = null
-}
-
-// 获取当前悬停的菜系信息
-const getHoveredCuisine = () => {
-    return cuisines.find(c => c.id === hoveredCuisine.value)
-}
-
 // 选择菜系
 const selectCuisine = (cuisine: CuisineType) => {
     const index = selectedCuisines.value.indexOf(cuisine.id)