chore: sync marketing pages, CMS extensions, tests and project docs
同步工作区剩余变更,主要包括: - 营销页面组件与布局持续优化(about/news/services/solutions/team 等) - 详情页四层叙事组件、布局组件、UI 组件调整 - CMS 数据模型、API 路由、权限、工作流、站内通知、媒体管理扩展 - 新增/补充单元测试与 E2E 测试(cms-workflow.spec.ts 等) - ESLint 9 迁移、jest/tsconfig 配置更新、依赖调整 - 新增 ADR、CMS 评估文档、Release Review / Acceptance 报告 - 移除水墨装饰组件与大体积未使用字体文件
This commit is contained in:
@@ -7,6 +7,9 @@ export const metadata: Metadata = {
|
||||
description: `${COMPANY_INFO.name}隐私政策`,
|
||||
};
|
||||
|
||||
// ISR:生产环境每 1 小时自动重新验证,CMS 发布/更新时通过 /api/cms/revalidate 主动刷新
|
||||
export const revalidate = 3600;
|
||||
|
||||
function PrivacyContent() {
|
||||
return (
|
||||
<div className="prose prose-lg max-w-none">
|
||||
@@ -224,6 +227,8 @@ function PrivacyContent() {
|
||||
|
||||
export default async function PrivacyPolicyPage() {
|
||||
let cmsContent: string | null = null;
|
||||
let heroTitle = '隐私政策';
|
||||
let heroDescription = '我们重视您的隐私,致力于保护您的个人信息安全';
|
||||
|
||||
try {
|
||||
const items = await getPublishedItems('legal-page');
|
||||
@@ -231,6 +236,12 @@ export default async function PrivacyPolicyPage() {
|
||||
if (privacyItem && typeof privacyItem.data.content === 'string' && privacyItem.data.content.length > 0) {
|
||||
cmsContent = privacyItem.data.content as string;
|
||||
}
|
||||
if (privacyItem && typeof privacyItem.data.heroTitle === 'string' && privacyItem.data.heroTitle.length > 0) {
|
||||
heroTitle = privacyItem.data.heroTitle as string;
|
||||
}
|
||||
if (privacyItem && typeof privacyItem.data.heroDescription === 'string' && privacyItem.data.heroDescription.length > 0) {
|
||||
heroDescription = privacyItem.data.heroDescription as string;
|
||||
}
|
||||
} catch {
|
||||
// CMS not available, fall back to inline content
|
||||
}
|
||||
@@ -240,10 +251,10 @@ export default async function PrivacyPolicyPage() {
|
||||
<div className="bg-gradient-to-br from-[var(--color-brand)] via-[var(--color-brand)]/80 to-[var(--color-hero-dark-end)] py-20">
|
||||
<div className="container-wide">
|
||||
<h1 className="text-4xl md:text-5xl font-bold text-white mb-4">
|
||||
隐私政策
|
||||
{heroTitle}
|
||||
</h1>
|
||||
<p className="text-xl text-white/90 max-w-2xl">
|
||||
我们重视您的隐私,致力于保护您的个人信息安全
|
||||
{heroDescription}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user