Pārlūkot izejas kodu

fix: 修复 NewsPage 中 specialNews 在初始化前被访问的错误

nahida 1 mēnesi atpakaļ
vecāks
revīzija
bc1d673d3c
2 mainītis faili ar 30 papildinājumiem un 31 dzēšanām
  1. 29 30
      src/app/news/page.tsx
  2. 1 1
      src/components/news/NewsList.tsx

+ 29 - 30
src/app/news/page.tsx

@@ -29,17 +29,17 @@ const getNewsList = async (pageNum: number, pageSize: number) => {
   })
 }
 
-const getSpecialNews = async () => {
-  return serverGet<Page<NewsUpdates>>("/webSite/getSpecialNewsUpdatesList", {
-    pageNum: 1,
-    pageSize: 1
-  }, {
-    next: {
-      revalidate: 180
-    },
-    cache: "force-cache"
-  })
-}
+// const getSpecialNews = async () => {
+//   return serverGet<Page<NewsUpdates>>("/webSite/getSpecialNewsUpdatesList", {
+//     pageNum: 1,
+//     pageSize: 1
+//   }, {
+//     next: {
+//       revalidate: 180
+//     },
+//     cache: "force-cache"
+//   })
+// }
 
 export default async function NewsPage({
                                          searchParams,
@@ -47,33 +47,32 @@ export default async function NewsPage({
   searchParams: Promise<{ page?: string }>
 }) {
 
-  const BASE_URL = process.env.NEXT_PUBLIC_BASE_URL || '';
-  const REMOTE_BASE_URL = process.env.NEXT_PUBLIC_REMOTE_BASE_URL || 'http://47.107.107.47:8040';
-  
-  // 处理特别新闻图片 URL
-  let specialNewsUrl = specialNews?.newsUrl || '';
-  if (specialNewsUrl) {
-    if (specialNewsUrl.startsWith('http')) {
-      if (specialNewsUrl.includes('localhost')) {
-        try {
-          const urlObj = new URL(specialNewsUrl);
-          specialNewsUrl = `${REMOTE_BASE_URL}${urlObj.pathname}${urlObj.search}`;
-        } catch (e) {}
-      }
-    } else {
-      specialNewsUrl = `${REMOTE_BASE_URL.replace(/\/$/, '')}/${specialNewsUrl.replace(/^\//, '')}`;
-    }
-  }
+  // const BASE_URL = process.env.NEXT_PUBLIC_BASE_URL || '';
 
   // 等待 searchParams 解析
   const params = await searchParams
   const pageNum = Number.parseInt(params.page || "1", 10)
   const pageSize = 10
   const newsListRes = await getNewsList(pageNum, pageSize)
-  const specialNewsRes = await getSpecialNews()
-  const specialNews = specialNewsRes.data.records[0]
+  // const specialNewsRes = await getSpecialNews()
+  // const specialNews = specialNewsRes.data.records[0]
   const newsList = newsListRes.data.records
   const totalNews = newsListRes.data.total
+
+  // 处理特别新闻图片 URL
+  // let specialNewsUrl = specialNews?.newsUrl || '';
+  // if (specialNewsUrl) {
+  //   if (specialNewsUrl.startsWith('http')) {
+  //     if (specialNewsUrl.includes('localhost')) {
+  //       try {
+  //         const urlObj = new URL(specialNewsUrl);
+  //         specialNewsUrl = `${BASE_URL}${urlObj.pathname}${urlObj.search}`;
+  //       } catch (e) {}
+  //     }
+  //   } else {
+  //     specialNewsUrl = `${BASE_URL.replace(/\/$/, '')}/${specialNewsUrl.replace(/^\//, '')}`;
+  //   }
+  // }
   return (
     <>
       <AnimatedSection effect="slide" direction="left">

+ 1 - 1
src/components/news/NewsList.tsx

@@ -37,7 +37,7 @@ const CATEGORY_MAP = Object.freeze({
 const NewsItem: React.FC<NewsItemProps> = ({news: article}) => {
   // 环境变量默认值兜底,避免undefined
   const BASE_URL = process.env.NEXT_PUBLIC_BASE_URL || '';
-  const REMOTE_BASE_URL = process.env.NEXT_PUBLIC_REMOTE_BASE_URL || 'http://47.107.107.47:8040';
+  const REMOTE_BASE_URL = process.env.NEXT_PUBLIC_REMOTE_BASE_URL || '';
 
   // 图片地址处理抽离,提升可读性,并且修复可能出现的本地绝对路径和重复拼接问题
   let coverImageUrl = article.newsUrl || '';