yangc 7 年之前
父节点
当前提交
96750b14e9
共有 5 个文件被更改,包括 36 次插入7 次删除
  1. 1 1
      app.html
  2. 1 1
      components/mobile/share/store/StoreFooter.vue
  3. 26 1
      components/mobile/share/store/StoreHeader.vue
  4. 4 2
      layouts/default.vue
  5. 4 2
      layouts/shop.vue

+ 1 - 1
app.html

@@ -54,7 +54,7 @@
         var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
         g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
       <!-- End Piwik Code -->
-      if (/(iPhone|iPad|Opera Mini|Android.*Mobile|NetFront|PSP|BlackBerry|Windows Phone)/ig.test(w.navigator.userAgent)) {
+      if (/(iPhone|iPad|Opera Mini|Android.*Mobile|NetFront|PSP|BlackBerry|Windows Phone)/ig.test(w.navigator.userAgent) || w.location.pathname.indexOf('mobile/share') > -1) {
         var docEl = d.documentElement
         var resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize'
         var recalc = function () {

+ 1 - 1
components/mobile/share/store/StoreFooter.vue

@@ -2,7 +2,7 @@
   <div class="share-store-footer">
     <div class="more">
       <div class="hr"></div>
-      <p>如需查看更多器件请登录<nuxt-link to="/">优软商城</nuxt-link></p>
+      <p>如需查看更多器件请前往<nuxt-link to="/">优软商城</nuxt-link></p>
       <div class="hr"></div>
     </div>
     <div class="info">

+ 26 - 1
components/mobile/share/store/StoreHeader.vue

@@ -6,17 +6,42 @@
       </div>
       <div class="title">
         <h1>{{storeInfo.storeName}}</h1>
-        <p>{{storeInfo.description}}</p>
+        <p>{{storeInfo.description | descFilter}}</p>
       </div>
     </div>
   </div>
 </template>
 <script>
+  let getRealLen = function (str) {
+    let len = 0
+    for (let i = 0; i < str.length; i++) {
+      if (str.charCodeAt(i) > 127 || str.charCodeAt(i) === 94) {
+        len += 2
+      } else {
+        len++
+      }
+    }
+    return len
+  }
+  let cutOutString = function (str, len) {
+    for (let i = 1; i <= str.length; i++) {
+      if (getRealLen(str.substr(0, i)) > len) {
+        str = str.substr(0, i - 1)
+        break
+      }
+    }
+    return str
+  }
   export default {
     computed: {
       storeInfo () {
         return this.$store.state.shop.storeInfo.store.data
       }
+    },
+    filters: {
+      descFilter: function (val) {
+        return getRealLen(val) > 88 ? cutOutString(val, 88) + '...' : val
+      }
     }
   }
 </script>

+ 4 - 2
layouts/default.vue

@@ -27,8 +27,10 @@
         let cookieArr = cookies.split(';')
         let cookieObj = {}
         for (let i = 0; i < cookieArr.length; i++) {
-          let tmpArr = cookieArr[i].split('=')
-          cookieObj[tmpArr[0].trim()] = tmpArr[1].trim()
+          if (cookieArr[i].indexOf('=') > -1) {
+            let tmpArr = cookieArr[i].split('=')
+            cookieObj[tmpArr[0].trim()] = tmpArr[1].trim()
+          }
         }
         return cookieObj.type === 'erp'
       },

+ 4 - 2
layouts/shop.vue

@@ -46,8 +46,10 @@
           let cookieArr = cookies.split(';')
           let cookieObj = {}
           for (let i = 0; i < cookieArr.length; i++) {
-            let tmpArr = cookieArr[i].split('=')
-            cookieObj[tmpArr[0].trim()] = tmpArr[1].trim()
+            if (cookieArr[i].indexOf('=') > -1) {
+              let tmpArr = cookieArr[i].split('=')
+              cookieObj[tmpArr[0].trim()] = tmpArr[1].trim()
+            }
           }
           return cookieObj.type === 'erp'
         }