Vue前端api封裝(修改版)

看評(píng)論說(shuō)用markdown ,嗯。。被嫌棄了,我也覺(jué)得之前的排版好丑,重新寫一次,順便把put 和delete 方法加上

一. 在src 目錄下創(chuàng)建request 文件夾,然后在里面新建http.js和api.js文件,http.js 用于封裝 axios,api.js用來(lái)統(tǒng)一管理我們的接口。

安裝 axios
npm i axios --save
http.js
// 引入
import axios from "axios"
// 環(huán)境 
 axios.defaults.baseURL ='http://xxx.xxx.xxx:xxxx/';   //  要請(qǐng)求的后臺(tái)地址
// 請(qǐng)求超時(shí)
axios.defaults.timeout =30000;
//  post 請(qǐng)求頭 
axios.defaults.headers.post['Content-Type'] ='application/json';
封裝方法
/**
    * get方法,對(duì)應(yīng)get請(qǐng)求
    * @param {String} url [請(qǐng)求的url地址]
    * @param {Object} params [請(qǐng)求時(shí)攜帶的參數(shù)]
*/
 export function get(url, params){
        return new Promise((resolve, reject) =>{
        axios.get(url, {
            params: params
          }).then(res => {
                resolve(res.data)
            }).catch(err => {
                reject(err.data)
        })
    });
}
/**
* post方法,對(duì)應(yīng)post請(qǐng)求
* @param {String} url [請(qǐng)求的url地址]
* @param {Object} params [請(qǐng)求時(shí)攜帶的參數(shù)]
*/
export function post(url, params) {
    return new Promise((resolve, reject) => {
        axios.post(url, params,).then(res => {
            resolve(res.data)
        }).catch(err => {
            reject(err.data)
        })
    });
}
/**
 * put方法,對(duì)應(yīng)put請(qǐng)求
 * @param {String} url [請(qǐng)求的url地址]
 * @param {Object} params [請(qǐng)求時(shí)攜帶的參數(shù)]
 */
export function put(url, params) {
  return new Promise((resolve, reject) => {
    axios.put(url, params,)
      .then(res => {
        resolve(res.data)
      })
      .catch(err => {
        reject(err.data)
      })
  });
}
/**
 * $delete,對(duì)應(yīng)delete請(qǐng)求
 */
export function $delete(url, params){
  return new Promise((resolve, reject) =>{
    axios.delete(url, {
      data: params
    })
      .then(res => {
        resolve(res.data)
      })
      .catch(err => {
        reject(err.data)
      })
  });
}

二,把接口統(tǒng)一寫在api.js 中

/**
 * api接口統(tǒng)一管理
 */
import { post, $delete, put } from "./http";

// 設(shè)備詳情
export const apiDeviceDetail = data => post("api/device/detail", data);
// 修改設(shè)備
export const apiUpdeteDevice = data => put("api/device", data);
// 刪除設(shè)備
export const apiDelDevice = data => $delete("api/device", data);

三,調(diào)用

init() {     // 方法
  apiDeviceDetail({
    sid: this.id             // 需要傳遞的參數(shù)
  }).then(res => {
      console.log(res)
    })
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容