love_php/app/Http/Middleware/LimitVisitor.php
2026-04-02 09:20:51 +08:00

47 lines
1.9 KiB
PHP

<?php
namespace App\Http\Middleware;
use Closure;
use Route;
class LimitVisitor
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$user = auth()->user();
if (empty($user)) return $next($request);
//当前路由
$route_name = Route::currentRouteName();
//如果路由是用户列表并且没有搜索参数
if ($route_name == 'user_list' && empty($request->keyword) && $request->sex == '不限' && $request->min_age == '不限' && $request->max_age == '不限' && $request->province == '不限' && $request->city == "不限" && $request->is_approved == '不限' && $request->is_rank == '不限' && $request->belief == '不限') return $next($request);
//如果路由是用户编辑资料并且没有对另一半的要求
if ($route_name == 'update_profile_v2' && empty($request->has('ideal_mate')) && empty($request->has('mate_conditon'))) return $next($request);
//如果路由是活动列表或者服务列表并且没有关键词搜索
if ($route_name == 'saas_activities' && empty($request->keyword)) return $next($request);
//是否是游客的标准时(无手机号或者无头像)
if (empty($user->photo)) return $this->failure("操作失败,请先完善头像");
if (empty($user->mobile)) return $this->failure("操作失败,请先完善手机号");
return $next($request);
}
//接口返回失败
public function failure($msg, $data=[], $jsonp=false){
$result = [
'code'=> 1,
'message'=> $msg,
'data'=> $data,
];
if($jsonp){
return Response()->jsonp('callback', $result);
}else{
return Response()->json($result);
}
}
}