Command Palette

Search for a command to run...

Vichi Blog - AI生成全栈博客系统

构建一个技术领先、用户体验卓越的博客系统,整合AI能力提升内容创作和管理效率。采用最新的 Next.js 全栈技术架构,结合 Sakura (樱花) 视觉主题,打造一个既有极客感又不失美感的个人知识管理与展示平台。

v
vichiAuthor
2026年1月27日
Published On
0 Views
Statistics
Next.jsCategory

🚀 Vichi博客-Sakura

📋 一、项目概要

1.1 项目名称

Vichi博客 - 基于AI辅助开发的现代化全栈博客平台

1.2 项目愿景

构建一个技术领先、用户体验卓越的博客系统,整合AI能力提升内容创作和管理效率。采用最新的 Next.js 全栈技术架构,结合 Sakura (樱花) 视觉主题,打造一个既有极客感又不失美感的个人知识管理与展示平台。

1.3 技术栈

层级技术版本选择理由
核心框架Next.js (App Router)15.1.4服务端组件(RSC)、SEO优化、全栈一体化
语言TypeScript5.x强类型约束、开发体验好
UI库React19.0.0最新的 React 特性支持
样式Tailwind CSS v4v4.0.0最新的 CSS-based 配置,极致的性能与开发体验
组件库Shadcn UI (Radix UI)-高度可定制、无障碍支持的 UI 组件
动画Framer Motion11.x强大的交互动画能力,实现樱花飘落等动效
数据库PostgreSQL / SQLite-稳定可靠的关系型数据库
ORMDrizzle ORM0.38.x类型安全、SQL-like 语法、轻量高效
认证NextAuth.js4.x灵活的身份验证解决方案
存储Aliyun OSS6.x稳定廉价的对象存储服务
加密Bcrypt-安全的密码哈希存储

🎯 二、核心功能需求

2.1 用户角色体系

角色权限功能
访客只读浏览文章、查看分类标签、阅读/发布评论、查看说说、友链
管理员全部文章发布/编辑/删除、分类标签管理、评论审核、友链管理、说说发布、系统配置

2.2 博客前台功能 (Sakura 樱花风格)

2.2.1 视觉与交互

  • 樱花动效:全局或首页支持 SakuraPetals 动态樱花飘落效果。
  • 沉浸式导航栏:随页面滚动实现从透明到模糊毛玻璃效果的平滑切换。
  • Hero 视觉增强
    • 全屏海报:支持大图背景,底部带有波浪形 (Wave) 视觉平滑过渡。
    • 打字机效果:首页 Slogan 动态展示。
  • 主题切换:支持浅色/深色/系统模式,深色模式采用深紫色调,契合科技风格。

2.2.2 内容展示

  • 文章系统
    • 交互式卡片:文章列表采用阴影卡片设计,支持悬浮缩放。
    • 详情页:支持目录导航 (TOC)、字数统计、阅读时间估算。
    • Markdown 渲染:支持代码高亮、数学公式、图片灯箱效果。
  • 说说 (Talks):类似朋友圈的动态展示,支持多图预览。
  • 友链 (Friends):精美的卡片式友链展示。
  • 搜索系统:全站实时搜索,支持标题、内容、摘要匹配。

2.2.3 互动体验

  • 评论系统:支持多级回复、表情包(待增强)、邮件提醒(待开发)。
  • 个性化:支持用户修改昵称、头像等基本资料。

2.3 管理后台功能 (/admin)

  • 仪表盘:全站数据统计看板。
  • 内容管理
    • 文章管理:Markdown 编辑器、图片拖拽上传、分类标签关联。
    • 分类/标签管理:支持树状或列表式的 CRUD。
    • 评论管理:查看、删除、批量审核。
  • 媒体库:基于 OSS 的文件管理系统,支持查看、删除、外链获取。
  • 系统维护:说说管理、友链管理、关于我(About)内容编辑。

🏗️ 三、系统架构设计

3.1 目录结构

vichi-blog/
├── app/                    # Next.js App Router
│   ├── (blog)/             # 前台展示路由组
│   │   ├── articles/       # 文章详情与列表
│   │   ├── talks/          # 说说页面
│   │   ├── archives/       # 归档页面
│   │   └── layout.tsx      # 前台公共布局 (Navbar, Footer, Petals)
│   ├── admin/              # 后台管理路由组 (需 Admin 权限)
│   │   ├── dashboard/      # 数据统计
│   │   ├── articles/       # 内容管理
│   │   └── layout.tsx      # 后台侧边栏布局
│   ├── api/                # API 路由
│   │   ├── vichi/          # 前台公开接口
│   │   ├── admin/          # 后台管理接口 (严格权限校验)
│   │   └── auth/           # 认证相关接口
│   └── globals.css         # 全局样式 (Tailwind v4 配置)
├── components/             # 组件库
│   ├── blog/               # Sakura 风格前台组件
│   ├── admin/              # 后台管理组件
│   └── ui/                 # shadcn/ui 基础原子组件
├── lib/                    # 核心库
│   ├── db/                 # Drizzle Schema 与数据库连接
│   ├── oss.ts              # 阿里云 OSS 封装
│   └── auth.ts             # NextAuth 配置
└── drizzle/                # 数据库迁移文件

3.2 数据库设计 (Drizzle Schema)

  • t_article: 存储文章核心内容、统计信息、封面、状态等。
  • t_user_auth: 存储登录账号、加密密码。
  • t_user_info: 存储用户昵称、头像、简介等元数据。
  • t_category / t_tag: 分类与标签体系。
  • t_comment: 存储评论及回复关系。
  • t_talk / t_friend: 存储说说和友链数据。

🔒 四、安全架构实现

  • 密码安全:前端 HTTPS 传输 + 后端 Bcrypt 强哈希存储。
  • 访问控制:基于 NextAuth 的 Session 校验,结合 Middleware 实现 /admin 路由的 Role-Based Access Control (RBAC)。
  • 注入防护:Drizzle ORM 原生支持参数化查询。
  • 敏感配置:所有密钥通过 .env.local 管理。

🚀 五、部署与优化

  • 性能优化
    • 图片通过阿里云 OSS CDN 加速。
    • 关键页面采用静态生成 (SSG) 或 增量静态再生 (ISR)。
    • 组件级懒加载,减少首屏 JS 体积。
  • 响应式适配:完美适配 2K/4K 超大屏及移动端。

📅 六、开发进度追踪

详见 进度文档

读者评论

评论 (0)

请先 登录 后发表评论

Vichi Blog - AI生成全栈博客系统 - Vichi Blog | Vichi Blog