一、登录/退出功能
若前端与后台存在跨域问题,则使用token
否则,使用cookie/session方式
token:(本地 + vuex)
编程式导航,顾名思义,就是在业务逻辑代码中实现导航。
this.$router.push('/home');
3.3路由导航守卫(路由的钩子函数)控制访问权限
如果用户没有登录,但是直接通过URL访问特定页面,需要重新导航到登陆页面
// 挂载路由导航守卫
router.beforeEach((to, from, next) => {
// to:将要访问的路径
// from:代表从哪个路径跳转而来
// next:是一个函数,表示放行
// next() 放行 next('/login')强制放行
if (to.path == "/login") {
return next();
}
// 获取token
const tokenStr = window.sessionStorage.getItem("token");
if (!tokenStr) {
return next("/login");
}
next();
});
路由的钩子函数
我们可以直接在路由配置文件(/src/router/index.js)
中写钩子函数。但是在路由文件中我们只能写一个beforeEnter,就是在进入此路由配置时。先来看一段具体的代码:
{
path:'/params/:newsId(\\d+)/:newsTitle',
component:Params,
beforeEnter:(to,from,next)=>{