用户手动指定后端baseURL地址

问题遇到的现象和发生背景

开发一个客户端连接工具,使用vue-element框架,后端api地址由用户手动输入,指定

img

需要将用户的输入api接口地址替换掉request.js中的baseURL

img

操作环境、软件版本等信息

vuecli5
macos 16

尝试过的解决方法

在交流群详细描述了我的问题,未解决。
百度相关问题,都是在编译的时候可以动态解决,但是没有将用户输入当作后端api接口的问题解决方案

我想要达到的结果

用户手动输入一个api地址和用户名密码,然后当前这个程序的后续所有api请求都向用户输入的接口进行请求,
假如登录时,用户输入 服务器apiurl: http://www.abc.com/ 用户名: admin 密码: 1234656 则vue程序使用http://www.abc.com作为BaseURL,拼接登录路由,http://www.abc.com/user/login发起登录请求,登录成功后,其他所有的api请求都使用http://www.abc.com作为baseURL

  1. 假设你之前是const baseUrl=1.xxx.com
  2. 请求时url前缀的拼凑方式修改为window.baseUrl||baseUrl
  3. 按你的需求用户输入成功后替换window.baseUrl=http://2.xxx.com/

可以参考一下这篇文章,应该对你有帮助,可以在登陆的时候自动设置

登录按钮哪里。
点击登录。可以获取用户输入的地址是吧。假设是 inputUrl
然后赋值就可以了。this.$axios.baseURL = inputUrl
注意this指向