perf(admin-web): remove separate parse request on file select

File was being uploaded twice:
  1. POST /parse on file select (for form auto-fill)
  2. POST /upload on submit

Remove the parse network call entirely. Server already parses the APK/IPA
buffer as part of the upload handler. User fills form fields manually.
Single upload, single public-internet transfer.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
hailin 2026-03-07 06:03:59 -08:00
parent 7933f3fe4a
commit c70b4bac6a
1 changed files with 2 additions and 19 deletions

View File

@ -3,15 +3,12 @@
import type { ChangeEvent } from 'react';
import type { AppType } from '@/domain/entities';
import { useUploadStore } from '@/store/zustand/upload.store';
import {
parsePackageUseCase,
uploadVersionUseCase,
} from '@/application/use-cases/version.use-cases';
import { uploadVersionUseCase } from '@/application/use-cases/version.use-cases';
export function useUpload(appType: AppType, onSuccess: () => void) {
const store = useUploadStore();
const handleFileChange = async (e: ChangeEvent<HTMLInputElement>) => {
const handleFileChange = (e: ChangeEvent<HTMLInputElement>) => {
const f = e.target.files?.[0];
if (!f) return;
@ -20,20 +17,6 @@ export function useUpload(appType: AppType, onSuccess: () => void) {
if (f.name.endsWith('.apk')) store.setPlatform('ANDROID');
else if (f.name.endsWith('.ipa')) store.setPlatform('IOS');
store.setIsParsing(true);
try {
console.log('[useUpload] Parsing:', f.name, (f.size / 1024 / 1024).toFixed(1) + 'MB');
const info = await parsePackageUseCase.execute(f);
console.log('[useUpload] Parse result:', info);
if (info?.versionName) store.setVersionName(info.versionName);
if (info?.versionCode) store.setBuildNumber(String(info.versionCode));
if (info?.minSdkVersion) store.setMinOsVersion(info.minSdkVersion);
} catch (err) {
console.warn('[useUpload] Parse failed:', (err as Error)?.message);
store.setParseWarning('无法自动解析安装包信息,请手动填写版本号');
}
store.setIsParsing(false);
};
const handleSubmit = async () => {