Files
xsh-assistant-next/composables/useFetchWrapped.ts
2024-03-04 09:20:35 +08:00

21 lines
581 B
TypeScript

import {useFormPayload} from "~/composables/useFormPayload";
export const useFetchWrapped = <TypeReq, TypeResp>(
action: string,
payload?: TypeReq,
options?: {
method?: 'GET' | 'POST'
headers?: Record<string, string>
baseURL?: string
}
) => {
const runtimeConfig = useRuntimeConfig()
return $fetch<TypeResp>('/', {
baseURL: options?.baseURL || runtimeConfig.public.API_BASE,
method: options?.method || 'POST',
query: {
s: action
},
body: useFormPayload(payload as object)
})
}