使用场景
前后端完全分离,接口是后端人员给我的
思路如下:
- 第一次登录的时候,前端调用接口,返回我们输入框的值
- 后端验证值,验证成功会发一个token回来
- 前端收到token将储存起来,我是存在localStorage里
- 前端每次需要登录验证的请求都需要带着token发送给后端
- 前端每次跳转页面,都会判断localStorage里是否存在token,无就返回到登录页面
- …这里我是看的其他博主的文章,以下是连接
https://blog.csdn.net/weixin_42601136/article/details/108517161
这是我的项目列表
解决以上跨域问题
- 创建utils文件
- request.js就是封装axios
import axios from 'axios'
// import { Notification } from 'element-ui'
// 1. axios 封装 百度到处都有
import {
getToken } from '../utils/tools' // 获取token
class HttpRequest {
constructor (baseUrl) {
this.baseURL = baseUrl
this.queue = {
}
}
getInsideConfig () {
const config = {
baseURL: this.baseURL,
headers: {
}
}
// 若token不为空, 则在headers中加入token
return config
}
interceptors (instance, url) {
instance.interceptors.request.use(config => {
this.queue[url] = true;
// 这里是给请求headers里面加token验证
if (getToken('token')) {
config.headers.token = getToken('token')
}
return config
}, error => {
return Promise