From 754db2cfee475ec55216353e1ada94d66c64acfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=91=E6=B3=BD=E7=BD=91?= <”357099073@qq.com“> Date: Mon, 12 May 2025 02:09:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/index/controller/Index.php | 40 +++++++------ app/index/view/component/main.php | 51 ++++++++++++++--- .../2ab1b592acde3dec0beaa9b0ff3cad9c.png | Bin 0 -> 3885 bytes .../2cd09d3817cdc737a9b2c156c53adbc9.jpg | Bin 0 -> 25157 bytes .../8ca7c3251187b550a941b5faa9b830aa.png | Bin 0 -> 9067 bytes .../973d3ce1fdf579e249fb9445805c0440.png | Bin 0 -> 3885 bytes .../ae4a830cc8b9da8b3af999b5f6486317.png | Bin 0 -> 3434 bytes .../temp/69170ce622adbb0032543cdbee52d3fd.php | 53 ++++++++++++++---- .../sess_21407922a0f26ec34d122559f4e833f7 | 1 + 9 files changed, 109 insertions(+), 36 deletions(-) create mode 100644 public/storage/uploads/20250512/2ab1b592acde3dec0beaa9b0ff3cad9c.png create mode 100644 public/storage/uploads/20250512/2cd09d3817cdc737a9b2c156c53adbc9.jpg create mode 100644 public/storage/uploads/20250512/8ca7c3251187b550a941b5faa9b830aa.png create mode 100644 public/storage/uploads/20250512/973d3ce1fdf579e249fb9445805c0440.png create mode 100644 public/storage/uploads/20250512/ae4a830cc8b9da8b3af999b5f6486317.png create mode 100644 runtime/session/sess_21407922a0f26ec34d122559f4e833f7 diff --git a/app/index/controller/Index.php b/app/index/controller/Index.php index 9b14212..338d18c 100644 --- a/app/index/controller/Index.php +++ b/app/index/controller/Index.php @@ -41,13 +41,14 @@ class Index extends Base 'name' => $category['name'] ]; - // 获取该分类下的文章 + // 获取该分类下的文章,限制4条 $articles = Db::name('yz_article') ->where('cate', $category['id']) ->where('delete_time', null) ->where('status', 2) ->order('id', 'desc') ->field('id, cate, title, image, author, publishdate, views') + ->limit(4) ->select() ->toArray(); @@ -76,36 +77,41 @@ class Index extends Base // 组装分类数据,方便后续查找 $categoryData = []; $categoryImageMap = []; + $articlesByCategory = []; + foreach ($categories as $category) { $categoryData[] = [ 'id' => $category['id'], 'name' => $category['name'] ]; $categoryImageMap[$category['id']] = $category['image'] ?? ''; - } - // 获取所有技术分类下的文章 - $technicalarticles = Db::name('yz_article') - ->whereIn('cate', array_column($categories, 'id')) - ->where('delete_time', null) - ->where('status', 2) - ->order('id', 'desc') - ->field('id, cate, title, image, author, publishdate, views') - ->select() - ->toArray(); + // 获取每个分类下的文章,限制12条 + $articles = Db::name('yz_article') + ->where('cate', $category['id']) + ->where('delete_time', null) + ->where('status', 2) + ->order('id', 'desc') + ->field('id, cate, title, image, author, publishdate, views') + ->limit(12) + ->select() + ->toArray(); - // 替换image为空的文章 - foreach ($technicalarticles as &$article) { - if (empty($article['image']) && !empty($categoryImageMap[$article['cate']])) { - $article['image'] = $categoryImageMap[$article['cate']]; + // 替换image为空的文章 + foreach ($articles as &$article) { + if (empty($article['image']) && !empty($categoryImageMap[$article['cate']])) { + $article['image'] = $categoryImageMap[$article['cate']]; + } } + unset($article); + + $articlesByCategory[$category['id']] = $articles; } - unset($article); return json([ 'code' => 1, 'msg' => '获取成功', - 'articles' => $technicalarticles, + 'articles' => $articlesByCategory, 'categories' => $categoryData ]); } diff --git a/app/index/view/component/main.php b/app/index/view/component/main.php index b78c4bd..155b71f 100644 --- a/app/index/view/component/main.php +++ b/app/index/view/component/main.php @@ -58,7 +58,8 @@ } // 渲染文章列表 if (result.articles && result.articles.length > 0) { - renderWebArticles(result.articles, 'webArticlesList'); + // 只取最新的4条 + renderWebArticles(result.articles.slice(0, 4), 'webArticlesList'); } else { showNoData('webArticlesList'); } @@ -83,8 +84,17 @@ renderCategoryTabs(result.categories, 'techArticles'); } // 渲染文章列表 - if (result.articles && result.articles.length > 0) { - renderWebArticles(result.articles, 'techArticlesList'); + if (result.articles && Object.keys(result.articles).length > 0) { + // 合并所有分类的文章 + let allArticles = []; + Object.values(result.articles).forEach(arr => { + allArticles = allArticles.concat(arr); + }); + // 按发布时间排序(降序) + allArticles.sort((a, b) => b.publishdate - a.publishdate); + // 只取最新的12条 + allArticles = allArticles.slice(0, 12); + renderWebArticles(allArticles, 'techArticlesList'); } else { showNoData('techArticlesList'); } @@ -163,13 +173,36 @@ .then(response => response.json()) .then(result => { if (result.code === 1) { - if (categoryId === 'all') { - // 显示所有文章 - renderWebArticles(result.articles, containerId); + if (containerId === 'techArticlesList') { + if (categoryId === 'all') { + // 合并所有分类的文章 + let allArticles = []; + if (typeof result.articles === 'object') { + Object.values(result.articles).forEach(arr => { + allArticles = allArticles.concat(arr); + }); + } + // 按发布时间排序(降序) + allArticles.sort((a, b) => b.publishdate - a.publishdate); + // 只取最新的12条 + allArticles = allArticles.slice(0, 12); + renderWebArticles(allArticles, containerId); + } else { + // 只显示选中分类的文章 + let filteredArticles = []; + if (typeof result.articles === 'object' && result.articles[categoryId]) { + filteredArticles = result.articles[categoryId]; + } + renderWebArticles(filteredArticles, containerId); + } } else { - // 过滤显示选中分类的文章 - const filteredArticles = result.articles.filter(article => article.cate == categoryId); - renderWebArticles(filteredArticles, containerId); + // 站点资讯部分逻辑不变 + if (categoryId === 'all') { + renderWebArticles(result.articles.slice(0, 4), containerId); + } else { + const filteredArticles = result.articles.filter(article => article.cate == categoryId); + renderWebArticles(filteredArticles, containerId); + } } } else { showNoData(containerId); diff --git a/public/storage/uploads/20250512/2ab1b592acde3dec0beaa9b0ff3cad9c.png b/public/storage/uploads/20250512/2ab1b592acde3dec0beaa9b0ff3cad9c.png new file mode 100644 index 0000000000000000000000000000000000000000..f5d04ee96ebd1a95ca1773a3a20c5498aecd2a99 GIT binary patch literal 3885 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 literal 0 HcmV?d00001 diff --git a/public/storage/uploads/20250512/8ca7c3251187b550a941b5faa9b830aa.png b/public/storage/uploads/20250512/8ca7c3251187b550a941b5faa9b830aa.png new file mode 100644 index 0000000000000000000000000000000000000000..f4a455dbe1e0869fe44f28b74d7d56716840ca5a GIT binary patch literal 9067 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 + @@ -235,7 +235,8 @@ layui.use(['carousel', 'form'], function(){ } // 渲染文章列表 if (result.articles && result.articles.length > 0) { - renderWebArticles(result.articles, 'webArticlesList'); + // 只取最新的4条 + renderWebArticles(result.articles.slice(0, 4), 'webArticlesList'); } else { showNoData('webArticlesList'); } @@ -260,8 +261,17 @@ layui.use(['carousel', 'form'], function(){ renderCategoryTabs(result.categories, 'techArticles'); } // 渲染文章列表 - if (result.articles && result.articles.length > 0) { - renderWebArticles(result.articles, 'techArticlesList'); + if (result.articles && Object.keys(result.articles).length > 0) { + // 合并所有分类的文章 + let allArticles = []; + Object.values(result.articles).forEach(arr => { + allArticles = allArticles.concat(arr); + }); + // 按发布时间排序(降序) + allArticles.sort((a, b) => b.publishdate - a.publishdate); + // 只取最新的12条 + allArticles = allArticles.slice(0, 12); + renderWebArticles(allArticles, 'techArticlesList'); } else { showNoData('techArticlesList'); } @@ -340,13 +350,36 @@ layui.use(['carousel', 'form'], function(){ .then(response => response.json()) .then(result => { if (result.code === 1) { - if (categoryId === 'all') { - // 显示所有文章 - renderWebArticles(result.articles, containerId); + if (containerId === 'techArticlesList') { + if (categoryId === 'all') { + // 合并所有分类的文章 + let allArticles = []; + if (typeof result.articles === 'object') { + Object.values(result.articles).forEach(arr => { + allArticles = allArticles.concat(arr); + }); + } + // 按发布时间排序(降序) + allArticles.sort((a, b) => b.publishdate - a.publishdate); + // 只取最新的12条 + allArticles = allArticles.slice(0, 12); + renderWebArticles(allArticles, containerId); + } else { + // 只显示选中分类的文章 + let filteredArticles = []; + if (typeof result.articles === 'object' && result.articles[categoryId]) { + filteredArticles = result.articles[categoryId]; + } + renderWebArticles(filteredArticles, containerId); + } } else { - // 过滤显示选中分类的文章 - const filteredArticles = result.articles.filter(article => article.cate == categoryId); - renderWebArticles(filteredArticles, containerId); + // 站点资讯部分逻辑不变 + if (categoryId === 'all') { + renderWebArticles(result.articles.slice(0, 4), containerId); + } else { + const filteredArticles = result.articles.filter(article => article.cate == categoryId); + renderWebArticles(filteredArticles, containerId); + } } } else { showNoData(containerId); diff --git a/runtime/session/sess_21407922a0f26ec34d122559f4e833f7 b/runtime/session/sess_21407922a0f26ec34d122559f4e833f7 new file mode 100644 index 0000000..316521b --- /dev/null +++ b/runtime/session/sess_21407922a0f26ec34d122559f4e833f7 @@ -0,0 +1 @@ +a:1:{s:7:"captcha";a:1:{s:3:"key";s:60:"$2y$10$ElMjfwS/Yfdt4SJWe1bo7uS8gfLv8ZTge6Fu87kNO/b/m5yGxkKUe";}} \ No newline at end of file