一定要考虑middlware同时与服务端和浏览器交互!!!
middlware中间件代码
import axios from 'axios'
import getCookie from '~/uitls/getCookie'
export default async function ({
app , req , redirect , route }){
let token ;
if(req) {
//req只有在服务端会触发
//当用户第一次进入页面时,会先触发服务端,继续访问其他页面,触发客户端
//F5刷新后,相当于第一次进入页面,触发服务端
//客户端req:undefined
token = getCookie.getcookiesInServer(req).token;: false;
//从服务端获取cookie
} else {
token = getCookie.getcookiesInClient('token')
//从客户端获取cookie
}
if(!token) {
redirect({
path: '/user/login' })