强制修改调用接口的api地址。

最近我开始遇到一个问题。我要在一个公司封装好的前端项目中进行开发。但是他的接口请求api在request.js文件中通过baseURL写死的。我只能通过拦截件接口进行强制修改api地址。

我开始在vue.config.js文件中进行拦截。之后走代理。但是拦截不到。

通过大量问AI。终于找到了个方法:

在main.j写如下::

window.__gconf.AppServerAddress------是原先的api地址

window.__gconf.FormAddress------是改成想要的api地址

复制代码
(function() {
  // 拦截 fetch
  const originalFetch = window.fetch;
  const urlStr = window.__gconf.AppServerAddress + '/runtime/form';
  console.log('🔀 全局拦截器已启动,拦截 URL:', urlStr);
  window.fetch = function(url, options) {
    if (typeof url === 'string' && url.includes(urlStr)) {
      url = url.replace(window.__gconf.AppServerAddress, window.__gconf.FormAddress);
      console.log('🔀 Fetch 重写:', url);
    }
    return originalFetch.call(this, url, options);
  };

  // 拦截 XMLHttpRequest
  const originalOpen = XMLHttpRequest.prototype.open;
  XMLHttpRequest.prototype.open = function(method, url, ...args) {
    if (typeof url === 'string' && url.includes(urlStr)) {
      url = url.replace(window.__gconf.AppServerAddress, window.__gconf.FormAddress);
      console.log('🔀 XHR 重写:', url);
    }
    return originalOpen.call(this, method, url, ...args);
  };
  
  console.log('✅ 全局拦截器已启动');
})();
相关推荐
paopaokaka_luck4 小时前
宠物门店经营管理系统(销售与库存联动、进货自动记账、 退换与退款关联、员工个人业绩、ECharts 经营分析、滞销识别与客户分层、宠物档案年龄计算)
前端·javascript·spring boot·mysql·echarts·mybatis·1024程序员节
paopaokaka_luck7 小时前
心理咨询管理系统(WebSocket实时沟通、基于用户的协同过滤、 ECharts多维分析、 预约业务流程、预约校验与定时处理)
java·vue.js·spring boot·mysql·spring·echarts·1024程序员节
鶴哥只手遮天8 小时前
jQuery 4.0 源码架构与工程实践-第 10 章 尺寸、几何与显隐
前端·javascript·jquery
米米商聊10 小时前
图标能点,按钮就可用了吗?键盘、名称与收藏状态
前端·javascript
漫天转悠12 小时前
Vue3白屏排查实录-Transition与多根模板
vue.js·1024程序员节
技术小甜甜12 小时前
【Cursor】Skill 被标黄色警告,怎么改成合格的 SKILL.md
开发语言·javascript·ai编程·cursor·1024程序员节·ai agent·skills
qetfw13 小时前
Bash 函数与流程控制:read、if、for、case 验证
linux·前端·javascript·bash
jason.zeng@150220714 小时前
Nginx 配置详解(静态 HTML、下载目录、API 反向代理三套场景)
java·vue.js·1024程序员节
鬼手点金14 小时前
从 API 消息到模型 Token:Chat Template
java·前端·javascript·数据库·人工智能·深度学习·1024程序员节
Mr.Pascal15 小时前
Javascript之什么是作用域?
javascript·1024程序员节