Я кодирую POS-систему на laravel и vuejs. Для входа я использую JWT-auth. Теперь, если уже существует "кассовый сеанс", системе необходимо перенаправить на vue-route /Dashboard, если нет, вам нужно перенаправить на /Cash. Сейчас пробовал разные вещи, но ничего не работает. Он всегда перенаправляет на /Cash.
у кого-нибудь есть решение?
methods: {
login() {
let app = this;
this.$auth.login({
params: {
username: app.username,
password: app.password
},
success: function () {
},
error: function (resp) {
alert('Error: ' + resp.response.data.msg)
},
redirect: app.redirectURL(),
fetchUser: true
});
},
setText(gebruiker) {
this.buttonText = gebruiker;
this.username = gebruiker;
},
redirectURL () {
let cashActive = false;
axios.get('cash/active').then(response => {
console.info(response.data.active);
cashActive = response.data.active;
});
console.info("Cash Active: " + cashActive);
if (!cashActive) {
console.info("Return /Cash");
return "Cash";
} else {
console.info("Return /dashboard");
return "/Dashboard";
}
}
}
Обновлено: Я пробовал асинхронную функцию, но перенаправление по-прежнему не работает. Моя страница не перенаправляет. Должна быть проблема с тем, что я возвращаю в функции redirectURL. Кто-нибудь может помочь?
methods: {
login() {
let app = this;
this.$auth.login({
params: {
username: app.username,
password: app.password
},
success: function () {
},
error: function (resp) {
alert('Error: ' + resp.response.data.msg)
},
redirect: app.redirectURL(),
fetchUser: true
});
},
setText(gebruiker) {
this.buttonText = gebruiker;
this.username = gebruiker;
},
async redirectURL () {
let cashActive = await axios.get('cash/active').then(response => {
//console.info(response.data.active);
return response.data.active;
});
console.info("Cash Active: " + cashActive);
if (!cashActive) {
console.info("Return /cash");
return "/cash";
} else {
console.info("Return /dashboard");
return "/dashboard";
}
}
},
}
Ваш if (!cashActive) и следующий код выполняют перед, axios.get завершает






Возможный дубликат Как мне вернуть ответ от асинхронного вызова?