api fetch #10
|
@ -1,10 +1,9 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
const config = useRuntimeConfig()
|
|
||||||
const apiBase = config.public.apiBase
|
|
||||||
import k_logo from '@/assets/icons/logo.svg'
|
import k_logo from '@/assets/icons/logo.svg'
|
||||||
|
import { apiFetch } from '~/utils/apiFetch';
|
||||||
|
|
||||||
const { data: footerData } = await useFetch<ApiFooterType[]>(`${apiBase}/footer/?ordering=small_text`, { baseURL: config.public.baseUrl, headers: useRequestHeaders(['referer']) })
|
const { data: footerData } = await apiFetch<ApiFooterType[]>(`footer/?ordering=small_text`)
|
||||||
const { data: social_networkData } = await useFetch<ApiSocial_networkType[]>(`${apiBase}/social_network/`, { baseURL: config.public.baseUrl, headers: useRequestHeaders(['referer']) })
|
const { data: social_networkData } = await apiFetch<ApiSocial_networkType[]>(`social_network/`)
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<div class="footer" id="contacts">
|
<div class="footer" id="contacts">
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
const config = useRuntimeConfig()
|
import { apiFetch } from '~/utils/apiFetch';
|
||||||
const apiBase = config.public.apiBase
|
|
||||||
|
|
||||||
const { data: pagesData } = await useFetch<ApiPagesType[]>(`${apiBase}/pages/?ordering=order`, { baseURL: config.public.baseUrl, headers: useRequestHeaders(['referer']) })
|
const { data: pagesData } = await apiFetch<ApiPagesType[]>(`pages/?ordering=order`)
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { getColorNameFromRal } from '@/components/ral'
|
import { getColorNameFromRal } from '@/components/ral'
|
||||||
import type { ralTypes } from '@/components/ral'
|
import type { ralTypes } from '@/components/ral'
|
||||||
|
import { apiFetch } from '~/utils/apiFetch';
|
||||||
|
|
||||||
const config = useRuntimeConfig()
|
const config = useRuntimeConfig()
|
||||||
const apiBase = config.public.apiBase
|
const apiBase = config.public.apiBase
|
||||||
const { data: calculatorData } = await useFetch<ApiCalcType>(`${apiBase}/calculator/5/`, { headers: useRequestHeaders(['referer']) })
|
const { data: calculatorData } = await apiFetch<ApiCalcType>(`calculator/5/`)
|
||||||
const isModalOpen = useState('modal_open', () => false)
|
const isModalOpen = useState('modal_open', () => false)
|
||||||
|
|
||||||
const lamelle_height = useState<number>('lamelle_height')
|
const lamelle_height = useState<number>('lamelle_height')
|
||||||
|
|
|
@ -3,10 +3,11 @@ const config = useRuntimeConfig()
|
||||||
const apiBase = config.public.apiBase
|
const apiBase = config.public.apiBase
|
||||||
import '@/assets/main.scss'
|
import '@/assets/main.scss'
|
||||||
|
|
||||||
|
import { apiFetch } from './utils/apiFetch';
|
||||||
import type { NuxtError } from '#app'
|
import type { NuxtError } from '#app'
|
||||||
import og_img from '/og_img.png'
|
import og_img from '/og_img.png'
|
||||||
|
|
||||||
const { data: seoData } = await useFetch<ApiKpType>(`${apiBase}/kp/2`, { baseURL: config.public.baseUrl, headers: useRequestHeaders(['referer']) })
|
const { data: seoData } = await apiFetch<ApiKpType>(`kp/2`)
|
||||||
useSeoMeta({
|
useSeoMeta({
|
||||||
title: seoData.value?.title,
|
title: seoData.value?.title,
|
||||||
ogTitle: seoData.value?.title,
|
ogTitle: seoData.value?.title,
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
const config = useRuntimeConfig()
|
const config = useRuntimeConfig()
|
||||||
const apiBase = config.public.apiBase
|
|
||||||
const imgBase = config.public.imgBase
|
const imgBase = config.public.imgBase
|
||||||
|
|
||||||
|
import { apiFetch } from '~/utils/apiFetch';
|
||||||
import { marked } from 'marked';
|
import { marked } from 'marked';
|
||||||
|
|
||||||
import og_img from '/og_img.png'
|
import og_img from '/og_img.png'
|
||||||
|
|
||||||
const { data: seoData } = await useFetch<ApiKpType>(`${apiBase}/kp/1`, { baseURL: config.public.baseUrl, headers: useRequestHeaders(['referer']) })
|
const { data: seoData } = await apiFetch<ApiKpType>(`kp/1`)
|
||||||
useSeoMeta({
|
useSeoMeta({
|
||||||
title: seoData.value?.title,
|
title: seoData.value?.title,
|
||||||
ogTitle: seoData.value?.title,
|
ogTitle: seoData.value?.title,
|
||||||
|
@ -17,15 +17,15 @@ useSeoMeta({
|
||||||
// twitterCard: 'summary_large_image',
|
// twitterCard: 'summary_large_image',
|
||||||
})
|
})
|
||||||
|
|
||||||
const { data: pagesData } = await useFetch<ApiPagesType[]>(`${apiBase}/pages/?ordering=order`, { baseURL: config.public.baseUrl, headers: useRequestHeaders(['referer']) })
|
const { data: pagesData } = await apiFetch<ApiPagesType[]>(`pages/?ordering=order`)
|
||||||
|
|
||||||
const { data: reviewsData } = await useFetch<ApiReviewsType[]>(`${apiBase}/review/`, { baseURL: config.public.baseUrl, headers: useRequestHeaders(['referer']) })
|
const { data: reviewsData } = await apiFetch<ApiReviewsType[]>(`review/`)
|
||||||
const { data: calculatorData } = await useFetch(`${apiBase}/calculator/5/`, { baseURL: config.public.baseUrl, headers: useRequestHeaders(['referer']) })
|
const { data: calculatorData } = await apiFetch(`calculator/5/`)
|
||||||
|
|
||||||
const about = (pagesData.value as ApiPagesType[]).find(el => el.slug == 'about', { baseURL: config.public.baseUrl, headers: useRequestHeaders(['referer']) })
|
const about = (pagesData.value as ApiPagesType[]).find(el => el.slug == 'about')
|
||||||
const reviews = (pagesData.value as ApiPagesType[]).find(el => el.slug == 'clients', { baseURL: config.public.baseUrl, headers: useRequestHeaders(['referer']) })
|
const reviews = (pagesData.value as ApiPagesType[]).find(el => el.slug == 'clients')
|
||||||
const delivery = (pagesData.value as ApiPagesType[]).find(el => el.slug == 'how_to', { baseURL: config.public.baseUrl, headers: useRequestHeaders(['referer']) })
|
const delivery = (pagesData.value as ApiPagesType[]).find(el => el.slug == 'how_to')
|
||||||
const advantages = (pagesData.value as ApiPagesType[]).find(el => el.slug == 'advantages', { baseURL: config.public.baseUrl, headers: useRequestHeaders(['referer']) })
|
const advantages = (pagesData.value as ApiPagesType[]).find(el => el.slug == 'advantages')
|
||||||
|
|
||||||
const roubleSign = new Intl.NumberFormat('ru-RU', {
|
const roubleSign = new Intl.NumberFormat('ru-RU', {
|
||||||
style: 'currency',
|
style: 'currency',
|
||||||
|
@ -42,7 +42,7 @@ const advantagesText = computed(() => {
|
||||||
return marked.parse(c)
|
return marked.parse(c)
|
||||||
})
|
})
|
||||||
|
|
||||||
const { data: advData } = await useFetch<ApiAdvantageType[]>(`${apiBase}/advantage/`, { baseURL: config.public.baseUrl, headers: useRequestHeaders(['referer']) })
|
const { data: advData } = await apiFetch<ApiAdvantageType[]>(`advantage/`)
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
export async function apiFetch<T>(path: string) {
|
||||||
|
const config = useRuntimeConfig()
|
||||||
|
const apiBase = config.public.apiBase
|
||||||
|
const headers = new Headers()
|
||||||
|
headers.set('Referer', config.public.baseUrl)
|
||||||
|
return useFetch<T>(`${apiBase}/${path}`, {
|
||||||
|
baseURL: config.public.baseUrl,
|
||||||
|
headers
|
||||||
|
})
|
||||||
|
}
|
Loading…
Reference in New Issue