feat:上线

This commit is contained in:
Zopt 2025-12-11 10:24:00 +08:00
parent c955090b2d
commit 0e4bf6fb32
3 changed files with 97 additions and 377 deletions

6
.gitignore vendored
View File

@ -1,6 +1,7 @@
# Dependencies
node_modules/
npm-debug.log*
pnpm-debug.log*
yarn-debug.log*
yarn-error.log*
@ -8,6 +9,8 @@ yarn-error.log*
.next/
out/
build/
.turbo/
*.tsbuildinfo
# Production
dist/
@ -31,6 +34,7 @@ Thumbs.db
# Logs
*.log
.eslintcache
# Runtime data
pids
@ -60,4 +64,4 @@ jspm_packages/
.vercel
# Netlify
.netlify
.netlify

468
README.md
View File

@ -1,376 +1,92 @@
# Pinnovate Cloud - 云加速服务平台
一个现代化的云加速服务网站,基于 Next.js + TypeScript + TailwindCSS 构建,提供完整的云加速服务展示和客户管理功能。
## ✨ 功能特性
### 🏠 页面功能
- **首页** - 产品介绍、核心优势、客户证言
- **产品特性** - 详细的产品功能展示和技术架构
- **定价方案** - 灵活的定价计划和优惠信息
- **客户案例** - 成功案例展示和客户证言
- **新闻资讯** - 技术更新、产品发布、行业动态
- **关于我们** - 公司介绍、团队展示、发展历程
- **联系我们** - 多种联系方式、在线表单、常见问题
### 🎨 设计特色
- **现代化 UI** - 采用渐变背景、卡片设计、悬停效果
- **响应式布局** - 完美适配桌面、平板、手机设备
- **交互体验** - 平滑动画、加载状态、用户反馈
- **品牌统一** - 一致的设计语言和色彩体系
### 🛠 技术栈
- **框架**: Next.js 15+ (React 19+)
- **语言**: TypeScript
- **样式**: TailwindCSS
- **图标**: Lucide React
- **内容管理**: Markdown + Gray Matter
- **表单处理**: Formspree
## 🚀 快速开始
### 环境要求
- Node.js 18+
- npm 或 yarn
### 安装依赖
```bash
npm install
```
### 本地开发
```bash
npm run dev
```
访问 http://localhost:3000
### 快速部署
#### 使用 PowerShell 脚本(推荐)
```powershell
# 静态网站部署
.\deploy.ps1 -Platform static
# Vercel 部署
.\deploy.ps1 -Platform vercel
# Netlify 部署
.\deploy.ps1 -Platform netlify
# GitHub Pages 部署
.\deploy.ps1 -Platform github
# Docker 部署
.\deploy.ps1 -Platform docker
```
#### 手动部署
```bash
# 1. 生成静态文件
npm run build:static
# 2. 部署到 Vercel (推荐)
npx vercel
# 3. 或部署到 Netlify
npx netlify deploy --dir=out --prod
```
#### 其他部署命令
```bash
# 类型检查
npm run type-check
# 代码检查
npm run lint
# 清理构建文件
npm run clean
# 预览生产版本
npm run preview
# Vercel 部署
npm run deploy:vercel
# Netlify 部署
npm run deploy:netlify
# Docker 构建
npm run docker:build
# Docker 运行
npm run docker:run
```
### 构建与部署
#### 静态站点生成 (SSG)
```bash
# 生成静态文件
npm run build:static
# 或者使用传统方式
npm run export
```
静态文件将生成在 `out/` 目录中,可以直接部署到任何静态托管服务。
#### 服务器端渲染 (SSR)
```bash
# 构建生产版本
npm run build
# 启动生产服务器
npm start
```
## 📁 项目结构
```
pinnovate-cloud/
├── components/ # 可复用组件
│ ├── Navbar.tsx # 导航栏
│ ├── Hero.tsx # 首页横幅
│ ├── Features.tsx # 产品特性
│ ├── Pricing.tsx # 定价方案
│ ├── CaseList.tsx # 客户案例
│ ├── NewsList.tsx # 新闻列表
│ ├── About.tsx # 关于我们
│ ├── Contact.tsx # 联系表单
│ ├── Cta.tsx # 行动号召
│ ├── Footer.tsx # 页脚
│ └── ...
├── pages/ # 页面路由
│ ├── index.tsx # 首页
│ ├── features.tsx # 产品特性页
│ ├── pricing.tsx # 定价方案页
│ ├── cases.tsx # 客户案例页
│ ├── news.tsx # 新闻资讯页
│ ├── about.tsx # 关于我们页
│ ├── contact.tsx # 联系我们页
│ ├── news/
│ │ └── [slug].tsx # 新闻详情页
│ └── _app.tsx # 应用入口
├── content/ # 内容管理
│ └── news/ # 新闻内容
│ ├── _example.md
│ ├── product-launch.md
│ └── ...
├── lib/ # 工具库
│ └── content.ts # 内容处理
├── public/ # 静态资源
│ ├── logo.png
│ ├── hero-graphic.png
│ └── ...
├── styles/ # 样式文件
│ └── globals.css
├── tailwind.config.js # Tailwind 配置
├── next.config.js # Next.js 配置
├── tsconfig.json # TypeScript 配置
├── package.json # 项目依赖
├── vercel.json # Vercel 部署配置
├── netlify.toml # Netlify 部署配置
├── Dockerfile # Docker 容器配置
├── docker-compose.yml # Docker Compose 配置
├── nginx.conf # Nginx 服务器配置
└── .github/workflows/ # GitHub Actions 工作流
└── deploy.yml
```
## 🎯 核心功能
### 内容管理
- **Markdown 支持** - 使用 Markdown 编写新闻内容
- **自动生成** - 静态页面自动生成和更新
- **SEO 优化** - 自动生成 sitemap 和 meta 标签
### 表单处理
- **联系表单** - 集成 Formspree 处理表单提交
- **表单验证** - 客户端和服务端验证
- **用户反馈** - 提交状态和成功提示
### 搜索功能
- **实时搜索** - 新闻内容实时搜索
- **分类筛选** - 按标签和分类筛选
- **排序功能** - 按日期和标题排序
## 🎨 自定义配置
### 品牌信息
`tailwind.config.js` 中修改品牌色彩:
```javascript
colors: {
primary: '#333333', // 主色调
background: '#FFFFFF', // 背景色
accent: '#006AFF', // 强调色
}
```
### 联系信息
`components/Contact.tsx``components/Footer.tsx` 中更新:
- WhatsApp: +1 917-402-9875
- 邮箱: support@pinnovatecloud.com
- Telegram: @pinnovatecloud
### 内容更新
- 新闻内容:在 `content/news/` 目录下添加 `.md` 文件
- 客户案例:在 `components/CaseList.tsx` 中更新案例数据
- 产品特性:在 `components/Features.tsx` 中修改特性列表
## 📱 响应式设计
网站采用移动优先的响应式设计:
- **手机端** (< 768px) - 单列布局优化触摸操作
- **平板端** (768px - 1024px) - 双列布局,平衡内容展示
- **桌面端** (> 1024px) - 多列布局,充分利用屏幕空间
## 🚀 部署建议
### 静态站点部署 (推荐)
#### 1. 生成静态文件
```bash
# 生成静态文件到 out/ 目录
npm run build:static
```
#### 2. 部署到各种平台
**Vercel (推荐)**
```bash
# 安装 Vercel CLI
npm i -g vercel
# 部署到 Vercel
vercel
# 或者直接连接 GitHub 仓库自动部署
```
**Netlify**
```bash
# 方法1: 拖拽 out/ 目录到 Netlify
# 方法2: 连接 GitHub 仓库,设置构建命令: npm run build:static
# 方法3: 使用 Netlify CLI
npm i -g netlify-cli
netlify deploy --dir=out
```
**GitHub Pages**
```bash
# 1. 将 out/ 目录内容推送到 gh-pages 分支
# 2. 在仓库设置中启用 GitHub Pages
# 3. 选择 gh-pages 分支作为源
```
**AWS S3 + CloudFront**
```bash
# 1. 将 out/ 目录内容上传到 S3 存储桶
# 2. 配置 CloudFront 分发
# 3. 设置自定义域名和 SSL 证书
```
**Nginx 静态托管**
```bash
# 1. 将 out/ 目录内容复制到 Nginx 网站根目录
# 2. 配置 Nginx 虚拟主机
# 3. 启用 gzip 压缩和缓存
```
### 服务器端部署
#### Docker 部署
```dockerfile
# Dockerfile
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "start"]
```
```bash
# 构建和运行
docker build -t pinnovate-cloud .
docker run -p 3000:3000 pinnovate-cloud
```
#### PM2 部署
```bash
# 安装 PM2
npm i -g pm2
# 构建项目
npm run build
# 使用 PM2 启动
pm2 start npm --name "pinnovate-cloud" -- start
# 保存 PM2 配置
pm2 save
pm2 startup
```
### 部署配置
#### 环境变量
创建 `.env.production` 文件:
```env
NODE_ENV=production
NEXT_PUBLIC_SITE_URL=https://yourdomain.com
NEXT_PUBLIC_API_URL=https://api.yourdomain.com
```
#### 性能优化
- 启用 CDN 加速
- 配置图片压缩
- 启用 Gzip 压缩
- 设置适当的缓存策略
### 部署配置文件
项目包含多种部署配置,可根据需要选择:
#### Vercel 部署
- `vercel.json` - Vercel 平台配置
- 支持自动部署和预览
- 包含安全头和缓存策略
#### Netlify 部署
- `netlify.toml` - Netlify 平台配置
- 支持表单处理和重定向
- 包含构建命令和环境变量
#### Docker 部署
- `Dockerfile` - 多阶段构建配置
- `docker-compose.yml` - 容器编排配置
- `nginx.conf` - Nginx 服务器配置
- 支持生产环境部署
#### GitHub Actions
- `.github/workflows/deploy.yml` - 自动部署工作流
- 支持 GitHub Pages 部署
- 包含构建和部署步骤
### 监控和维护
- 使用 Vercel Analytics 或 Google Analytics
- 配置错误监控 (Sentry)
- 设置性能监控
- 定期更新依赖包
## 📄 许可证
MIT License - 详见 [LICENSE](LICENSE) 文件
## 🤝 贡献
欢迎提交 Issue 和 Pull Request 来改进项目!
## 📞 联系我们
- **邮箱**: support@pinnovatecloud.com
- **WhatsApp**: +1 917-402-9875
- **Telegram**: @pinnovatecloud
# Pinnovate Cloud
Pinnovate Cloud 是一个基于 Next.js + TypeScript + TailwindCSS 搭建的云加速/网络优化服务站点,涵盖产品能力展示、定价、案例、新闻资讯与在线联系等模块,可静态导出或按 SSR 部署。
## 功能概览
- 页面首页Hero、优势、流程、CTA、客户推荐、产品与服务、定价、成功案例、新闻资讯、关于我们、联系我们、登录占位页。
- 内容content/news/*.md 存放新闻 Markdown通过 lib/content.ts + gray-matter 解析 frontmattermarked 渲染详情,构建时静态生成。
- 表单components/Contact.tsx 集成 Formspreehttps://formspree.io/f/xkgvgzal提交带表单校验、提交状态与联系方式卡片。
- 组件导航、页脚、CTA、案例列表、新闻列表、核心优势等复用组件Tailwind 响应式布局。
- 部署支持静态导出、SSR、Docker 镜像,内置 Vercel/Netlify 配置、Nginx 示例与 PowerShell 一键部署脚本。
## 技术栈
- Next.js 15 / React 19、TypeScript
- TailwindCSS、Lucide React 图标
- gray-matter + marked 解析 Markdown 内容
- 部署与运维Dockerfile、docker-compose.yml、nginx.conf、vercel.json、netlify.toml、deploy.ps1
## 目录结构
`
.
├─pages/ # 路由页首页、features、pricing、cases、news、about、contact、login 等)
│ └─news/[slug].tsx # 新闻详情的静态路由
├─components/ # UI 组件Navbar、Hero、Features、CaseList、NewsList、Contact 等)
├─content/news/ # 新闻 Markdown 数据源
├─lib/content.ts # 内容读取与 frontmatter 解析
├─public/ # 图片与静态资源
├─styles/ # 全局样式
├─deploy.ps1 # 多平台一键部署脚本
├─Dockerfile / docker-compose.yml / nginx.conf
├─netlify.toml / vercel.json / DEPLOYMENT.md
└─package.json # 脚本与依赖
`
## 快速开始
- 环境Node.js 18+npm
- 安装依赖:
pm install
- 本地开发:
pm run dev访问 http://localhost:3000
- 生产构建:
pm run build
- 生产启动:
pm run start
## 内容维护(新闻)
- 在 content/news/ 下新增 .md 文件即可被列表与详情读取,示例 frontmatter
`md
---
title: 标题
date: 2025-09-15
summary: 一句话摘要
tags: [CDN, 性能, 安全]
---
正文内容,支持 Markdown 语法。
`
- 构建时会按照 date 降序生成新闻列表,[slug].tsx 用 marked 渲染正文。
## 常用脚本
-
pm run dev本地开发
-
pm run build /
pm run startSSR 构建与生产运行
-
pm run build:static /
pm run export静态导出到 out/
-
pm run preview构建后本地预览
-
pm run type-check、
pm run lint类型与代码质量检查
-
pm run docker:build、
pm run docker:runDocker 构建与运行
-
pm run deploy:vercel、
pm run deploy:netlify云平台部署命令占位
## 部署指引
- 静态站点:运行
pm run build:static将 out/ 部署到静态托管Netlify、GitHub Pages 等)。
- SSR
pm run build && npm run start或使用 Dockerfile/docker-compose.yml 与
ginx.conf。
- 一键脚本PowerShell 执行 ./deploy.ps1 -Platform static|vercel|netlify|github|docker。
- Vercel/Netlify可直接使用仓库内 ercel.json、
etlify.toml或通过脚本触发。
## 配置提示
- 联系表单收件端点在 components/Contact.tsx 中可替换。
- Tailwind 主题色在 ailwind.config.js 中调整,静态资源放置于 public/。

BIN
testfile.txt Normal file

Binary file not shown.