From db5e8833c2759b6babd32c8547c554fd326ba825 Mon Sep 17 00:00:00 2001 From: imeepos Date: Fri, 26 Dec 2025 16:02:21 +0800 Subject: [PATCH 1/2] fix: bug --- app/generateVideo.tsx | 2 +- app/generationRecord.tsx | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/generateVideo.tsx b/app/generateVideo.tsx index 0fc9a02..e404113 100644 --- a/app/generateVideo.tsx +++ b/app/generateVideo.tsx @@ -176,7 +176,7 @@ export default function GenerateVideoScreen() { ]) if (user?.id) { - loadBalance(user.id) + loadBalance() } } diff --git a/app/generationRecord.tsx b/app/generationRecord.tsx index 2bd2e8e..a63b167 100644 --- a/app/generationRecord.tsx +++ b/app/generationRecord.tsx @@ -49,7 +49,7 @@ export default function GenerationRecordScreen() { useEffect(() => { if (user?.id) { - loadBalance(user.id) + loadBalance() } }, [user?.id]) @@ -110,7 +110,7 @@ export default function GenerationRecordScreen() { } else { Alert.alert('生成成功', '视频已生成完成') if (user?.id) { - loadBalance(user.id) + loadBalance() } if (newGeneration?.id) { router.replace({ @@ -315,7 +315,7 @@ const styles = StyleSheet.create({ alignItems: 'center', paddingHorizontal: 16, marginBottom: 8, - gap:4, + gap: 4, }, categoryIcon: { width: 16, From 935b1e92a32c1a8bd9c9b716e467bbc45a2baf72 Mon Sep 17 00:00:00 2001 From: imeepos Date: Fri, 26 Dec 2025 16:59:23 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=E6=A8=A1=E6=9D=BF=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/index.tsx | 37 +++++++++++++------------------------ 1 file changed, 13 insertions(+), 24 deletions(-) diff --git a/app/(tabs)/index.tsx b/app/(tabs)/index.tsx index 54d9b0f..84343f9 100644 --- a/app/(tabs)/index.tsx +++ b/app/(tabs)/index.tsx @@ -17,8 +17,8 @@ import { useTemplates } from '@/hooks/data/use-templates' import { usePublicTemplates } from '@/hooks/data/use-public-templates' import { useFavoriteTemplates } from '@/hooks/data/use-favorite-templates' import type { GetUserFavoritesResponse } from '@repo/sdk' -import { useAigcTask } from '@/hooks/actions/use-aigc-task' import { useTemplateInteraction } from '@/hooks/actions/use-template-interaction' +import { useTemplateActions } from '@/hooks/actions/use-template-actions' const BACKGROUND_VIDEOS = [ 'https://cdn.roasmax.cn/material/b46f380532e14cf58dd350dbacc7c34a.mp4', @@ -331,7 +331,7 @@ export default function Sync() { const { data: templatesData, loading: templatesLoading, execute: loadTemplates } = useTemplates() const { data: publicTemplatesData, loading: publicTemplatesLoading, execute: loadPublicTemplates } = usePublicTemplates() const { data: favoritesData, loading: favoritesLoading, execute: loadFavorites } = useFavoriteTemplates() - const { submitTask, startPolling } = useAigcTask() + const { runTemplate } = useTemplateActions() const [searchText, setSearchText] = useState('') const [isSearchOpen, setIsSearchOpen] = useState(false) @@ -375,7 +375,7 @@ export default function Sync() { useEffect(() => { if (isAuthenticated && user?.id) { - loadBalance(user.id) + loadBalance() } }, [isAuthenticated, user?.id]) @@ -574,37 +574,26 @@ export default function Sync() { } onConfirm={async () => { Toast.hideModal() - - const { taskId, error } = await submitTask({ - model_name: 'default', - prompt: `生成与 ${selectedItem.id} 相似的内容`, - img_url: selectedItem.url, + // 要传 扣费返回的凭证 + const { generationId, error } = await runTemplate({ + templateId: selectedItem.id, + data: {}, + originalUrl: selectedItem.url, }) - if (error) { - Toast.show({ title: `提交失败: ${error.message}` }) + if (error || !generationId) { + Toast.show({ title: error?.message || '生成失败' }) return } - if (taskId) { - Toast.show({ title: '任务提交成功,正在生成中...' }) - startPolling( - taskId, - (result) => { - Toast.show({ title: '生成成功!' }) - if (user?.id) loadBalance(user.id) - }, - (error) => { - Toast.show({ title: `生成失败: ${error.message}` }) - }, - ) - } + Toast.show({ title: '生成成功!' }) + if (user?.id) loadBalance() }} onCancel={() => Toast.hideModal()} />, {}, ) - }, [isAuthenticated, balance, selectedItem, submitTask, startPolling, user?.id, loadBalance]) + }, [isAuthenticated, balance, selectedItem, runTemplate, user?.id, loadBalance]) const openSearch = useCallback(() => setIsSearchOpen(true), []) const closeSearch = useCallback(() => {