установлен axios+настроен confconnect

This commit is contained in:
Tatyana 2025-08-15 12:13:01 +03:00
parent cb005defc8
commit 59527b03e7
4 changed files with 69 additions and 0 deletions

10
public/icon_main.svg Normal file
View File

@ -0,0 +1,10 @@
<svg width="143" height="143" viewBox="0 0 143 143" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="143" height="143" rx="71.5" fill="url(#paint0_linear_26_4074)"/>
<path d="M55.0248 92.7459L50.2307 101.008C49.5915 102.126 48.6135 102.865 47.2968 103.226C45.98 103.587 44.7607 103.446 43.6389 102.804C42.5171 102.163 41.7788 101.186 41.4241 99.8731C41.0693 98.5607 41.2083 97.3425 41.8411 96.2185L64.1334 57.7803C61.0972 54.6669 58.82 51.1145 57.3019 47.123C55.7838 43.1315 55.0248 39.0202 55.0248 34.7892C55.0248 32.7136 55.2053 30.6189 55.5665 28.505C55.9276 26.3911 56.5461 24.3347 57.4218 22.3357C57.9012 21.1383 58.7801 20.3591 60.0585 19.9983C61.3369 19.6374 62.5354 19.7779 63.654 20.4198C64.7726 21.0616 65.5125 22.0196 65.8737 23.2937C66.2348 24.5678 66.214 25.845 65.8113 27.1255C65.4118 28.323 65.113 29.5412 64.9149 30.7801C64.7167 32.0191 64.616 33.2756 64.6128 34.5497C64.6128 38.7807 65.6515 42.7531 67.729 46.4668C69.8064 50.1805 72.7627 53.1533 76.5979 55.3854L87.3845 61.6121C92.3384 64.486 95.9738 68.618 98.291 74.0082C100.608 79.3983 101.767 84.4467 101.767 89.1535C101.767 91.3089 101.567 93.4452 101.167 95.5623C100.768 97.6794 100.169 99.7342 99.3696 101.727C98.8902 103.004 98.0113 103.823 96.7329 104.184C95.4545 104.545 94.216 104.404 93.0175 103.762C91.8989 103.124 91.1399 102.166 90.7404 100.889C90.3409 99.6113 90.3409 98.2941 90.7404 96.937C91.1399 95.6597 91.4403 94.4016 91.6416 93.1626C91.843 91.9236 91.9421 90.6671 91.9389 89.393C91.9389 86.8385 91.5793 84.3637 90.8602 81.9688C90.1411 79.5739 88.9825 77.3387 87.3845 75.2631L59.5791 123.041C58.9399 124.159 57.9619 124.898 56.6451 125.259C55.3284 125.62 54.1091 125.479 52.9873 124.838C51.8655 124.196 51.1272 123.219 50.7724 121.906C50.4177 120.594 50.5567 119.376 51.1895 118.252L63.1746 97.5357L55.0248 92.7459ZM89.7815 55.8644C87.1448 55.8644 84.8884 54.9272 83.0124 53.0527C81.1363 51.1783 80.1967 48.9223 80.1935 46.2847C80.1903 43.6472 81.1299 41.3928 83.0124 39.5215C84.8948 37.6503 87.1512 36.7115 89.7815 36.7051C92.4119 36.6987 94.6699 37.6375 96.5555 39.5215C98.4412 41.4055 99.3792 43.6599 99.3696 46.2847C99.36 48.9096 98.422 51.1656 96.5555 53.0527C94.689 54.9399 92.4311 55.8771 89.7815 55.8644ZM77.7964 31.9153C75.719 31.9153 74.0012 31.1969 72.6429 29.7599C71.2845 28.323 70.6054 26.6465 70.6054 24.7306C70.6054 22.655 71.3245 20.9387 72.7627 19.5816C74.2009 18.2245 75.8788 17.5459 77.7964 17.5459C79.8739 17.5459 81.5917 18.2644 82.95 19.7013C84.3083 21.1383 84.9875 22.8147 84.9875 24.7306C84.9875 26.8062 84.2684 28.5225 82.8302 29.8797C81.392 31.2368 79.7141 31.9153 77.7964 31.9153Z" fill="white"/>
<defs>
<linearGradient id="paint0_linear_26_4074" x1="7.01841" y1="32.0215" x2="136.859" y2="104.399" gradientUnits="userSpaceOnUse">
<stop stop-color="#2BACBE"/>
<stop offset="1" stop-color="#145058"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

37
src/confconnect.js Normal file
View File

@ -0,0 +1,37 @@
import axios from 'axios';
import { AUTH_TOKEN, USER_KEY } from '@/shared/consts/localStorage';
import { getRouteLogin } from '@/shared/consts/router';
const instance = axios.create({
baseURL: 'http://localhost:8093/',
headers: {
'Content-type': 'application/json',
},
});
instance.interceptors.response.use(undefined, async (error) => {
if (error.response?.status === 401) {
localStorage.removeItem(AUTH_TOKEN);
localStorage.removeItem(USER_KEY);
window.location.href = getRouteLogin();
}
return Promise.reject(error);
});
instance.interceptors.request.use(
(config) => {
const token = localStorage.getItem(AUTH_TOKEN);
const c = config;
if (token && config) {
c.headers.Authorization = `Bearer ${token}`;
}
return config;
},
(error) => Promise.reject(error),
);
export { instance as connect };

View File

@ -0,0 +1,2 @@
export const USER_KEY = 'user';
export const AUTH_TOKEN = 'token';

View File

@ -0,0 +1,20 @@
export const getRouteLogin = () => `/auth/login`;
export const getRouteRegister = () => `/auth/register`;
export const getRouteResetPassword = () => `/auth/reset-password`;
export const getRouteLkHome = () => `/lk`;
export const getRouteUsersList = () => `/lk/admin/users`;
export const getRouteUserEdit = (id: number | string) => `/lk/admin/users/${id}`;
export const getRouteUserCreate = () => `/lk/admin/users/create`;
export const getRouteUserRolesList = () => `/lk/admin/user-roles`;
export const getRouteUserRoleEdit = (id: number | string) => `/lk/admin/user-roles/${id}`;
export const getRouteUserRoleCreate = () => `/lk/admin/user-roles/create`;
export const getRouterExercisesList = () =>`/lk/admin/exercises`;
export const getRouterExercisesEdit = (id: number | string) =>`/lk/admin/exercises/${id}`;
export const getRouterExercisesCreate = () =>`/lk/admin/exercises/create`;
export const getRouterCoursesList = () => `/lk/admin/courses`;
export const getRouterCoursesEdit = (id: number | string) => `/lk/admin/courses/${id}`;
export const getRouterCoursesCreate = () => `/lk/admin/courses/create`;