作者 lyh
@@ -232,4 +232,17 @@ class Arr extends \Illuminate\Support\Arr @@ -232,4 +232,17 @@ class Arr extends \Illuminate\Support\Arr
232 } 232 }
233 } 233 }
234 } 234 }
  235 +
  236 + /**
  237 + * 一行一行的转为数组
  238 + * @author zbj
  239 + * @date 2024/9/6
  240 + */
  241 + public static function lineToArray($arr){
  242 + $arr = is_array($arr) ? $arr : [$arr];
  243 + $array = array_merge(...array_map(function($item) {
  244 + return array_map('trim', preg_split('/\r?\n/', $item));
  245 + }, $arr));
  246 + return array_values(array_unique(array_filter($array)));
  247 + }
235 } 248 }
@@ -489,13 +489,13 @@ class ProjectLogic extends BaseLogic @@ -489,13 +489,13 @@ class ProjectLogic extends BaseLogic
489 */ 489 */
490 public function saveInquiryFilterConfig($config){ 490 public function saveInquiryFilterConfig($config){
491 491
492 - $config['filter_countries'] = Arr::a2s(!empty($config['filter_countries']) ? $config['filter_countries'] : []);  
493 - $config['filter_contents'] = Arr::a2s(!empty($config['filter_contents']) ? $config['filter_contents'] : []);  
494 - $config['filter_referers'] = Arr::a2s(!empty($config['filter_referers']) ? $config['filter_referers'] : []);  
495 - $config['filter_emails'] = Arr::a2s(!empty($config['filter_emails']) ? $config['filter_emails'] : []);  
496 - $config['filter_mobiles'] = Arr::a2s(!empty($config['filter_mobiles']) ? $config['filter_mobiles'] : []);  
497 - $config['filter_names'] = Arr::a2s(!empty($config['filter_names']) ? $config['filter_names'] : []);  
498 - $config['black_ips'] = $config['black_ips'] ?? ''; 492 + $config['filter_countries'] = !empty($config['filter_countries']) ? Arr::lineToArray($config['filter_countries']) : [];
  493 + $config['filter_contents'] = !empty($config['filter_contents']) ? Arr::lineToArray($config['filter_contents']) : [];
  494 + $config['filter_referers'] = !empty($config['filter_referers']) ? Arr::lineToArray($config['filter_referers']) : [];
  495 + $config['filter_emails'] = !empty($config['filter_emails']) ? Arr::lineToArray($config['filter_emails']) : [];
  496 + $config['filter_mobiles'] = !empty($config['filter_mobiles']) ? Arr::lineToArray($config['filter_mobiles']) : [];
  497 + $config['filter_names'] = !empty($config['filter_names']) ? Arr::lineToArray($config['filter_names']) : [];
  498 + $config['black_ips'] = !empty($config['black_ips']) ? Arr::lineToArray($config['black_ips']) : [];
499 499
500 $model = InquiryFilterConfig::where('project_id', $config['project_id'])->first(); 500 $model = InquiryFilterConfig::where('project_id', $config['project_id'])->first();
501 if(!$model){ 501 if(!$model){
@@ -24,6 +24,7 @@ class InquiryFilterConfig extends Base @@ -24,6 +24,7 @@ class InquiryFilterConfig extends Base
24 'filter_emails' => 'array', 24 'filter_emails' => 'array',
25 'filter_mobiles' => 'array', 25 'filter_mobiles' => 'array',
26 'filter_names' => 'array', 26 'filter_names' => 'array',
  27 + 'black_ips' => 'array',
27 ]; 28 ];
28 29
29 /** 30 /**
@@ -271,7 +271,7 @@ class SyncSubmitTaskService @@ -271,7 +271,7 @@ class SyncSubmitTaskService
271 } 271 }
272 //过滤ip 272 //过滤ip
273 if($config['black_ips']){ 273 if($config['black_ips']){
274 - $black_ips = explode("\r\n", $config['black_ips']); 274 + $black_ips = $config['black_ips'];
275 //后端获取的ip 275 //后端获取的ip
276 if(in_array($data['ip'], $black_ips)){ 276 if(in_array($data['ip'], $black_ips)){
277 throw new InquiryFilterException( '过滤黑名单IP:' . $data['ip']); 277 throw new InquiryFilterException( '过滤黑名单IP:' . $data['ip']);