Taro订单结束支付倒计时
const [time, getTime] = useState([])
useDidShow(() => {
const allRequest = async () => {
const param = {
url: `/v1/trade/order/${orderNo}`,
method: 'get',
}
//订单信息 获取订单结束时间
const detailsRes = await Request(param)
if (detailsRes.resultCode === '0') {
let countDown = detailsRes.data.payEffectMillis
if (countDown > 0) { //毫秒大于0
getTime(getCountdown(countDown))
timer = setInterval(() => {
countDown = countDown - 1000
if (countDown > -1) {
getTime(getCountdown(countDown))
} else {
clearInterval(timer)
}
}, 1000)
}
setDetails(detailsRes.data)
}
}
allRequest()
return () => clearInterval(timer)
})
return (
<View>
{time.length > 0 ? (
<View className="content-time-out">
请在<Text className="time">{time[0]}</Text>:
<Text className="time">{time[1]}</Text>:
<Text className="time">{time[2]}</Text>之内完成支付
</View>
) : (
<View className="content-time-out">
{details.payEffectMillis !== undefined
? '超过支付时间,订单取消'
: ''}
</View>
)}
</View>
)