From 91d05cfa86c02e3ed2744a9a06670575395f973a Mon Sep 17 00:00:00 2001 From: Veselov Date: Mon, 28 Jul 2025 03:31:41 +0300 Subject: [PATCH] =?UTF-8?q?=D1=84=D0=B8=D0=BD=D0=B8=D1=88=D0=BD=D1=8B?= =?UTF-8?q?=D0=B9=20=D0=B2=D0=B0=D1=80=D0=B8=D0=B0=D0=BD=D1=82=20=D0=B8?= =?UTF-8?q?=D0=BD=D1=82=D0=B5=D1=80=D1=86=D0=B5=D0=BF=D1=82=D0=BE=D1=80?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/endpoints/getProductsDetail.ts | 8 ++------ api/instance.ts | 14 ++++++++------ pages/index.vue | 10 ++++++++-- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/api/endpoints/getProductsDetail.ts b/api/endpoints/getProductsDetail.ts index 8040ef3..06d3d18 100644 --- a/api/endpoints/getProductsDetail.ts +++ b/api/endpoints/getProductsDetail.ts @@ -1,8 +1,4 @@ import api from '~/api/instance' -export const getProductsDetail = (productId: number) => - api.wc.v1ProductsDetail(productId) - .then(({ data }) => { - console.log('data', data) - return data - }) +export const getProductsDetail = async (productId: number) => + await api.wc.v1ProductsDetail(productId) diff --git a/api/instance.ts b/api/instance.ts index d8f060f..abf9db9 100644 --- a/api/instance.ts +++ b/api/instance.ts @@ -20,7 +20,7 @@ const api = new Api({ }, }) -// Модифицируем методы API для автоматической аутентификации +// Модифицируем методы API Object.keys(api.wc).forEach((namespace) => { const namespaceObj = api.wc[namespace] @@ -41,13 +41,15 @@ Object.keys(api.wc).forEach((namespace) => { }, } - // Заменяем последний аргумент на модифицированные опции const modifiedArgs = typeof lastArg === 'object' ? [...args.slice(0, -1), modifiedOptions] : [...args, modifiedOptions] const response = await originalMethod.apply(this, modifiedArgs) - return response.json() + + // Получаем тело ответа и парсим JSON + const data = await response.json() + return data } catch (error) { console.error(`API Error in ${namespace}.${methodName}:`, error) @@ -57,14 +59,14 @@ Object.keys(api.wc).forEach((namespace) => { }) }) -// Переопределяем базовый request для обработки ошибок +// Переопределяем базовый request const nativeRequest = api.request api.request = async function (...args) { try { const response = await nativeRequest.call(api, ...args) - console.log('response', response.json()) - return response.data + const data = await response.json() + return data } catch (error) { console.error('API Request Error:', error) diff --git a/pages/index.vue b/pages/index.vue index ac1001e..e90202c 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -1,8 +1,7 @@ @@ -11,4 +10,11 @@ import { useGetProductsDetail } from '~/api/queries' const { data: productsData } = useGetProductsDetail(79) + +const colorVariants = { + beigeCottonPolyester: 'beige_cotton-polyester_', + blackCotton: 'black_cotton_', + greyCottonPolyester: 'grey_cotton-polyester_', + blackCottonPolyester: 'black_cotton-polyester_', +}