import { Alert, Button, Form, Input, InputNumber, Switch, message } from 'antd'; import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'; import { api } from '../api/client'; import { PageHeader } from './ResourcePage'; type Release = { version?: string; build?: number; url?: string; windowsUrl?: string; linuxUrl?: string; linuxDebUrl?: string; changelog?: string; force?: boolean; publishedAt?: string; }; export default function AppReleasePage() { const [form] = Form.useForm(); const qc = useQueryClient(); const q = useQuery({ queryKey: ['app-release'], queryFn: async () => { const res = await api.get('/system/app-release'); const row = (res as { data?: Release }).data ?? res; return row as Release; }, }); const save = useMutation({ mutationFn: (v: Release) => api.patch('/system/app-release', v), onSuccess: () => { message.success('已登记新版本,手机端下次打开会提示升级'); qc.invalidateQueries({ queryKey: ['app-release'] }); }, }); return ( <> {q.data ? ( ) : null}
save.mutate(v)} >
); }