一个对标昭然AI、Picset AI的垂直电商场景一站式AI视觉生产SaaS平台,面向国内/跨境电商商家。
- 框架: Next.js 15+ App Router
- 语言: TypeScript (严格模式)
- 样式: Tailwind CSS
- UI组件: Shadcn UI
- ORM: Prisma ORM
- 后端服务: Supabase (Auth/数据库/存储)
- 部署: Docker + Vercel
- 手机号/微信/邮箱注册登录
- 第三方OAuth登录
- 角色权限: 游客/个人版/专业版/企业版/管理员
- 生成次数配额管理
- 商品图上传 + 商品信息输入
- 4K超清商品主图生成
- 详情页全套图生成
- 多平台尺寸一键适配: 淘宝/天猫/京东/拼多多/抖音/小红书/亚马逊/Temu
- 集成豆包AI绘画/Flux API
- 集成通义千问API生成文案
- 商品瑕疵修复
- 多图主体一致性
- 云端存储
- 历史记录查看
- 二次编辑
- 批量导出
- 分类管理
- 新用户注册送免费额度
- 订阅制: 月卡/季卡/年卡
- 按次付费
- 企业定制版
- 微信支付/支付宝/Stripe集成
- 订单管理
- 额度自动扣减
- 续费提醒
- 用户管理
- 订单管理
- 套餐配置
- 生成数据统计
- 内容审核
- 系统设置
- 全流程内容安全审核
- 商用版权声明
- 用户协议/隐私政策
- 接口安全防护
- SQL注入/XSS防护
- Node.js 20+
- npm 或 yarn
- PostgreSQL 数据库 (或使用Supabase)
git clone <repository-url>
cd ecommerce-ai-saas复制 .env.example 为 .env 并填写配置:
cp .env.example .env编辑 .env 文件,配置以下内容:
# Supabase配置
NEXT_PUBLIC_SUPABASE_URL=your-supabase-url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-supabase-service-role-key
# 数据库URL
DATABASE_URL=postgresql://user:password@host:5432/postgres
# AI API配置
DOUBAO_API_KEY=your-doubao-api-key
FLUX_API_KEY=your-flux-api-key
TONGYI_API_KEY=your-tongyi-api-key
# 支付配置
WECHAT_PAY_MCHID=your-wechat-mchid
WECHAT_PAY_API_KEY=your-wechat-api-key
ALIPAY_APP_ID=your-alipay-app-id
ALIPAY_PRIVATE_KEY=your-alipay-private-key
STRIPE_SECRET_KEY=your-stripe-secret-key
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=your-stripe-publishable-keynpm install# 生成Prisma客户端
npm run db:generate
# 推送数据库schema
npm run db:pushnpm run dev访问 http://localhost:3000 查看应用。
.
├── prisma/ # Prisma数据库模型
│ └── schema.prisma # 数据库Schema定义
├── src/
│ ├── app/ # Next.js App Router
│ │ ├── api/ # API路由
│ │ │ ├── generate/ # AI生成API
│ │ │ └── users/ # 用户API
│ │ ├── dashboard/ # 仪表板页面
│ │ ├── login/ # 登录页面
│ │ ├── register/ # 注册页面
│ │ ├── globals.css # 全局样式
│ │ ├── layout.tsx # 根布局
│ │ └── page.tsx # 首页
│ ├── components/ # React组件
│ │ └── ui/ # Shadcn UI组件
│ │ ├── avatar.tsx
│ │ ├── badge.tsx
│ │ ├── button.tsx
│ │ ├── card.tsx
│ │ ├── input.tsx
│ │ ├── label.tsx
│ │ └── textarea.tsx
│ └── lib/ # 工具库
│ ├── prisma.ts # Prisma客户端
│ ├── supabase.ts # Supabase客户端
│ └── utils.ts # 工具函数
├── .env.example # 环境变量示例
├── .gitignore # Git忽略文件
├── docker-compose.yml # Docker Compose配置
├── Dockerfile # Docker镜像配置
├── next.config.js # Next.js配置
├── package.json # 项目依赖
├── postcss.config.js # PostCSS配置
├── tailwind.config.ts # Tailwind CSS配置
└── tsconfig.json # TypeScript配置
# 构建并启动服务
docker-compose up -d
# 查看日志
docker-compose logs -f app
# 停止服务
docker-compose down# 构建镜像
docker build -t ecommerce-ai-saas .
# 运行容器
docker run -p 3000:3000 --env-file .env ecommerce-ai-saas部署前请确保在Vercel项目设置中配置所有环境变量。
# 创建新迁移
npm run db:migrate
# 打开Prisma Studio
npm run db:studionpx shadcn-ui@latest add [component-name]# 运行ESLint检查
npm run lint
# 类型检查
npx tsc --noEmitPOST /api/generate- 创建生成任务GET /api/generate?generationId=xxx- 获取生成状态
POST /api/users- 创建用户GET /api/users- 获取用户列表(管理员)
User- 用户表Plan- 套餐配置表Order- 订单表Subscription- 订阅表Generation- AI生成记录表MediaFolder- 素材分类表MediaItem- 素材项目表ApiKey- API密钥表
详细模型定义请查看 prisma/schema.prisma。
- Supabase配置: 需要先在Supabase创建项目并获取相关密钥
- AI API: 需要申请豆包AI、Flux、通义千问的API密钥
- 支付集成: 生产环境需要配置微信支付、支付宝、Stripe的正式账号
- 环境变量: 生产环境请确保所有敏感信息都存储在环境变量中,不要提交到代码仓库
- 定期更新依赖包
- 启用Supabase的行级安全策略(RLS)
- 配置适当的CORS策略
- 使用HTTPS
- 实施速率限制
- 定期备份数据库
MIT License
如有问题,请联系: [your-email@example.com]
- 初始版本发布
- 完整的用户认证系统
- AI图片生成核心功能
- 基础的素材管理
- 响应式设计,支持PC/移动端