登录这里的中间件,没看到在哪里调用了啊?
来源:8-3 完善管理员登录流程
拖车板牙爵士
2017-09-25
没有看到新建的middleware在哪里调用啊?这个实现逻辑没听明白,我这样理解对不对?
1、vue组件中发起http请求,
2、在请求之前先从vuex的store中拿用户信息,如果能拿到就说明登录成功,如果拿不到则重定向路由到login。
写回答
1回答
-
理解是对的。
但这里分页面首次加载还是 SPA 页面二次跳转,登录状态除了从 vuex 中拿之外,从 middleware 中的 auth 来判断,还有服务器端渲染时候,通过 nuxtServerInit 所配置的 session user 信息同步,至于 middleware 的调用,是 nuxt 框架自行完成的,只不过需要你在 vue 页面中 middleware: 'auth'
指定一下,比如 admin/index.vue<template> .content h3 登录成功 {{user.email}} </template> <script> import { mapState } from 'vuex' export default { middleware: 'auth', layout: 'admin', head () { return { title: '后台管理首页' } }, computed: mapState([ 'user' ]) } </script> <style src='~static/sass/admin.sass'></style>00
相似问题