Quellcode durchsuchen

feat: separate stats code

Acathur vor 5 Jahren
Ursprung
Commit
ca9909b735

+ 0 - 34
app.html

@@ -6,38 +6,4 @@
 <body {{ BODY_ATTRS }}>
 {{ APP }}
 </body>
-<script>
-  var _hmt = _hmt || [];
-  (function () {
-    var markIsApp = document.getElementById("markIsAppWebview")
-    var isApp = Boolean(markIsApp && markIsApp.dataset && markIsApp.dataset.app)
-    var host = window.location.host;
-    if (!isApp && host.indexOf("jishuin") === -1) {
-      var hm = document.createElement('script');
-      hm.src = '//hm.baidu.com/hm.js?c92adf6182a39eb23c24cf43abc3f439';
-      var s = document.getElementsByTagName('script')[ 0 ];
-      s.parentNode.insertBefore(hm, s);
-      console.log('百度统计应用到页面当中了');
-
-
-      var bp = document.createElement('script');
-      var curProtocol = window.location.protocol.split(':')[ 0 ];
-      if (curProtocol === 'https') {
-        bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
-      } else {
-        bp.src = 'http://push.zhanzhang.baidu.com/push.js';
-      }
-      var s = document.getElementsByTagName("script")[ 0 ];
-      s.parentNode.insertBefore(bp, s);
-      console.log('百度SEO push统计应用到页面当中了');
-    }
-  })();
-</script>
-
-<script>
-  (function () {
-
-  })();
-</script>
-
 </html>

+ 25 - 0
kaifain_v2/mixins/stats.js

@@ -0,0 +1,25 @@
+const script = `var _hmt = _hmt || [];
+(function () {
+  var hm = document.createElement('script');
+  hm.src = 'https://hm.baidu.com/hm.js?18538c3e0283bcd9958ba8e0492a0d84';
+  var s = document.getElementsByTagName('script')[0];
+  s.parentNode.insertBefore(hm, s);
+  var bp = document.createElement('script');
+  var curProtocol = window.location.protocol.split(':')[0];
+  if (curProtocol === 'https') {
+    bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
+  } else {
+    bp.src = 'http://push.zhanzhang.baidu.com/push.js';
+  }
+  s.parentNode.insertBefore(bp, s);
+})();`
+
+export default {
+  head: {
+    script: [{
+      innerHTML: script,
+      body: true
+    }],
+    __dangerouslyDisableSanitizers: ['script']
+  }
+}

+ 2 - 0
layouts/default.vue

@@ -12,6 +12,7 @@ import ProginnHeader from "@/components/header";
 import ProginnFooter from "@/components/footer";
 import WxHeader from "@/components/wx_header";
 import { mapState, mapMutations } from "vuex";
+import Stats from "@/mixins/stats";
 
 export default {
   components: {
@@ -19,6 +20,7 @@ export default {
     ProginnFooter,
     WxHeader
   },
+  mixins: [Stats],
   computed: {
     ...mapState(["isPC", "isWeixin", "deviceType", "noneCommonFooter"])
   },

+ 3 - 1
layouts/kaifain_v2.vue

@@ -4,6 +4,7 @@
 
 <script>
 import Cookies from 'js-cookie'
+import Stats from '@/kaifain_v2/mixins/stats'
 
 const MOB_HOST = process.env.NODE_ENV === 'development' ? 'kaifain-m.test.proginn.com' : 'kaifain.m.proginn.com'
 const REM_RESET_STYLE = `font-size:16px !important;`
@@ -23,7 +24,8 @@ export default {
     return {
       bodyAttrs: {
         class: ['kaifain-view', 'non-rem']
-      }
+      },
+      ...Stats.head
     }
   },
 

+ 2 - 0
layouts/opacity_header.vue

@@ -12,6 +12,7 @@ import ProginnHeader from "@/components/header";
 import ProginnFooter from "@/components/footer";
 import WxHeader from "@/components/wx_header";
 import { mapState, mapMutations } from "vuex";
+import Stats from "@/mixins/stats";
 
 export default {
   components: {
@@ -19,6 +20,7 @@ export default {
     ProginnFooter,
     WxHeader
   },
+  mixins: [Stats],
   computed: {
     ...mapState(["isPC", "isWeixin", "deviceType", "noneCommonFooter", "scope"])
   },

+ 74 - 0
layouts/opacity_header_kf_tmp.vue

@@ -0,0 +1,74 @@
+<template>
+  <div class="container" id="markIsAppWebview" :data-app="deviceType.app" :class="scope ? ['scoped-view', scope] : []">
+    <proginn-header v-if="deviceType.pc" transparent="true" />
+    <wx-header v-else-if="!deviceType.app"></wx-header>
+    <nuxt class="main" />
+    <proginn-footer v-if="deviceType.pc && !noneCommonFooter" />
+  </div>
+</template>
+
+<script>
+import ProginnHeader from "@/components/header";
+import ProginnFooter from "@/components/footer";
+import WxHeader from "@/components/wx_header";
+import { mapState, mapMutations } from "vuex";
+import Stats from "@/kaifain_v2/mixins/stats";
+
+export default {
+  components: {
+    ProginnHeader,
+    ProginnFooter,
+    WxHeader
+  },
+  mixins: [Stats],
+  computed: {
+    ...mapState(["isPC", "isWeixin", "deviceType", "noneCommonFooter", "scope"])
+  },
+  mounted() {
+    console.log("this****", this);
+    this.checkTerminal();
+    window.addEventListener("resize", this.checkInnerWidth);
+  },
+  methods: {
+    ...mapMutations(["updateIsPC", "updateIsWeixin"]),
+    checkTerminal() {
+      this.updateIsPC({
+        isPC: this.$deviceType.isPC()
+      });
+      this.updateIsWeixin({
+        isWeixin: window.navigator.userAgent
+          .toLowerCase()
+          .match(/MicroMessenger/i)
+      });
+    }
+  }
+};
+</script>
+
+
+<style>
+*,
+*:before,
+*:after {
+  box-sizing: border-box;
+  margin: 0;
+}
+.container {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+}
+.main {
+  min-width: 1000px;
+  min-height: calc(100vh - 376px);
+  margin: 20px 0 30px;
+}
+.__nuxt-error-page .title {
+  font-size: 100%;
+}
+@media screen and (max-width: 960px) {
+  .main {
+    min-width: auto;
+  }
+}
+</style>

+ 34 - 0
mixins/stats.js

@@ -0,0 +1,34 @@
+const script = `var _hmt = _hmt || [];
+(function () {
+  var markIsApp = document.getElementById('markIsAppWebview')
+  var isApp = Boolean(markIsApp && markIsApp.dataset && markIsApp.dataset.app)
+  var host = window.location.host;
+  if (!isApp && host.indexOf('jishuin') === -1) {
+    var hm = document.createElement('script');
+    hm.src = '//hm.baidu.com/hm.js?c92adf6182a39eb23c24cf43abc3f439';
+    var s = document.getElementsByTagName('script')[0];
+    s.parentNode.insertBefore(hm, s);
+    console.log('百度统计应用到页面当中了');
+
+    var bp = document.createElement('script');
+    var curProtocol = window.location.protocol.split(':')[0];
+    if (curProtocol === 'https') {
+      bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
+    } else {
+      bp.src = 'http://push.zhanzhang.baidu.com/push.js';
+    }
+    var s = document.getElementsByTagName('script')[0];
+    s.parentNode.insertBefore(bp, s);
+    console.log('百度SEO push统计应用到页面当中了');
+  }
+})();`
+
+export default {
+  head: {
+    script: [{
+      innerHTML: script,
+      body: true
+    }],
+    __dangerouslyDisableSanitizers: ['script']
+  }
+}

+ 1 - 1
pages/kaifain/case/_tid.vue

@@ -48,7 +48,7 @@
   import { genDocumentFooterData } from '@/kaifain_v2/helpers/seoHelper'
 
   export default {
-    layout: "opacity_header",
+    layout: "opacity_header_kf_tmp",
     components: {ConnectUs, KaifainFooter, Topnav},
     head() {
       const { title = '' } = this.detail || {}

+ 1 - 1
pages/kaifain/detail/_tid/index.vue

@@ -138,7 +138,7 @@ import Topnav from '@/kaifain_v2/components/Topnav.vue'
 import { genDocumentFooterData } from '@/kaifain_v2/helpers/seoHelper'
 
 export default {
-  layout: "opacity_header",
+  layout: "opacity_header_kf_tmp",
   components: { ConnectUs, KaifainFooter, ChangeBgImage, Topnav },
   head() {
     const { title = '' } = this.detail || {}

+ 1 - 1
pages/kaifain/index.vue

@@ -195,7 +195,7 @@ import DealSeoFooter from "@/components/kaifain/dealSeoFooter";
 import KaifainFooter from "@/components/SeoFooter";
 
 export default {
-  layout: "opacity_header",
+  layout: "opacity_header_kf_tmp",
   showCommonFooter: false,
   components: { ConnectUs, BindMobile, KaifainFooter },
   head() {

+ 1 - 1
pages/kaifain/preview.vue

@@ -93,7 +93,7 @@ import DealSeoFooter from "@/components/kaifain/dealSeoFooter";
 import KaifainFooter from "@/components/SeoFooter";
 
 export default {
-  layout: "opacity_header",
+  layout: "opacity_header_kf_tmp",
   components: { ConnectUs, KaifainFooter },
   head() {
     return {

+ 1 - 1
pages/kaifain/previewCase.vue

@@ -33,7 +33,7 @@ import DealSeoFooter from "@/components/kaifain/dealSeoFooter";
 import KaifainFooter from "@/components/SeoFooter";
 
 export default {
-  layout: "opacity_header",
+  layout: "opacity_header_kf_tmp",
   components: { ConnectUs, KaifainFooter },
   head() {
     return {