Я использую nuxt2 и vuex-persistedstate для сохранения состояния и собираюсь запретить доступ к одному URL-адресу без входа в систему. Поэтому я использовал промежуточное программное обеспечение, чтобы проверить, вошел ли он в систему или нет.
// middleware/auth.js
import jwt from 'jsonwebtoken'
export default function({ store, route, redirect }) {
if (route.path === '/protectedurl') {
if (!store.state.auth.token) {
redirect('/protectedurl/login')
} else {
const decoded = jwt.verify(store.state.auth.token, process.env.privateKey)
if (
decoded.isLoggedIn !== true ||
Math.floor(Date.now() / 1000) > decoded.exp
) {
redirect('/protectedurl/login')
}
}
}
}
Он отлично работает, когда я перехожу к защищенному URL-адресу с другой страницы, используя <nuxt-link>
Но, когда я делаю refre sh, он может не читайте магазин с постоянным значением. И я могу прочитать правильные данные в функции жизненного цикла updated()
компонента.
Я думаю, это потому, что промежуточное ПО проверяется перед плагинами, поэтому промежуточное ПО сначала читает ноль.
Может ли кто-нибудь помочь мне справиться с этим?