add:新增验证视频可选上传功能
This commit is contained in:
@@ -18,3 +18,16 @@ export async function uploadFile(file: File, scene: string, scope: UploadScope)
|
||||
const response = await apiPostForm<{ file: UploadedFile }>(endpoint, form)
|
||||
return response.data.file
|
||||
}
|
||||
|
||||
/**
|
||||
* 验收视频上传:视频已在浏览器内压好,这里不再做图片压缩。
|
||||
* 带上 durationSeconds 供服务端在容器解析不到时长时兜底(见 resolveVideoDuration)。
|
||||
*/
|
||||
export async function uploadVideoFile(file: File, scene: string, durationSeconds: number) {
|
||||
const form = new FormData()
|
||||
form.append('file', file)
|
||||
form.append('scene', scene)
|
||||
form.append('durationSeconds', String(durationSeconds))
|
||||
const response = await apiPostForm<{ file: UploadedFile }>('/api/v1/worker/files/upload', form)
|
||||
return response.data.file
|
||||
}
|
||||
|
||||
@@ -9,6 +9,8 @@ import type {
|
||||
WorkerCancelRequest,
|
||||
WorkerCancelRequestRisk,
|
||||
WorkerAnnouncementConfig,
|
||||
WorkerAcceptanceConfig,
|
||||
WorkerAcceptanceVideo,
|
||||
WorkerOrderFeedback,
|
||||
WorkerAfterSalesCase,
|
||||
WorkerHallCategoriesResponse,
|
||||
@@ -143,6 +145,11 @@ export function fetchWorkerAnnouncement() {
|
||||
return apiGet<WorkerAnnouncementConfig>('/api/v1/worker/announcement')
|
||||
}
|
||||
|
||||
/** 验收视频配置(后台可改):时长上限、目标高度、码率等,压缩前读取。 */
|
||||
export function fetchWorkerAcceptanceConfig() {
|
||||
return apiGet<WorkerAcceptanceConfig>('/api/v1/worker/acceptance/config')
|
||||
}
|
||||
|
||||
export function fetchWorkerWalletLedgers(params?: Record<string, unknown>) {
|
||||
return apiGet<WorkerListResponse<WorkerWalletLedger>>(
|
||||
'/api/v1/worker/profile/wallet-ledgers',
|
||||
@@ -301,10 +308,16 @@ export function saveWorkerOrderNote(workOrderId: number, note: string) {
|
||||
return apiPost<{ order: WorkOrder }>(`/api/v1/worker/orders/${workOrderId}/note`, { note })
|
||||
}
|
||||
|
||||
export function submitWorkerAcceptance(
|
||||
workOrderId: number,
|
||||
payload: { note?: string; imageUrls?: string[]; files?: UploadedFile[]; shareId?: number },
|
||||
) {
|
||||
export type WorkerAcceptancePayload = {
|
||||
note?: string
|
||||
imageUrls?: string[]
|
||||
files?: UploadedFile[]
|
||||
/** 验收视频(非必填);null 在草稿阶段表示删除,已提交阶段服务端只接受替换 */
|
||||
video?: WorkerAcceptanceVideo | null
|
||||
shareId?: number
|
||||
}
|
||||
|
||||
export function submitWorkerAcceptance(workOrderId: number, payload: WorkerAcceptancePayload) {
|
||||
return apiPost<{ order: WorkOrder; share?: WorkOrderShare }>(
|
||||
`/api/v1/worker/orders/${workOrderId}/submit-acceptance`,
|
||||
payload,
|
||||
@@ -328,10 +341,7 @@ export function remindWorkerAcceptance(workOrderId: number) {
|
||||
)
|
||||
}
|
||||
|
||||
export function saveWorkerAcceptanceDraft(
|
||||
workOrderId: number,
|
||||
payload: { note?: string; imageUrls?: string[]; files?: UploadedFile[]; shareId?: number },
|
||||
) {
|
||||
export function saveWorkerAcceptanceDraft(workOrderId: number, payload: WorkerAcceptancePayload) {
|
||||
return apiPost<{ order: WorkOrder; share?: WorkOrderShare }>(
|
||||
`/api/v1/worker/orders/${workOrderId}/acceptance-draft`,
|
||||
payload,
|
||||
@@ -340,7 +350,7 @@ export function saveWorkerAcceptanceDraft(
|
||||
|
||||
export function supplementWorkerAcceptedOrderEvidence(
|
||||
workOrderId: number,
|
||||
payload: { files: UploadedFile[]; shareId?: number },
|
||||
payload: { files: UploadedFile[]; video?: WorkerAcceptanceVideo | null; shareId?: number },
|
||||
) {
|
||||
return apiPost<{ order: WorkOrder; share?: WorkOrderShare }>(
|
||||
`/api/v1/worker/orders/${workOrderId}/acceptance-evidence`,
|
||||
|
||||
Reference in New Issue
Block a user