1, 'msg' => 'invalid id']); exit; } $conn = new mysqli('localhost', DB_USERNAME, DB_PASSWORD, DB_NAME); if ($conn->connect_error) { echo json_encode(['code' => 1, 'msg' => 'db error']); exit; } $sql = "SELECT `id`, `fp_hdata`, `reason`, `result`, `domain` FROM `visitor_logs` WHERE `id`=" . $id . ' LIMIT 1'; $res = $conn->query($sql); $row = $res ? $res->fetch_assoc() : null; if ($res) { $res->free(); } $conn->close(); if (!$row || empty($row['fp_hdata'])) { echo json_encode(['code' => 1, 'msg' => 'no fp_hdata']); exit; } $result = $row['result'] ?? ''; if ($result === 'wait') { $result = '检测中'; } $explain = cloak_visitor_log_fp_risk_explain( $row['fp_hdata'], $row['reason'] ?? '', $result, $row['domain'] ?? '' ); echo json_encode([ 'code' => 0, 'msg' => '', 'summary' => $explain['summary'], 'html' => $explain['html'], ], JSON_UNESCAPED_UNICODE);