const fs = require('fs'); const path = require('path'); const ImageProcessor = require('./image-processor'); // 测试添加水印功能 async function testAddWatermark() { try { console.log('开始测试图片水印功能...'); // 创建一个简单的测试图片Buffer(使用Base64编码的1x1像素黑色图片) const base64TestImage = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg=='; // 处理水印 const watermarkedBuffer = await ImageProcessor.addWatermarkToBase64( base64TestImage, '测试水印 - 供应商ID: test123', { fontSize: 16, color: 'rgba(255,0,0,0.8)', position: 'bottom-right', marginX: 10, marginY: 10 } ); // 保存测试结果到文件 const testOutputPath = path.join(__dirname, 'watermark-test-output.png'); await fs.promises.writeFile(testOutputPath, watermarkedBuffer); console.log(`✅ 水印测试成功! 输出文件已保存至: ${testOutputPath}`); console.log('\n测试总结:'); console.log('- ✅ 成功导入ImageProcessor模块'); console.log('- ✅ 成功添加文字水印到图片'); console.log('- ✅ 成功将带水印的图片保存为文件'); console.log('- ✅ Sharp库功能正常工作'); console.log('\n提示: 在实际API调用中,水印功能会在创建货源时自动应用到上传的图片上。'); return true; } catch (error) { console.error('❌ 水印测试失败:', error.message); console.error('错误详情:', error); return false; } } // 运行测试 (async () => { console.log('===================================='); console.log(' 图片水印功能测试脚本 '); console.log('===================================='); const success = await testAddWatermark(); if (success) { console.log('\n✅ 所有测试通过! 水印功能已准备就绪,可以在创建货源API中使用。'); } else { console.log('\n❌ 测试失败,请检查错误信息并修复问题。'); } console.log('===================================='); })();