From 2c86a8bd60deed0dd0e044bad6fb83f75d19a332 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 26 十月 2025 15:05:50 +0800
Subject: [PATCH] Merge branch 'feature-task'

---
 app/pages/message/index.vue |   32 ++++++++++++++++++++++++++++++--
 1 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/app/pages/message/index.vue b/app/pages/message/index.vue
index e3dd348..58bca52 100644
--- a/app/pages/message/index.vue
+++ b/app/pages/message/index.vue
@@ -10,7 +10,7 @@
         <view 
           class="message-item" 
           v-for="message in sortedMessages" 
-          :key="message.id"
+          :key="message.messageId"
           @click="viewMessageDetail(message)"
         >
           <view class="message-main">
@@ -62,6 +62,8 @@
     onShow() {
       // 姣忔鏄剧ず椤甸潰鏃跺埛鏂版秷鎭�
       this.loadMessages()
+      // 鏇存柊TabBar寰芥爣
+      this.updateTabBarBadge()
     },
     onPullDownRefresh() {
       this.loadMessages().then(() => {
@@ -101,10 +103,19 @@
       // 鏌ョ湅娑堟伅璇︽儏锛堣烦杞埌浠诲姟璇︽儏锛�
       async viewMessageDetail(message) {
         try {
+          // 鏍¢獙娑堟伅瀵硅薄
+          if (!message || !message.messageId) {
+            console.error('娑堟伅鏁版嵁寮傚父锛�', message)
+            this.$modal.showToast('娑堟伅鏁版嵁寮傚父')
+            return
+          }
+          
           // 鏍囪涓哄凡璇�
           if (message.isRead === '0') {
             await markAsRead(message.messageId)
             message.isRead = '1'
+            // 鏇存柊寰芥爣
+            this.updateTabBarBadge()
           }
           
           // 璺宠浆鍒颁换鍔¤鎯呴〉闈�
@@ -116,10 +127,27 @@
         } catch (error) {
           console.error('鏍囪娑堟伅宸茶澶辫触锛�', error)
           // 鍗充娇鏍囪澶辫触锛屼篃鍏佽璺宠浆
-          if (message.taskId) {
+          if (message && message.taskId) {
             this.$tab.navigateTo(`/pages/task/detail?id=${message.taskId}`)
           }
         }
+      },
+      
+      // 鏇存柊TabBar寰芥爣
+      updateTabBarBadge() {
+        const unreadCount = this.messages.filter(msg => msg.isRead === '0').length
+        console.log('鏈娑堟伅鏁伴噺:', unreadCount)
+        
+        if (unreadCount > 0) {
+          uni.setTabBarBadge({
+            index: 3, // 娑堟伅椤甸潰鍦╰abBar涓殑绱㈠紩
+            text: unreadCount > 99 ? '99+' : unreadCount.toString()
+          })
+        } else {
+          uni.removeTabBarBadge({
+            index: 3
+          })
+        }
       }
     }
   }

--
Gitblit v1.9.1