国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

vue項目中api接口管理總結

2019-11-19 13:59:42
字體:
來源:轉載
供稿:網友

默認vue項目中已經使用vue-cli生成,安裝axios,基于element-ui開發,axiosconfig目錄和api目錄是同級,主要記錄配置的相關。

1. 在axiosconfig目錄下的axiosConfig.js

import Vue from 'vue'import axios from 'axios'import qs from 'qs'import { Message, Loading } from 'element-ui'// 響應時間axios.defaults.timeout = 5 * 1000// 配置cookie// axios.defaults.withCredentials = true// 配置請求頭axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'// 靜態資源Vue.prototype.$static = ''// 配置接口地址axios.defaults.baseURL = ''var loadingInstance// POST傳參序列化(添加請求攔截器)axios.interceptors.request.use( config => {  loadingInstance = Loading.service({   lock: true,   text: '數據加載中,請稍后...',   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('請求錯誤')  return Promise.reject(err) })// 返回狀態判斷(添加響應攔截器)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('請求失敗,請稍后再試')  return Promise.reject(err) })// 發送請求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.jsimport { post } from '../axiosconfig/'export default {  login(params) {    return post('/users/api/login', params)  }}api2.jsimport { post } from '../axiosconfig/'export default {  regist(params) {    return post('/users/api/regist', params)  }}index.jsimport 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) })}注冊組件中doRegist() { let params={} this.$api.api2.regist(params).then(res => {  console.log(res) })}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德江县| 商丘市| 中宁县| 枣阳市| 奈曼旗| 泾川县| 察雅县| 股票| 含山县| 丰台区| 宁波市| 井陉县| 醴陵市| 江北区| 枝江市| 外汇| 英吉沙县| 康平县| 贵港市| 兴业县| 黔西县| 杭州市| 台湾省| 河东区| 彰化市| 瓦房店市| 江华| 景泰县| 湖北省| 房山区| 积石山| 普陀区| 昂仁县| 武宣县| 盐池县| 山阳县| 岳阳市| 柘荣县| 锦州市| 汶川县| 铁岭市|