создаю телегу товаров
All checks were successful
Deploy / build (push) Successful in 45s

This commit is contained in:
alsaze 2025-10-03 20:07:03 +03:00
parent 7a7d27c7ae
commit 2c80b7095e
8 changed files with 17 additions and 83 deletions

View File

@ -1,79 +0,0 @@
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
api/endpoints/index.ts Normal file
View File

@ -0,0 +1 @@
export * from './wp/index'

1
api/mutations/index.ts Normal file
View File

@ -0,0 +1 @@
export * from './wp/index'

View File

@ -1 +1,2 @@
export * from './usePostOrdersCreate'
export * from '~/api/endpoints/bspb'

1
api/queries/index.ts Normal file
View File

@ -0,0 +1 @@
export * from './wp/index'

View File

@ -1,4 +1,5 @@
import { useGetProductsList } from '~/api/queries/wp'
import { useProduct } from '~/composables'
export const useProductsList = () => {
const { getAttribute } = useProduct()

View File

@ -20,13 +20,16 @@
</template>
<script setup lang="ts">
import { usePostOrdersCreate } from '~/api/mutations/wp'
// import { usePostOrdersCreate } from '~/api/mutations/wp'
const { cart } = useCart()
const { mutateAsync } = usePostOrdersCreate()
// const { mutateAsync } = usePostOrdersCreate()
const createOrder = () => {
mutateAsync({ line_items: cart.value.line_items })
const createOrder = async () => {
// await mutateAsync({ line_items: cart.value.line_items })
const { data } = await useFetch('/api/bspb')
console.log(data)
}
</script>

5
server/api/bspb.ts Normal file
View File

@ -0,0 +1,5 @@
export default defineEventHandler((event) => {
return {
hello: 'world',
}
})