middleware下创建axiosMiddle.js
import axios from 'axios'
import md5 from 'js-md5'
import cookies from 'js-cookie'
export default function({req,res}) {
if (req.headers !== undefined) {
let cookieArr = req.headers.cookie;
//获取cookie然后拆成键值对
const getUserName = getCookie('name', cookieArr)
const getToken = getCookie('tiken', cookieArr)
//设置axios的全局变量.
axios.defaults.timeout = 60000 // 响应时间
// @requestParams
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'
axios.defaults.headers.username = getUserName
axios.defaults.headers.token = getToken
axios.defaults.withCredentials = true
}
}
//解析浏览器中的cookies
function getCookie (name, strCookie) {
console.log('strCookie',strCookie)
var arrCookie = strCookie.split(';')
for (var i = 0; i < arrCookie.length; i++) {
var arr = arrCookie[i].split('=')
if (arr[0].trim() === name) {
return arr[1]
}
}
return {}
}
在nuxt.config,js中设置下使用中间件即可
router: {
middleware:'axiosMiddle'
},
至此,结束
作者:雪人Man
链接:https://juejin.im/post/5cb18b08f265da035b618899
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
网友评论