From c4938f6f4e839890b032c75c7a57333a6a9157a9 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期四, 06 十一月 2025 17:06:10 +0800
Subject: [PATCH] 添加新闻功能

---
 wx/pages/index/index.js |  118 ++++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 68 insertions(+), 50 deletions(-)

diff --git a/wx/pages/index/index.js b/wx/pages/index/index.js
index f9cba3f..0769b68 100644
--- a/wx/pages/index/index.js
+++ b/wx/pages/index/index.js
@@ -8,6 +8,8 @@
     banners: [],
     // 璧涗簨鍒楄〃
     activities: [],
+    // 鏈�鏂版柊闂诲垪琛�
+    latestNews: [],
     // 鍔犺浇鐘舵��
     loading: true,
     // 鏄惁杩樻湁鏇村鏁版嵁
@@ -45,6 +47,7 @@
     }
     // 鍔犺浇鏁版嵁
     this.loadBanners()
+    this.loadLatestNews()
     this.loadActivities()
   },
 
@@ -70,6 +73,7 @@
     
     Promise.all([
       this.loadBanners(),
+      this.loadLatestNews(),
       this.loadActivities()
     ]).finally(() => {
       wx.stopPullDownRefresh()
@@ -147,7 +151,7 @@
               type: 'image',
               url: banner.coverImage.fullUrl,
               thumbUrl: banner.coverImage.fullThumbUrl
-            })
+            });
           }
           
           return {
@@ -162,6 +166,47 @@
       }
     }).catch(err => {
       console.error('鍔犺浇杞挱鍥惧け璐�:', err)
+    })
+  },
+
+  // 鍔犺浇鏈�鏂版柊闂伙紙鍙姞杞藉墠3鏉★級
+  loadLatestNews() {
+    return app.graphqlRequest(`
+      query getPublishedNewsList($page: Int!, $size: Int!) {
+        publishedNewsList(page: $page, size: $size) {
+          content {
+            id
+            title
+            summary
+            coverImage
+            author
+            viewCount
+            createTime
+          }
+          totalElements
+          page
+          size
+        }
+      }
+    `, {
+      page: 1,
+      size: 3
+    }).then(data => {
+      if (data.publishedNewsList) {
+        // 鏍煎紡鍖栨椂闂存樉绀�
+        const latestNews = data.publishedNewsList.content.map(news => {
+          if (news.createTime) {
+            news.createTime = utils.formatDate(news.createTime, 'YYYY-MM-DD HH:mm:ss');
+          }
+          return news;
+        });
+        
+        this.setData({
+          latestNews: latestNews
+        })
+      }
+    }).catch(err => {
+      console.error('鍔犺浇鏈�鏂版柊闂诲け璐�:', err)
     })
   },
 
@@ -341,6 +386,22 @@
     utils.navigateTo('/pages/activity/detail', { id: activityId })
   },
 
+  // 璺宠浆鍒版柊闂昏鎯�
+  goToNewsDetail(e) {
+    const newsId = e.currentTarget.dataset.id
+    if (newsId) {
+      wx.navigateTo({
+        url: `/pages/news/detail?id=${newsId}`
+      })
+    }
+  },
+
+  // 璺宠浆鍒版柊闂诲垪琛�
+  goToNewsList() {
+    wx.navigateTo({
+      url: '/pages/news/list'
+    })
+  },
 
   // 鏍煎紡鍖栨棩鏈�
   formatDate(date) {
@@ -525,77 +586,34 @@
         imageUrl: '', // 鍙互璁剧疆鍒嗕韩鍥剧墖
         success: (res) => {
           console.log('鍒嗕韩鎴愬姛', res)
-          wx.showToast({
-            title: '鍒嗕韩鎴愬姛',
-            icon: 'success',
-            duration: 2000
-          })
-          // 娓呴櫎鍒嗕韩鐘舵��
-          this.setData({
-            shareActivityId: null,
-            shareActivityName: null
-          })
         },
         fail: (res) => {
           console.log('鍒嗕韩澶辫触', res)
-          wx.showToast({
-            title: '鍒嗕韩澶辫触',
-            icon: 'none',
-            duration: 2000
-          })
         }
       }
       return shareData
     }
     
-    // 榛樿鍒嗕韩鏁翠釜棣栭〉
+    // 榛樿鍒嗕韩
     return {
-      title: '钃塭鍒涙瘮璧涘钩鍙� - 鍙戠幇绮惧僵姣旇禌',
+      title: '钃塭鍒涙瘮璧涘钩鍙�',
       path: '/pages/index/index',
-      imageUrl: '', // 鍙互璁剧疆榛樿鍒嗕韩鍥剧墖
+      imageUrl: '',
       success: (res) => {
         console.log('鍒嗕韩鎴愬姛', res)
-        wx.showToast({
-          title: '鍒嗕韩鎴愬姛',
-          icon: 'success',
-          duration: 2000
-        })
       },
       fail: (res) => {
         console.log('鍒嗕韩澶辫触', res)
-        wx.showToast({
-          title: '鍒嗕韩澶辫触',
-          icon: 'none',
-          duration: 2000
-        })
       }
     }
   },
 
-  // 鍒嗕韩鍒版湅鍙嬪湀
+  // 椤甸潰鍒嗕韩鍔熻兘 - 鍒嗕韩鍒版湅鍙嬪湀
   onShareTimeline() {
-    console.log('鍒嗕韩鍒版湅鍙嬪湀')
-    
     return {
-      title: '钃塭鍒涙瘮璧涘钩鍙� - 鍙戠幇绮惧僵姣旇禌',
+      title: '钃塭鍒涙瘮璧涘钩鍙�',
       query: '',
-      imageUrl: '', // 鍙互璁剧疆鍒嗕韩鍥剧墖
-      success: (res) => {
-        console.log('鍒嗕韩鍒版湅鍙嬪湀鎴愬姛', res)
-        wx.showToast({
-          title: '鍒嗕韩鎴愬姛',
-          icon: 'success',
-          duration: 2000
-        })
-      },
-      fail: (res) => {
-        console.log('鍒嗕韩鍒版湅鍙嬪湀澶辫触', res)
-        wx.showToast({
-          title: '鍒嗕韩澶辫触',
-          icon: 'none',
-          duration: 2000
-        })
-      }
+      imageUrl: ''
     }
   }
 })
\ No newline at end of file

--
Gitblit v1.8.0