首页 > 编程知识 正文

原生js封装组件,axios封装详解

时间:2023-05-03 18:22:57 阅读:11147 作者:3133

先安装

npminstallaxiosnpmielement-ui-s是在main.js上引入的

//vant根据需要//import {Loading,Toast} from 'vant '; //import 'vant/lib/index.css '; //vue.use(loading ).use ) toast )//element-ui样式导入' element-ui/lib/theme-chalk/index.CSS '; 在api.js中使用

导入axios from ' axios '; //importrouterfrom ' ./router/index '; //import Vue from 'vue '; 获取//vue实例//const _vue=Vue.prototype; 导入{ loading } from ' element-ui '; //axios封装请求方法//axios配置常数=this; const config={ baseURL: ',headers : { ' content-type ' : ' application/JSON ',timeout: 30000}; 常数实例=axios.create (config ); //请求前进行监听,用于判断let加载实例; constrequestinterceptor=instance.interceptors.request.use (config={//拦截修改config //返回请求配置//if (! config.headers.token(//headers有token令牌执行//config.headers.token='no '; //_ vue.$ toast.loading ((/duration ://); loading instance=loading.service (全屏幕: false,背景: ) rgba (0,0,0,0 )0)、text: )网络返回配置; },error={ //立即执行失败的reject方法returnpromise.reject(error ); ); //响应后监听,响应数据constresponseinterceptor=instance.interceptors.response.use (response=(//对响应数据做什么//ccccontive if (response.data.error _ code==0|! response.data.error _ code|| response.data.error _ code==10000 ) {返回response.data; } if (response.data.error _ code==10001000|| response.data.error _ code==7200 () { //token丢失,过期///返回promise.reject (response.data; } else { return promise.reject (response.data ); },error={//reject方法returnpromise.reject(error ),用于立即执行响应; ); //拦截//interceptors.request.eject (请求拦截器); //interceptors.request.eject (响应拦截器; constget=(URL,data={} ) returninstance.get ) URL,{ params: data } ); (; constpost=(URL,data={} ) return instance.post (URL,data ); (; classservices { API={ share : data=get ('/share ',data ) /共享请求(自己的接口地址) }; }导出默认服务; 上面的注销部分是在移动端使用vant的加载

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。