From 7a7d27c7aea14064203bcdaf8ea29c45d22c97aa Mon Sep 17 00:00:00 2001 From: alsaze Date: Fri, 3 Oct 2025 19:26:39 +0300 Subject: [PATCH] =?UTF-8?q?=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D1=8E=20=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D0=B5=D0=B3=D1=83=20=D1=82=D0=BE=D0=B2=D0=B0=D1=80?= =?UTF-8?q?=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/endpoints/bspb/index.ts | 79 +++++++++++++++++++ .../{ => wp}/getProductAttributesDetail.ts | 0 api/endpoints/{ => wp}/getProductsDetail.ts | 0 api/endpoints/{ => wp}/getProductsList.ts | 0 .../{ => wp}/getProductsVariationsList.ts | 0 api/endpoints/{ => wp}/index.ts | 0 api/endpoints/{ => wp}/orders/index.ts | 0 .../{ => wp}/orders/postOrdersCreate.ts | 0 api/mutations/{ => wp}/index.ts | 0 api/mutations/{ => wp}/usePostOrdersCreate.ts | 2 +- api/queries/{ => wp}/index.ts | 0 .../{ => wp}/useGetProductAttributesDetail.ts | 2 +- api/queries/{ => wp}/useGetProductsDetail.ts | 2 +- api/queries/{ => wp}/useGetProductsList.ts | 2 +- .../{ => wp}/useGetProductsVariationsList.ts | 2 +- composables/useProduct.ts | 2 +- composables/useProductsList.ts | 2 +- pages/cart.vue | 2 +- 18 files changed, 87 insertions(+), 8 deletions(-) create mode 100644 api/endpoints/bspb/index.ts rename api/endpoints/{ => wp}/getProductAttributesDetail.ts (100%) rename api/endpoints/{ => wp}/getProductsDetail.ts (100%) rename api/endpoints/{ => wp}/getProductsList.ts (100%) rename api/endpoints/{ => wp}/getProductsVariationsList.ts (100%) rename api/endpoints/{ => wp}/index.ts (100%) rename api/endpoints/{ => wp}/orders/index.ts (100%) rename api/endpoints/{ => wp}/orders/postOrdersCreate.ts (100%) rename api/mutations/{ => wp}/index.ts (100%) rename api/mutations/{ => wp}/usePostOrdersCreate.ts (89%) rename api/queries/{ => wp}/index.ts (100%) rename api/queries/{ => wp}/useGetProductAttributesDetail.ts (82%) rename api/queries/{ => wp}/useGetProductsDetail.ts (85%) rename api/queries/{ => wp}/useGetProductsList.ts (75%) rename api/queries/{ => wp}/useGetProductsVariationsList.ts (84%) diff --git a/api/endpoints/bspb/index.ts b/api/endpoints/bspb/index.ts new file mode 100644 index 0000000..ab5c8cd --- /dev/null +++ b/api/endpoints/bspb/index.ts @@ -0,0 +1,79 @@ +const fs = require('node:fs') +const https = require('node:https') + +// URL, на который отправляется запрос +const url = 'https://pgtest.bspb.ru:5443/order' + +// Данные для отправки в формате JSON +const data = { + order: { + typeRid: 'Purchase', + amount: 100, + currency: 'RUB', + title: 'Название заказа', + description: 'Описание заказа', + }, +} + +const options = { + method: 'POST', + // Путь к ключу и сертификату + key: fs.readFileSync('./crt/bspb_test.key'), + cert: fs.readFileSync('./crt/bspb_test.pem'), + // Установка заголовков для отправки JSON и базовой авторизации + headers: { + 'Content-Type': 'application/json', + 'Authorization': `Basic ${Buffer.from('' + ':' + '').toString('base64')}`, + }, +} + +// Отправка запроса и обработка ответа +const req = https.request(url, options, (res) => { + let responseData = '' + + res.on('data', (chunk) => { + responseData += chunk + }) + + res.on('end', () => { + // Проверка кода ответа + if (res.statusCode === 200) { + try { + const parsedData = JSON.parse(responseData) + + // Проверка наличия объекта order в ответе + if (parsedData.order) { + const order = parsedData.order + + // Проверка наличия необходимых полей в объекте order + if (order.hppUrl && order.id && order.password) { + // Формирование итоговой ссылки + const finalUrl = `${order.hppUrl}?orderid=${order.id}&password=${order.password}` + + // Использование итоговой ссылки + console.log(`Итоговая ссылка: ${finalUrl}`) + } + else { + console.log('Объект order не содержит необходимых данных.') + } + } + else { + console.log('Ответ не содержит объекта order.') + } + } + catch (error) { + console.error('Ошибка:', error) + } + } + else { + console.error(`Ошибка ${res.statusCode} при запросе: ${responseData}`) + } + }) +}) + +req.on('error', (error) => { + console.error('Ошибка запроса:', error) +}) + +req.write(JSON.stringify(data)) +req.end() diff --git a/api/endpoints/getProductAttributesDetail.ts b/api/endpoints/wp/getProductAttributesDetail.ts similarity index 100% rename from api/endpoints/getProductAttributesDetail.ts rename to api/endpoints/wp/getProductAttributesDetail.ts diff --git a/api/endpoints/getProductsDetail.ts b/api/endpoints/wp/getProductsDetail.ts similarity index 100% rename from api/endpoints/getProductsDetail.ts rename to api/endpoints/wp/getProductsDetail.ts diff --git a/api/endpoints/getProductsList.ts b/api/endpoints/wp/getProductsList.ts similarity index 100% rename from api/endpoints/getProductsList.ts rename to api/endpoints/wp/getProductsList.ts diff --git a/api/endpoints/getProductsVariationsList.ts b/api/endpoints/wp/getProductsVariationsList.ts similarity index 100% rename from api/endpoints/getProductsVariationsList.ts rename to api/endpoints/wp/getProductsVariationsList.ts diff --git a/api/endpoints/index.ts b/api/endpoints/wp/index.ts similarity index 100% rename from api/endpoints/index.ts rename to api/endpoints/wp/index.ts diff --git a/api/endpoints/orders/index.ts b/api/endpoints/wp/orders/index.ts similarity index 100% rename from api/endpoints/orders/index.ts rename to api/endpoints/wp/orders/index.ts diff --git a/api/endpoints/orders/postOrdersCreate.ts b/api/endpoints/wp/orders/postOrdersCreate.ts similarity index 100% rename from api/endpoints/orders/postOrdersCreate.ts rename to api/endpoints/wp/orders/postOrdersCreate.ts diff --git a/api/mutations/index.ts b/api/mutations/wp/index.ts similarity index 100% rename from api/mutations/index.ts rename to api/mutations/wp/index.ts diff --git a/api/mutations/usePostOrdersCreate.ts b/api/mutations/wp/usePostOrdersCreate.ts similarity index 89% rename from api/mutations/usePostOrdersCreate.ts rename to api/mutations/wp/usePostOrdersCreate.ts index 6903a56..de1fd7f 100644 --- a/api/mutations/usePostOrdersCreate.ts +++ b/api/mutations/wp/usePostOrdersCreate.ts @@ -1,7 +1,7 @@ import type { MaybeRef } from 'vue' import { useMutation, useQueryClient } from '@tanstack/vue-query' import { unref } from 'vue' -import { postOrdersCreate } from '~/api/endpoints/orders' +import { postOrdersCreate } from '~/api/endpoints/wp/orders' export const usePostOrdersCreate = () => { const queryClient = useQueryClient() diff --git a/api/queries/index.ts b/api/queries/wp/index.ts similarity index 100% rename from api/queries/index.ts rename to api/queries/wp/index.ts diff --git a/api/queries/useGetProductAttributesDetail.ts b/api/queries/wp/useGetProductAttributesDetail.ts similarity index 82% rename from api/queries/useGetProductAttributesDetail.ts rename to api/queries/wp/useGetProductAttributesDetail.ts index acb9b64..7c44185 100644 --- a/api/queries/useGetProductAttributesDetail.ts +++ b/api/queries/wp/useGetProductAttributesDetail.ts @@ -1,6 +1,6 @@ import { useQuery } from '@tanstack/vue-query' import { unref } from 'vue' -import { getProductAttributesDetail } from '~/api/endpoints' +import { getProductAttributesDetail } from '~/api/endpoints/wp' export const useGetProductAttributesDetail = (productId: MaybeRef) => { return useQuery({ diff --git a/api/queries/useGetProductsDetail.ts b/api/queries/wp/useGetProductsDetail.ts similarity index 85% rename from api/queries/useGetProductsDetail.ts rename to api/queries/wp/useGetProductsDetail.ts index 742aba7..6a4b94a 100644 --- a/api/queries/useGetProductsDetail.ts +++ b/api/queries/wp/useGetProductsDetail.ts @@ -1,6 +1,6 @@ import { useQuery } from '@tanstack/vue-query' import { unref } from 'vue' -import { getProductsDetail } from '~/api/endpoints' +import { getProductsDetail } from '~/api/endpoints/wp' export const useGetProductsDetail = (productId: MaybeRef) => { return useQuery({ diff --git a/api/queries/useGetProductsList.ts b/api/queries/wp/useGetProductsList.ts similarity index 75% rename from api/queries/useGetProductsList.ts rename to api/queries/wp/useGetProductsList.ts index eab13a7..be98392 100644 --- a/api/queries/useGetProductsList.ts +++ b/api/queries/wp/useGetProductsList.ts @@ -1,5 +1,5 @@ import { useQuery } from '@tanstack/vue-query' -import { getProductsList } from '~/api/endpoints/getProductsList' +import { getProductsList } from '~/api/endpoints/wp/getProductsList' export const useGetProductsList = () => { return useQuery({ diff --git a/api/queries/useGetProductsVariationsList.ts b/api/queries/wp/useGetProductsVariationsList.ts similarity index 84% rename from api/queries/useGetProductsVariationsList.ts rename to api/queries/wp/useGetProductsVariationsList.ts index 09fab87..78b06f9 100644 --- a/api/queries/useGetProductsVariationsList.ts +++ b/api/queries/wp/useGetProductsVariationsList.ts @@ -1,6 +1,6 @@ import { useQuery } from '@tanstack/vue-query' import { unref } from 'vue' -import { getProductsVariationsList } from '~/api/endpoints' +import { getProductsVariationsList } from '~/api/endpoints/wp' export const useGetProductsVariationsList = (productId: MaybeRef) => { return useQuery({ diff --git a/composables/useProduct.ts b/composables/useProduct.ts index 1881baa..9851e85 100644 --- a/composables/useProduct.ts +++ b/composables/useProduct.ts @@ -1,4 +1,4 @@ -import { useGetProductsDetail, useGetProductsVariationsList } from '~/api/queries' +import { useGetProductsDetail, useGetProductsVariationsList } from '~/api/queries/wp' export const useProduct = (variantId) => { const route = useRoute() diff --git a/composables/useProductsList.ts b/composables/useProductsList.ts index 7b5e87d..ac940b4 100644 --- a/composables/useProductsList.ts +++ b/composables/useProductsList.ts @@ -1,4 +1,4 @@ -import { useGetProductsList } from '~/api/queries' +import { useGetProductsList } from '~/api/queries/wp' export const useProductsList = () => { const { getAttribute } = useProduct() diff --git a/pages/cart.vue b/pages/cart.vue index 4e3bf73..c4f182c 100644 --- a/pages/cart.vue +++ b/pages/cart.vue @@ -20,7 +20,7 @@