финишный вариант интерцептора

This commit is contained in:
Veselov
2025-07-28 03:31:41 +03:00
parent 51137c6694
commit 91d05cfa86
3 changed files with 18 additions and 14 deletions

View File

@@ -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)

View File

@@ -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)