Spaces:
Paused
Paused
Update worker.js
Browse files
worker.js
CHANGED
|
@@ -36,7 +36,7 @@ async function chatWithBrowser(prompt, model) {
|
|
| 36 |
const page = await browser.newPage();
|
| 37 |
try {
|
| 38 |
console.log(`📝 聊天请求: ${prompt.substring(0, 50)}...`);
|
| 39 |
-
await page.goto('https://toolbaz.com', { waitUntil: 'networkidle2', timeout: 30000 });
|
| 40 |
|
| 41 |
// 等待输入框
|
| 42 |
await page.waitForSelector('#input', { timeout: 10000 });
|
|
@@ -65,17 +65,59 @@ async function chatWithBrowser(prompt, model) {
|
|
| 65 |
}
|
| 66 |
}
|
| 67 |
|
| 68 |
-
async function generateImageWithBrowser(prompt, model) {
|
| 69 |
const browser = await initBrowser();
|
| 70 |
const page = await browser.newPage();
|
| 71 |
try {
|
| 72 |
console.log(`🎨 图片生成: ${prompt.substring(0, 50)}...`);
|
| 73 |
-
await page.goto('https://toolbaz.com', { waitUntil: 'networkidle2', timeout: 30000 });
|
| 74 |
-
|
| 75 |
-
|
| 76 |
-
await page.
|
| 77 |
-
|
| 78 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 79 |
console.log(`✅ 图片: ${imageUrl}`);
|
| 80 |
return imageUrl;
|
| 81 |
} catch (error) {
|
|
|
|
| 36 |
const page = await browser.newPage();
|
| 37 |
try {
|
| 38 |
console.log(`📝 聊天请求: ${prompt.substring(0, 50)}...`);
|
| 39 |
+
await page.goto('https://toolbaz.com/writer/ai-writer', { waitUntil: 'networkidle2', timeout: 30000 });
|
| 40 |
|
| 41 |
// 等待输入框
|
| 42 |
await page.waitForSelector('#input', { timeout: 10000 });
|
|
|
|
| 65 |
}
|
| 66 |
}
|
| 67 |
|
| 68 |
+
async function generateImageWithBrowser(prompt, model, size) {
|
| 69 |
const browser = await initBrowser();
|
| 70 |
const page = await browser.newPage();
|
| 71 |
try {
|
| 72 |
console.log(`🎨 图片生成: ${prompt.substring(0, 50)}...`);
|
| 73 |
+
await page.goto('https://toolbaz.com/image/ai-image-generator', { waitUntil: 'networkidle2', timeout: 30000 });
|
| 74 |
+
|
| 75 |
+
// 等待输入框
|
| 76 |
+
await page.waitForSelector('#prompt', { timeout: 10000 });
|
| 77 |
+
|
| 78 |
+
// 输入提示词
|
| 79 |
+
await page.click('#prompt', { clickCount: 3 });
|
| 80 |
+
await page.type('#prompt', prompt);
|
| 81 |
+
|
| 82 |
+
// 选择模型(如果需要)
|
| 83 |
+
if (model) {
|
| 84 |
+
try {
|
| 85 |
+
await page.select('#model', model);
|
| 86 |
+
} catch (e) {
|
| 87 |
+
console.log('⚠️ 模型选择失败,使用默认');
|
| 88 |
+
}
|
| 89 |
+
}
|
| 90 |
+
|
| 91 |
+
// 选择尺寸(如果需要)
|
| 92 |
+
if (size) {
|
| 93 |
+
try {
|
| 94 |
+
await page.select('#size', size);
|
| 95 |
+
} catch (e) {
|
| 96 |
+
console.log('⚠️ 尺寸选择失败,使用默认');
|
| 97 |
+
}
|
| 98 |
+
}
|
| 99 |
+
|
| 100 |
+
// 点击生成按钮
|
| 101 |
+
await page.click('#generat');
|
| 102 |
+
|
| 103 |
+
// 等待图片生成(等待结果区域出现图片)
|
| 104 |
+
await page.waitForSelector('img[src*="generated"], img[src*="image"]', { timeout: 120000 });
|
| 105 |
+
|
| 106 |
+
// 提取图片 URL
|
| 107 |
+
const imageUrl = await page.evaluate(() => {
|
| 108 |
+
const imgs = document.querySelectorAll('img[src*="generated"], img[src*="image"], img[src*="toolbaz"]');
|
| 109 |
+
for (let img of imgs) {
|
| 110 |
+
if (img.src && img.src.startsWith('http') && !img.src.includes('logo')) {
|
| 111 |
+
return img.src;
|
| 112 |
+
}
|
| 113 |
+
}
|
| 114 |
+
return null;
|
| 115 |
+
});
|
| 116 |
+
|
| 117 |
+
if (!imageUrl) {
|
| 118 |
+
throw new Error('未找到生成的图片');
|
| 119 |
+
}
|
| 120 |
+
|
| 121 |
console.log(`✅ 图片: ${imageUrl}`);
|
| 122 |
return imageUrl;
|
| 123 |
} catch (error) {
|