• vue项目调用多个不同的ip接口


    在这里插入图片描述
    灵感来源: 项目的登录登出权限是调A的ip下面的接口,其他的功能调的接口是B的ip下面的接口
    思路:其实就是多写几个request.js文件罢了,或者在一个文件里面多写几个响应拦截和请求拦截.
    上代码:
    第一个文件
    request.js

    import axios from 'axios'
    import Vue from 'vue'
    
    if(process.env.NODE_ENV == "development"){//开发环境
      axios.defaults.baseURL = 'http://xxxxxx/air/';
    }else if(process.env.NODE_ENV == "production"){
      axios.defaults.baseURL = '/air/api'; // 生产环境
    }
    const service = axios.create({
      timeout: 20000,
    })
    // 请求拦截
    service.interceptors.request.use(
      config => {
        return config;
      },
      error => {
        // 请求错误处理.......
      }
    )
    // 响应拦截
    service.interceptors.response.use(
      response =>{
        //响应结果处理.......
      },
      error => {
    	// 请求错误处理.......
      }
    )
    export default service
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    第二个文件
    requestSec.js

    import axios from 'axios'
    import Vue from 'vue'
    
    if(process.env.NODE_ENV == "development"){//开发环境
      axios.defaults.baseURL = 'http://xxxxxx/air/';
    }else if(process.env.NODE_ENV == "production"){
      axios.defaults.baseURL = '/air/api'; // 生产环境
    }
    const sec = axios.create({
      timeout: 20000,
    })
    // 请求拦截
    sec.interceptors.request.use(
      config => {
        return config;
      },
      error => {
        // 请求错误处理.......
      }
    )
    // 响应拦截
    sec.interceptors.response.use(
      response =>{
        //响应结果处理.......
      },
      error => {
    	// 请求错误处理.......
      }
    )
    export default sec
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    哎?你会发现这两个文件不是一样的吗,对,就是一样的,只不过是声明了两个请求拦截和响应拦截罢了.你也可以放到一个文件里面.都一样.
    第三个文件,
    封装的接口文件

    import axios from './request'
    import sec from './requestSec'
    
    // 登录
    export function login(data) {
      return sec({
        method:'post',
        url:'system/login',
        data,
      })
    }
    // 分页查询所有管辖区域
    export function queryWithPageAll(params) {
      return axios({
        method:'get',
        url:'area/queryAll',
        params
      })
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    到这里就可以看出不一样了,如果要调用request里面ip下面的接口就return axios 如果要调用requestSec里面ip下面的接口就return sec
    其他就是正常的了,哪个页面调用就正常调用就可以了.
    📢ok.到此为止,朋友们我们下篇文章再见~
    📢如果此篇博文对您有帮助,还请动动小手点赞 👍 收藏 ⭐留言 📝呐~,谢谢 ~ ~

  • 相关阅读:
    JDK JRE JVM解释及Java代码编译运行过程
    Programming Languages PartC Week3学习笔记——子类型(Subtyping)的讨论
    Spring 中自定义注解 @DBMasterAnno 和 @Async 注解在循环依赖场景下使用出现问题
    [免费专栏] Android安全之利用ADT获取内存中的敏感信息
    MMDetection 使用示例:从入门到出门
    七、JavaScript:DOM对象、元素选择器
    类EMD的“信号分解方法”及MATLAB实现(第九篇)——小波包变换(WPT)/小波包分解(WPD)
    2023年H1汽车社媒营销趋势报告
    React 路由/5版本
    java-net-php-python-ssm二手手机回购网站计算机毕业设计程序
  • 原文地址:https://blog.csdn.net/m0_52539553/article/details/125990964