From d44d106b85076c6e6214678e85e18af0724898b1 Mon Sep 17 00:00:00 2001 From: KamilM1205 Date: Fri, 2 Jan 2026 16:02:13 +0400 Subject: [PATCH] Fix for working with backend --- src/lib/services/api.js | 5 +++-- src/lib/services/blogService.js | 16 ++++++++++------ src/lib/utils/date.js | 3 ++- src/routes/(main)/+page.svelte | 18 +++++++++--------- src/routes/(main)/blog/+page.svelte | 2 +- src/routes/(main)/blog/[id]/+page.svelte | 6 +++--- 6 files changed, 28 insertions(+), 22 deletions(-) diff --git a/src/lib/services/api.js b/src/lib/services/api.js index 46c46d1..7a710d5 100644 --- a/src/lib/services/api.js +++ b/src/lib/services/api.js @@ -1,11 +1,12 @@ import axios from "axios"; -const API_BASE_URL = 'http://localhost:3000/api'; +const API_BASE_URL = 'http://localhost:8080/api/v1/'; const apiClient = axios.create({ baseURL: API_BASE_URL, timeout: 10000, headers: { 'Content-Type': 'application/json', + 'Origin': 'localhost:8080' } }); @@ -17,4 +18,4 @@ apiClient.interceptors.response.use( } ); -export default apiClient; \ No newline at end of file +export default apiClient; diff --git a/src/lib/services/blogService.js b/src/lib/services/blogService.js index af9dc94..a8ea1f8 100644 --- a/src/lib/services/blogService.js +++ b/src/lib/services/blogService.js @@ -3,8 +3,12 @@ import apiClient from './api.js'; export const blogService = { // Получить все статьи async getBlogPosts(params = {}) { + let request = '/post/' + if (params["offset"] != null) { + request += 'offset/' + params["offset"] + } try { - const response = await apiClient.get('/posts', { params }); + const response = await apiClient.get(request); return response.data; } catch (error) { console.error('Error fetching blog posts:', error); @@ -15,7 +19,7 @@ export const blogService = { // Получить статью по ID async getPostById(id) { try { - const response = await apiClient.get(`/posts/${id}`); + const response = await apiClient.get(`/post/${id}`); return response.data; } catch (error) { console.error('Error fetching post:', error); @@ -26,7 +30,7 @@ async getPostById(id) { // Получить статьи по категории async getPostsByCategory(category, params = {}) { try { - const response = await apiClient.get('/posts', { + const response = await apiClient.get('/post', { params: { category, ...params } }); return response.data; @@ -39,7 +43,7 @@ async getPostById(id) { // Получить статьи по тегу async getPostsByTag(tag, params = {}) { try { - const response = await apiClient.get('/posts', { + const response = await apiClient.get('/post', { params: { tag, ...params } }); return response.data; @@ -52,7 +56,7 @@ async getPostById(id) { // Получить статьи по автору async getPostsByAuthor(username, params = {}) { try { - const response = await apiClient.get('/posts', { + const response = await apiClient.get('/post', { params: { username, ...params } }); return response.data; @@ -161,4 +165,4 @@ function getMockBlogPosts() { updatedAt: "2024-01-08T13:10:00Z" } ]; -} \ No newline at end of file +} diff --git a/src/lib/utils/date.js b/src/lib/utils/date.js index 7994ff8..be0c42e 100644 --- a/src/lib/utils/date.js +++ b/src/lib/utils/date.js @@ -9,6 +9,7 @@ export function formatDate(dateString) { export function formatDateTime(dateString) { const date = new Date(dateString); + console.log("date: ", dateString, " ", date) return date.toLocaleDateString('ru-RU', { year: 'numeric', month: 'long', @@ -29,4 +30,4 @@ export function getRelativeTime(dateString) { if (diffInSeconds < 604800) return `${Math.floor(diffInSeconds / 86400)} дн. назад`; return formatDate(dateString); -} \ No newline at end of file +} diff --git a/src/routes/(main)/+page.svelte b/src/routes/(main)/+page.svelte index 1f68d7d..0a318a6 100644 --- a/src/routes/(main)/+page.svelte +++ b/src/routes/(main)/+page.svelte @@ -12,11 +12,11 @@ const error = writable(null); const slogans = [ - "Innovation Through Retro", - "Code Like It's 1999", - "Future Ready, Retro Style", - "Where Vintage Meets Modern", - "Digital Revolution, Classic Soul" + "Код, который решает. Команда, которая вдохновляет.", + "Ваши идеи — наш код. Ваш успех — наша миссия.", + "Преобразуем сложное в элегантные решения.", + "Сила в технологии. Успех в команде.", + "За пределами кода — безграничные возможности." ]; const currentSlogan = writable(slogans[0]); @@ -292,8 +292,8 @@ {#each $blogPosts as post}

{post.title}

{post.excerpt}

@@ -303,7 +303,7 @@ #{tag} {/each} - READ → + READ →
{/each} @@ -957,4 +957,4 @@ border: 1px solid var(--secondary-pink); } - \ No newline at end of file + diff --git a/src/routes/(main)/blog/+page.svelte b/src/routes/(main)/blog/+page.svelte index 3a34d67..f8fb9c3 100644 --- a/src/routes/(main)/blog/+page.svelte +++ b/src/routes/(main)/blog/+page.svelte @@ -80,7 +80,7 @@ const nextPage = $currentPage + 1; const newPosts = await blogService.getBlogPosts({ - limit: postsPerPage, + offset: postsPerPage, ...buildApiFilters($selectedFilters) }); diff --git a/src/routes/(main)/blog/[id]/+page.svelte b/src/routes/(main)/blog/[id]/+page.svelte index bbc1d82..8843af5 100644 --- a/src/routes/(main)/blog/[id]/+page.svelte +++ b/src/routes/(main)/blog/[id]/+page.svelte @@ -230,7 +230,7 @@ {#if relatedPost.description} @@ -284,7 +284,7 @@ \ No newline at end of file +