简介axios是一个基于promise的HTTP库,可以在浏览器和node.js中使用,主要是向后台发起请求,在请求中做更多可控的功能。特性从浏览器创建XMLHttpRequests从node.js创建http请求支持PromiseAPI拦截请求和响应转换请求数据和响应数据取消请求自动转换JSON数据bowerinstallaxiosusecdn:使用importaxiosfrom'axios'importrouterfrom'../router/index'importMessagefrom'ant-design-vue/es/message'importCookiesfrom'js-cookie'constservice=axios.create({baseURL:'/api',//统一请求路径前缀timeout:15000//请求超时})service.interceptors.request.use(config=>{letsessionId=Cookies.get('X-SESSION-ID')||''if(sessionId){config.headers['X-SessionId']=sessionId//让每个请求携带一个自定义的token,请根据实际修改situation}returnconfig},err=>{Message.error('requesttimedout')returnPromise.reject(err)})//http响应拦截器service.interceptors.response.use(response=>{constdata=response.data//根据返回的code值sw做不同的处理(和后端约定)itch(data.code){case401://未登录清除登录状态router.push('/login')returnPromise.reject(newError('401'))case403://没有权限if(data.message!==null){Message.error(data.message)}else{Message.error('UnknownError')}returnPromise.reject(newError('UnknownError'))案例500://错误if(data.message!==null){Message.error(data.message)}else{Message.error('UnknownError')}//returnPromise.reject(newError('UnknownError'))返回承诺。reject(data.message)default:returndata}},(err)=>{//这里是返回状态码不为200时的错误处理Message.error(err.toString())returnPromise.reject(err)})exportdefaultserviceAPIusesimportrequestfrom'@/utils/request'//所属区域exportfunctiongetListByGroupStartAdminArea(){returnrequest({url:'/area/getListByGroupStartAdminArea'})}//直升机信息删除导出函数deleteCopter(数据){返回请求({url:`/copter/deleteCopter`,method:'post',data})}pageuses//获取区域列表_getListByGroupStartAdminArea(){getListByGroupStartAdminArea().then(res=>{this.options=res.payload})},//删除直升机信息handleDelete(record){letcopter=thisthis.$confirm({title:'删除直升机信息',content:'请确认是否删除这架直升机?',okText:'确定',cancelText:'取消',onOk(){deleteCopter({id:record}).then(res=>{copter.$message.error('删除成功!')copter._getCopterList()})},onCancel(){}})},
