项目概述
一个完整的企业官网解决方案,包含:
- 前台展示:首页、关于我们、产品/服务、新闻资讯、联系我们
- 后台管理:内容管理系统(CMS),非技术人员也能操作
- SEO 优化:服务端渲染,自动生成 sitemap,Open Graph 标签
技术选型说明
| 技术 | 选择理由 |
|---|---|
| Next.js | SSR/SSG 支持,SEO 友好,部署简单 |
| Tailwind CSS | 快速开发,响应式布局 |
| Prisma | 类型安全的 ORM,迁移方便 |
| PostgreSQL | 稳定可靠,支持全文搜索 |
| Vercel | 一键部署,自动 HTTPS,免费额度够用 |
页面结构
/ 首页(Hero + 服务 + 案例 + 联系)
/about 关于我们
/services 服务列表
/services/[slug] 服务详情
/news 新闻列表
/news/[slug] 新闻详情
/contact 联系我们
/admin 后台登录
/admin/dashboard 数据概览
/admin/news 新闻管理
/admin/services 服务管理
/admin/messages 留言管理数据库设计
model News {
id String @id @default(cuid())
slug String @unique
title String
summary String
content String @db.Text
coverImage String?
published Boolean @default(false)
publishedAt DateTime?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model Service {
id String @id @default(cuid())
slug String @unique
title String
description String
content String @db.Text
icon String?
order Int @default(0)
published Boolean @default(true)
}
model ContactMessage {
id String @id @default(cuid())
name String
email String
phone String?
subject String
message String @db.Text
read Boolean @default(false)
createdAt DateTime @default(now())
}关键提示词
提示词 1:SEO 优化的新闻详情页
用 Next.js 14 App Router 写一个新闻详情页:
路由:/news/[slug]
要求:
1. 使用 generateStaticParams 预生成所有已发布新闻的静态页面
2. 使用 generateMetadata 动态生成 SEO meta 标签(title、description、og:image)
3. 添加 JSON-LD 结构化数据(Article 类型)
4. 页面包含:标题、发布时间、封面图、正文内容、相关新闻推荐
5. 正文支持 Markdown 渲染
数据来源:Prisma 查询 PostgreSQL提示词 2:富文本编辑器集成
在 Next.js 后台管理页面集成 TipTap 富文本编辑器:
1. 支持标题(H1-H3)、加粗、斜体、链接、图片上传
2. 图片上传到本地 /public/uploads 目录,返回图片 URL
3. 编辑器内容保存为 HTML 格式存入数据库
4. 支持预览模式部署到 Vercel
# 安装 Vercel CLI
npm i -g vercel
# 登录并部署
vercel login
vercel --prod在 Vercel 控制台配置环境变量:
DATABASE_URL:PostgreSQL 连接字符串(推荐用 Supabase 免费版)NEXTAUTH_SECRET:随机字符串NEXTAUTH_URL:你的域名