vueJS - JWT Auth - проблема с перенаправлением - PullRequest
0 голосов
/ 03 мая 2018

Я кодирую 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.log(response.data.active);
                cashActive = response.data.active;
            });
            console.log("Cash Active: " + cashActive);
            if (!cashActive) {
                console.log("Return /Cash");
                return "Cash";
            } else {
                console.log("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.log(response.data.active);
                return response.data.active;
            });
            console.log("Cash Active: " + cashActive);
            if (!cashActive) {
                console.log("Return /cash");
                return "/cash";
            } else {
                console.log("Return /dashboard");
                return "/dashboard";
            }
        }
    },

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...