vue项目根据不同环境动态配置接口

首先,在公共请求接口的地方src/api/common.js

1 // 公共配置接口域名接口
2 export function configApi(data) {
3   return request({
4     url: '配置接口',
5     method: 'post',
6     data
7   })
8 }

 

然后,main.js引用和使用

import { configApi } from './api/commonApi' // 引入公共接口
 1 // 请求公共配置域名接口
 2 var params = {
 3   'app_secret': 'BC3.342.78',
 4   'appid': 'BC100'
 5 }
 6 configApi(params)
 7   .then(response => {
 8     var data = response.result
 9     if (process.env.EVN_CONFIG === 'prod' && process.env.NODE_ENV === 'production') {
10       // 正式环境
11       Vue.prototype.baseConfig = data[0]
12     } else if (process.env.EVN_CONFIG === 'test' && process.env.NODE_ENV === 'test') {
13       // 测试环境
14       Vue.prototype.baseConfig = data[1]
15     } else {
16       // 开发环境
17       Vue.prototype.baseConfig = data[2]
18     }
19     new Vue({
20       el: '#app',
21       router,
22       components: { App },
23       template: '<App/>'
24     })
25   })
26   .catch((error) => {
27     console.log(error.result)
28   })

 最后,前端请求后台接口时

import request from '../../config/axios'
import Vue from 'vue'
const basetConfig = Vue.prototype.baseConfig
// 查询合同信息
export function queryContractInfoProc(data) {
  return request({
    url: basetConfig.genexusUrl + '后台接口',
    method: 'post',
    data
  })
}

 

posted @ 2020-05-08 15:13  此夏_唯美  阅读(3095)  评论(0编辑  收藏  举报