vue項(xiàng)目中axios攔截器處理多域名多token等配置

出現(xiàn)過一個(gè)vue項(xiàng)目不止一個(gè)請求地址、token裳凸、alliance_id (token、alliance_id后端需要的配置信息劝贸,因項(xiàng)目而異)

1姨谷、首先新建全局變量文件,一個(gè)開發(fā)環(huán)境文件一個(gè)生產(chǎn)環(huán)境文件
image.png
# just a flag
ENV = 'development'
# base api
VUE_APP_BASE_API = 'https://test1.com'
VUE_APP_SECOND_API = 'http://test2.com'
VUE_APP_THIRD_API = 'http://test3.com'
# just a flag
ENV = 'production'
# base api
VUE_APP_BASE_API = 'https://test1.com'
VUE_APP_SECOND_API = 'http://test2.com'
VUE_APP_THIRD_API = 'http://test3.com'
2映九、API中設(shè)置識別環(huán)境參數(shù)梦湘,這里屬性名為requestBaseUrl

api 文件夾下的one.js文件

import request from '@/utils/request'

export function getList(params) {
  return request({
    url: `/xxx/olist`,
    method: 'GET',
    requestBaseUrl: 'one',
    params
  })
}

api 文件夾下的 second.js文件

import request from '@/utils/request'

export function getList(params) {
  return request({
    url: `/xxx/list`,
    method: 'GET',
    requestBaseUrl: 'second',
    params
  })
}

api 文件夾下的 third.js文件

import request from '@/utils/request'

export function login(data) {
  return request({
    url: `/xxx/login`,
    method: 'POST',
    requestBaseUrl: 'third',
    data
  })
}
3、開始配置request攔截器
import axios from 'axios'
import { MessageBox, Message } from 'element-ui'
import store from '@/store'
import Cookies from 'js-cookie'
import router from '../router'

// create an axios instance
const service = axios.create({
  baseURL: process.env.VUE_APP_BASE_API,
  timeout: 200000
})

// request interceptor
service.interceptors.request.use(
  config => {
    console.log('config', config)

    if (config.requestBaseUrl === 'second') { // test2API
      config.baseURL = process.env.VUE_APP_SECOND_API 
      config.headers['Alliance-ID'] = store.state.user.alliance_id ? store.state.user.alliance_id : 1000
    }

    if (config.requestBaseUrl === 'third') { // test3 API
      config.baseURL = process.env.VUE_APP_THIRD_API 
      config.headers['Alliance-ID'] = 1001
      if (store.state.user.accesstoken || Cookies.get('access_token')) { // 這個(gè)域名底下 token屬性和屬性值不同
        config.headers['authorization'] = Cookies.get('access_token')
      }
    }
    if (store.state.user.token && (config.requestBaseUrl === 'one' || config.requestBaseUrl === 'second')) {
      config.headers['token'] = store.state.user.token
    }

    config.headers['Content-Type'] = 'application/json'
    config.headers['Accept'] = 'application/json'

    return config
  },
  error => {
    console.log(error)
    return Promise.reject(error)
  }
)

具體可以打印出config參數(shù)件甥,會有baseUrl捌议、請求的url,header頭部和自定義屬性requestBaseUrl等


image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末引有,一起剝皮案震驚了整個(gè)濱河市瓣颅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌譬正,老刑警劉巖弄捕,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異导帝,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)穿铆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進(jìn)店門您单,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人荞雏,你說我怎么就攤上這事虐秦∑侥穑” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵悦陋,是天一觀的道長蜈彼。 經(jīng)常有香客問我,道長俺驶,這世上最難降的妖魔是什么幸逆? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮暮现,結(jié)果婚禮上还绘,老公的妹妹穿的比我還像新娘。我一直安慰自己栖袋,他們只是感情好拍顷,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著塘幅,像睡著了一般昔案。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上电媳,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天踏揣,我揣著相機(jī)與錄音,去河邊找鬼匆背。 笑死呼伸,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的钝尸。 我是一名探鬼主播括享,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼珍促!你這毒婦竟也來了铃辖?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤猪叙,失蹤者是張志新(化名)和其女友劉穎娇斩,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體穴翩,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡犬第,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了芒帕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片歉嗓。...
    茶點(diǎn)故事閱讀 39,977評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖背蟆,靈堂內(nèi)的尸體忽然破棺而出鉴分,到底是詐尸還是另有隱情哮幢,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布志珍,位于F島的核電站橙垢,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏伦糯。R本人自食惡果不足惜柜某,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望舔株。 院中可真熱鬧莺琳,春花似錦、人聲如沸载慈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽办铡。三九已至辞做,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間寡具,已是汗流浹背秤茅。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留童叠,地道東北人框喳。 一個(gè)月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像厦坛,于是被迫代替她去往敵國和親五垮。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評論 2 355