强制修改调用接口的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('✅ 全局拦截器已启动');
})();
相关推荐
八荒启·交互动画4 分钟前
Web特效01—什么是渲染
前端·javascript·网页特效·八荒启-交互动画
南京兴帝文化传媒有限公司28 分钟前
基于地图平台的本地商户信息优化:药店夜间服务标注与客户转化实操
前端·javascript·数据库·人工智能·geo 优化·geo优化避坑·ai搜索获客
八荒启_交互动画1 小时前
Web特效03——像素VS顶点:图形处理的的两种基本单位
javascript
雪芽蓝域zzs1 小时前
第四十二节:全局字典封装(后端字典,下拉选择复用)
开发语言·前端·javascript
样子20181 小时前
Js 之根据白名单过滤 HTML(防止 XSS 攻击)
android·前端·javascript·html·xss
尘世中一位迷途小书童1 小时前
在 Cesium 上画全球网格:我们怎么把 GeoSOT 接到瓦片调度上
前端·javascript·前端框架
Bs_MoneyMagnet1 小时前
基于springboot+vue的在线音乐管理系统的设计与实现 源码+文档
java·vue.js·spring boot·后端·spring
CoderYanger2 小时前
Java EE 进阶:2.3 JavaScript
java·开发语言·前端·javascript·css·职场和发展·java-ee
岁岁种桃花儿2 小时前
Vue组件化编程第二篇:非单位件组件
前端·javascript·vue.js
晓得迷路了2 小时前
栗子前端技术周刊第 146 期 - React 19.3、jQuery 1.0 20 周年、Bun 1.4.2...
前端·javascript·react.js