achievement-report-demo.sh 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #!/usr/bin/env bash
  2. set -euo pipefail
  3. BASE_URL="${BASE_URL:-http://localhost:8500}"
  4. ENDPOINT="${BASE_URL%/}/api/exam-sprint/achievement-reports"
  5. RESPONSE_BODY="$(mktemp)"
  6. cleanup() {
  7. rm -f "$RESPONSE_BODY"
  8. }
  9. trap cleanup EXIT
  10. http_code="$({
  11. curl -sS \
  12. -o "$RESPONSE_BODY" \
  13. -w '%{http_code}' \
  14. -X POST \
  15. -H 'Content-Type: application/json' \
  16. --data-binary @- \
  17. "$ENDPOINT" <<'JSON'
  18. {
  19. "reportTitle": "高考英语临考突击学习成果报告",
  20. "reportSubtitle": "2024真题 · 两周专项训练 · 真实提分效果",
  21. "completionTitle": "恭喜完成两周考前突击专项训练",
  22. "completionSubtitle": "基于2024英语真题试卷 · 真实学习效果分析",
  23. "summaryMetrics": {
  24. "vocabularyGrowthText": "+19",
  25. "paperKnownWordsGrowthText": "+4",
  26. "unknownWordHitRateText": "0.0193",
  27. "learningEfficiencyText": "0.48"
  28. },
  29. "vocabularyComparison": {
  30. "beforeValue": 2328,
  31. "afterValue": 2347,
  32. "beforeText": "2328",
  33. "afterText": "2347",
  34. "growthText": "+19"
  35. },
  36. "paperKnownWordsComparison": {
  37. "beforeValue": 650,
  38. "afterValue": 654,
  39. "beforeText": "650",
  40. "afterText": "654",
  41. "growthText": "+4"
  42. },
  43. "examUnknownWordsHitStatus": {
  44. "unknownWordHitRateText": "0.0193",
  45. "learningEfficiencyText": "0.48",
  46. "unknownWordsBeforeText": "207",
  47. "unknownWordsAfterText": "203",
  48. "reducedUnknownWordsText": "4",
  49. "hitWords": ["number", "bear", "popular", "importance"]
  50. }
  51. }
  52. JSON
  53. })"
  54. printf 'HTTP %s\n' "$http_code"
  55. cat "$RESPONSE_BODY"
  56. if [ "$http_code" != "202" ]; then
  57. exit 1
  58. fi