Я пытаюсь проверить, подключен ли пользователь, прежде чем отобразить страницу с моей переменной состояния. Я использовал промежуточное программное обеспечение, чтобы проверить, был ли пользователь подключен, но переменная состояния возвращает ложную сторону сервера (в промежуточном программном обеспечении) и возвращает истинную клиентскую сторону.
здесь store / index. js file
export const state = () => ({
isLogged: false,
sessionKey: '',
logoutRoute: {
name: 'Logout'
}
})
export const mutations = {
setSession (state, text) {
state.sessionKey = text
state.isLogged = true
},
removeSession (state) {
state.sessionKey = ''
state.isLogged = false
}
}
export const actions = {
updatesession: ({ commit }, token) => {
commit('setSession', token)
}
}
вот как я обновляю свою переменную состояния
if (response.data.status) {
// this.$store.commit('setSession', response.data.token)
this.$store.dispatch('updatesession', response.data.token)
console.log(this.$store.state.isLogged) // output true
this.$nuxt.$router.replace({ path: '/portofolio/new' })
} else {
this.loginError = true
setTimeout(() => {
this.loginError = false
}, 5000)
}
вот мой код промежуточного программного обеспечения
export default function ({ store, redirect }) {
// Si l'utilisateur n'est pas authentifié
if (!store.state.isLogged) {
console.log(store.state.isLogged) // output false
return redirect('/login')
}
}
Любая помощь или предложение приветствуются, спасибо.