当前位置: 首页>后端>正文

ts axios 在封装

创建文件axios.ts

import axios from "axios";
import Config from "./config";
const instance = axios.create({
  baseURL: Config.baseURL,
  headers:{
    'Content-Type':'application/json'
  }
});
/**
 * 请求发出前拦击器
 * 
 */
instance.interceptors.request.use(
  function (configs) {
    console.log(configs);
    return configs;
  },
  function (err) {
    return Promise.reject(err);
  }
);
/**
 * 请求回来之前拦截器
 */
instance.interceptors.response.use(
  function (respose) {
    console.log(respose);
    return respose;
  },
  function (err) {
    return Promise.reject(err);
  }
);

const myAxios = {
    /**
     * 自定义myAxios --> get 方法
     * @param api  访问地址
     * @param params  参数 如:{a:1,b:2}
     * @returns 
     */
    get:function(api:string,params?:object){
        return new Promise((resolve,reject)=>{
        instance.get(api,{
            params:params
        }).then(res=>{
            resolve(res)
        }).catch(err=>{
            reject(err)
        })

        })
    },
    /**
     * 自定义 myAxios -->post 方法
     * @param api   访问地址
     * @param params    参数 如 :{a:1,b:2}
     * @returns 
     */
    post:function(api:string,params?:object){
        return new Promise((resolve,reject)=>{
            instance.post(api,params).then(res=>{
                resolve(res)
            }).catch(err=>{
                reject(err)
            })

        })
    }
}

export default myAxios;


创建文件config.ts

const Config = {
    baseURL:'',
}
export default Config;

创建文件api.ts

import myAxios from "./axios"
const Api = {
    login:(data?:object)=>myAxios.get('',data),
}

export default Api;

调用

 Api.login().then(res=>{
            console.log(res)
        })

https://www.xamrdz.com/backend/3rj1923501.html

相关文章: