vue相关记录

自定义Axios,进行请求拦截和响应处理操作

axios.js(与main.js 同级目录)

import axios from "axios";
import router from "./router";
import Element from "element-ui";
import store from './store/index'

//创建一个自定义的axios
const request = axios.create({
    timeout: 5000,
    headers: {
        'Content-Type': "application/json; charset=utf-8"
    }
})

request.interceptors.request.use(
    config => {
        config.headers['Authorization'] = store.state.token
        return config
    }
)

request.interceptors.response.use(
    response => {
        console.log("response -> " + JSON.stringify(response))

        let res = response.data
        if (res.code === 200) {
            return response
        } else {
            Element.Message.error(!res.msg ? '系统异常' : res.msg)
            return Promise.reject(res.msg)
        }
    },
    error => {
        console.log("error -> " + error)
        //console.log("error.response -> " + JSON.stringify(error.response))
        if (error.response.data) {
            error.message = error.response.data.message
        }
        if (error.response.status === 401) {
            router.push("/login")
        }
        Element.Message.error(error.message, {duration:10000})
        return Promise.reject(error)
    }
)

export default request

完整示例代码可参考:Spring boot+Vue前后端分离项目实战——学生管理系统【四】前端_m0_37257009的博客-CSDN博客_vue+springboot前后端分离开发实战代码地址https://github.com/SAGE-likeWu/student_manage_fe.git1.前端整体代码2.先跑起来再说右键json文件,点击show npm scripts,然后选择下方的start,双击start成功启动,访问http://localhost:8080/login,出现登录界面,输入你设计的数据库表admin中的一条用户名...https://blog.csdn.net/m0_37257009/article/details/96971367?spm=1001.2014.3001.5502

你可能感兴趣的:(vue.js,javascript,elementui)