add:新增验证视频可选上传功能

This commit is contained in:
2026-10-24 16:12:56 +08:00
parent 25756901cc
commit 0ee5554f57
28 changed files with 1588 additions and 51 deletions
+6 -2
View File
@@ -1,13 +1,17 @@
import type { NextFunction, Request, Response } from 'express'
import multer from 'multer'
import { getMaxUploadSizeBytes } from '../services/file-storage/file-storage-service.js'
import {
getMaxUploadSizeBytes,
getVideoUploadSizeLimitBytes,
} from '../services/file-storage/file-storage-service.js'
import { createHttpError, sendRouteError } from '../utils/http.js'
const upload = multer({
storage: multer.memoryStorage(),
limits: {
fileSize: getMaxUploadSizeBytes(),
// 先按较大的验收视频上限收流,具体类型再在 service 内按图片/视频分别校验。
fileSize: Math.max(getMaxUploadSizeBytes(), getVideoUploadSizeLimitBytes()),
files: 1,
},
})
+12
View File
@@ -2,6 +2,7 @@ import { Router } from 'express'
import {
getWorkerAfterSalesCaseSummary,
getWorkerAcceptanceConfig,
getWorkerAnnouncement,
getWorkerCancelRequestSummary,
getWorkerMyOrderEvents,
@@ -54,6 +55,17 @@ router.get(
}),
)
// 验收弹窗的压缩参数(时长上限/目标高度/码率等),后台可改,打手端每次打开弹窗拉取。
router.get(
'/acceptance/config',
requireActiveWorker,
createRouteHandler(() => getWorkerAcceptanceConfig(), {
successMessage: 'ok',
errorMessage: '读取验收配置失败',
scope: '[worker/acceptance/config]',
}),
)
router.get(
'/announcement',
requireActiveWorker,
@@ -134,6 +134,8 @@ router.post(
scene: req.body?.scene || 'worker-acceptance',
uploaderType: 'worker',
uploaderId: String(session.workerId),
// 验收视频:容器解析不到时长时用前端上报值兜底(见 resolveVideoDuration)。
durationSeconds: req.body?.durationSeconds,
})
},
{