最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue項(xiàng)目中api接口管理總結(jié)

 更新時(shí)間:2018年04月20日 08:57:37   作者:codingpanda  
本篇文章給大家介紹了vue項(xiàng)目中API接口管理的相關(guān)知識(shí)點(diǎn),以及相關(guān)JS代碼分析,有興趣的朋友參考下。

默認(rèn)vue項(xiàng)目中已經(jīng)使用vue-cli生成,安裝axios,基于element-ui開發(fā),axiosconfig目錄和api目錄是同級(jí),主要記錄配置的相關(guān)。

1. 在axiosconfig目錄下的axiosConfig.js

import Vue from 'vue'
import axios from 'axios'
import qs from 'qs'
import { Message, Loading } from 'element-ui'
// 響應(yīng)時(shí)間
axios.defaults.timeout = 5 * 1000
// 配置cookie
// axios.defaults.withCredentials = true
// 配置請(qǐng)求頭
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'
// 靜態(tài)資源
Vue.prototype.$static = ''

// 配置接口地址
axios.defaults.baseURL = ''
var loadingInstance
// POST傳參序列化(添加請(qǐng)求攔截器)
axios.interceptors.request.use(
 config => {
  loadingInstance = Loading.service({
   lock: true,
   text: '數(shù)據(jù)加載中,請(qǐng)稍后...',
   spinner: 'el-icon-loading',
   background: 'rgba(0, 0, 0, 0.7)'
  })
  if (config.method === 'post') {
   config.data = qs.stringify(config.data)
  }
  return config
 },
 err => {
  loadingInstance.close()
  Message.error('請(qǐng)求錯(cuò)誤')
  return Promise.reject(err)
 }
)
// 返回狀態(tài)判斷(添加響應(yīng)攔截器)
axios.interceptors.response.use(
 res => {
  if (res.data.code === 200) {
   loadingInstance.close()
   return res
  } else {
   loadingInstance.close()
   Message.error(res.data.msg)
  }
 },
 err => {
  loadingInstance.close()
  Message.error('請(qǐng)求失敗,請(qǐng)稍后再試')
  return Promise.reject(err)
 }
)
// 發(fā)送請(qǐng)求
export function post (url, params) {
 return new Promise((resolve, reject) => {
  axios
   .post(url, params)
   .then(
    res => {
     resolve(res.data)
    },
    err => {
     reject(err.data)
    }
   )
   .catch(err => {
    reject(err.data)
   })
 })
}
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)
   })
 })
}

2. 在api目錄下的index.js,api1.js,api2.js

api1.js
import { post } from '../axiosconfig/'
export default {
  login(params) {
    return post('/users/api/login', params)
  }
}
api2.js
import { post } from '../axiosconfig/'
export default {
  regist(params) {
    return post('/users/api/regist', params)
  }
}
index.js
import user from './api1.js'
import active from './api2.js'
export default {
 api1,
 api2
}

3. main.js 配置

import api from './api/'
Vue.prototype.$api = api

4. 在組件中使用

登錄組件中
doLongin() {
 let params={}
 this.$api.api1.login(params).then(res => {
  console.log(res)
 })
}
注冊(cè)組件中
doRegist() {
 let params={}
 this.$api.api2.regist(params).then(res => {
  console.log(res)
 })
}



相關(guān)文章

  • Vue3使用echarts繪制儀表盤

    Vue3使用echarts繪制儀表盤

    這篇文章主要為大家學(xué)習(xí)介紹了Vue3如何使用echarts實(shí)現(xiàn)繪制儀表盤,文中的示例代碼積極學(xué)習(xí),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-07-07
  • vue實(shí)現(xiàn)登錄頁面的驗(yàn)證碼以及驗(yàn)證過程解析(面向新手)

    vue實(shí)現(xiàn)登錄頁面的驗(yàn)證碼以及驗(yàn)證過程解析(面向新手)

    這篇文章主要介紹了vue實(shí)現(xiàn)登錄頁面的驗(yàn)證碼以及驗(yàn)證過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 詳解Vue實(shí)戰(zhàn)指南之依賴注入(provide/inject)

    詳解Vue實(shí)戰(zhàn)指南之依賴注入(provide/inject)

    這篇文章主要介紹了詳解Vue實(shí)戰(zhàn)指南之依賴注入(provide/inject),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-11-11
  • Vue中的路由跳轉(zhuǎn)(返回、刷新、跳轉(zhuǎn))

    Vue中的路由跳轉(zhuǎn)(返回、刷新、跳轉(zhuǎn))

    這篇文章主要介紹了Vue中的路由跳轉(zhuǎn)(返回、刷新、跳轉(zhuǎn))方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • vue項(xiàng)目使用axios封裝request請(qǐng)求的過程

    vue項(xiàng)目使用axios封裝request請(qǐng)求的過程

    這篇文章主要介紹了vue項(xiàng)目使用axios封裝request請(qǐng)求,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • 淺談vue中$bus的使用和涉及到的問題

    淺談vue中$bus的使用和涉及到的問題

    這篇文章主要介紹了淺談vue中$bus的使用和涉及到的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • 關(guān)于vue3.0中的this.$router.replace({ path: ''/''})刷新無效果問題

    關(guān)于vue3.0中的this.$router.replace({ path: ''/''})刷新無效果問題

    這篇文章主要介紹了關(guān)于vue3.0中的this.$router.replace({ path: '/'})刷新無效果問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • vue+elementUI下拉框回顯問題及解決方式

    vue+elementUI下拉框回顯問題及解決方式

    這篇文章主要介紹了vue+elementUI下拉框回顯問題及解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • vue中后端做Excel導(dǎo)出功能返回?cái)?shù)據(jù)流前端的處理操作

    vue中后端做Excel導(dǎo)出功能返回?cái)?shù)據(jù)流前端的處理操作

    這篇文章主要介紹了vue中后端做Excel導(dǎo)出功能返回?cái)?shù)據(jù)流前端的處理操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • VUE前端刪除和批量刪除實(shí)現(xiàn)代碼

    VUE前端刪除和批量刪除實(shí)現(xiàn)代碼

    這篇文章主要給大家介紹了關(guān)于VUE前端刪除和批量刪除的相關(guān)資料, 在實(shí)際的開發(fā)中,我們可以使用Vue.js來快速實(shí)現(xiàn)批量刪除功能,文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-07-07

最新評(píng)論

巨鹿县| 横峰县| 邓州市| 穆棱市| 马边| 兴文县| 隆德县| 子洲县| 大余县| 新绛县| 镇平县| 竹溪县| 依兰县| 盐池县| 榆中县| 嘉义市| 昂仁县| 永顺县| 闽侯县| 桐柏县| 山东省| 洛阳市| 富阳市| 繁昌县| 那曲县| 盱眙县| 潼关县| 正阳县| 江津市| 肇庆市| 龙海市| 镇巴县| 黔东| 南康市| 繁昌县| 曲阜市| 南城县| 吴忠市| 竹北市| 康马县| 类乌齐县|