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