tags and new analytics new in budget

This commit is contained in:
xds
2025-02-21 01:45:20 +03:00
parent f977fe363f
commit db03c743b2
16 changed files with 711 additions and 258 deletions

View File

@@ -3,8 +3,10 @@ import {ref} from 'vue';
import apiClient from "@/services/axiosSetup";
import {useRoute, useRouter} from "vue-router";
import {useSpaceStore} from "@/stores/spaceStore";
import {useToast} from "primevue/usetoast";
export const useUserStore = defineStore('user', () => {
const toast = useToast();
const user = ref(null);
const loadingUser = ref(true);
const router = useRouter();
@@ -31,11 +33,12 @@ export const useUserStore = defineStore('user', () => {
}
// Основная функция для логина
async function login(username, password, tg_id = null) {
async function login(username, password, tg_id: string | null = null) {
try {
let response;
if (tg_id) {
response = await apiClient.post('/auth/token/tg', {tg_id: tg_id});
response = await apiClient.post('/auth/tgLogin', {}, {headers: {'X-TG-ID': tg_id}});
} else {
response = await apiClient.post('/auth/login', {
username: username,
@@ -46,12 +49,13 @@ export const useUserStore = defineStore('user', () => {
const token = response.data.token;
localStorage.setItem('token', token);
apiClient.defaults.headers.common['Authorization'] = `Bearer ${token}`;
toast.add({ severity: 'success', summary: 'Вход выполнен', detail: 'Добро пожаловать!', life: 3000 })
await fetchUserProfile();
await spaceStore.fetchSpaces()
await router.push(route.query['back'] ? route.query['back'].toString() : '/');
} catch (error) {
console.error(error);
alert('Ошибка входа. Проверьте логин и пароль.');
toast.add({ severity: 'error', summary: 'Ошибка входа', detail: 'Ошибка Telegram авторизации', life: 3000 })
}
};