- 新增文档模板和导航结构 - 实现服务器基础API路由和控制器 - 添加扩展插件配置和前端框架 - 引入多租户和权限管理模块 - 集成日志和数据库配置 - 添加核心业务模型和类型定义
45 lines
1.4 KiB
TypeScript
45 lines
1.4 KiB
TypeScript
import { logger } from '../utils/logger';
|
|
import db from '../config/database';
|
|
|
|
export interface CreativeRequest {
|
|
tenantId: string;
|
|
productId: string;
|
|
platform: 'FB' | 'TIKTOK' | 'IG';
|
|
style: 'PROFESSIONAL' | 'CASUAL' | 'URGENT';
|
|
}
|
|
|
|
/**
|
|
* [BIZ_MKT_04] AI 广告素材自动生成 API
|
|
* @description 调用多模态 AI 模型为商品生成针对不同平台的广告文案与脚本
|
|
*/
|
|
export class AdCreativeService {
|
|
/**
|
|
* 生成广告素材 (BIZ_MKT_04)
|
|
*/
|
|
static async generateCreative(req: CreativeRequest): Promise<any> {
|
|
logger.info(`[AdCreative] Generating ${req.platform} creative for Product: ${req.productId}`);
|
|
|
|
// 1. 获取商品基础信息
|
|
const product = await db('cf_product').where({ id: req.productId }).first();
|
|
if (!product) throw new Error('Product not found');
|
|
|
|
// 2. 模拟 AI 生成逻辑 (实际中应集成 LLM)
|
|
const adCopy = this.mockAiGen(product.title, req.platform, req.style);
|
|
|
|
return {
|
|
productId: req.productId,
|
|
platform: req.platform,
|
|
adCopy,
|
|
hook: "Don't miss out on this deal!",
|
|
cta: "Shop Now"
|
|
};
|
|
}
|
|
|
|
private static mockAiGen(title: string, platform: string, style: string): string {
|
|
if (platform === 'TIKTOK') {
|
|
return `🔥 Trending Now: ${title}! Get yours before it's gone! #viral #shop`;
|
|
}
|
|
return `Special Offer: High-quality ${title} available now. Free shipping on orders over $50.`;
|
|
}
|
|
}
|