标签:axios 封装 url res resolve reject return data
1.request.js
import axios from 'axios' const service = axios.create({ baseURL: import.meta.env.VITE_APP_BASE_API, // url = base url + request url // withCredentials: true, // send cookies when cross-domain requests timeout: 1000 * 30 // request timeout }) // 封装request拦截器 service.interceptors.request.use( config => { const token = window.localStorage.getItem('Authorization') if (token) { config.headers.Authorization = token } return config }, error => { // do something with request error return Promise.reject(error.data) } ) // 封装response拦截器 service.interceptors.response.use( response => { const res = response.data if (res.ret === 0) { return res } else if (res.ret === 1) { return Promise.reject(res) } }, error => { return Promise.reject({ ret: 1, msg: error.message }) } ) // 封装get方法 url,params export function get (url, params = {}) { return new Promise((resolve, reject) => { service.get(url, { params: params }).then(res => { resolve(res) }).catch(err => { reject(err) }) }) } // 封装post方法 url,data export function post (url, data = {}) { return new Promise((resolve, reject) => { service.post(url, data).then(res => { if (res) { resolve(res.data) } }).catch(err => { reject(err) }) }) } // 封装put方法 url,data export function put (url, data = {}) { return new Promise((resolve, reject) => { service.put(url, data).then(res => { resolve(res.data) }).catch(err => { reject(err) }) }) } // 封装delete方法 url,data export function del (url, data = {}) { return new Promise((resolve, reject) => { service.delete(url, data).then(res => { resolve(res.data) }).catch(err => { reject(err) }) }) } // 封装patch方法 url,data export function patch (url, data = {}) { return new Promise((resolve, reject) => { service.patch(url, data).then(res => { resolve(res.data) }).catch(err => { reject(err) }) }) } export default { get, post, put, del, patch }
2.api.js
标签:axios,封装,url,res,resolve,reject,return,data 来源: https://www.cnblogs.com/syc5/p/15895844.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。