遇到一个需求,项目私有化部署后,不能使用外网,无法使用外部资源链接。

需要程序判断当前环境是外网还是内网,以兼容内、外网两种使用方式,分别做处理。

 

      // 当前vue项目,所以没有使用jquery、ajax。而使用原生httpRequest
      let that = this
      // 第一步:建立所需的对象
      var httpRequest = new XMLHttpRequest()
      // 第二步,获取一个公网链接,可以是你原本要访问的地址
      httpRequest.open('GET', 'https://lbs.netease.im/lbs/webconf.jsp', true)
      // 第三步,设置响应超时时间
      httpRequest.timeout = 3000

      // 请求成功,使用公网方式
      httpRequest.onload = function () {
        // 请求完成。在此进行处理。
        if (httpRequest.readyState === 4 && httpRequest.status === 200) {
          param.isPublic = true
          that.initIMByType(param)
        }
      }
      // 响应超时,使用内网方式
      httpRequest.ontimeout = function (e) {
        // XMLHttpRequest 超时。在此做某事。
        param.isPublic = false
        that.initIMByType(param)
      }

      // 第四步:发送请求
      httpRequest.send()

 

Logo

前往低代码交流专区

更多推荐