seven há 5 dias atrás
pai
commit
c1b9444d27
1 ficheiros alterados com 12 adições e 11 exclusões
  1. 12 11
      app/Services/BaseService.php

+ 12 - 11
app/Services/BaseService.php

@@ -272,18 +272,19 @@ class BaseService
 
     public static function hideMiddleDigits($number, $hideCount = 4) {
         $length = strlen($number);
-        
-        if ($length <= $hideCount + 2) {
-            // 如果数字太短,直接返回全部星号或部分隐藏
-            return substr($number, 0, 2) . str_repeat("*", $length - 2);
+
+        if ($length <= $hideCount) {
+            // 数字太短,全部隐藏
+            return str_repeat("*", $length);
         }
-        
-        // 计算前后保留的位数
-        $keepEachSide = floor(($length - $hideCount) / 2);
-        
-        $start = substr($number, 0, $keepEachSide);
-        $end = substr($number, -$keepEachSide);
-        
+
+        // 计算中间开始隐藏的位置
+        $startLen = floor(($length - $hideCount) / 2);
+        $endLen = $length - $hideCount - $startLen;
+
+        $start = substr($number, 0, $startLen);
+        $end = substr($number, -$endLen);
+
         return $start . str_repeat("*", $hideCount) . $end;
     }