<template>
  <div id="app">
    <router-view />
  </div>
</template>
<script>
/**函数可对字符串进行编码，这样就可以在所有的计算机上读取该字符串。*/
function ar_encode(str) {
  //进行URL编码
  return encodeURI(str);
}
/**屏幕分辨率*/
function ar_get_screen() {
  var c = "";

  if (self.screen) {
    c = screen.width + "x" + screen.height;
  }

  return c;
}

/**颜色质量*/
function ar_get_color() {
  var c = "";

  if (self.screen) {
    c = screen.colorDepth + "-bit";
  }

  return c;
}

/**返回当前的浏览器语言*/
function ar_get_language() {
  var l = "";
  var n = navigator;

  if (n.language) {
    l = n.language.toLowerCase();
  } else if (n.browserLanguage) {
    l = n.browserLanguage.toLowerCase();
  }

  return l;
}

/**返回浏览器类型IE,Firefox*/
function ar_get_agent() {
  var a = "";
  var n = navigator;

  if (n.userAgent) {
    a = n.userAgent;
  }

  return a;
}

/**方法可返回一个布尔值，该值指示浏览器是否支持并启用了Java*/
function ar_get_jvm_enabled() {
  var j = "";
  var n = navigator;

  j = n.javaEnabled() ? 1 : 0;

  return j;
}

/**返回浏览器是否支持(启用)cookie */
function ar_get_cookie_enabled() {
  var c = "";
  var n = navigator;
  c = n.cookieEnabled ? 1 : 0;

  return c;
}

/**检测浏览器是否支持Flash或有Flash插件*/
function ar_get_flash_ver() {
  var f = "",
    n = navigator;

  if (n.plugins && n.plugins.length) {
    for (var ii = 0; ii < n.plugins.length; ii++) {
      if (n.plugins[ii].name.indexOf("Shockwave Flash") != -1) {
        f = n.plugins[ii].description.split("Shockwave Flash ")[1];
        break;
      }
    }
  } else if (window.ActiveXObject) {
    for (var ii = 10; ii >= 2; ii--) {
      try {
        var fl = eval(
          "new ActiveXObject('ShockwaveFlash.ShockwaveFlash." + ii + "');"
        );
        if (fl) {
          f = ii + ".0";
          break;
        }
      } catch (e) {}
    }
  }
  return f;
}

/**匹配顶级域名*/
function ar_c_ctry_top_domain(str) {
  var pattern =
    "/^aero$|^cat$|^coop$|^int$|^museum$|^pro$|^travel$|^xxx$|^com$|^net$|^gov$|^org$|^mil$|^edu$|^biz$|^info$|^name$|^ac$|^mil$|^co$|^ed$|^gv$|^nt$|^bj$|^hz$|^sh$|^tj$|^cq$|^he$|^nm$|^ln$|^jl$|^hl$|^js$|^zj$|^ah$|^hb$|^hn$|^gd$|^gx$|^hi$|^sc$|^gz$|^yn$|^xz$|^sn$|^gs$|^qh$|^nx$|^xj$|^tw$|^hk$|^mo$|^fj$|^ha$|^jx$|^sd$|^sx$/i";

  if (str.match(pattern)) {
    return 1;
  }

  return 0;
}

/**处理域名地址*/
function ar_get_domain(host) {
  //如果存在则截去域名开头的 "www."
  var d = host.replace(/^www\./, "");

  //剩余部分按照"."进行split操作，获取长度
  var ss = d.split(".");
  var l = ss.length;

  //如果长度为3，则为xxx.yyy.zz格式
  if (l == 3) {
    //如果yyy为顶级域名，zz为次级域名，保留所有
    if (ar_c_ctry_top_domain(ss[1]) && ar_c_ctry_domain(ss[2])) {
    }
    //否则只保留后两节
    else {
      d = ss[1] + "." + ss[2];
    }
  }
  //如果长度大于3
  else if (l >= 3) {
    //如果host本身是个ip地址，则直接返回该ip地址为完整域名
    var ip_pat = "^[0-9]*.[0-9]*.[0-9]*.[0-9]*$";
    if (host.match(ip_pat)) {
      return d;
    }
    //如果host后两节为顶级域名及次级域名，则保留后三节
    if (ar_c_ctry_top_domain(ss[l - 2]) && ar_c_ctry_domain(ss[l - 1])) {
      d = ss[l - 3] + "." + ss[l - 2] + "." + ss[l - 1];
    }
    //否则保留后两节
    else {
      d = ss[l - 2] + "." + ss[l - 1];
    }
  }

  return d;
}

/**返回cookie信息*/
function ar_get_cookie(name) {
  //获取所有cookie信息
  var co = document.cookie;

  //如果名字是个空 返回所有cookie信息
  if (name == "") {
    return co;
  }

  //名字不为空 则在所有的cookie中查找这个名字的cookie
  var mn = name + "=";
  var b, e;
  b = co.indexOf(mn);

  //没有找到这个名字的cookie 则返回空
  if (b < 0) {
    return "";
  }

  //找到了这个名字的cookie 获取cookie的值返回
  e = co.indexOf(";", b + name.length);
  if (e < 0) {
    return co.substring(b + name.length + 1);
  } else {
    return co.substring(b + name.length + 1, e);
  }
}

/**
         设置cookie信息
         操作符：
                 0 表示不设置超时时间 cookie是一个会话级别的cookie  cookie信息保存在浏览器内存当中 浏览器关闭时cookie消失
                 1 表示设置超时时间为10年以后 cookie会一直保存在浏览器的临时文件夹里 直到超时时间到来 或用户手动清空cookie为止
                 2 表示设置超时时间为1个小时以后 cookie会一直保存在浏览器的临时文件夹里 直到超时时间到来 或用户手动清空cookie为止
 * */
function ar_set_cookie(name, val, cotp) {
  var date = new Date();
  var year = date.getFullYear();
  var hour = date.getHours();

  var cookie = "";

  if (cotp == 0) {
    cookie = name + "=" + val + ";";
  } else if (cotp == 1) {
    year = year + 10;
    date.setYear(year);
    cookie = name + "=" + val + ";expires=" + date.toGMTString() + ";";
  } else if (cotp == 2) {
    hour = hour + 1;
    date.setHours(hour);
    cookie = name + "=" + val + ";expires=" + date.toGMTString() + ";";
  }

  var d = ar_get_domain(document.domain);
  if (d != "") {
    cookie += "domain=" + d + ";";
  }
  cookie += "path=" + "/;";

  document.cookie = cookie;
}

/**返回客户端时间*/
function ar_get_stm() {
  return new Date().getTime();
}

/**返回指定个数的随机数字串*/
function ar_get_random(n) {
  var str = "";
  for (var i = 0; i < n; i++) {
    str += String(parseInt(Math.random() * 10));
  }
  return str;
}

// 获取openId
function ar_get_openId() {
  return window.sessionStorage.getItem("openId") === null
    ? ""
    : window.sessionStorage.getItem("openId");
}

/* main function */
function ar_main() {
  //收集完日志 提交到的路径
  var dest_path = "http://139.159.192.185:81/WebClient/servlet/LogServlet?";
  // var dest_path = "http://localhost:8090/WebClient/servlet/LogServlet?";
  var expire_time = 30 * 60 * 1000; //会话超时时长

  //处理uv
  //--获取cookie ar_stat_uv的值
  var uv_str = ar_get_cookie("ar_stat_uv");
  var uv_id = "";
  //--如果cookie ar_stat_uv的值为空
  if (uv_str == "") {
    //--为这个新uv配置id，为一个长度20的随机数字
    uv_id = ar_get_random(20);
    //--设置cookie ar_stat_uv 保存时间为10年
    ar_set_cookie("ar_stat_uv", uv_id, 1);
  }
  //--如果cookie ar_stat_uv的值不为空
  else {
    //--获取uv_id
    uv_id = uv_str;
  }

  //处理ss
  //--获取cookie ar_stat_ss
  var ss_stat = ar_get_cookie("ar_stat_ss");
  var ss_id = ""; //sessin id
  var ss_count = 0; //session有效期内访问页面的次数
  var ss_time = "";
  //--如果cookie中不存在ar_stat_ss 说明是一次新的会话
  if (ss_stat == "") {
    //--随机生成长度为10的session id
    ss_id = ar_get_random(10);
    //--session有效期内页面访问次数为0
    ss_count = 0;
    //--当前事件
    ss_time = ar_get_stm();
  } else {
    //--如果cookie中存在ar_stat_ss
    //获取ss相关信息
    var items = ss_stat.split("_");
    //--ss_id
    ss_id = items[0];
    //--ss_count
    ss_count = parseInt(items[1]);
    //--ss_stm
    ss_time = items[2];

    //如果当前时间-当前会话上一次访问页面的时间>30分钟,虽然cookie还存在，但是其实已经超时了！仍然需要重新生成cookie
    if (ar_get_stm() - ss_time > expire_time) {
      //--重新生成会话id
      ss_id = ar_get_random(10);
      //--设置会话中的页面访问次数为0
      ss_count = 0;
      //--当前事件
      ss_time = ar_get_stm();
    } else {
      //--如果会话没有超时
      //--会话id不变
      //--设置会话中的页面方位次数+1
      ss_count = ss_count + 1;
      ss_time = ar_get_stm();
    }
  }
  //--重新拼接cookie ar_stat_ss的值
  value = ss_id + "_" + ss_count + "_" + ss_time;
  ar_set_cookie("ar_stat_ss", value, 0);

  //当前地址
  var url = document.URL;
  url = ar_encode(String(url));

  //当前资源名
  var urlname = document.URL.substring(document.URL.lastIndexOf("/") + 1);
  urlname = ar_encode(String(urlname));

  //返回导航到当前网页的超链接所在网页的URL
  var ref = document.referrer;
  ref = ar_encode(String(ref));

  //网页标题
  var title = document.title;
  title = ar_encode(String(title));

  //网页字符集
  var charset = document.charset;
  charset = ar_encode(String(charset));

  //屏幕信息
  var screen = ar_get_screen();
  screen = ar_encode(String(screen));

  //颜色信息
  var color = ar_get_color();
  color = ar_encode(String(color));

  //语言信息
  var language = ar_get_language();
  language = ar_encode(String(language));

  //浏览器类型
  var agent = ar_get_agent();
  agent = ar_encode(String(agent));

  //浏览器是否支持并启用了java
  var jvm_enabled = ar_get_jvm_enabled();
  jvm_enabled = ar_encode(String(jvm_enabled));

  //浏览器是否支持并启用了cookie
  var cookie_enabled = ar_get_cookie_enabled();
  cookie_enabled = ar_encode(String(cookie_enabled));

  //浏览器flash版本
  var flash_ver = ar_get_flash_ver();
  flash_ver = ar_encode(String(flash_ver));

  // openId
  var openId = ar_get_openId();
  openId = ar_encode(String(openId));

  //当前ss状态 格式为"会话id_会话次数_当前时间"
  // var stat_ss = ss_id + "_" + ss_count + "_" + ss_time;
  //拼接访问地址 增加如上信息
  dest =
    dest_path +
    "url=" +
    url +
    "&urlname=" +
    urlname +
    "&title=" +
    title +
    "&chset=" +
    charset +
    "&scr=" +
    screen +
    "&col=" +
    color +
    "&lg=" +
    language +
    "&je=" +
    jvm_enabled +
    "&ce=" +
    cookie_enabled +
    "&fv=" +
    flash_ver +
    "&ref=" +
    ref +
    "&uagent=" +
    agent +
    "&uv_id=" +
    uv_id +
    "&ss_id=" +
    ss_id +
    "&ss_count=" +
    ss_count +
    "&ss_time=" +
    ss_time +
    "&openId=" +
    openId;
  //通过插入图片访问该地址
  document.getElementsByTagName("body")[0].innerHTML +=
    '<img src="' + dest + '" border="0" width="1" height="1" />';
}
// window.onload = function () {
//     //触发main方法
//     ar_main();
// }
</script>
<script>
// import HelloWorld from './components/HelloWorld.vue'
export default {
  name: "app",
  components: {
    // HelloWorld
  },
  data() {
    return {
      //  secretPhone: "BB77AC65CB9DCAF287582FE0B5773B7A"
    };
  },
  methods:{
  },
  mounted() {
    // debugger
    // document.querySelector(".main").style.minHeight =
    //   window.screen.height + "px";
  },
  watch: {
    $route(to, from) {
      if (to.meta.title) {
        if(process.env.VUE_APP_Name=='生产环境'){
          ar_main&&ar_main();
        }
        // ar_main()
        document.title = to.meta.title;
      }
      this.$router.afterEach((to, from, next) => {
        window.scrollTo(0, 0); 
      });
      // var id = this.$route.query.id;
      // if (id) {
      //   setTimeout(() => {
      //     var top = $("#" + id).offset().top;
      //     $("html,body").animate({ scrollTop: top }, 500);
      //   }, 300);
      // }
    }
  },
  beforeDestroy(){
   
}
};
</script>

<style lang="less">
body {
  background-color: #f3f3f3;
}
img {
  display: block;
  width: 100%;
  margin: 0 auto;
}
#app {
  font-family: "Avenir", Helvetica, Arial, sans-serif;
  -webkit-font-smoothng: antialiased;
  -moz-osx-font-smoothiing: grayscale;
  font-size: 0.22rem;
  // color: #666666;
  width: 7.5rem;
  margin: 0 auto;
  background-color: #f4f4f6;
  max-width: 7.5rem;
  overflow: hidden;
  min-height:100vh;
}
.BG(@width,@height,@X,@Y) {
  width: @width;
  height: @height;
  background: url("../assets/images/Spirit.png") no-repeat @X @Y;
  background-size: 8rem 4rem;
}
/*取消a标签点击时的颜色*/
a {
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  -webkit-user-select: none;
  border: none;
}

a:hover {
  -webkit-tap-highlight-color: transparent;
}
.clear {
  content: "";
  clear: both;
  display: block;
}

.banner {
  width: 100%;
  img {
    width: 100%;
  }
}
h1 {
  margin-top: 0.4rem;
  font-size: 0.4rem;
  color: #333333;
  text-align: center;
  font-weight: bold;
}
.ellips {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
main {
  position: relative;
}
//省略号2行
.ellips2 {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box; //作为弹性伸缩盒子模型显示。
  -webkit-box-orient: vertical; //设置伸缩盒子的子元素排列方式--从上到下垂直排列
  -webkit-line-clamp: 2;
}
</style>
