12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- /**
- * 封装axios的类
- * nh 2021.12.23
- */
- import axios from 'axios'
- var CancelToken = axios.CancelToken
- var cancel
- // 创建axios实例
- const axiosservice = axios.create({
- timeout: 3000000, // 请求超时时间
- cancelToken: new CancelToken(function executor(c) {
- // executor 函数接收一个 cancel 函数作为参数
- cancel = c
- })
- })
- axiosservice.interceptors.request.use(
- config => {
- return config
- },
- error => {
- return Promise.reject(error)
- }
- )
- axiosservice.interceptors.response.use(
- function (res) {
- //在这里对返回的数据进行处理
- let resp = res.data
- return res
- },
- function (err) {
- console.log('axios interceptors err = ', err)
- return Promise.reject(err)
- }
- )
- export class axiosUtils {
- /**
- * get请求
- * @param url
- * @param data
- * @returns
- */
- protected async getRequest(url: string, data: any) {
- try {
- let response = await this.customRequest(url, {}, data, 'get');
- return response.data;
- } catch (err) {
- throw err
- }
- };
- /**
- * post请求
- * @param url
- * @param data
- * @returns
- */
- protected async postRequest(url: string, data: any) {
- try {
- let response = await this.customRequest(url, {}, data, 'post');
- return response.data;
- } catch (err) {
- throw err
- }
- };
- /**
- * 自定义请求
- * @param url
- * @param headers
- * @param data
- * @param method get | post 默认post
- * @returns
- */
- protected async customRequest(url: string, headers: any, data: any, method: string = 'post') {
- try {
- let response = await axiosservice({
- url,
- headers: headers || {},
- data,
- method: method == 'post' ? 'post' : 'get'
- })
- return response.data
- } catch (err) {
- throw err
- }
- }
- }
|