// 判断当前用户网络 外网/内网 返回接口地址
export function judgmentNetworkReturnAddress() {
  /*判断是否是内网IP*/
  // 获取当前页面url
  var curPageUrl = window.location.href;

  var reg1 = /(http|ftp|https|www):\/\//g;//去掉前缀
  curPageUrl =curPageUrl.replace(reg1,'');

  var reg2 = /\:+/g;//替换冒号为一点
  curPageUrl =curPageUrl.replace(reg2,'.');

  curPageUrl = curPageUrl.split('.');//通过一点来划分数组


  var ipAddress = curPageUrl[0]+'.'+curPageUrl[1]+'.'+curPageUrl[2]+'.'+curPageUrl[3];

  var isInnerIp = false;//默认给定IP不是内网IP
  var ipNum = getIpNum(ipAddress);
  /**
   * 私有IP：A类  10.0.0.0    -10.255.255.255
   *       B类  172.16.0.0  -172.31.255.255
   *       C类  192.168.0.0 -192.168.255.255
   *       D类   127.0.0.0   -127.255.255.255(环回地址)
   **/
  var aBegin = getIpNum("10.0.0.0");
  var aEnd = getIpNum("10.255.255.255");
  var bBegin = getIpNum("172.16.0.0");
  var bEnd = getIpNum("172.31.255.255");
  var cBegin = getIpNum("192.168.0.0");
  var cEnd = getIpNum("192.168.255.255");
  var dBegin = getIpNum("127.0.0.0");
  var dEnd = getIpNum("127.255.255.255");
  isInnerIp = isInner(ipNum,aBegin,aEnd) || isInner(ipNum,bBegin,bEnd) || isInner(ipNum,cBegin,cEnd) || isInner(ipNum,dBegin,dEnd);
  return isInnerIp?process.env.VUE_APP_BASE_LOCAL_API:process.env.VUE_APP_BASE_API;
  /*获取IP数*/
  function getIpNum(ipAddress) {
    var ip = ipAddress.split(".");
    var a = parseInt(ip[0]);
    var b = parseInt(ip[1]);
    var c = parseInt(ip[2]);
    var d = parseInt(ip[3]);
    var ipNum = a * 256 * 256 * 256 + b * 256 * 256 + c * 256 + d;
    return ipNum;
  }
  function isInner(userIp,begin,end){
    return (userIp>=begin) && (userIp<=end);
  }
}
