✨ 新功能: - 创建多样化的演示产品(办公椅、餐桌、书架) - 添加 update-demo-models.js 脚本,支持更丰富的演示数据 - 每个产品类别都有专门的装配步骤和板件信息 - 随机生成访问量,模拟真实使用场景 📦 演示数据: - 现代办公椅:6个装配步骤,4个板件 - 实木餐桌:4个装配步骤,5个板件 - 北欧书架:4个装配步骤,6个板件 - 保持向后兼容的 demo123 链接 🔧 脚本命令: - npm run demo:update - 更新演示模型 - npm run demo:refresh - 推送数据库并更新模型 - 支持多种家具类别的自动化数据生成 🎯 用户体验: - 产品管理页面显示多样化的产品列表 - 每个产品都有独特的分享链接 - 真实的统计数据和访问量显示
3D家具安装展示系统
现代化的3D家具装配过程展示系统,支持交互式动画和分享功能。
🚀 功能特性
- 3D模型查看器: 支持旋转、缩放、平移的交互式3D家具模型
- 装配动画: 分步骤展示装配过程,配备流畅的GSAP动画
- 分享链接: 为客户生成可分享的装配说明链接
- 移动端适配: 完美支持桌面端和移动端设备
- 本地缓存优化: 优先使用本地资源,提升构建速度
🛠️ 技术栈
- 前端: Next.js 14, React 18, TypeScript
- 3D图形: Three.js, React Three Fiber
- 动画: GSAP (GreenSock)
- 数据库: PostgreSQL + Prisma ORM
- 存储: MinIO (S3兼容)
- 样式: Tailwind CSS
- 部署: Docker & Docker Compose
⚡ 快速开始
环境要求
- Node.js 18+
- Docker & Docker Compose
- Git
一键启动
# 克隆项目
git clone http://git.1080p.hk/WuYongJie/furniture-3d-system-Wu.git
cd furniture-3d-system-Wu
# 启动系统(自动设置缓存)
.\quick-start.ps1
# 创建演示数据
npm run demo:setup
# 访问应用
# http://localhost:3000
# 演示分享页面: http://localhost:3000/share/demo123
手动启动
# 1. 安装依赖
npm install
# 2. 配置环境变量
cp .env.example .env
# 3. 启动服务
docker-compose up -d
# 4. 访问应用
# 主应用: http://localhost:3000
# MinIO控制台: http://localhost:9001 (minioadmin/minioadmin)
📁 项目结构
src/
├── app/ # Next.js App Router
│ ├── (public)/ # 公开路由 (分享页面)
│ ├── api/ # API路由
│ └── globals.css # 全局样式
├── components/ # React组件
│ ├── 3d/ # 3D相关组件
│ ├── assembly/ # 装配动画组件
│ └── ui/ # UI组件
├── lib/ # 工具库
│ ├── 3d/ # 3D引擎和工具
│ └── utils.ts # 通用工具
└── types/ # TypeScript类型定义
🔧 开发命令
# 开发服务器
npm run dev
# 数据库管理
npm run prisma:studio
npm run prisma:generate
npm run prisma:push
# 演示数据
npm run demo:create # 创建演示数据
npm run demo:setup # 推送数据库结构并创建演示数据
# 构建部署
npm run build
npm start
# Docker部署
.\quick-start.ps1 prod
📡 主要API
GET /api/health- 健康检查GET /api/products- 获取产品列表POST /api/products- 创建产品POST /api/share- 创建分享链接GET /api/share/[token]- 获取分享的产品
🎯 使用流程
- 上传3D模型: 支持glTF格式的家具模型
- 设置装配步骤: 定义每个装配步骤的动画和说明
- 生成分享链接: 为客户创建可访问的装配指导页面
- 客户查看: 通过分享链接查看3D装配过程
🔧 本地缓存系统
项目支持本地缓存,大幅提升构建速度:
# 设置缓存(从flnxi_sucai项目复制资源)
.\scripts\cache-manager.ps1 -Action setup
# 加载Docker镜像
.\scripts\cache-manager.ps1 -Action load-images
# 清理缓存
.\scripts\cache-manager.ps1 -Action clean
⚙️ 环境变量
# 数据库
DATABASE_URL="postgresql://furniture_user:furniture_pass_2024@localhost:5432/furniture_3d"
# MinIO存储
S3_ENDPOINT="http://localhost:9000"
S3_BUCKET="furniture-3d-models"
S3_ACCESS_KEY="minioadmin"
S3_SECRET_KEY="minioadmin"
# 应用配置
NEXTAUTH_SECRET="your-secret-key"
NEXTAUTH_URL="http://localhost:3000"
🛠️ 故障排除
# 查看服务状态
.\quick-start.ps1 status
# 查看日志
.\quick-start.ps1 logs
# 重启服务
.\quick-start.ps1 restart
# 停止服务
.\quick-start.ps1 stop
📝 许可证
本项目采用 MIT 许可证。
🤝 技术支持
如需技术支持,请在项目仓库中提交Issue或联系开发团队。
Description
Languages
TypeScript
91.1%
JavaScript
5.1%
C#
1%
PowerShell
0.7%
CSS
0.6%
Other
1.4%