vuejs+koa 2+mysql全スタック開発個人ブログ(3)——ページアクセス権限


このブログでは、このブログで構築された2つ目の技術的要点:ページアクセス権限について詳しく説明します.
私たちはこのブログについて知っています.バックグラウンドは観光客が訪問できないもので、フロントは公開されています.では、どうやって区別しますか?
ページにmetaプロパティを設定する
各ページについて、公開されたページであれば、権限がないことを意味する{auth:false}が設定される.プライベートページの場合はauthプロパティは設定されません.
ページルーティングが変化するたびに、ルーティングのbeforeEachメソッドがトリガーされます.
router.beforeEach(({meta,path},from,next)=>{
  store.dispatch('showProgress',0);
  // NProgress.start();
  let {auth=true}=meta  //meta false auth false; auth true
  let isLogin = Boolean(store.state.token) // true or false

  /*
       meta:false
       meta:false
  */
  // 
  if(auth&&!isLogin){
    return next({path:'/login'});
  }
  //  reg login Home
  if(isLogin&&(path=='/login'||path=='/reg')){
    return next({path:'/admin'});
  }
  //  reg 
  next();
});