попытка сделать нормальный интерцептор

перегенерил сваггер на основе WooCommerce v3, до этого был свагер на основе WordPress v2
This commit is contained in:
Veselov 2025-07-24 01:51:10 +03:00
parent 52c69d9548
commit b75e523a4f
3 changed files with 10943 additions and 10417 deletions

21332
api/Api.ts

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
import api from '~/api/instance' import api from '~/api/instance'
export const getProductList = () => export const getProductList = () =>
api.wp.v2ProductList() api.wc.v3ProductsList()

View File

@ -6,8 +6,32 @@ const api = new Api({
const nativeRequest = api.request const nativeRequest = api.request
const consumerKey = 'ck_8b5477a1573ce6038ef1367f25d95cede1de4559'
const consumerSecret = 'cs_d0ccaa93e8efe4f76eef0b70c9828a58fc53459f'
const authString = `${consumerKey}:${consumerSecret}`
const encodedAuth = btoa(authString) // Кодируем в Base64 (браузерный метод)
api.request = async function (...args) { api.request = async function (...args) {
const response = await nativeRequest.call(api, ...args) const [url, options = {}] = args
const headers = {
...options.headers,
'Authorization': `Basic ${encodedAuth}`,
'Content-Type': 'application/json', // Явно указываем JSON
}
// Убираем credentials: "omit" (мешает передаче заголовков)
const fetchOptions = {
...options,
headers,
credentials: 'same-origin', // или "include" для кросс-доменных запросов
}
console.log('Отправляемые заголовки:', headers)
console.log('fetchOptions', fetchOptions)
const response = await nativeRequest.call(api, url, fetchOptions)
return await response.json() return await response.json()
} }