axios封装、二次封装

一次封装

第一步安装:npm install --save axios
第二步:创建一个api.js 文件

import axios from "axios";
 
axios.defaults.baseURL = "https://zzgoodqc.cn"; //全局配置ip地址 写个这别的就不要在写了
 
axios.defaults.timeout = 30000;//超过30s报错
 
//添加响应拦截器
axios.interceptors.response.use(function (response) {
    //可以写if判断,提前拦截错误信息
    return response;
}, function (err) {
    return Promise.reject(err);
});
 
//post封装
export function apiPost(url, params){
    return new Promise((resolve, reject) => {
            axios({
                method: 'post',
                url:url,
                data:params
            }).then(res => {
                resolve(res.data);
            }).catch(err =>{reject(err.data)})
        });
    }
//get 封装
export function apiGet(url, params){ 
    return new Promise((resolve, reject) =>{ 
        axios.get(url, { 
            params: params,
            headers:{"token":sessionStorage.getItem('token')}
        }).then(res => {
            resolve(res.data);
        }).catch(err =>{
            reject(err.data) 
        }) 
   });
}

第三步,在main.js 中声明原型使用他

import {apiGet,apiPost} from './api/https'
Vue.prototype.$apiGet  = apiGet
Vue.prototype.$apiPost = apiPost

第四步,在页面中使用

this.$apiGet
this.$apiPost

二次封装

再api里面创建一个http.js文件

import { apiGet } from "./api";
 
export function getList() {
  return new Promise((resolve, reject) => {
    apiGet("/index.php/index/index/getcode")
      .then((res) => {
        resolve(res);
      })
      .catch((err) => {
        reject(err);
      });
  });
}

使用参数

import { getList } from '../api/http'
export default {
  data() {
    return {
 
    }
  },
  async created() {
    let res = await getList()
    console.log(res, 123);
  }
}

相关推荐

  1. axios封装封装

    2023-12-10 19:38:01       71 阅读
  2. Axios 封装详解

    2023-12-10 19:38:01       40 阅读
  3. 关于axios封装

    2023-12-10 19:38:01       56 阅读
  4. vue对axios进行封装

    2023-12-10 19:38:01       49 阅读
  5. vue3 axios封装

    2023-12-10 19:38:01       64 阅读
  6. 新手基于axios封装

    2023-12-10 19:38:01       46 阅读
  7. axiosaxios封装、api解耦

    2023-12-10 19:38:01       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-10 19:38:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-10 19:38:01       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-10 19:38:01       82 阅读
  4. Python语言-面向对象

    2023-12-10 19:38:01       91 阅读

热门阅读

  1. 网络视频服务器的作用是什么?

    2023-12-10 19:38:01       61 阅读
  2. TCP聊天

    TCP聊天

    2023-12-10 19:38:01      51 阅读
  3. STM32用flash保存参数实现平衡擦写的一种方法

    2023-12-10 19:38:01       41 阅读
  4. 三元组的快速转置(数据结构实训)

    2023-12-10 19:38:01       43 阅读
  5. MyBatis-xml版本

    2023-12-10 19:38:01       63 阅读
  6. RabbitMQ安装在Linux系统详细教程

    2023-12-10 19:38:01       60 阅读
  7. OD机考真题搜集:宜居星球改造计划

    2023-12-10 19:38:01       55 阅读
  8. [ES]ElasticSearch强转日期的时区问题

    2023-12-10 19:38:01       52 阅读
  9. ubuntu源配置文件/etc/apt/sources.list不存在

    2023-12-10 19:38:01       62 阅读
  10. uniapp小程序分享为灰色

    2023-12-10 19:38:01       50 阅读