10404dbb36
同步工作区剩余变更,主要包括: - 营销页面组件与布局持续优化(about/news/services/solutions/team 等) - 详情页四层叙事组件、布局组件、UI 组件调整 - CMS 数据模型、API 路由、权限、工作流、站内通知、媒体管理扩展 - 新增/补充单元测试与 E2E 测试(cms-workflow.spec.ts 等) - ESLint 9 迁移、jest/tsconfig 配置更新、依赖调整 - 新增 ADR、CMS 评估文档、Release Review / Acceptance 报告 - 移除水墨装饰组件与大体积未使用字体文件
19 lines
838 B
TypeScript
19 lines
838 B
TypeScript
import { Metadata } from 'next';
|
|
import { COMPANY_INFO } from '@/lib/constants';
|
|
import { getPublishedItems } from '@/lib/cms/data-server';
|
|
import type { NewsItem } from '@/lib/constants/news';
|
|
import NewsContentV3 from './news-content-v3';
|
|
|
|
export const metadata: Metadata = {
|
|
title: `新闻动态 - ${COMPANY_INFO.displayName}`,
|
|
description: `了解${COMPANY_INFO.displayName}的最新动态、行业洞察与技术创新。`,
|
|
};
|
|
|
|
// ISR:生产环境每 1 小时自动重新验证,CMS 发布/更新时通过 /api/cms/revalidate 主动刷新
|
|
export const revalidate = 3600;
|
|
|
|
export default async function NewsListPage() {
|
|
const items = await getPublishedItems('news');
|
|
const news = items.map((item) => ({ ...item.data, title: item.data.title || item.title } as unknown as NewsItem));
|
|
return <NewsContentV3 news={news} />;
|
|
} |