新功能: - 创建AI聊天助手组件(AIChatWidget) - 支持文字+图片多模态对话 - 集成Gemini AI API - 支持图片编辑和内容生成 - 实时对话历史管理 - 优雅的UI设计,支持黑夜模式 技术实现: - 后端API代理Gemini API(/api/ai-chat) - 支持最多5张图片上传 - 流式响应处理 - 对话历史管理 - Base64图片处理 配置: - 在.env中添加Gemini API配置 - GEMINI_API_KEY - GEMINI_API_BASE_URL - GEMINI_MODEL 替换原弹幕功能,提供更强大的AI助手体验!
76 lines
1.9 KiB
JavaScript
Executable File
76 lines
1.9 KiB
JavaScript
Executable File
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;
|