修复短效IP提取未登录时选择套餐的展示问题

This commit is contained in:
Eamon-meng
2025-08-13 17:01:56 +08:00
parent 13708483fc
commit f0f4b22356

View File

@@ -20,7 +20,8 @@ import {Combobox} from '@/components/ui/combobox'
import cities from './_assets/cities.json'
import ExtractDocs from '@/components/docs/extract.mdx'
import Markdown from '@/components/markdown'
import Link from 'next/link'
import {useProfileStore} from '@/components/stores-provider'
const schema = z.object({
resource: z.number({required_error: '请选择套餐'}),
prov: z.string().optional(),
@@ -324,20 +325,20 @@ FormFields.displayName = 'FormFields'
function SelectResource() {
const [resources, setResources] = useState<Resource[]>([])
const [status, setStatus] = useStatus()
const profile = useProfileStore(state => state.profile)
const getResources = async () => {
setStatus('load')
try {
const resp = await allResource()
if (!resp.success) {
throw new Error('Unable to fetch packages.')
console.log(11111)
throw new Error('获取套餐失败,请稍后再试')
}
console.log(resp.data)
setResources(resp.data)
setResources(resp.data ?? [])
setStatus('done')
}
catch (error) {
console.error('Error fetching packages:', error)
toast.error('获取套餐失败,请稍后再试')
toast.error((error as Error).message)
setStatus('fail')
}
}
@@ -363,6 +364,11 @@ function SelectResource() {
<Loader className="animate-spin" size={20}/>
<span>...</span>
</div>
) : !profile ? (
<div className="p-4 flex gap-1 items-center">
<Loader className="animate-spin" size={20}/>
<span><Link href="/login" className="text-blue-600 hover:underline"></Link></span>
</div>
) : resources.length === 0 ? (
<div className="p-4 flex gap-1 items-center">
<Loader className="animate-spin" size={20}/>