怎么用vue实现axios的二次封装
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍了怎么用vue实现axios的二次封装的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用vue实现axios的二次封装文章都会有所收获,下面我们一起来看
千家信息网最后更新 2026年11月03日怎么用vue实现axios的二次封装
这篇文章主要介绍了怎么用vue实现axios的二次封装的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用vue实现axios的二次封装文章都会有所收获,下面我们一起来看看吧。
定义公共参数与引入组件:
import axios from 'axios'import qs from 'qs' axios.interceptors.request.use(config => { //显示loading return config}, error => { return Promise.reject(error)}) axios.interceptors.response.use(response => { return response}, error => { return Promise.resolve(error.response)}) function errorState(response) { //隐藏loading console.log(response) // 如果http状态码正常,则直接返回数据 if (response && (response.status === 200 || response.status === 304 || response.status === 400)) { return response // 如果不需要除了data之外的数据,可以直接 return response.data }else{ Vue.prototype.$msg.alert.show({ title: '提示', content: '网络异常' }) } } function successState(res) { //隐藏loading //统一判断后端返回的错误码 if(res.data.errCode == '000002'){ Vue.prototype.$msg.alert.show({ title: '提示', content: res.data.errDesc||'网络异常', onShow () { }, onHide () { console.log('确定') } }) }else if(res.data.errCode != '000002'&&res.data.errCode != '000000') { Vue.prototype.$msg.alert.show({ title: '提示', content: res.data.errDesc||'网络异常', onShow () { }, onHide () { console.log('确定') } }) }}const httpServer = (opts, data) => { let Public = { //公共参数 'srAppid': "" } let httpDefaultOpts = { //http默认配置 method:opts.method, baseURL, url: opts.url, timeout: 10000, params:Object.assign(Public, data), data:qs.stringify(Object.assign(Public, data)), headers: opts.method=='get'?{ 'X-Requested-With': 'XMLHttpRequest', "Accept": "application/json", "Content-Type": "application/json; charset=UTF-8" }:{ 'X-Requested-With': 'XMLHttpRequest', 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' } } if(opts.method=='get'){ delete httpDefaultOpts.data }else{ delete httpDefaultOpts.params } let promise = new Promise(function(resolve, reject) { axios(httpDefaultOpts).then( (res) => { successState(res) resolve(res) } ).catch( (response) => { errorState(response) reject(response) } ) }) return promise} export default httpServer封装理由:
1、可以和后端商量好错误码在这统一提示统一处理,省去不必要的麻烦
2、如果做接口全报文加解密都可以在此处理
接口统一归类:
const serviceModule = { getLocation: { url: ' service/location/transfor', method: 'get' }}const ApiSetting = {...serviceModule } export default ApiSetting归类好处:
1、后期接口升级或者接口名更改便于维护
http调用:
关于"怎么用vue实现axios的二次封装"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"怎么用vue实现axios的二次封装"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
封装
接口
提示
统一
知识
网络
内容
参数
数据
篇文章
错误
处理
归类
价值
好处
报文
操作简单
文章
易懂
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡
中关村互联网科技集团
互联网科技财经
互联网科技深圳
智能科技公司是互联网公司吗
科技制造互联网公司
北京互联网络科技有限公司
宜安科技 互联网金融
互联网科技美容
互联网科技咨询
互联网科技产品
新华互联网科技2019
互联网科技博主是什么意思
广州恒生互联网科技有限
辽宁互联网新科技
996高科技互联网公司
富国互联网科技002692
半导体行业属于互联网高科技类吗
科技美学互联网 艺术
六子台科技互联网展会
互联网科技行业发展
中资互联网科技
互联网金融 金融科技
善班互联网科技有限公司
猫创互联网科技
掌上梦互联网科技
丰台科技园 互联网公司
云创客互联网科技公司
中国互联网有什么科技含量
深圳育鹏互联网科技有限公司招聘