qubiaobiao 1a6707cac3 fix(upload): 上传上限统一 150MB + 超时放宽至 600s(R225)
背景:教师组作品压缩包上传失败,根因是后端 config.multipart.fileSize
为 '100mb',而前端一直承诺 zip 200MB / 其他 100MB —— 两套阈值互不知情,
100~200MB 的文件必然「前端放行、后端拒收」。

改动:
- utils/uploadCombo.js: 新增 MAX_MB=150 作为唯一数值源,ZIP_MAX /
  OTHER_MAX 均取 MAX_MB;validateSingleFile 的提示文案改为「150MB」。
  原先 zip 200MB 是**无法兑现的承诺**(后端从来只收 100MB),收紧到 150
  是让提示与事实一致,不是新增限制。
- views/Competition.vue: 删除本文件内另一份 ZIP_MAX=200MB/OTHER_MAX=100MB
  的副本(本来就没被引用,但重复常量正是漂移温床),改为从 uploadCombo
  导入 MAX_MB,三处文案同步为「单个文件 150MB」。
- api/upload.js: uploadWork 的 timeout 300s -> 600s。150MB 在服务器入口
  约 1.25MB/s 且为全体考生共享,单传约 120s、数人并发可达 400s+;不放宽
  超时的话,限额放开后失败方式只会从「文件太大」变成「超时」。
  nginx /api/ 的 proxy_send_timeout / proxy_read_timeout 已是 600s,对齐。

产物验证:新包 Competition-C3sA4cVv.js 含「超过大小限制(150MB)」,
旧文案「zip 200MB / 其他 100MB」0 命中;timeout 压缩形态 timeout:6e5
(=600000)已确认落在 Competition chunk,Admin chunk 的超时未被波及。
2026-10-23 11:19:18 +08:00
2026-08-17 12:25:42 +08:00
2026-08-17 12:25:42 +08:00
Description
No description provided
1.7 MiB
Languages
Vue 77.2%
JavaScript 21%
CSS 1.5%
HTML 0.3%