Я использую: VueJS 2 Laravel 8 Larvel Sanctum Laravel Mix и хочу проверить авторизацию перед переходом на страницу Я использовал этот ответ для проверки подлинности realease, но с предварительным загрузчиком AdminLTE3 зависает и сайт не загружает магазин Vuex:
const store = new Vuex.Store({
state:{
user: false,
isCheckedAuth: false
},
mutations:{
auth(state, payload){
state.user=payload;
state.isCheckedAuth = true;
}
},
getters:{
isAuth(state){
if(!state.user) return false; else return true;
},
getNameInitials(state){
return `${state.user.last_name} ${state.user.first_name[0]}. ${state.user.middle_name[0]}.`;
},
hasPermission(state){
return function (needPermission){
if(state.user.permissions.find(permission => permission === needPermission))
return true;
else
return false;
}
},
isCheckedAuth(state){
return state.isCheckedAuth;
}
},
actions:{
async checkAuth(){
return await axios.get('/api/v.1.0/user').then(r=>{
store.commit('auth',r.data.data)
})
}
}
})
VueInstance:
const VueInstance = ()=>{
new Vue({
el: "#app",
router,
store,
components: { App }
})
}
store.dispatch('checkAuth').then(() => {
VueInstance();
}).catch(() => {
VueInstance();
})
если я перейду на
new Vue({
el: "#app",
router,
store,
components: { App }
})
, он работает, но я не могу проверить авторизацию перед входом на страницу