脚本宝典收集整理的这篇文章主要介绍了Vue-Axios请封装,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
npm install axios --save
common->request->apiconst.js(自行修改,无用的可以去掉)
/**
* Api 常量配置
*/
//后端ip
export const url_host = 'http://b.test.com:10102';
//后端ip(sso)
export const sso_url_host = 'http://a.test.com:10101';
//登录注册,加密密码
export const salt="fesdb13632twfs;'." //加密算法-盐
//保存用户信息的key
export const userInfo = 'userInfo';
// 登录认证地址
export const ssoVerifyLogin= sso_url_host+ "/login"
// 登出地址
export const logout= sso_url_host+"/logout"
//是否登录过
export const isLogout=sso_url_host+"/isLogout"
/**
* 后端用户信息获取接口
*
*/
export const getUser = '/user/getUser';
common->request->axiosconfig.js
import axios from 'axios'
import {url_host} from './apiconst'
import router from '@/router/index'
/*
@ 创建自定义axios实例
*/
const instance_ax = axios.create({
baseURL: url_host,//统一请求
headers:{},
timeout: 10000
})
axios.defaults.withCredentials=true; //让ajax携带cookie
/*
@ request 请求拦截器=>请求发出前处理
*/
instance_ax.interceptors.request.use(
config => {
//每次请求都携带token
config.headers.jwtToken= window.localStorage.getItem("jwtToken")
//请求前处理
return config;
}, error => {
// 接口返回失败
Promise.reject(error.response);
}
)
/*
@ request 响应拦截器=>处理响应数据
*/
instance_ax.interceptors.response.use(
response => { //正确
return Promise.resolve(response);
},
error => {//后端报错
// 如果权限过期或者token伪造的或者token过期了,后端返回401
if (error.response.status===401) {
//重定向登录页,并携带原路径
router.push({
path: '/login',
query:{sourceUrl:router.currentRoute.fullPath}
});
}
return Promise.reject(error.response);
}
)
export default instance_ax;
import request from './axiosconfig'
export function Get(uri, params) {
return request({
url: uri,
method: 'get',
params: params
})
}
export function Post(uri, params) {
return request({
url: uri,
method: 'post',
data: params
})
}
// 上传文件
export function PostFile (uri, params) {
return request({
url: uri,
method: 'post',
headers: { 'Content-Type': 'multipart/form-data' },
params
});
};
export function Delete(uri, params) {
return request({
url: uri,
method: 'delete',
params: params
})
}
export function Put(uri, params) {
return request({
url: uri,
method: 'put',
data: params
})
}
在vue文件中script标签内添加
import {Get} from "./../common/request/httputil";
然后直接使用就行
Get("/test/a1",{}).then(res=>{
this.str=res.data;
console.log("111122211----")
}).catch(error=>{
console.log("error",error)
})
以上是脚本宝典为你收集整理的Vue-Axios请封装全部内容,希望文章能够帮你解决Vue-Axios请封装所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。