vue-cli搭建項目象对,前端要做的事

vue-cli搭建一個項目蚕礼,簡單說明前端要做的事

目錄

1.調登錄接口成功严卖,在回調函數(shù)中將token存儲到localStorage和vuex中

login.vue

<template>
  <div>
    <input type="text" v-model="loginForm.username" placeholder="用戶名"/>
    <input type="text" v-model="loginForm.password" placeholder="密碼"/>
    <button @click="login">登錄</button>
  </div>
</template>
 
<script>
import { mapMutations } from 'vuex';
export default {
  data () {
    return {
      loginForm: {
        username: '',
        password: ''
      },
      userToken: ''
    };
  },
 
  methods: {
    ...mapMutations(['changeLogin']),
    login () {
      let _this = this;
      if (this.loginForm.username === '' || this.loginForm.password === '') {
        alert('賬號或密碼不能為空');
      } else {
        this.axios({
          method: 'post',
          url: '/user/login',
          data: _this.loginForm
        }).then(res => {
          console.log(res.data);
          _this.userToken = 'Bearer ' + res.data.data.body.token;
          // 將用戶token保存到vuex中
          _this.changeLogin({ Authorization: _this.userToken });
          _this.$router.push('/home');
          alert('登陸成功');
        }).catch(error => {
          alert('賬號或密碼錯誤');
          console.log(error);
        });
      }
    }
  }
};
</script>
拿到token

store文件夾下的index.js

import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
 
const store = new Vuex.Store({
  state: {
    // 存儲token
    Authorization: localStorage.getItem('Authorization') ?localStorage.getItem('Authorization') : ''
  },
 
  mutations: {
    // 修改token席舍,并將token存入localStorage
    changeLogin (state, user) {
      state.Authorization = user.Authorization;
      localStorage.setItem('Authorization', user.Authorization);
    }
  }
});
 
export default store;

2.路由導航守衛(wèi)

router文件夾下的index.js

import Vue from 'vue';
import Router from 'vue-router';
import login from '@/components/login';
import home from '@/components/home';
 
Vue.use(Router);
 
const router = new Router({
  routes: [
    {
      path: '/',
      redirect: '/login'
    },
    {
      path: '/login',
      name: 'login',
      component: login
    },
    {
      path: '/home',
      name: 'home',
      component: home
    }
  ]
});
 
// 導航守衛(wèi)
// 使用 router.beforeEach 注冊一個全局前置守衛(wèi),判斷用戶是否登陸
router.beforeEach((to, from, next) => {
  if (to.path === '/login') {
    next();
  } else {
    let token = localStorage.getItem('Authorization');
 
    if (token === 'null' || token === '') {
      next('/login');
    } else {
      next();
    }
  }
});
 
export default router;

3.請求頭加token

// 添加請求攔截器哮笆,在請求頭中加token
axios.interceptors.request.use(
  config => {
    if (localStorage.getItem('Authorization')) {
      config.headers.Authorization = localStorage.getItem('Authorization');
    }
 
    return config;
  },
  error => {
    return Promise.reject(error);
  });

4.如果前端拿到狀態(tài)碼為401来颤,就清除token信息并跳轉到登錄頁面

localStorage.removeItem('Authorization');
this.$router.push('/login');
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市稠肘,隨后出現(xiàn)的幾起案子福铅,更是在濱河造成了極大的恐慌,老刑警劉巖项阴,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件滑黔,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機略荡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進店門庵佣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人汛兜,你說我怎么就攤上這事巴粪。” “怎么了序无?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵验毡,是天一觀的道長。 經常有香客問我帝嗡,道長,這世上最難降的妖魔是什么璃氢? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任哟玷,我火速辦了婚禮,結果婚禮上一也,老公的妹妹穿的比我還像新娘巢寡。我一直安慰自己,他們只是感情好椰苟,可當我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布抑月。 她就那樣靜靜地躺著,像睡著了一般舆蝴。 火紅的嫁衣襯著肌膚如雪谦絮。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天洁仗,我揣著相機與錄音层皱,去河邊找鬼。 笑死赠潦,一個胖子當著我的面吹牛叫胖,可吹牛的內容都是我干的。 我是一名探鬼主播她奥,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼瓮增,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了哩俭?” 一聲冷哼從身側響起绷跑,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎携茂,沒想到半個月后你踩,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年带膜,在試婚紗的時候發(fā)現(xiàn)自己被綠了吩谦。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡膝藕,死狀恐怖式廷,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情芭挽,我是刑警寧澤滑废,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站袜爪,受9級特大地震影響蠕趁,放射性物質發(fā)生泄漏。R本人自食惡果不足惜辛馆,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一俺陋、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧昙篙,春花似錦腊状、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至焚辅,卻和暖如春映屋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背法焰。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工秧荆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人埃仪。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓乙濒,卻偏偏與公主長得像,于是被迫代替她去往敵國和親卵蛉。 傳聞我的和親對象是個殘疾皇子颁股,可洞房花燭夜當晚...
    茶點故事閱讀 45,512評論 2 359

推薦閱讀更多精彩內容