From 5c5cddb1c2ee0d19adddebaf3a3a10a6d93fd2ad Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 26 十月 2025 10:52:18 +0800
Subject: [PATCH] feat:优化微信小程序可以运行

---
 app/pages/message/index.vue |   85 ++++++++++++++++++++++++++++++++----------
 1 files changed, 65 insertions(+), 20 deletions(-)

diff --git a/app/pages/message/index.vue b/app/pages/message/index.vue
index 113b7f9..e3dd348 100644
--- a/app/pages/message/index.vue
+++ b/app/pages/message/index.vue
@@ -15,11 +15,11 @@
         >
           <view class="message-main">
             <view class="message-title">
-              <text class="title-text">{{ getMessageTypeText(message.type) }}</text>
-              <view class="unread-dot" v-if="!message.read"></view>
+              <text class="title-text">{{ getMessageTypeText(message.messageType) }}</text>
+              <view class="unread-dot" v-if="message.isRead === '0'"></view>
             </view>
-            <view class="message-content">{{ message.content }}</view>
-            <view class="message-time">{{ message.time }}</view>
+            <view class="message-content">{{ message.messageContent }}</view>
+            <view class="message-time">{{ message.createTime }}</view>
           </view>
         </view>
         
@@ -33,47 +33,92 @@
 </template>
 
 <script>
+  import { getMyMessages, markAsRead } from '@/api/message'
+  
   export default {
     data() {
       return {
         // 娑堟伅鍒楄〃
-        messages: []
+        messages: [],
+        loading: false
       }
     },
     computed: {
       // 鎸夋湭璇�/宸茶鎺掑簭锛屾湭璇荤殑鍦ㄥ墠闈�
       sortedMessages() {
         return [...this.messages].sort((a, b) => {
-          if (a.read === b.read) {
+          if (a.isRead === b.isRead) {
             // 鐩稿悓鐘舵�佹寜鏃堕棿鍊掑簭
-            return new Date(b.time) - new Date(a.time);
+            return new Date(b.createTime) - new Date(a.createTime);
           }
           // 鏈鐨勬帓鍦ㄥ墠闈�
-          return a.read ? 1 : -1;
+          return a.isRead === '0' ? -1 : 1;
         });
       }
     },
+    onLoad() {
+      this.loadMessages()
+    },
+    onShow() {
+      // 姣忔鏄剧ず椤甸潰鏃跺埛鏂版秷鎭�
+      this.loadMessages()
+    },
+    onPullDownRefresh() {
+      this.loadMessages().then(() => {
+        uni.stopPullDownRefresh()
+      })
+    },
     methods: {
+      // 鍔犺浇娑堟伅鍒楄〃
+      async loadMessages() {
+        try {
+          this.loading = true
+          const response = await getMyMessages()
+          if (response.code === 200) {
+            this.messages = response.data || []
+          } else {
+            this.$modal.showToast(response.msg || '鍔犺浇娑堟伅澶辫触')
+          }
+        } catch (error) {
+          console.error('鍔犺浇娑堟伅澶辫触锛�', error)
+          this.$modal.showToast('鍔犺浇娑堟伅澶辫触')
+        } finally {
+          this.loading = false
+        }
+      },
+      
       // 鑾峰彇娑堟伅绫诲瀷鏂囨湰
       getMessageTypeText(type) {
         const typeMap = {
-          'create': '鍒涘缓鎴愬姛',
-          'push': '浠诲姟鎺ㄩ��',
-          'status': '浠诲姟鐘舵��'
+          'CREATE': '鍒涘缓鎴愬姛',
+          'PUSH': '浠诲姟鎺ㄩ��',
+          'STATUS': '鐘舵�佸彉鏇�',
+          'ASSIGN': '浠诲姟鍒嗛厤'
         }
         return typeMap[type] || '绯荤粺娑堟伅';
       },
       
       // 鏌ョ湅娑堟伅璇︽儏锛堣烦杞埌浠诲姟璇︽儏锛�
-      viewMessageDetail(message) {
-        // 鏍囪涓哄凡璇�
-        message.read = true;
-        
-        // 璺宠浆鍒颁换鍔¤鎯呴〉闈�
-        if (message.taskId) {
-          this.$tab.navigateTo(`/pages/task/detail?id=${message.taskId}`);
-        } else {
-          this.$modal.showToast('鏃犳硶鎵惧埌鍏宠仈浠诲姟');
+      async viewMessageDetail(message) {
+        try {
+          // 鏍囪涓哄凡璇�
+          if (message.isRead === '0') {
+            await markAsRead(message.messageId)
+            message.isRead = '1'
+          }
+          
+          // 璺宠浆鍒颁换鍔¤鎯呴〉闈�
+          if (message.taskId) {
+            this.$tab.navigateTo(`/pages/task/detail?id=${message.taskId}`)
+          } else {
+            this.$modal.showToast('鏃犳硶鎵惧埌鍏宠仈浠诲姟')
+          }
+        } catch (error) {
+          console.error('鏍囪娑堟伅宸茶澶辫触锛�', error)
+          // 鍗充娇鏍囪澶辫触锛屼篃鍏佽璺宠浆
+          if (message.taskId) {
+            this.$tab.navigateTo(`/pages/task/detail?id=${message.taskId}`)
+          }
         }
       }
     }

--
Gitblit v1.9.1