Feathers vuex: пользователь больше не входит в систему после обновления - PullRequest
0 голосов
/ 29 мая 2020

Я новичок в перьях и vue js Я этого не понимаю, когда я вхожу в систему, директивы v-if работают на панели навигации, но когда я обновляю sh страницу, я замечаю, что пользователь больше не вошел в систему, а JWT сохраняется в localStorage.

App-Navbar.vue

<template>
  <div>
    <q-header bordered class="bg-white">
      <q-toolbar>
        <div class="q-gutter-sm" v-if="!user">

          <q-btn to="/login" />
          <q-btn to="/signup" />

        </div>
        <div class="q-gutter-sm" v-if="user">

          <q-btn @click="logout"/>
        </div>

      </q-toolbar>
    </q-header>
  </div>
</template>

<script>
import { mapActions, mapState } from "vuex";

export default {

methods: {
    ...mapActions("auth", { authLogout: "logout" }),
    logout() {
      this.authLogout().then(() => this.$router.push("/login"));
    }
  },
  computed: {
    ...mapState("auth", { user: "payload" })
  }
};
</script>

1 Ответ

0 голосов
/ 29 мая 2020

Вам просто нужно немного logi c, чтобы получить ваш токен по refre sh. Сначала вам нужно будет сохранить его где-нибудь, скажем, sessionStorage.

Вы можете использовать vuex-persistedstate, как вы упомянули, но более легкое решение будет просто установить ваше свойство пользователя в состояние из магазин вот так

user: sessionStorage.getItem(yourkey) ?? null
...