Преглед на файлове

fix: 取消附件上传超时并放宽代理限制,避免慢网大文件上传中断。

zlwu преди 1 ден
родител
ревизия
8321246765

+ 5 - 4
deploy/docker/nginx/default.conf

@@ -6,7 +6,8 @@ server {
     root /usr/share/nginx/html;
     index index.html;
 
-    client_max_body_size 100M;
+    client_max_body_size 500m;
+    client_body_timeout 3600s;
 
     access_log /var/log/nginx/access.log;
     error_log /var/log/nginx/error.log;
@@ -43,9 +44,9 @@ server {
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header X-Forwarded-Proto $scheme;
         proxy_request_buffering off;
-        proxy_connect_timeout 30s;
-        proxy_send_timeout 300s;
-        proxy_read_timeout 300s;
+        proxy_connect_timeout 60s;
+        proxy_send_timeout 3600s;
+        proxy_read_timeout 3600s;
     }
 
     location ^~ /api/ {

+ 43 - 43
web-admin/graphify-out/.graphify_extract.json

@@ -13858,126 +13858,126 @@
       "label": "fetchUploadAttachment()",
       "file_type": "code",
       "source_file": "api/business.ts",
-      "source_location": "L124"
+      "source_location": "L121"
     },
     {
       "id": "api_business_fetchattachmentdownloadurl",
       "label": "fetchAttachmentDownloadUrl()",
       "file_type": "code",
       "source_file": "api/business.ts",
-      "source_location": "L139"
+      "source_location": "L137"
     },
     {
       "id": "api_business_fetchuploadproductimage",
       "label": "fetchUploadProductImage()",
       "file_type": "code",
       "source_file": "api/business.ts",
-      "source_location": "L146"
+      "source_location": "L144"
     },
     {
       "id": "api_business_fetchsystemconfig",
       "label": "fetchSystemConfig()",
       "file_type": "code",
       "source_file": "api/business.ts",
-      "source_location": "L153"
+      "source_location": "L151"
     },
     {
       "id": "api_business_fetchclinicalpayments",
       "label": "fetchClinicalPayments()",
       "file_type": "code",
       "source_file": "api/business.ts",
-      "source_location": "L161"
+      "source_location": "L159"
     },
     {
       "id": "api_business_fetchclinicalpaymentdetail",
       "label": "fetchClinicalPaymentDetail()",
       "file_type": "code",
       "source_file": "api/business.ts",
-      "source_location": "L168"
+      "source_location": "L166"
     },
     {
       "id": "api_business_submitclinicalreceipt",
       "label": "submitClinicalReceipt()",
       "file_type": "code",
       "source_file": "api/business.ts",
-      "source_location": "L174"
+      "source_location": "L172"
     },
     {
       "id": "api_business_batchsubmitclinicalreceipt",
       "label": "batchSubmitClinicalReceipt()",
       "file_type": "code",
       "source_file": "api/business.ts",
-      "source_location": "L181"
+      "source_location": "L179"
     },
     {
       "id": "api_business_confirmclinicalreceipt",
       "label": "confirmClinicalReceipt()",
       "file_type": "code",
       "source_file": "api/business.ts",
-      "source_location": "L188"
+      "source_location": "L186"
     },
     {
       "id": "api_business_rejectclinicalreceipt",
       "label": "rejectClinicalReceipt()",
       "file_type": "code",
       "source_file": "api/business.ts",
-      "source_location": "L195"
+      "source_location": "L193"
     },
     {
       "id": "api_business_submitclinicalrefund",
       "label": "submitClinicalRefund()",
       "file_type": "code",
       "source_file": "api/business.ts",
-      "source_location": "L202"
+      "source_location": "L200"
     },
     {
       "id": "api_business_batchsubmitclinicalrefund",
       "label": "batchSubmitClinicalRefund()",
       "file_type": "code",
       "source_file": "api/business.ts",
-      "source_location": "L209"
+      "source_location": "L207"
     },
     {
       "id": "api_business_confirmclinicalrefund",
       "label": "confirmClinicalRefund()",
       "file_type": "code",
       "source_file": "api/business.ts",
-      "source_location": "L216"
+      "source_location": "L214"
     },
     {
       "id": "api_business_rejectclinicalrefund",
       "label": "rejectClinicalRefund()",
       "file_type": "code",
       "source_file": "api/business.ts",
-      "source_location": "L223"
+      "source_location": "L221"
     },
     {
       "id": "api_business_fetchclinicalreceiptpending",
       "label": "fetchClinicalReceiptPending()",
       "file_type": "code",
       "source_file": "api/business.ts",
-      "source_location": "L230"
+      "source_location": "L228"
     },
     {
       "id": "api_business_fetchclinicalreceiptconfirmed",
       "label": "fetchClinicalReceiptConfirmed()",
       "file_type": "code",
       "source_file": "api/business.ts",
-      "source_location": "L237"
+      "source_location": "L235"
     },
     {
       "id": "api_business_fetchclinicalrefundpending",
       "label": "fetchClinicalRefundPending()",
       "file_type": "code",
       "source_file": "api/business.ts",
-      "source_location": "L244"
+      "source_location": "L242"
     },
     {
       "id": "api_business_fetchclinicalrefundconfirmed",
       "label": "fetchClinicalRefundConfirmed()",
       "file_type": "code",
       "source_file": "api/business.ts",
-      "source_location": "L251"
+      "source_location": "L249"
     },
     {
       "id": "api_admin_ts",
@@ -53781,7 +53781,7 @@
       "relation": "contains",
       "confidence": "EXTRACTED",
       "source_file": "api/business.ts",
-      "source_location": "L124",
+      "source_location": "L121",
       "weight": 1.0
     },
     {
@@ -53790,7 +53790,7 @@
       "relation": "contains",
       "confidence": "EXTRACTED",
       "source_file": "api/business.ts",
-      "source_location": "L139",
+      "source_location": "L137",
       "weight": 1.0
     },
     {
@@ -53799,7 +53799,7 @@
       "relation": "contains",
       "confidence": "EXTRACTED",
       "source_file": "api/business.ts",
-      "source_location": "L146",
+      "source_location": "L144",
       "weight": 1.0
     },
     {
@@ -53808,7 +53808,7 @@
       "relation": "contains",
       "confidence": "EXTRACTED",
       "source_file": "api/business.ts",
-      "source_location": "L153",
+      "source_location": "L151",
       "weight": 1.0
     },
     {
@@ -53817,7 +53817,7 @@
       "relation": "contains",
       "confidence": "EXTRACTED",
       "source_file": "api/business.ts",
-      "source_location": "L161",
+      "source_location": "L159",
       "weight": 1.0
     },
     {
@@ -53826,7 +53826,7 @@
       "relation": "contains",
       "confidence": "EXTRACTED",
       "source_file": "api/business.ts",
-      "source_location": "L168",
+      "source_location": "L166",
       "weight": 1.0
     },
     {
@@ -53835,7 +53835,7 @@
       "relation": "contains",
       "confidence": "EXTRACTED",
       "source_file": "api/business.ts",
-      "source_location": "L174",
+      "source_location": "L172",
       "weight": 1.0
     },
     {
@@ -53844,7 +53844,7 @@
       "relation": "contains",
       "confidence": "EXTRACTED",
       "source_file": "api/business.ts",
-      "source_location": "L181",
+      "source_location": "L179",
       "weight": 1.0
     },
     {
@@ -53853,7 +53853,7 @@
       "relation": "contains",
       "confidence": "EXTRACTED",
       "source_file": "api/business.ts",
-      "source_location": "L188",
+      "source_location": "L186",
       "weight": 1.0
     },
     {
@@ -53862,7 +53862,7 @@
       "relation": "contains",
       "confidence": "EXTRACTED",
       "source_file": "api/business.ts",
-      "source_location": "L195",
+      "source_location": "L193",
       "weight": 1.0
     },
     {
@@ -53871,7 +53871,7 @@
       "relation": "contains",
       "confidence": "EXTRACTED",
       "source_file": "api/business.ts",
-      "source_location": "L202",
+      "source_location": "L200",
       "weight": 1.0
     },
     {
@@ -53880,7 +53880,7 @@
       "relation": "contains",
       "confidence": "EXTRACTED",
       "source_file": "api/business.ts",
-      "source_location": "L209",
+      "source_location": "L207",
       "weight": 1.0
     },
     {
@@ -53889,7 +53889,7 @@
       "relation": "contains",
       "confidence": "EXTRACTED",
       "source_file": "api/business.ts",
-      "source_location": "L216",
+      "source_location": "L214",
       "weight": 1.0
     },
     {
@@ -53898,7 +53898,7 @@
       "relation": "contains",
       "confidence": "EXTRACTED",
       "source_file": "api/business.ts",
-      "source_location": "L223",
+      "source_location": "L221",
       "weight": 1.0
     },
     {
@@ -53907,7 +53907,7 @@
       "relation": "contains",
       "confidence": "EXTRACTED",
       "source_file": "api/business.ts",
-      "source_location": "L230",
+      "source_location": "L228",
       "weight": 1.0
     },
     {
@@ -53916,7 +53916,7 @@
       "relation": "contains",
       "confidence": "EXTRACTED",
       "source_file": "api/business.ts",
-      "source_location": "L237",
+      "source_location": "L235",
       "weight": 1.0
     },
     {
@@ -53925,7 +53925,7 @@
       "relation": "contains",
       "confidence": "EXTRACTED",
       "source_file": "api/business.ts",
-      "source_location": "L244",
+      "source_location": "L242",
       "weight": 1.0
     },
     {
@@ -53934,7 +53934,7 @@
       "relation": "contains",
       "confidence": "EXTRACTED",
       "source_file": "api/business.ts",
-      "source_location": "L251",
+      "source_location": "L249",
       "weight": 1.0
     },
     {
@@ -87095,7 +87095,7 @@
       "confidence": "INFERRED",
       "confidence_score": 0.8,
       "source_file": "api/business.ts",
-      "source_location": "L154",
+      "source_location": "L152",
       "weight": 1.0
     },
     {
@@ -87105,7 +87105,7 @@
       "confidence": "INFERRED",
       "confidence_score": 0.8,
       "source_file": "api/business.ts",
-      "source_location": "L162",
+      "source_location": "L160",
       "weight": 1.0
     },
     {
@@ -87115,7 +87115,7 @@
       "confidence": "INFERRED",
       "confidence_score": 0.8,
       "source_file": "api/business.ts",
-      "source_location": "L169",
+      "source_location": "L167",
       "weight": 1.0
     },
     {
@@ -87125,7 +87125,7 @@
       "confidence": "INFERRED",
       "confidence_score": 0.8,
       "source_file": "api/business.ts",
-      "source_location": "L231",
+      "source_location": "L229",
       "weight": 1.0
     },
     {
@@ -87135,7 +87135,7 @@
       "confidence": "INFERRED",
       "confidence_score": 0.8,
       "source_file": "api/business.ts",
-      "source_location": "L238",
+      "source_location": "L236",
       "weight": 1.0
     },
     {
@@ -87145,7 +87145,7 @@
       "confidence": "INFERRED",
       "confidence_score": 0.8,
       "source_file": "api/business.ts",
-      "source_location": "L245",
+      "source_location": "L243",
       "weight": 1.0
     },
     {
@@ -87155,7 +87155,7 @@
       "confidence": "INFERRED",
       "confidence_score": 0.8,
       "source_file": "api/business.ts",
-      "source_location": "L252",
+      "source_location": "L250",
       "weight": 1.0
     },
     {

+ 1 - 1
web-admin/graphify-out/manifest.json

@@ -444,7 +444,7 @@
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts": 1792199724.7526388,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/chinaRegion.ts": 1781272556.6606348,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/storage-entry-sms-notification.ts": 1781272556.660898,
-  "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/business.ts": 1793240565.4559534,
+  "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/business.ts": 1793245381.9012713,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts": 1792641884.5035758,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/inbound-sample.ts": 1782889889.452178,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/customer-service-dict.ts": 1791860298.5249445,

+ 2 - 4
web-admin/src/api/business.ts

@@ -118,9 +118,6 @@ export function fetchPriceVersionDetail(id: string) {
   })
 }
 
-/** 多张大图并行上传会超过全局 60s,单独放宽 */
-const ATTACHMENT_UPLOAD_TIMEOUT_MS = 300_000
-
 export function fetchUploadAttachment(data: FormData) {
   return request.post<{
     id: string
@@ -132,7 +129,8 @@ export function fetchUploadAttachment(data: FormData) {
   }>({
     url: '/web/admin/attachment/upload',
     data,
-    timeout: ATTACHMENT_UPLOAD_TIMEOUT_MS
+    // 0 = 不限时。100MB 在慢网上会超过全局 60s,也会超过原先单独放宽的 5 分钟
+    timeout: 0
   })
 }
 

+ 6 - 4
测试环境部署/nginx.conf

@@ -49,7 +49,8 @@ http {
         root /root/zkxw/dist;
         index index.html;
 
-        client_max_body_size 100M;
+        client_max_body_size 500m;
+        client_body_timeout 3600s;
 
         access_log /var/log/nginx/zkxw_admin_8112_access.log;
         error_log  /var/log/nginx/zkxw_admin_8112_error.log;
@@ -88,8 +89,8 @@ http {
             proxy_set_header X-Forwarded-Proto $scheme;
             proxy_request_buffering off;
             proxy_connect_timeout 30s;
-            proxy_send_timeout 300s;
-            proxy_read_timeout 300s;
+            proxy_send_timeout 3600s;
+            proxy_read_timeout 3600s;
         }
 
         # API -> 测试后端(47.99.164.66:8112)
@@ -219,7 +220,8 @@ http {
         access_log /var/log/nginx/ahchengyan_access.log;
         error_log  /var/log/nginx/ahchengyan_error.log;
 
-        client_max_body_size 100M;
+        client_max_body_size 500m;
+        client_body_timeout 3600s;
 
         # =========================
         # SQXP Admin 外部访问入口

+ 8 - 6
测试环境部署/zkxw-test-10001.conf

@@ -54,7 +54,8 @@ server {
 
     root /root/zkxw/web-admin/dist;
     index index.html;
-    client_max_body_size 100M;
+    client_max_body_size 500m;
+    client_body_timeout 3600s;
 
     access_log /var/log/nginx/zkxw_admin_https_access.log;
     error_log  /var/log/nginx/zkxw_admin_https_error.log;
@@ -92,8 +93,8 @@ server {
         proxy_set_header X-Forwarded-Proto $scheme;
         proxy_request_buffering off;
         proxy_connect_timeout 30s;
-        proxy_send_timeout 300s;
-        proxy_read_timeout 300s;
+        proxy_send_timeout 3600s;
+        proxy_read_timeout 3600s;
     }
 
     location ^~ /api/ {
@@ -148,7 +149,8 @@ server {
 
     root /root/zkxw/web-admin/dist;
     index index.html;
-    client_max_body_size 100M;
+    client_max_body_size 500m;
+    client_body_timeout 3600s;
 
     access_log /var/log/nginx/zkxw_admin_10001_access.log;
     error_log  /var/log/nginx/zkxw_admin_10001_error.log;
@@ -186,8 +188,8 @@ server {
         proxy_set_header X-Forwarded-Proto $scheme;
         proxy_request_buffering off;
         proxy_connect_timeout 30s;
-        proxy_send_timeout 300s;
-        proxy_read_timeout 300s;
+        proxy_send_timeout 3600s;
+        proxy_read_timeout 3600s;
     }
 
     location ^~ /api/ {