作者 李宇航

合并分支 'lyh-server' 到 'master'

Lyh server



查看合并请求 !1730
... ... @@ -1174,3 +1174,15 @@ function getDeployOptimize($project_id){
return $info;
}
/**
* @remark :获取域名
* @name :getDomain
* @author :lyh
* @method :post
* @time :2025/4/3 16:19
*/
function getDomain($url) {
$parsedUrl = parse_url($url);
return $parsedUrl['host'] ?? $url; // 如果解析失败,返回原始 URL
}
... ...
... ... @@ -9,9 +9,22 @@
namespace App\Http\Controllers\Bside\GoogleKeyword;
use App\Enums\Common\Code;
use App\Http\Controllers\Bside\BaseController;
use App\Services\GoogleLinkService;
class GoogleLinkController extends BaseController
{
/**
* @remark :外链数据
* @name :getLink
* @author :lyh
* @method :post
* @time :2025/4/3 16:09
*/
public function getLink(){
$linkService = new GoogleLinkService();
$data = $linkService->linkPageData($this->user['domain'],$this->user['project_id']);
$this->response('success',Code::SUCCESS,$data);
}
}
... ...
... ... @@ -70,6 +70,11 @@ class ChatLogic extends BaseLogic
}
$data = ['message' => $message];
$stream = $gptService->get_ai_chat($data); // 获取流
// 允许跨域访问
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type, Authorization');
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
header('Connection: keep-alive');
... ...
... ... @@ -22,24 +22,30 @@ class GoogleLinkService
* @method :post
* @time :2025/4/3 15:54
*/
public function linkPageData($domain, $page = 1, $pagesize = 200)
public function linkPageData($domain,$project_id)
{
$domain = getDomain($domain);
// 第一次请求,获取总数
$param = [
'domain' => $domain,
'page' => $page,
'pagesize' => $pagesize,
'page' => 1,
'pagesize' => 1, // 只拉取一条数据,获取 total
];
$queryString = http_build_query($param);
$url = $this->url . '?' . $queryString;
$response = http_get($url);
if (!empty($response) && !empty($response['data']['data'])) {
if (!empty($response) && !empty($response['data']['total'])) {
// 计算总数并一次性获取所有数据
$param['pagesize'] = $response['data']['total'];
$queryString = http_build_query($param);
$url = $this->url . '?' . $queryString;
$response = http_get($url);
if (!empty($response['data']['data'])) {
return $this->saveLink($response['data']['data']);// 批量插入
return $this->saveLink($response['data']['data'],$project_id,$domain);// 批量插入
}
}
return true;
return false;
}
/**
* @remark :拉取所有数据
* @name :linkData
... ... @@ -47,8 +53,9 @@ class GoogleLinkService
* @method :post
* @time :2025/4/3 15:55
*/
public function linkData($domain, $page = 1, $pagesize = 200)
public function linkData($domain,$project_id, $page = 1, $pagesize = 200)
{
$domain = getDomain($domain);
$param = [
'domain' => $domain,
'page' => $page,
... ... @@ -60,7 +67,7 @@ class GoogleLinkService
$response = http_get($url);
if (!empty($response) && !empty($response['data']['data'])) {
if (!empty($response['data']['data'])) {
$this->saveLink($response['data']['data']);// 批量插入
$this->saveLink($response['data']['data'],$project_id,$domain);// 批量插入
}
$page++;
$param['page'] = $page; // 更新页码
... ... @@ -78,7 +85,7 @@ class GoogleLinkService
* @method :post
* @time :2025/4/3 15:26
*/
public function saveLink($data){
public function saveLink($data,$project_id,$domain){
$saveData = [];
foreach ($data as $val){
$timestamp = strtotime($val['created_at']);
... ... @@ -88,7 +95,9 @@ class GoogleLinkService
'moz_da'=>$val['mozDA'],
'status'=>$val['status'],
'google_search'=>$val['googlesearch'],
'date'=>$date
'date'=>$date,
'project_id'=>$project_id,
'domain'=>$domain
];
}
$linkModel = new GoogleLink();
... ...
... ... @@ -719,6 +719,10 @@ Route::middleware(['bloginauth'])->group(function () {
Route::any('/del', [\App\Http\Controllers\Bside\Gpt\ChatController::class, 'del'])->name('gpt_del');
Route::any('/sendMessage', [\App\Http\Controllers\Bside\Gpt\ChatController::class, 'sendMessage'])->name('gpt_sendMessage');
});
Route::prefix('google_link')->group(function () {
Route::any('/', [\App\Http\Controllers\Bside\GoogleKeyword\GoogleLinkController::class,'getLink'])->name('google_link_getLink');
});
});
//无需登录验证的路由组
Route::group([], function () {
... ...