[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Mateus Eustáquio Vieira de Carvalho
Criador Mateus Eustáquio Vieira de Carvalho 04/09/2018

Ola Prof !

  Descubri uma maneira de facilitar esse processo sem passar pela rota login, que ao meu ver, não ficou muito legal, toda vez que atualizar passa pela rota login, eu fiz o seguinte, vê se você aprova:

fazer o checkLogin dentro do metodo router.beforeEach. Assim eu so entro nas validações de rotas caso entre no catch(), ai so fazer as validações dentro do catch. Oque você acha.

Criador Mateus Eustáquio Vieira de Carvalho 04/09/2018

No caso meu ficou assim:

Obs: Usei o redirect do java script poque estou utilizando templates diferente entre o login e o meu dashboard.

router.beforeEach((to, from, next) => {
store.dispatch('checkLogin')
.catch(() => {
if (to.meta.auth && !store.state.auth.authenticated) {
return window.location.href = '/login'
}

if (to.matched.some(record => record.meta.auth) && !store.state.auth.authenticated) {
return window.location.href = '/login'
}

if (to.meta.hasOwnProperty('auth') && !to.meta.auth && store.state.auth.authenticated) {
return window.location.href = '/'
}
})

next()
})
Mateus Eustáquio Vieira de Carvalho
Manager Carlos Ferreira 04/09/2018

Olá, Mateus!

Ficou uma boa. Parabéns!

Uma das vantagens de utilizar o Vue.js é a liberdade, ele permite um uso da abstração básica do JavaScript, o que nesse caso dá muita liberdade ao desenvolvedor.

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!