Browse Source

feat: 隐私协议添加url判断语言逻辑

liyangbin 1 year ago
parent
commit
f709036996
2 changed files with 28 additions and 42 deletions
  1. 14 21
      pages/privacy.vue
  2. 14 21
      pages/terms.vue

+ 14 - 21
pages/privacy.vue

@@ -1401,7 +1401,7 @@ import { Fragment } from 'vue-fragment'
 export default {
   components: { Fragment },
   layout: "custom",
-  asyncData({ req }) {
+  asyncData({ req, query }) {
     const isClient = process.client
     // 浏览器语言,默认汉语
     let language = true
@@ -1413,6 +1413,11 @@ export default {
       } else {
         language = false
       }
+      if (query.type?.toLowerCase() === 'chinese') {
+        language = true
+      }else if (query.type?.toLowerCase() === 'english') {
+        language = false
+      }
     } else {
       // 判断浏览器语言
       const firstLan = req.headers['accept-language'].split(",")[0].toLowerCase()
@@ -1421,13 +1426,18 @@ export default {
       } else {
         language = false
       }
+      if (query.type?.toLowerCase() === 'chinese') {
+        language = true
+      }else if (query.type?.toLowerCase() === 'english') {
+        language = false
+      }
     }
     return {
-      language,
+      language
     }
   },
   head(VueComponent) {
-    if (VueComponent.type === 'chinese') {
+    if (VueComponent.language) {
       return {
         title: '隐私政策',
         meta: [
@@ -1449,24 +1459,7 @@ export default {
   },
   data() {
     return {
-      type: 'chinese'
-    }
-  },
-  mounted() {
-    let nl
-    if (navigator.appName === 'Netscape') {
-      nl = navigator.language
-    } else {
-      nl = navigator.browserLanguage
-    }
-    if (location.href.includes('type=chinese')) {
-      this.type = 'chinese'
-    } else if (location.href.includes('type=english')) {
-      this.type = 'english'
-    } else if (nl.includes('zh')) {
-      this.type = 'chinese'
-    } else {
-      this.type = 'english'
+      language: false
     }
   }
 }

+ 14 - 21
pages/terms.vue

@@ -5,7 +5,7 @@ export default {
   components: {Fragment},
   layout: 'custom',
   head(VueComponent) {
-    if(VueComponent.type === 'chinese'){
+    if(VueComponent.language){
       return {
         title: '服务协议',
         meta: [
@@ -25,7 +25,7 @@ export default {
       }
     }
   },
-  asyncData({ req }) {
+  asyncData({ req, query }) {
     const isClient = process.client
     // 浏览器语言,默认汉语
     let language = true
@@ -37,6 +37,11 @@ export default {
       } else {
         language = false
       }
+      if (query.type?.toLowerCase() === 'chinese') {
+        language = true
+      }else if (query.type?.toLowerCase() === 'english') {
+        language = false
+      }
     } else {
       // 判断浏览器语言
       const firstLan = req.headers['accept-language'].split(",")[0].toLowerCase()
@@ -45,31 +50,19 @@ export default {
       } else {
         language = false
       }
+      if (query.type?.toLowerCase() === 'chinese') {
+        language = true
+      }else if (query?.type.toLowerCase() === 'english') {
+        language = false
+      }
     }
     return {
-      language,
+      language
     }
   },
   data() {
     return {
-      type: 'chinese'
-    }
-  },
-  mounted() {
-    let nl
-    if(navigator.appName === 'Netscape') {
-      nl = navigator.language
-    }else {
-      nl = navigator.browserLanguage
-    }
-    if(location.href.includes('type=chinese')) {
-      this.type = 'chinese'
-    }else if(location.href.includes('type=english')) {
-      this.type = 'english'
-    }else if(nl.includes('zh')) {
-      this.type = 'chinese'
-    }else {
-      this.type = 'english'
+      language: false
     }
   }
 }