fix: 修复图片bug
This commit is contained in:
parent
95d0776075
commit
9465a71f17
|
|
@ -122,7 +122,7 @@ export default function TemplateCard({ template, onClick }: TemplateCardProps) {
|
|||
autoplay
|
||||
muted
|
||||
loop
|
||||
objectFit='cover'
|
||||
objectFit='fill'
|
||||
showPlayBtn={false}
|
||||
showCenterPlayBtn={false}
|
||||
showFullscreenBtn={false}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { View, Text, Button, Image } from '@tarojs/components'
|
||||
import { useEffect, useState } from 'react'
|
||||
import Taro, { switchTab } from '@tarojs/taro'
|
||||
import Taro, { switchTab, navigateTo } from '@tarojs/taro'
|
||||
import { useServerSdk } from '../../hooks/index'
|
||||
import './index.css'
|
||||
|
||||
|
|
@ -8,8 +8,8 @@ export default function Generate() {
|
|||
const [progress, setProgress] = useState(0)
|
||||
const [status, setStatus] = useState<'loading' | 'success' | 'error'>('loading')
|
||||
const [result, setResult] = useState<any | null>(null)
|
||||
const [timerRef, setTimerRef] = useState<NodeJS.Timeout | null>(null)
|
||||
const serverSdk = useServerSdk()
|
||||
let timerRef: NodeJS.Timeout | null = null
|
||||
|
||||
useEffect(() => {
|
||||
// 获取页面参数
|
||||
|
|
@ -26,9 +26,10 @@ export default function Generate() {
|
|||
return () => {
|
||||
if (timerRef) {
|
||||
clearTimeout(timerRef)
|
||||
timerRef = null
|
||||
}
|
||||
}
|
||||
}, [timerRef])
|
||||
}, [])
|
||||
|
||||
const pollTaskResult = async (taskId: string) => {
|
||||
try {
|
||||
|
|
@ -46,13 +47,19 @@ export default function Generate() {
|
|||
setProgress(100)
|
||||
setStatus('success')
|
||||
setResult({ success: true, imageUrl: result.imageUrl })
|
||||
|
||||
// 成功后跳转到result页面
|
||||
setTimeout(() => {
|
||||
navigateTo({
|
||||
url: `/pages/result/index?images=${encodeURIComponent(JSON.stringify([result.imageUrl]))}`
|
||||
})
|
||||
}, 1000)
|
||||
} else if (result.status === 'failed') {
|
||||
setStatus('error')
|
||||
setResult({ success: false, error: result.error || '处理失败' })
|
||||
} else if (attempts < maxAttempts) {
|
||||
// 继续轮询
|
||||
const timer = setTimeout(poll, 1000)
|
||||
setTimerRef(timer)
|
||||
timerRef = setTimeout(poll, 1000)
|
||||
} else {
|
||||
// 超时
|
||||
setStatus('error')
|
||||
|
|
@ -60,8 +67,7 @@ export default function Generate() {
|
|||
}
|
||||
} catch (error) {
|
||||
if (attempts < maxAttempts) {
|
||||
const timer = setTimeout(poll, 1000)
|
||||
setTimerRef(timer)
|
||||
timerRef = setTimeout(poll, 1000)
|
||||
} else {
|
||||
setStatus('error')
|
||||
setResult({ success: false, error: '获取结果失败' })
|
||||
|
|
|
|||
Loading…
Reference in New Issue