This commit is contained in:
parent
bb195777c3
commit
7a7d27c7ae
79
api/endpoints/bspb/index.ts
Normal file
79
api/endpoints/bspb/index.ts
Normal file
@ -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()
|
||||||
@ -1,7 +1,7 @@
|
|||||||
import type { MaybeRef } from 'vue'
|
import type { MaybeRef } from 'vue'
|
||||||
import { useMutation, useQueryClient } from '@tanstack/vue-query'
|
import { useMutation, useQueryClient } from '@tanstack/vue-query'
|
||||||
import { unref } from 'vue'
|
import { unref } from 'vue'
|
||||||
import { postOrdersCreate } from '~/api/endpoints/orders'
|
import { postOrdersCreate } from '~/api/endpoints/wp/orders'
|
||||||
|
|
||||||
export const usePostOrdersCreate = () => {
|
export const usePostOrdersCreate = () => {
|
||||||
const queryClient = useQueryClient()
|
const queryClient = useQueryClient()
|
||||||
@ -1,6 +1,6 @@
|
|||||||
import { useQuery } from '@tanstack/vue-query'
|
import { useQuery } from '@tanstack/vue-query'
|
||||||
import { unref } from 'vue'
|
import { unref } from 'vue'
|
||||||
import { getProductAttributesDetail } from '~/api/endpoints'
|
import { getProductAttributesDetail } from '~/api/endpoints/wp'
|
||||||
|
|
||||||
export const useGetProductAttributesDetail = (productId: MaybeRef<number>) => {
|
export const useGetProductAttributesDetail = (productId: MaybeRef<number>) => {
|
||||||
return useQuery({
|
return useQuery({
|
||||||
@ -1,6 +1,6 @@
|
|||||||
import { useQuery } from '@tanstack/vue-query'
|
import { useQuery } from '@tanstack/vue-query'
|
||||||
import { unref } from 'vue'
|
import { unref } from 'vue'
|
||||||
import { getProductsDetail } from '~/api/endpoints'
|
import { getProductsDetail } from '~/api/endpoints/wp'
|
||||||
|
|
||||||
export const useGetProductsDetail = (productId: MaybeRef<number>) => {
|
export const useGetProductsDetail = (productId: MaybeRef<number>) => {
|
||||||
return useQuery({
|
return useQuery({
|
||||||
@ -1,5 +1,5 @@
|
|||||||
import { useQuery } from '@tanstack/vue-query'
|
import { useQuery } from '@tanstack/vue-query'
|
||||||
import { getProductsList } from '~/api/endpoints/getProductsList'
|
import { getProductsList } from '~/api/endpoints/wp/getProductsList'
|
||||||
|
|
||||||
export const useGetProductsList = () => {
|
export const useGetProductsList = () => {
|
||||||
return useQuery({
|
return useQuery({
|
||||||
@ -1,6 +1,6 @@
|
|||||||
import { useQuery } from '@tanstack/vue-query'
|
import { useQuery } from '@tanstack/vue-query'
|
||||||
import { unref } from 'vue'
|
import { unref } from 'vue'
|
||||||
import { getProductsVariationsList } from '~/api/endpoints'
|
import { getProductsVariationsList } from '~/api/endpoints/wp'
|
||||||
|
|
||||||
export const useGetProductsVariationsList = (productId: MaybeRef<number>) => {
|
export const useGetProductsVariationsList = (productId: MaybeRef<number>) => {
|
||||||
return useQuery({
|
return useQuery({
|
||||||
@ -1,4 +1,4 @@
|
|||||||
import { useGetProductsDetail, useGetProductsVariationsList } from '~/api/queries'
|
import { useGetProductsDetail, useGetProductsVariationsList } from '~/api/queries/wp'
|
||||||
|
|
||||||
export const useProduct = (variantId) => {
|
export const useProduct = (variantId) => {
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useGetProductsList } from '~/api/queries'
|
import { useGetProductsList } from '~/api/queries/wp'
|
||||||
|
|
||||||
export const useProductsList = () => {
|
export const useProductsList = () => {
|
||||||
const { getAttribute } = useProduct()
|
const { getAttribute } = useProduct()
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { usePostOrdersCreate } from '~/api/mutations'
|
import { usePostOrdersCreate } from '~/api/mutations/wp'
|
||||||
|
|
||||||
const { cart } = useCart()
|
const { cart } = useCart()
|
||||||
const { mutateAsync } = usePostOrdersCreate()
|
const { mutateAsync } = usePostOrdersCreate()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user