login with api

This commit is contained in:
Missez 2026-01-14 13:58:25 +07:00
parent d8a9909eb9
commit ff5b189b2f
16 changed files with 1241 additions and 66 deletions

View file

@ -0,0 +1,34 @@
import type { UseFetchOptions } from 'nuxt/app';
export const useApi = () => {
const config = useRuntimeConfig();
const baseURL = config.public.apiBaseUrl as string;
const apiFetch = <T>(url: string, options?: UseFetchOptions<T>) => {
return $fetch<T>(url, {
baseURL,
...options,
headers: {
...options?.headers,
},
onRequest({ options }) {
// Add auth token if available
const token = localStorage.getItem('token');
if (token) {
options.headers = {
...options.headers,
Authorization: `Bearer ${token}`
};
}
},
onResponseError({ response }) {
// Handle errors globally
console.error('API Error:', response.status, response._data);
}
});
};
return {
apiFetch
};
};