diff --git a/.env b/.env index efca345..14e1b52 100644 --- a/.env +++ b/.env @@ -8,4 +8,4 @@ MYSQL_HOST=172.22.222.111 MYSQL_PORT=3306 MYSQL_USER=windsurf-auto-register MYSQL_PASSWORD=Qichen5210523 -MYSQL_DATABASE=auto_register +MYSQL_DATABASE=windsurf-auto-register diff --git a/src/tools/account-register/sites/windsurf.js b/src/tools/account-register/sites/windsurf.js index e82225f..f23be5d 100644 --- a/src/tools/account-register/sites/windsurf.js +++ b/src/tools/account-register/sites/windsurf.js @@ -1023,11 +1023,9 @@ class WindsurfRegister { } } - // 9. 点击订阅按钮 + // 9. 点击订阅按钮并检测卡片拒绝(支持重试) logger.info(this.siteName, ' → 点击订阅按钮...'); await this.human.randomDelay(2000, 3000); - - // 9. 点击订阅按钮并检测卡片拒绝(支持重试) const maxRetries = 5; // 最多重试5次 let retryCount = 0; let paymentSuccess = false; @@ -1152,16 +1150,12 @@ class WindsurfRegister { await new Promise(resolve => setTimeout(resolve, 500)); } } - - // 额外等待页面稳定 - await this.human.randomDelay(2000, 3000); - - this.currentStep = 6; - logger.success(this.siteName, `步骤 6 完成`); - } else { - logger.warn(this.siteName, ' → 未找到订阅按钮'); - this.currentStep = 6; - } + + // 额外等待页面稳定 + await this.human.randomDelay(2000, 3000); + + this.currentStep = 6; + logger.success(this.siteName, `步骤 6 完成`); } catch (error) { logger.error(this.siteName, `填写支付信息失败: ${error.message}`); @@ -1179,7 +1173,7 @@ class WindsurfRegister { // 0. 检查并关闭可能存在的弹窗("要打开 Windsurf 吗?") logger.info(this.siteName, ' → 检查是否有弹窗需要关闭...'); try { - await this.page.waitForTimeout(2000); // 等待弹窗出现 + await new Promise(resolve => setTimeout(resolve, 2000)); // 等待弹窗出现 // 方法1: 尝试按ESC键关闭浏览器原生对话框 logger.info(this.siteName, ' → 尝试按ESC键关闭原生对话框...'); @@ -1495,6 +1489,31 @@ class WindsurfRegister { } } + // 清理浏览器缓存并关闭 + if (this.page) { + try { + logger.info(this.siteName, ' → 清除浏览器缓存...'); + const client = await this.page.target().createCDPSession(); + await client.send('Network.clearBrowserCookies'); + await client.send('Network.clearBrowserCache'); + await client.send('Storage.clearDataForOrigin', { + origin: '*', + storageTypes: 'all' + }); + await this.page.goto('https://windsurf.com', { waitUntil: 'domcontentloaded' }); + await this.page.evaluate(() => { + try { + localStorage.clear(); + sessionStorage.clear(); + } catch (e) {} + }); + await client.detach(); + logger.success(this.siteName, ' → ✓ 浏览器缓存已清除'); + } catch (e) { + logger.warn(this.siteName, ` → 清除缓存失败: ${e.message}`); + } + } + await this.closeBrowser(); throw error; diff --git a/src/tools/database/README.md b/src/tools/database/README.md index f96d113..26788f3 100644 --- a/src/tools/database/README.md +++ b/src/tools/database/README.md @@ -69,7 +69,7 @@ MYSQL_HOST=172.22.222.111 MYSQL_PORT=3306 MYSQL_USER=windsurf-auto-register MYSQL_PASSWORD=Qichen5210523 -MYSQL_DATABASE=auto_register +MYSQL_DATABASE=windsurf-auto-register ``` ### 3. 在代码中使用 @@ -166,4 +166,4 @@ getRepository(name) { - **地址**: 172.22.222.111:3306 - **用户**: windsurf-auto-register - **密码**: Qichen5210523 -- **数据库**: auto_register +- **数据库**: windsurf-auto-register diff --git a/src/tools/database/config.js b/src/tools/database/config.js index 78bc133..c204ad1 100644 --- a/src/tools/database/config.js +++ b/src/tools/database/config.js @@ -9,7 +9,7 @@ module.exports = { port: parseInt(process.env.MYSQL_PORT || '3306'), user: process.env.MYSQL_USER || 'windsurf-auto-register', password: process.env.MYSQL_PASSWORD || 'Qichen5210523', - database: process.env.MYSQL_DATABASE || 'auto_register', + database: process.env.MYSQL_DATABASE || 'windsurf-auto-register', waitForConnections: true, connectionLimit: 10, queueLimit: 0, diff --git a/src/tools/database/init.sql b/src/tools/database/init.sql index a7bae9f..a46d72d 100644 --- a/src/tools/database/init.sql +++ b/src/tools/database/init.sql @@ -3,11 +3,11 @@ -- ============================================ -- 创建数据库(如果不存在) -CREATE DATABASE IF NOT EXISTS `auto_register` +CREATE DATABASE IF NOT EXISTS `windsurf-auto-register` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -USE `auto_register`; +USE `windsurf-auto-register`; -- 创建 Windsurf 账号表 CREATE TABLE IF NOT EXISTS `windsurf_accounts` (