修复日志页面卡顿我呢提

This commit is contained in:
root
2026-06-15 22:42:59 +08:00
parent 1a52201ec7
commit bcb9f293a6
151 changed files with 2461 additions and 471 deletions
+41
View File
@@ -0,0 +1,41 @@
<?php
/**
* 访客日志「第几次访问」:写入时计算,避免列表接口 N+1 查询。
*/
class VisitorLogVtimes
{
/**
* @param mysqli $conn
* @param string $ip
* @param string $domain
*/
public static function resolveForInsert($conn, $ip, $domain)
{
$ipEsc = cloak_db_escape($conn, $ip);
$domainEsc = cloak_db_escape($conn, $domain);
$sql = "SELECT COUNT(*) AS `c` FROM `visitor_logs` WHERE `IP`='{$ipEsc}' AND `domain`='{$domainEsc}'";
$count = 0;
if ($res = $conn->query($sql)) {
$row = $res->fetch_assoc();
$count = (int) ($row['c'] ?? 0);
$res->free();
}
return $count + 1;
}
/**
* @param array $logs cloak_write_log_db 结构
*/
public static function mergeIntoLogs(array $logs, $conn)
{
if (!empty($logs['vtimes']) && (int) $logs['vtimes'] > 0) {
return $logs;
}
$ip = (string) ($logs['customers_ip'] ?? '');
$domain = (string) ($logs['site_name'] ?? '');
if ($ip !== '' && $domain !== '') {
$logs['vtimes'] = self::resolveForInsert($conn, $ip, $domain);
}
return $logs;
}
}