chore: 大幅缩减构建结果的二进制文件体积 (#356)

This commit is contained in:
ᴀᴍᴛᴏᴀᴇʀ
2025-06-06 23:34:46 +08:00
committed by GitHub
parent 65a047b0fa
commit 586d5ec4ee
11 changed files with 175 additions and 74 deletions

View File

@@ -6,8 +6,8 @@ import type {
VideoResponse,
ResetVideoResponse,
ResetAllVideosResponse,
ResetVideoStatusRequest,
ResetVideoStatusResponse,
UpdateVideoStatusRequest,
UpdateVideoStatusResponse,
ApiError
} from './types';
@@ -162,11 +162,11 @@ class ApiClient {
* @param id 视频 ID
* @param request 重置请求参数
*/
async resetVideoStatus(
async updateVideoStatus(
id: number,
request: ResetVideoStatusRequest
): Promise<ApiResponse<ResetVideoStatusResponse>> {
return this.post<ResetVideoStatusResponse>(`/videos/${id}/reset-status`, request);
request: UpdateVideoStatusRequest
): Promise<ApiResponse<UpdateVideoStatusResponse>> {
return this.post<UpdateVideoStatusResponse>(`/videos/${id}/update-status`, request);
}
}
@@ -203,8 +203,8 @@ export const api = {
/**
* 重置视频状态位
*/
resetVideoStatus: (id: number, request: ResetVideoStatusRequest) =>
apiClient.resetVideoStatus(id, request),
updateVideoStatus: (id: number, request: UpdateVideoStatusRequest) =>
apiClient.updateVideoStatus(id, request),
/**
* 设置认证 token

View File

@@ -9,14 +9,14 @@
SheetTitle
} from '$lib/components/ui/sheet/index.js';
import StatusTaskCard from './status-task-card.svelte';
import type { VideoInfo, PageInfo, StatusUpdate, ResetVideoStatusRequest } from '$lib/types';
import type { VideoInfo, PageInfo, StatusUpdate, UpdateVideoStatusRequest } from '$lib/types';
import { toast } from 'svelte-sonner';
export let open = false;
export let video: VideoInfo;
export let pages: PageInfo[] = [];
export let loading = false;
export let onsubmit: (request: ResetVideoStatusRequest) => void;
export let onsubmit: (request: UpdateVideoStatusRequest) => void;
// 视频任务名称(与后端 VideoStatus 对应)
const videoTaskNames = ['视频封面', '视频信息', 'UP主头像', 'UP主信息', '分P下载'];
@@ -109,8 +109,8 @@
return hasVideoChanges() || hasPageChanges();
}
function buildRequest(): ResetVideoStatusRequest {
const request: ResetVideoStatusRequest = {};
function buildRequest(): UpdateVideoStatusRequest {
const request: UpdateVideoStatusRequest = {};
// 构建视频状态更新
if (hasVideoChanges()) {

View File

@@ -91,13 +91,13 @@ export interface PageStatusUpdate {
}
// 重置视频状态请求类型
export interface ResetVideoStatusRequest {
export interface UpdateVideoStatusRequest {
video_updates?: StatusUpdate[];
page_updates?: PageStatusUpdate[];
}
// 重置视频状态响应类型
export interface ResetVideoStatusResponse {
export interface UpdateVideoStatusResponse {
success: boolean;
video: VideoInfo;
pages: PageInfo[];

View File

@@ -4,7 +4,7 @@
import { onMount } from 'svelte';
import { Button } from '$lib/components/ui/button/index.js';
import api from '$lib/api';
import type { ApiError, VideoResponse, ResetVideoStatusRequest } from '$lib/types';
import type { ApiError, VideoResponse, UpdateVideoStatusRequest } from '$lib/types';
import RotateCcwIcon from '@lucide/svelte/icons/rotate-ccw';
import EditIcon from '@lucide/svelte/icons/edit';
import { setBreadcrumb } from '$lib/stores/breadcrumb';
@@ -60,12 +60,12 @@
loadVideoDetail();
}
async function handleStatusEditorSubmit(request: ResetVideoStatusRequest) {
async function handleStatusEditorSubmit(request: UpdateVideoStatusRequest) {
if (!videoData) return;
statusEditorLoading = true;
try {
const result = await api.resetVideoStatus(videoData.video.id, request);
const result = await api.updateVideoStatus(videoData.video.id, request);
const data = result.data;
if (data.success) {