tags and new analytics new in budget
This commit is contained in:
@@ -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 })
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user