Videa Docs

项目结构

代码库布局和关键目录概览。

目录概览

├── app/[locale]/              # 国际化路由
│   ├── (auth)/                # 认证页面(登录、注册、忘记密码)
│   ├── (marketing)/           # 营销页面(首页、定价、博客、联系)
│   ├── (protected)/           # 需要认证的页面(仪表板、个人资料、积分)
│   ├── (admin)/               # 管理后台(用户、订阅、积分管理)
│   ├── demo/                  # AI 演示页面(对话、图像、视频)
│   └── docs/                  # 文档(Fumadocs)
├── app/api/                   # API 路由
│   ├── auth/                  # Better Auth + 自定义认证端点
│   ├── payments/creem/        # Creem 支付(checkout + webhook)
│   ├── chat/                  # 对话 API(流式响应)
│   ├── image/                 # 图像生成 API
│   ├── video/                 # 视频生成 API(异步任务)
│   ├── admin/                 # 管理员操作 API
│   └── cron/                  # 定时任务(积分发放)
├── components/                # 可复用 UI 组件
├── features/                  # 功能模块(auth、admin、forms、navigation)
├── lib/                       # 核心业务逻辑
│   ├── auth.ts                # Better Auth 配置
│   ├── db/                    # 数据库连接和 Schema
│   ├── credits.ts             # 积分系统逻辑
│   ├── payments/creem.ts      # Creem 支付集成
│   ├── billing/               # 订阅和积分发放调度
│   ├── volcano-engine/        # 火山引擎 API 封装
│   └── email.ts               # 邮件发送逻辑
├── constants/                 # 常量
│   ├── billing.ts             # 定价计划和积分包配置
│   ├── tier.ts                # 用户等级定义
│   └── website.ts             # 网站信息
├── content/docs/              # 文档内容(MDX)
├── messages/                  # 国际化翻译文件(en、zh)
└── drizzle/                   # 数据库迁移文件

路由分组

分组路径访问权限用途
(auth)/login/signup公开认证流程
(marketing)//pricing/blog公开营销和 SEO 页面
(protected)/dashboard/profile需要登录用户功能
(admin)/admin/*管理员管理面板
demo/demo/*公开AI 功能演示
docs/docs/*公开文档

关键文件

文件用途
lib/auth.tsBetter Auth 配置及注册钩子
lib/credits.ts积分扣除、退还和余额检查
lib/db/schema.ts完整数据库 Schema(Drizzle ORM)
constants/billing.ts定价计划、积分数量、Creem 产品 ID
lib/payments/creem.tsCreem API 集成(checkout、webhooks)
proxy.tsNext.js 代理(i18n 路由)
i18n.config.ts语言区域配置

On this page