Files
makemd/server/src/test_washer.ts
wurenzhi 136c2fa579 feat: 初始化项目结构并添加核心功能模块
- 新增文档模板和导航结构
- 实现服务器基础API路由和控制器
- 添加扩展插件配置和前端框架
- 引入多租户和权限管理模块
- 集成日志和数据库配置
- 添加核心业务模型和类型定义
2026-03-17 22:07:19 +08:00

54 lines
2.0 KiB
TypeScript

import { ProductService } from './services/ProductService';
import db from './config/database';
import { DomainBootstrap } from './core/runtime/DomainBootstrap';
import { DomainRegistry } from './core/runtime/DomainRegistry';
async function testWasher() {
console.log('🚀 Testing AI Product Washer (BIZ_PROD_12)...');
try {
// 1. 初始化全量领域 (包含 Feature Flags, Product 表等)
await DomainBootstrap.init();
await DomainRegistry.bootstrap();
const tenantId = 'test-tenant';
// 1. 创建测试商品
const productId = await ProductService.create(tenantId, {
platform: 'Alibaba',
productId: 'TEST_WASHER_001',
title: 'Original Title with Brand Name Nike and bad characters !!!',
description: 'This is a description that needs localization for the Middle East market.',
mainImage: 'https://example.com/original_nike_shoe.jpg',
status: 'active'
});
console.log(`✅ Created test product: ${productId}`);
// 2. 执行清洗与本地化
console.log('--- Running Wash and Localize ---');
const result = await ProductService.washAndLocalize(tenantId, productId, 'Middle East', 'en');
console.log('✅ Washer result:', JSON.stringify(result, null, 2));
// 3. 验证更新后的数据
const updatedProduct = await ProductService.getById(tenantId, productId);
console.log('--- Updated Product Data ---');
console.log('New Title:', updatedProduct?.title);
console.log('New Image:', updatedProduct?.mainImage);
console.log('SEO Tags:', updatedProduct?.attributes?.seo_tags);
if (updatedProduct?.title?.includes('[Local]')) {
console.log('✅ Semantic cleaning and localization verified (Mock)');
}
if (updatedProduct?.mainImage?.includes('style=Gold & Luxury')) {
console.log('✅ Multi-modal enhancement (style) verified');
}
} catch (error) {
console.error('❌ Test failed:', error);
} finally {
await db.destroy();
}
}
testWasher();