强制修改调用接口的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('✅ 全局拦截器已启动');
})();
相关推荐
专业程序开发源9 分钟前
springboot生命故事书制作小程序65290-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·mysql·小程序·课程设计
鬓戈12 分钟前
Claude Code frontend-design 插件调研 与 Vue 旧系统风格一致性方案
前端·vue.js·人工智能
开开心心就好19 分钟前
以图搜图找重复图片,本地工具离线就能用
javascript·智能手机·ffmpeg·c#·ocr·word·音视频
vx_Biye_Design25 分钟前
springboot角色扮演服务平台65161-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·python·spring·课程设计
企业数字化笔记28 分钟前
视频局部合成怎么做得自然?掩膜修复、边缘羽化、时序稳定与背景替换
java·javascript·音视频
vx_Biye_Design37 分钟前
springboot咖啡厅顾客点单管理系统12080-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·课程设计·express
vx_Biye_Design1 小时前
springbootNBA数据分析系统平台42434-计算机课程设计、毕业设计
java·vue.js·spring boot·python·django·课程设计·express
liangshanbo12153 小时前
JavaScript 面试题:Object.keys() 的返回顺序是无序的吗?
开发语言·javascript·ecmascript
默_笙15 小时前
🚦 请三个 AI 考官给 RAG 打分:量化评估实战(下)
前端·javascript
阿坨15 小时前
灵感闪存卡:一款 Tampermonkey用户脚本
javascript·tampermonkey