Почему моя переменная состояния не обновляется на стороне сервера? Nuxt. js - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь проверить, подключен ли пользователь, прежде чем отобразить страницу с моей переменной состояния. Я использовал промежуточное программное обеспечение, чтобы проверить, был ли пользователь подключен, но переменная состояния возвращает ложную сторону сервера (в промежуточном программном обеспечении) и возвращает истинную клиентскую сторону.

здесь 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')
  }
}

Любая помощь или предложение приветствуются, спасибо.

...