소스 검색

修改手机号脱敏

zhengjinyi 11 달 전
부모
커밋
ddd9b900c8
2개의 변경된 파일39개의 추가작업 그리고 11개의 파일을 삭제
  1. 18 2
      pages/_template/app/index.vue
  2. 21 9
      pages/_template/ross/index.vue

+ 18 - 2
pages/_template/app/index.vue

@@ -66,7 +66,7 @@
                 />
                 <div class="info">
                   <div class="name" v-text="item.authParty"></div>
-                  <!--<div class="mobile">{{ item.mobile || '暂无' }}</div>-->
+                  <div class="mobile">{{ maskPhoneNumber(item.mobile) || '暂无' }}</div>
                   <div class="address">
                     {{ formatAddress(item.area, item.address) }}
                   </div>
@@ -92,7 +92,7 @@
               <img class="cover" :src="item.logo || drawLogo(item.authParty)" />
               <div class="info">
                 <div class="name" v-text="item.authParty"></div>
-                <!--<div class="mobile">{{ item.mobile || '暂无' }}</div>-->
+                <div class="mobile">{{ maskPhoneNumber(item.mobile) || '暂无' }}</div>
                 <div class="address">
                   {{ formatAddress(item.area, item.address) }}
                 </div>
@@ -136,6 +136,9 @@ export default {
       if (this.scrollTop <= window.innerHeight / 2) return '240px'
       return 240 + this.scrollTop - window.innerHeight / 2 + 'px'
     },
+  },
+  filters: {
+
   },
   created() {
     document.title = '官方正品授权查询'
@@ -244,6 +247,19 @@ export default {
         })
       })
     },
+    maskPhoneNumber(phoneNumber) {
+      // 检查手机号长度是否合法(假设为11位)
+      if (!phoneNumber || phoneNumber.length !== 11) {
+          return '暂无';
+      }
+      // 提取前三位和最后四位
+      const prefix = phoneNumber.slice(0, 3);
+      const suffix = phoneNumber.slice(-4);
+      // 使用星号(*)替换中间的数字
+      const maskedMiddle = '****'.repeat(Math.ceil((phoneNumber.length - prefix.length - suffix.length) / 4));
+      // 拼接脱敏后的手机号
+      return prefix + maskedMiddle + suffix;
+    }
   },
 }
 </script>

+ 21 - 9
pages/_template/ross/index.vue

@@ -52,10 +52,10 @@
                 <img class="cover" :src="item.logo || drawLogo(item.authParty)" />
                 <div class="info">
                   <div class="name" v-text="item.authParty"></div>
-                  <!--<div class="mobile">{{ item.mobile || '暂无' }}</div>-->
-                  <!--<div class="address">
-                    {{ formatAddress(item.area, item.address) }}
-                  </div>-->
+                  <div class="mobile">{{ maskPhoneNumber(item.mobile) || '暂无' }}</div>
+                  <div class="address">
+                    <!--{{ formatAddress(item.area, item.address) }}-->
+                  </div>
                 </div>
               </div>
             </template>
@@ -74,10 +74,10 @@
               <img class="cover" :src="item.logo || drawLogo(item.authParty)" />
               <div class="info">
                 <div class="name" v-text="item.authParty"></div>
-                <!--<div class="mobile">{{ item.mobile || '暂无' }}</div>-->
-                <!--<div class="address" style="display: none;">
-                  {{ formatAddress(item.area, item.address) }}
-                </div>-->
+                <div class="mobile">{{ maskPhoneNumber(item.mobile) }}</div>
+                <div class="address">
+                  <!--{{ formatAddress(item.area, item.address) }}-->
+                </div>
                 <div
                   class="distance"
                   v-text="formatDistance(item.distance)"
@@ -223,6 +223,19 @@ export default {
         })
       })
     },
+    maskPhoneNumber(phoneNumber) {
+      // 检查手机号长度是否合法(假设为11位)
+      if (!phoneNumber || phoneNumber.length !== 11) {
+          return '暂无';
+      }
+      // 提取前三位和最后四位
+      const prefix = phoneNumber.slice(0, 3);
+      const suffix = phoneNumber.slice(-4);
+      // 使用星号(*)替换中间的数字
+      const maskedMiddle = '****'.repeat(Math.ceil((phoneNumber.length - prefix.length - suffix.length) / 4));
+      // 拼接脱敏后的手机号
+      return prefix + maskedMiddle + suffix;
+    }
   },
 }
 </script>
@@ -407,7 +420,6 @@ export default {
                 font-size: 20px;
                 color: #101010;
                 font-weight: bold;
-                margin-top: 40px;
                 text-overflow: ellipsis;
                 white-space: nowrap;
                 overflow: hidden;