工具类:
import Cookie from 'js-cookie'
export default {
//获取服务端cookie
getCookiesInServer:function (req) {
let service_cookie = {}
req && req.headers.cookie && req.headers.cookie.split(';').forEach(function (val) {
let parts = val.split('=')
service_cookie[parts[0].trim()] = (parts[1] || '').trim()
})
return service_cookie
},
//获取客户端cookie
getCookiesInClient:function (key) {
return Cookie.get(key) ? Cookie.get(key) : ''
}
}
在中间件中使用:
import getCookie from '@/plugins/cookie'
// 重定向默认页面路由
export default function ({ route, req, store, redirect }) {
let isNavbar
if(process.server){
let cookies = getCookie.getCookiesInServer(req)
isNavbar = cookies.isNavbar ? cookies.isNavbar : ''
console.log('在服务端', isNavbar)
}
if(process.client){
isNavbar = getCookie.getCookiesInClient('isNavbar')
console.log('在客户端', isNavbar)
}
if (isNavbar.includes('false')) {
redirect('/about')
}
}
在index.vue中使用
export default {
middleware: 'navbar',
}
理想效果:根据属性不同,打开页面,默认首页不同
现在问题:改变属性后,需要再手动刷新一次,才能改变默认页面