强制修改调用接口的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('✅ 全局拦截器已启动');
})();
相关推荐
汉堡大王952711 分钟前
用 Trae Work 自动化任务,6 分钟生成一份前端生态周报
前端·javascript·人工智能
章鱼小丸子逃跑中33 分钟前
【2025最新版】如何将fnm与node.js安装在D盘?【保姆级安装及人性话理解教程】
前端·javascript·npm·node.js
CAD老兵2 小时前
在浏览器里对比 DWG/DXF 图纸 —— @mlightcad/cad-diff-viewer
前端·javascript·github
WL_arm3 小时前
Vibe Coding(氛围编程)入门
javascript·css·人工智能·html5
艾醒(AiXing-w)3 小时前
LangChain 1.0 入门(二):LangChain 全模型标准化接入最佳实践(小白参数详解版)
前端·javascript·langchain
Hilaku4 小时前
一行 CSS 新特性干掉 20 行 JavaScript ?
前端·javascript·程序员
风月说与山鬼5 小时前
JS闭包详解
开发语言·javascript
粥里有勺糖6 小时前
视野修炼-技术周刊第130期 | 光影效果
前端·javascript·github
全栈项目管理程序猿6 小时前
ArcGIS JS 基础教程(13):屏幕坐标与地理坐标互转
javascript
名字还没想好☜6 小时前
Next.js 用 cookies()/headers() 读请求信息:动态渲染触发、缓存失效与在 Server Action 里读写 cookie
前端·javascript·缓存·react·next.js·app router