前端 axios二次封装 get post 请求传参格式

247 阅读1分钟
// axios二次封装 
import axios, { AxiosInstance,InternalAxiosRequestConfig, AxiosResponse } from 'axios';  
import Cookies from 'js-cookie';

try {  
  const usermsg = Cookies.get("usermsg");  
  if (usermsg) {  
    const userData = JSON.parse(usermsg);  
    if (userData && userData.access_token) {  
      axios.defaults.headers.common['Authorization'] = 'Bearer ' + userData.access_token;  
    } else {  
      // console.error('userData中未找到access_token');  
    }  
  } else {  
    // console.error('未找到名为"usermsg"的cookie');  
  }  
} catch (error) {  
  // console.error('在设置Authorization header时发生错误:', error);  
}

// 创建一个 Axios 实例  
const service: AxiosInstance = axios.create({  
  baseURL: 'http://127.0.0.1:3000', // 设置你的 API 基础路径  
  timeout: 5000, // 设置请求超时时间  
});  

// 请求拦截器  
service.interceptors.request.use(  
  (config:InternalAxiosRequestConfig) => {  
    // 在发送请求之前做些什么  
    // 例如添加请求头、身份验证等  
    return config;  
  },  
  (error) => {  
    // 对请求错误做些什么  
    return Promise.reject(error);  
  }  
);  
  
// 响应拦截器  
service.interceptors.response.use(  
  (response: AxiosResponse) => {  
    // 对响应数据做点什么  
    return response;  
  },  
  (error) => {  
    // 对响应错误做点什么  
    // 例如,如果需要的话,可以统一处理错误
      
    return Promise.reject(error);  
  }  
);  
  
export default service;


//get请求
export function verificationcode(verificationCode,userEmail) {
    return request({
        url: `/xxx/xxx/xxx?xxxx=${verificationCode}&userEmail=${userEmail}`,
        method: 'get'
    })
}

//post请求
export function xxxx(code,newPassword,email,userId) {
    return request({
        url: `/xxx/xxx/xxx`,
        method: 'post',
        data:{
            newPassword:newPassword,
            code:code,
            email:email,
            userId:userId
        }
    })
}

//put请求
export function updateData(data) {
        return request({ 
        url: `/xxx/xxx`, 
        method: 'put', 
        data: data
        }) 
}

//delete请求
export function deleteData(id) {
  return request({
    url: `/xxx/xxx/${id}`,
    method: 'delete'
  })
}