怎么用vue实现axios的二次封装
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要介绍了怎么用vue实现axios的二次封装的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用vue实现axios的二次封装文章都会有所收获,下面我们一起来看
千家信息网最后更新 2025年12月02日怎么用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安全错误
数据库的锁怎样保障安全
互动网络安全教育平台
网络安全英文中文ppt
计算机网络技术三级考试大纲
服务器系统管理总结
网络技术和数据库技术那个好
如何创建一个学生数据库
软件开发40岁
国内网络安全防御能力
河南大数据软件开发服务
服务器移动关机
数据库文件的主要类型是什么
外包软件开发注意什么
软件开发可以共享吗
长沙理工大学 数据库 中标
网络技术如何影响服务业区位因素
高配置电脑对软件开发有用
软件开发培训 就搜大计学校
电脑无法连接网络安全
取消对某个表的数据库审计
网络安全设备价格差距
64核服务器处理器
虎牙贱圣玩过的方舟服务器id
网络安全用什么硬件好
国外网站的代理服务器
广州互联网科技 协会
秘密实验室诗星雨服务器插件
服务器怎么获取连接客户端的ip
我的世界瑶池服务器
数据库相关岗位的需求情况
1530网络安全教育100条