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:
parent
7933f3fe4a
commit
c70b4bac6a
|
|
@ -3,15 +3,12 @@
|
||||||
import type { ChangeEvent } from 'react';
|
import type { ChangeEvent } from 'react';
|
||||||
import type { AppType } from '@/domain/entities';
|
import type { AppType } from '@/domain/entities';
|
||||||
import { useUploadStore } from '@/store/zustand/upload.store';
|
import { useUploadStore } from '@/store/zustand/upload.store';
|
||||||
import {
|
import { uploadVersionUseCase } from '@/application/use-cases/version.use-cases';
|
||||||
parsePackageUseCase,
|
|
||||||
uploadVersionUseCase,
|
|
||||||
} from '@/application/use-cases/version.use-cases';
|
|
||||||
|
|
||||||
export function useUpload(appType: AppType, onSuccess: () => void) {
|
export function useUpload(appType: AppType, onSuccess: () => void) {
|
||||||
const store = useUploadStore();
|
const store = useUploadStore();
|
||||||
|
|
||||||
const handleFileChange = async (e: ChangeEvent<HTMLInputElement>) => {
|
const handleFileChange = (e: ChangeEvent<HTMLInputElement>) => {
|
||||||
const f = e.target.files?.[0];
|
const f = e.target.files?.[0];
|
||||||
if (!f) return;
|
if (!f) return;
|
||||||
|
|
||||||
|
|
@ -20,20 +17,6 @@ export function useUpload(appType: AppType, onSuccess: () => void) {
|
||||||
|
|
||||||
if (f.name.endsWith('.apk')) store.setPlatform('ANDROID');
|
if (f.name.endsWith('.apk')) store.setPlatform('ANDROID');
|
||||||
else if (f.name.endsWith('.ipa')) store.setPlatform('IOS');
|
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 () => {
|
const handleSubmit = async () => {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue