概览
一个功能完备的 Nuxt 4 SaaS 起始模板,内置认证、支付、邮件与 AI。
Nuxt 模板是一个功能完备的 SaaS 起始模板,基于 Nuxt 4、Vue 3 与 Nitro 服务端构建。它已经将身份认证、PostgreSQL 数据库、支付、事务性邮件、国际化内容 与 AI 能力串联在一起,让你专注于业务本身,而非基础设施。
认证、数据库、邮件与内容/国际化均已端到端打通。少数功能(订阅 Newsletter、部分仪表盘页面)仍是可运行的示例或 UI 起点,上线前需要结合你的业务进行适配。下方的 功能状态 表会逐项说明。
技术栈
| 领域 | 库 |
|---|---|
| 框架 | Nuxt 4、Vue 3、Nitro 服务端 |
| 语言 | TypeScript |
| 认证 | Better Auth(邮箱/密码 + GitHub/Google OAuth、admin 插件) |
| 数据库 | PostgreSQL + Drizzle ORM(node-postgres) |
| 支付 | 多渠道工厂 —— ZPay(默认) + Creem |
| 邮件 | Resend + Vue Email(@vue-email) |
| 国际化 | @nuxtjs/i18n(prefix_except_default) |
| 文档与博客 | Nuxt Content v3(Markdown 集合) |
| AI 聊天 | Vercel AI SDK(@ai-sdk/vue),经由 Vercel AI Gateway |
| AI 媒体 | Replicate(图像 / 视频 / 音频) |
| 样式 | Tailwind CSS v4 + shadcn-vue(new-york) |
| 暗色模式 | @nuxtjs/color-mode(基于 class) |
| SEO | @nuxtjs/sitemap + @nuxtjs/robots,共用 site 配置 |
| 图标与图片 | @nuxt/icon(Lucide) + @nuxt/image |
| 工具链 | ESLint、pnpm |
功能状态
在整套文档中,功能使用统一的标签:
- 已集成 —— 在模板中端到端打通。
- 示例 —— 可运行的参考实现,但仍需补充与业务相关的策略、限制或数据。
- UI 起点 —— 已设计好的界面,但使用模拟/静态数据或动作尚未完成。
| 领域 | 状态 | 范围 |
|---|---|---|
| 身份认证 | 已集成 | 邮箱/密码、强制验证、重置、GitHub/Google OAuth、账号关联、admin 插件 |
| 路由保护 | 已集成 | 客户端 app/middleware/{auth,admin}.ts 守卫负责跳转/403;API 处理函数做权威校验(server/middleware/auth.ts 仅附加上下文) |
| 数据库 | 已集成 | node-postgres + Drizzle,认证与支付 schema(仅 Postgres;Prisma 占位已移除) |
| 支付 | 示例 | 多渠道工厂(ZPay 默认 + Creem)、需登录的创建路由、对部分事件的签名 webhook |
| 邮件 / 联系 | 已集成 | 通过 Resend 投递联系、验证与重置邮件 —— 全部经由 Vue Email 模板的 sendEmail |
| 订阅邮件(Newsletter) | UI 起点 | 仅有 subscribe-newsletter.vue 模板;没有订阅路由或持久化 |
| AI 聊天 | 示例 | Vercel AI Gateway 流式(gpt-5.2);经 requireAiAuth + Zod 鉴权;尚无配额/审核/成本上限 |
| AI 媒体 | 示例 | Replicate 图像/视频/音频创建 + 轮询;经 requireAiAuth + Zod 鉴权;尚无配额/成本上限 |
| 内容与国际化 | 已集成 | 按语言拆分的 Nuxt Content 集合与语言路由已接通;尚未附带中文文档/博客正文 |
| 仪表盘 / 管理后台 | UI 起点 | 仪表盘为静态数据,订单/账单/安全页仍占位;管理员用户、订阅读取与资料更新已接通 |
| 存储 | 示例 | 已认证、限制大小的图片上传写入本地 public/uploads;当前信任声明 MIME,需补文件签名校验与持久存储 |
应用界面
- 营销 ——
(marketing)路由组下的着陆页、博客、法律、联系与关于页面。 - 认证 ——
app/pages/auth/下的登录、注册、忘记/重置密码,使用auth布局。 - 仪表盘 ——
(dashboard)下的仪表盘、账户、设置与管理页面,使用user布局。 - 内容 —— 由 Nuxt Content 驱动的文档(你正在阅读)、博客与法律内容集合,按语言拆分。
- 支付 —— 定价 CTA、ZPay/Creem 结账流程以及支付/订阅表。
- 邮件 —— 通过 Resend + Vue Email 投递验证、密码重置与联系消息。
- AI —— 流式聊天助手,以及图像、视频与音频生成页面。
从这里开始
按以下路径走,是从克隆到可运行、可部署应用的最快路线:
