const mongoose = require('mongoose'); // 检查模型是否已经存在 if (mongoose.models.GeneratedImage) { module.exports = mongoose.models.GeneratedImage; return; } const generatedImageSchema = new mongoose.Schema({ // 图片URL imageUrl: { type: String, required: true }, // 图片类型(如:remove-bg, generate-bg, enhance-image等) type: { type: String, required: true, enum: [ // 基础图片处理类型 'remove-bg', 'remove-bg-v2', 'generate-bg', 'enhance-image', 'extend-image', 'repaint', 'sketch-to-image', 'poster-generator', 'ai-image-edit-2', // AI助手类型 'soul-assistant', 'magic-assistant', // 特殊功能类型 'product-replacement', 'erase', 'erase-tool', 'video-generator', 'tripo3d', 'ocr', 'evaluation', // 默认类型 'all-images', 'other' ] }, // 原始图片URL(如果有) originalImageUrl: { type: String }, // 用户ID(如果用户已登录) userId: { type: mongoose.Schema.Types.ObjectId, ref: 'User' }, // 提示词(如果有) prompt: { type: String }, // 任务ID(如果有) taskId: { type: String }, // 创建时间 createdAt: { type: Date, default: Date.now }, // 元数据(可以存储任何额外信息) metadata: { type: mongoose.Schema.Types.Mixed } }); // 创建索引以提高查询性能 generatedImageSchema.index({ userId: 1, type: 1, createdAt: -1 }); generatedImageSchema.index({ taskId: 1 }); const GeneratedImage = mongoose.model('GeneratedImage', generatedImageSchema); module.exports = GeneratedImage;