vue访问接口定义全局变量


1.在config里面找到dev.env.js以及prod.env.js两个文件,分别写上定义的常量以及端口号,注意单引号双引号

2. 在ajax的时候直接写   

 `${process.env.URL_PATH}/app/appLogin`   
或者
 url: process.env.URL_PATH+'/app/appLogin',
 

在实际开发中,使用vue 后就是前后端分离开发了,这时候我们就需要访问后台的接口来拿到数据,需要URL,name,password来获取到token才能正常使用接口,下面就来配置。

1.找到config文件夹,在prod.env.js中添加一下代码(若没有此JS,自己创建一个就可以了)

'use strict'
module.exports = {
  NODE_ENV: '"production"',
  API_ROOT: '"//123.116.245.150:18081/api"',/*j后台接口地址*/
  USER_NAME: '""',/*账号*/
  PASS_WD: '""'/*密码*/
 
}


2.找到config文件夹,在dev.env.js中添加下面代码。

'use strict'
const merge = require('webpack-merge')
const prodEnv = require('./prod.env')
 
module.exports = merge(prodEnv, {
  API_ROOT: '"//125.116.245.101:18081/api"',/*后台接口地址*/
  USER_NAME: '"小小小"',/*账号*/
  PASS_WD: '"123456"',/*密码*/
 
})


然后再登录页面的from中调用这里写的变量

 form: {
          name: process.env.USER_NAME,
          password: process.env.PASS_WD,
       
        },


在main.js中设置头部拦截器,代码如下

const url = process.env.API_ROOT;
 axios.interceptors.request.use(
      config => {
        let token = localStorage.getItem("x-auth-token");
        if (token) {  // 判断是否存在token,如果存在的话,则每个http header都加上token
          config.headers.token = `${token}`;
        }
   
        if (config.url.indexOf(url) === -1) {
          let getTimestamp=new Date().getTime();
          if(config.url.indexOf('?')>-1){
            config.url = url + config.url +"&timestamp="+getTimestamp;
          }else{
            config.url = url +config.url +"?timestamp="+getTimestamp;
          }
        
        }
        return config;
      },
      err => {
        alert(err)
        return Promise.reject(err);
      });


这样访问后台接口配置就完成了
 

猜你喜欢

转载自blog.csdn.net/ddwddw4/article/details/83617575