analyze_answer_structure.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. require __DIR__.'/vendor/autoload.php';
  3. $app = require_once __DIR__.'/bootstrap/app.php';
  4. $kernel = $app->make(Illuminate\Contracts\Console\Kernel::class);
  5. $kernel->bootstrap();
  6. // Read the last Aliyun Data Preview log entry
  7. $logFile = storage_path('logs/laravel.log');
  8. $content = file_get_contents($logFile);
  9. // Find entries with "answer" in the cutType
  10. preg_match_all('/Aliyun Data Preview.*?"data":"(.*?)"}\s*$/m', $content, $matches);
  11. if (!empty($matches[1])) {
  12. $lastMatch = end($matches[1]);
  13. // Unescape JSON
  14. $jsonStr = str_replace('\\"', '"', $lastMatch);
  15. $jsonStr = str_replace('\\\\', '\\', $jsonStr);
  16. $data = json_decode($jsonStr, true);
  17. if (isset($data['page_list'][0]['answer_list'])) {
  18. echo "Answer List Structure:\n\n";
  19. foreach ($data['page_list'][0]['answer_list'] as $i => $answer) {
  20. echo "Answer #{$i}:\n";
  21. echo " IDs: " . json_encode($answer['ids'] ?? []) . "\n";
  22. echo " Text: " . ($answer['text'] ?? 'N/A') . "\n";
  23. echo " Keys: " . implode(', ', array_keys($answer)) . "\n";
  24. // Check if there's a separate answer mark field
  25. if (isset($answer['answer_mark'])) {
  26. echo " Answer Mark: " . $answer['answer_mark'] . "\n";
  27. }
  28. echo "\n";
  29. if ($i >= 1) break; // Show first 2 answers
  30. }
  31. } else {
  32. echo "No answer_list found in response\n";
  33. }
  34. } else {
  35. echo "No Aliyun Data Preview logs found\n";
  36. }