From b65ddd1ff70bc434ee2f99404b295d2500359025 Mon Sep 17 00:00:00 2001 From: zhangxiang Date: Mon, 31 Aug 2026 12:03:32 +0800 Subject: [PATCH] =?UTF-8?q?fix(a11y):=20=E6=97=A0=E9=9A=9C=E7=A2=8D?= =?UTF-8?q?=E4=B8=8E=20lint=20=E4=BF=AE=E5=A4=8D=EF=BC=88=E5=AF=B9?= =?UTF-8?q?=E6=AF=94=E5=BA=A6/alt=20=E5=B1=9E=E6=80=A7/=E8=A7=A6=E6=8E=A7?= =?UTF-8?q?=E7=9B=AE=E6=A0=87=E6=94=B6=E7=AA=84=EF=BC=89+=20Geist=20?= =?UTF-8?q?=E6=9C=AC=E5=9C=B0=E5=AD=97=E4=BD=93=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- next.config.mjs | 7 ++- src/app/admin/media/page.tsx | 3 +- src/app/error.tsx | 4 +- src/app/layout.tsx | 27 +++++++++- src/app/not-found-content.tsx | 8 +-- src/app/privacy/page.tsx | 14 ++--- src/app/terms/page.tsx | 2 +- src/components/admin/admin-layout.tsx | 2 +- src/components/analytics/CookieConsent.tsx | 14 ++--- src/components/layout/mobile-menu.tsx | 4 +- src/components/sections/case-card.test.tsx | 12 +++-- src/components/sections/insight-card.test.tsx | 8 +-- src/components/ui/alert.tsx | 7 +-- src/components/ui/badge.tsx | 7 +-- src/components/ui/flip-clock.tsx | 16 +++--- src/components/ui/input.tsx | 2 +- src/components/ui/select.tsx | 4 +- src/components/ui/sonner.tsx | 4 +- src/components/ui/textarea.tsx | 2 +- tailwind.config.js | 54 +++++++++++-------- 20 files changed, 125 insertions(+), 76 deletions(-) diff --git a/next.config.mjs b/next.config.mjs index 6439562..577d08f 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -2,10 +2,15 @@ const cdnDomain = process.env.CDN_DOMAIN || ''; const nextConfig = { output: 'standalone', - distDir: 'dist', + // 默认 dist/;可用 NEXT_DIST_DIR 覆盖(CI 分环境输出,或本地需要避开既有构建产物) + distDir: process.env.NEXT_DIST_DIR || 'dist', assetPrefix: cdnDomain || undefined, images: { + // 有意关闭 Next 图片优化:产物经 Nginx 静态托管 + CDN 分发(见 docs/CDN_CONFIGURATION.md、 + // CLAUDE.md「Images are unoptimized (static export limitation)」)。 + // 不要仅因「性能」理由改为 false —— 在无 Node 运行时接管 /_next/image 的部署模式下会导致图片 404。 unoptimized: true, + // 注意:unoptimized 为 true 时下面这行不生效,仅在改回 false 后才会参与构建产物生成。 formats: ['image/avif', 'image/webp'], }, compress: true, diff --git a/src/app/admin/media/page.tsx b/src/app/admin/media/page.tsx index 7ca5ab3..e42db17 100644 --- a/src/app/admin/media/page.tsx +++ b/src/app/admin/media/page.tsx @@ -193,7 +193,8 @@ export default function MediaPage() { {items.length === 0 && !loading && (
- + {/* eslint-disable-next-line jsx-a11y/alt-text -- lucide Image 图标(装饰性 SVG,非 ),aria-hidden 表明装饰意图 */} +

暂无媒体文件

上传图片、文档等资源,即可在内容编辑中使用