openid; }else{ $openid = $wechatUser->getId(); } $viewer = Viewer::with('referrer:id,openid')->where('openid', $openid)->first(); if(empty($viewer->mobile)){ $is_auth = 0; return $this->failure(''); } $user = User::where('mobile', $viewer->mobile)->first(); if(empty($user)){ $request->merge([ 'mobile'=>$viewer->mobile, 'nickname'=>$viewer->nickname, 'name'=>$viewer->nickname, 'from_official_openid'=>$viewer->referrer ? $viewer->referrer->openid : '', 'sex'=>$viewer->sex, 'avatar'=>$viewer->avatar, 'type'=>'single', 'passworde'=>bcrypt($viewer->mobile), ]); $userCon = New UserService(); //注册新用户 $user = $userCon->loginByMobile($request); } $request->merge(['user'=>$user]); //同步nickname、avatar if($user->nickname != $viewer->nickname){ $user->nickname = $viewer->nickname; } if($user->circle_avatar != $viewer->avatar){ $user->circle_avatar = $viewer->avatar; } $user->save(); return $next($request); } public function success($msg, $data=[]){ $result = [ 'code'=> 0, 'message'=> $msg, 'data'=> $data, ]; $response = Response()->json($result); return $response; } //接口返回失败 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); } } //接口返回失败 public function fail($msg, $data=[], $jsonp=false){ $result = [ 'code'=> 2, 'message'=> $msg, 'data'=> $data, ]; if($jsonp){ return Response()->jsonp('callback', $result); }else{ return Response()->json($result); } } }