修复火箭工单过盾同步问题

This commit is contained in:
root
2026-07-02 03:13:27 +08:00
parent 54c13c54ef
commit 439f79a5ae
14 changed files with 1018 additions and 123 deletions
@@ -5,10 +5,14 @@ declare(strict_types=1);
namespace app\common\library\scrm\spider;
use app\common\library\scrm\AbstractScrmSpider;
use app\common\library\scrm\AntiBotConfigBuilder;
use app\common\library\scrm\UnifiedScrmData;
use app\common\service\SplitPageUrlResolver;
/**
* 火箭云控蜘蛛
* 火箭云控蜘蛛Real Browser + CF 过盾 + 密码弹窗 + API 拦截)
*
* 短链 s.url99.me → 长链 *.url66.me/gds?link=(长链域名动态,不写死)
*/
class HuojianSpider extends AbstractScrmSpider
{
@@ -22,6 +26,9 @@ class HuojianSpider extends AbstractScrmSpider
private UnifiedScrmData $unifiedData;
/** HTTP 预解析落地 URL(短链 CF 时可能失败,仅作 hint) */
private string $landingUrlHint = '';
public function __construct(
string $pageUrl,
string $account = '',
@@ -32,11 +39,14 @@ class HuojianSpider extends AbstractScrmSpider
$this->pageUrl = $pageUrl;
$this->account = $account;
$this->password = $password;
$this->landingUrlHint = SplitPageUrlResolver::resolveFinalUrl($pageUrl);
$this->unifiedData = new UnifiedScrmData();
}
protected function getSpiderConfig(): array
{
$antiBot = AntiBotConfigBuilder::build('huojian', $this->pageUrl, $this->landingUrlHint);
return [
'pageUrl' => $this->pageUrl,
'listApi' => self::API_LIST,
@@ -48,6 +58,7 @@ class HuojianSpider extends AbstractScrmSpider
['type' => 'vue_click', 'selector' => '.el-message-box__btns .el-button--primary'],
['type' => 'wait', 'ms' => 2000],
],
'antiBot' => $antiBot,
];
}
@@ -84,6 +95,7 @@ class HuojianSpider extends AbstractScrmSpider
}
}
$unifiedData->total = $count;
return $unifiedData;
}
}