vue 封装

第一步 先安装

npm install --save axios

第二部 在main.js引入

import { apiGet, apiPost } from "./api/api";
Vue.prototype.$apiGet = apiGet;
Vue.prototype.$apiPost = apiPost;

import axios from "axios";
Vue.prototype.$axios = axios;

第三步 创建aip 文件夹

我这里为了防止不乱 我有在api文件夹 文件里面创建一个aip文件

import axios from 'axios'
axios.defaults.timeout = 30000
axios.defaults.baseURL = "" //这里可以写接口的前缀
// axios.defaults.baseURL = process.env.VUE_APP_API_URL

// if(process.env.VUE_APP_MODE==='development'){
// 	console.log('开发');
// }else if(process.env.VUE_APP_MODE==='test'){
// 	console.log('测试');
// }else{
// 	console.log('正式');
// }
axios.interceptors.request.use((config) => {
    return config
}, (error) => {
    return Promise.reject(error)
})
axios.interceptors.response.use((response) => {
    if (response.status == 200) {
        return response
    }
}, (error) => {
    return Promise.reject(error)
})
export function apiGet(url) {
    return new Promise((resolve, reject) => {
        axios({
            method: 'get',
            url
        }).then(value => {
            resolve(value.data)
        }, reason => {
            reject(reason)
        })
    })
}
export function apiPost(url, data) {
    return new Promise((resolve, reject) => {
        axios({
            method: 'post',
            url,
            data
        }).then(value => {
            resolve(value.data)
        }, reason => {
            reject(reason)
        })
    })
}

让后在aip 文件夹里面创建一个http.js

这里面就是封装的接口了

import { apiGet, apiPost } from "./api"; //先引入api 


//    接口是什么就写什么
export function getCode() {
    return get('') // 这个不是参数的

}

export function postLogin(data) {
    return post('', data)  //这是带参数的
}


//post方法
function post(url, data) {
    return new Promise((resolve, reject) => {
        apiPost(url, data).then(value => {
            if (value.code == 0) {
                resolve(value)
            } else {
                reject(value)
            }
        }, reason => {
            reject(reason)
        })
    })
}
//get方法
function get(url) {
    return new Promise((resolve, reject) => {
        apiGet(url).then(value => {
            if (value.code == 0) {
                resolve(value)
            } else {
                reject(value)
            }
        }, reason => {
            reject(reason)
        })
    })
}

第四步就是使用了

在你页面 先引入

// http.js文件这个 export function 后面起什么名字这个 {} 就引入什么名字然后下边在调用一下就成功了

import { } from '../../api/http'
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值