Quellcode durchsuchen

fix: 修正解析状态字段名称和值

- 状态字段从 parseStatus 改为 status
- 状态值从数字改为字符串: pending/processing/completed/failed
- 轮询时同时显示进度百分比
- 单次查询时显示当前步骤信息
何文松 vor 1 Monat
Ursprung
Commit
e7821f66a9
1 geänderte Dateien mit 14 neuen und 4 gelöschten Zeilen
  1. 14 4
      test/test_upload_api.sh

+ 14 - 4
test/test_upload_api.sh

@@ -238,6 +238,14 @@ test_parse_status() {
     
     if [ "$JQ_AVAILABLE" = true ]; then
         echo "$BODY" | jq . 2>/dev/null || echo "$BODY"
+        
+        # 显示关键状态信息
+        if [ "$HTTP_CODE" = "200" ]; then
+            STATUS=$(echo "$BODY" | jq -r '.data.status // empty' 2>/dev/null)
+            PROGRESS=$(echo "$BODY" | jq -r '.data.progress // 0' 2>/dev/null)
+            CURRENT_STEP=$(echo "$BODY" | jq -r '.data.currentStep // empty' 2>/dev/null)
+            print_info "状态: $STATUS, 进度: ${PROGRESS}%, 当前步骤: $CURRENT_STEP"
+        fi
     else
         echo "$BODY"
     fi
@@ -261,14 +269,16 @@ poll_parse_status() {
         RESPONSE=$(curl -s "${STATUS_URL}/${DOC_ID}" --connect-timeout 10)
         
         if [ "$JQ_AVAILABLE" = true ]; then
-            STATUS=$(echo "$RESPONSE" | jq -r '.data.parseStatus // .parseStatus // empty' 2>/dev/null)
-            echo -ne "\r第 $i 次查询... 状态: $STATUS    "
+            # 状态字段为 status,值为: pending/processing/completed/failed
+            STATUS=$(echo "$RESPONSE" | jq -r '.data.status // .status // empty' 2>/dev/null)
+            PROGRESS=$(echo "$RESPONSE" | jq -r '.data.progress // .progress // 0' 2>/dev/null)
+            echo -ne "\r第 $i 次查询... 状态: $STATUS, 进度: ${PROGRESS}%    "
             
-            if [ "$STATUS" = "2" ] || [ "$STATUS" = "COMPLETED" ]; then
+            if [ "$STATUS" = "completed" ] || [ "$STATUS" = "COMPLETED" ]; then
                 echo ""
                 print_success "解析完成!"
                 return 0
-            elif [ "$STATUS" = "3" ] || [ "$STATUS" = "FAILED" ]; then
+            elif [ "$STATUS" = "failed" ] || [ "$STATUS" = "FAILED" ]; then
                 echo ""
                 print_error "解析失败!"
                 echo "$RESPONSE" | jq .