關于項目數(shù)據(jù)請求

在 src 下面新建專門請求的 api ,里面放一個 request.js

新建 request.js文件

request.js (幾乎一樣,有待驗證)

import axios from 'axios'
import router from '@/router'
import { Message } from 'element-ui'

// 創(chuàng)建axios實例
const service = axios.create({
  // baseURL: process.env.BASE_API, // api 的 base_url
  timeout: 10000 // 請求超時時間
})

// axios 請求攔截器,有token值則配置上token值
service.interceptors.request.use(
  config => {
    let token = window.localStorage.getItem('accessToken')
    if (token) { // 判斷是否存在token,如果存在的話,則每個http header都加上token和Authorization
      config.headers['Token'] = token
      config.headers['Authorization'] = token
    }
    return config
  },
  err => {
    return Promise.reject(err)
  })
// axios 服務器響應攔截器,這里攔截401錯誤,并重新跳入登頁重新獲取token
service.interceptors.response.use(
  response => {
    switch (response.data.code) {
      case '1000001':
        // 這里寫清除token的代碼
        window.localStorage.removeItem('accessToken')
        router.replace({
          path: 'login'
        })
        Message.error('code已失效,請重新登錄')
        break
      case '1000002':
        router.replace({
          path: '/'
        })
        Message.error('您沒有權限操作此功能!')
        break
    }
    return response
  },
  error => {
    if (error.response) {
      // console.log(99999);
      // console.log(error.response);
      // console.log(99999);
      // switch (error.response.status) {
      //   case 401:
      //     // 這里寫清除token的代碼
      //     router.push({
      //       path: 'login',
      //       query: {redirect: router.currentRoute.fullPath}   //登錄成功后跳入瀏覽的當前頁面
      //     })
      // }
    }
    return Promise.reject(error.response.data)
  })
export default service

比方在 api 文件夾中新建一個專門請求氣象的 weather.js,則里面代碼第一行首先引入剛才的 request 請求,如圖:

請求氣象站的js文件

weather.js中的代碼如下:

import request from '@/api/common/request'

const WeatherApi = {
    create: function() {
        const obj = {}
        obj.getWeatherPcData = function(url, data, pageNum, pageSize) {
            return request({
                url: url + '/IotWeatherHis/list/page' + '/' + pageNum + '/' + pageSize,
                method: 'post',
                data
            })
        }
        return obj
    }
}.create()

export default WeatherApi

后臺接口:


主要看這個

快速搭建好請求的js

1、觀察后臺給的接口,尤其是紅框內(nèi)
2、在封裝請求的js文件中,url一行,一一對應:


請求數(shù)據(jù)的weather.js文件.png
后臺接口url傳參.png

3、在vue頁面調(diào)用時:


中間的obj其實沒有用到
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

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

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,621評論 1 32
  • iOS網(wǎng)絡架構討論梳理整理中。。。 其實如果沒有APIManager這一層是沒法使用delegate的,畢竟多個單...
    yhtang閱讀 5,466評論 1 23
  • 本博客轉(zhuǎn)自:「作者:若愚鏈接:https://zhuanlan.zhihu.com/p/22361337來源:知乎...
    韓寶億閱讀 2,929評論 0 3
  • 孩子爸帶著孩子進入夢鄉(xiāng)啦 他們都很自律的 沒什么特殊情況 每天晚上基本上在22:30之前能切入到睡覺模式 就只有我...
    幸福氧花閱讀 303評論 0 4
  • 這部分是弗蘭克在答應給伊爾莎上音樂課后的不安、重視的心理和自信的外在體現(xiàn)。 他向大家尋求幫助,想到背詩、彈鋼琴,但...
    櫻苔閱讀 226評論 0 0

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