dasdasd
This commit is contained in:
parent
4fcd5d1df5
commit
fb68de0206
2
.env
2
.env
@ -8,4 +8,4 @@ MYSQL_HOST=172.22.222.111
|
|||||||
MYSQL_PORT=3306
|
MYSQL_PORT=3306
|
||||||
MYSQL_USER=windsurf-auto-register
|
MYSQL_USER=windsurf-auto-register
|
||||||
MYSQL_PASSWORD=Qichen5210523
|
MYSQL_PASSWORD=Qichen5210523
|
||||||
MYSQL_DATABASE=auto_register
|
MYSQL_DATABASE=windsurf-auto-register
|
||||||
|
|||||||
@ -1023,11 +1023,9 @@ class WindsurfRegister {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 9. 点击订阅按钮
|
// 9. 点击订阅按钮并检测卡片拒绝(支持重试)
|
||||||
logger.info(this.siteName, ' → 点击订阅按钮...');
|
logger.info(this.siteName, ' → 点击订阅按钮...');
|
||||||
await this.human.randomDelay(2000, 3000);
|
await this.human.randomDelay(2000, 3000);
|
||||||
|
|
||||||
// 9. 点击订阅按钮并检测卡片拒绝(支持重试)
|
|
||||||
const maxRetries = 5; // 最多重试5次
|
const maxRetries = 5; // 最多重试5次
|
||||||
let retryCount = 0;
|
let retryCount = 0;
|
||||||
let paymentSuccess = false;
|
let paymentSuccess = false;
|
||||||
@ -1158,10 +1156,6 @@ class WindsurfRegister {
|
|||||||
|
|
||||||
this.currentStep = 6;
|
this.currentStep = 6;
|
||||||
logger.success(this.siteName, `步骤 6 完成`);
|
logger.success(this.siteName, `步骤 6 完成`);
|
||||||
} else {
|
|
||||||
logger.warn(this.siteName, ' → 未找到订阅按钮');
|
|
||||||
this.currentStep = 6;
|
|
||||||
}
|
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.error(this.siteName, `填写支付信息失败: ${error.message}`);
|
logger.error(this.siteName, `填写支付信息失败: ${error.message}`);
|
||||||
@ -1179,7 +1173,7 @@ class WindsurfRegister {
|
|||||||
// 0. 检查并关闭可能存在的弹窗("要打开 Windsurf 吗?")
|
// 0. 检查并关闭可能存在的弹窗("要打开 Windsurf 吗?")
|
||||||
logger.info(this.siteName, ' → 检查是否有弹窗需要关闭...');
|
logger.info(this.siteName, ' → 检查是否有弹窗需要关闭...');
|
||||||
try {
|
try {
|
||||||
await this.page.waitForTimeout(2000); // 等待弹窗出现
|
await new Promise(resolve => setTimeout(resolve, 2000)); // 等待弹窗出现
|
||||||
|
|
||||||
// 方法1: 尝试按ESC键关闭浏览器原生对话框
|
// 方法1: 尝试按ESC键关闭浏览器原生对话框
|
||||||
logger.info(this.siteName, ' → 尝试按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();
|
await this.closeBrowser();
|
||||||
|
|
||||||
throw error;
|
throw error;
|
||||||
|
|||||||
@ -69,7 +69,7 @@ MYSQL_HOST=172.22.222.111
|
|||||||
MYSQL_PORT=3306
|
MYSQL_PORT=3306
|
||||||
MYSQL_USER=windsurf-auto-register
|
MYSQL_USER=windsurf-auto-register
|
||||||
MYSQL_PASSWORD=Qichen5210523
|
MYSQL_PASSWORD=Qichen5210523
|
||||||
MYSQL_DATABASE=auto_register
|
MYSQL_DATABASE=windsurf-auto-register
|
||||||
```
|
```
|
||||||
|
|
||||||
### 3. 在代码中使用
|
### 3. 在代码中使用
|
||||||
@ -166,4 +166,4 @@ getRepository(name) {
|
|||||||
- **地址**: 172.22.222.111:3306
|
- **地址**: 172.22.222.111:3306
|
||||||
- **用户**: windsurf-auto-register
|
- **用户**: windsurf-auto-register
|
||||||
- **密码**: Qichen5210523
|
- **密码**: Qichen5210523
|
||||||
- **数据库**: auto_register
|
- **数据库**: windsurf-auto-register
|
||||||
|
|||||||
@ -9,7 +9,7 @@ module.exports = {
|
|||||||
port: parseInt(process.env.MYSQL_PORT || '3306'),
|
port: parseInt(process.env.MYSQL_PORT || '3306'),
|
||||||
user: process.env.MYSQL_USER || 'windsurf-auto-register',
|
user: process.env.MYSQL_USER || 'windsurf-auto-register',
|
||||||
password: process.env.MYSQL_PASSWORD || 'Qichen5210523',
|
password: process.env.MYSQL_PASSWORD || 'Qichen5210523',
|
||||||
database: process.env.MYSQL_DATABASE || 'auto_register',
|
database: process.env.MYSQL_DATABASE || 'windsurf-auto-register',
|
||||||
waitForConnections: true,
|
waitForConnections: true,
|
||||||
connectionLimit: 10,
|
connectionLimit: 10,
|
||||||
queueLimit: 0,
|
queueLimit: 0,
|
||||||
|
|||||||
@ -3,11 +3,11 @@
|
|||||||
-- ============================================
|
-- ============================================
|
||||||
|
|
||||||
-- 创建数据库(如果不存在)
|
-- 创建数据库(如果不存在)
|
||||||
CREATE DATABASE IF NOT EXISTS `auto_register`
|
CREATE DATABASE IF NOT EXISTS `windsurf-auto-register`
|
||||||
DEFAULT CHARACTER SET utf8mb4
|
DEFAULT CHARACTER SET utf8mb4
|
||||||
COLLATE utf8mb4_unicode_ci;
|
COLLATE utf8mb4_unicode_ci;
|
||||||
|
|
||||||
USE `auto_register`;
|
USE `windsurf-auto-register`;
|
||||||
|
|
||||||
-- 创建 Windsurf 账号表
|
-- 创建 Windsurf 账号表
|
||||||
CREATE TABLE IF NOT EXISTS `windsurf_accounts` (
|
CREATE TABLE IF NOT EXISTS `windsurf_accounts` (
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user