input('send_type', ''); if(empty($send_type)){ return response()->json([ 'msg' => '滑块验证失败,请重新验证', 'data' => [], 'code' => 0, ]); } if (strtolower(env('APP_ENV')) == 'down') { return $this->apiResponseError(null, '系统维护中...'); } $is_behavior = \App\Servers\Yp::validateYP(); if (empty($is_behavior) ) { return response()->json([ 'msg' => '滑块验证失败,请重新验证', 'data' => [], 'code' => 0, ]); } $memberVerify=RegisterServer::register(); if(empty($memberVerify)){ return response()->json([ 'msg' => '请完成人脸识别认证', 'data' => $memberVerify, 'code' => 0, ]); } $refereeCode = $request->input('referee_code', null); // 邀请码 $refereeID = MemberNumber::where('referee', $refereeCode)->first(); if (empty($refereeID)) { return $this->apiResponseError(null, '邀请码错误'); } if (is_numeric($refereeID->{'member_id'}) && $refereeID->{'member_id'} > 0) { $refereeMember = Member::where('id', $refereeID->{'member_id'})->first(); } else { $refereeMember = null; } if (empty($refereeMember)) { return $this->apiResponseError(null, '邀请码错误'); } $sms = $request->input('sms', ''); $phone = $request->input('phone', ''); $type = $request->input('type', ''); // 短信验证码是否通过 $result = (new SmsServer)->checkSms($sms, $phone, $type); if ($result['errcode'] === false) { return $this->apiResponseError(null, $result['errmsg']); } DB::beginTransaction(); // 开启事务 $registerMember = MemberServer::register($request, $refereeMember); // 注册会员 DB::commit(); // 提交事务 // 会员团队人数统计 $parents = explode(",", $registerMember->{'referee_path'}); foreach ($parents as $key => $parent) { $parentMember = Member::where('id', $parent)->first(); if (empty($parentMember)) { continue; } // 团队人数统计 $refereeMemberTeam = MemberTeam::where('member_id', $parentMember->{'id'})->first(); if (!empty($refereeMemberTeam)) { // 直推团队人数 MemberTeam::where('id', $refereeMemberTeam->{'id'})->increment('team_count', 1); if ($key <= 0) { // 团队直推人数 MemberTeam::where('id', $refereeMemberTeam->{'id'})->increment('team_recommend_count', 1); } } } // 更新会员ID ::=> 实名认证表中 if (!empty($registerMember)) { MemberVerify::where('id',$memberVerify->{'id'}) ->where('member_id', '<=', 0) ->update([ 'member_id' => $registerMember->{'id'}, // 更新会员ID ]); RegisterServer::attestApi($registerMember,$memberVerify->{'cid'},$memberVerify->{'real_name'}); } if ($request->input('pc', null) == 'pc') { return $this->apiResponseSuccess( [ 'redirect' => route('front.m.down'), ], '注册成功' ); } // 注册成功重新登录 return $this->apiResponseSuccess( [ 'access_token' => "", 'token_type' => 'bearer', 'expires_in' => 1, 'm_id' => 0, ], '注册成功' ); // $credentials = request(['phone', 'password']); // $token = auth('api')->attempt($credentials); // return response()->json([ // 'msg' => '注册成功', // 'data' => [ // 'access_token' => $token, // 'token_type' => 'bearer', // 'expires_in' => auth('api')->factory()->getTTL() * 60, // 'm_id' => auth('api')->user()->{'id'}, // ], // 'code' => 1, // ]); } catch (\Exception $e) { DB::rollBack(); // 回滚 return response()->json([ 'msg' => $e->getMessage(), 'data' => [], 'code' => 0, ]); } } // pc 注册 public function index() { $code = request()->input('code', 000000); return view('admins.auth.register', compact('code')); } /** * 获取token */ public function getBizToken() { $idcard_number = request()->input('idcard_number', ''); $idcard_name = request()->input('idcard_name', ''); // return response()->json([ // 'msg' => '信息校验中,请稍后再试...', // 'data' => [], // 'code' => 0, // ]); if (empty($idcard_number)) { return response()->json([ 'msg' => '请输入身份证号码', 'data' => [], 'code' => 0, ]); } if (empty($idcard_name)) { return response()->json([ 'msg' => '请输姓名', 'data' => [], 'code' => 0, ]); } $member_verify=MemberVerify::where('cid', $idcard_number)->where('status','1')->select(['id', 'status'])->first(); if(!empty($member_verify)){ session([ 'verify_info' => [ 'verify_id' => $member_verify->id ] ]); return response()->json([ 'msg' => '认证成功', 'data' => ['biz_token' => '','verify_id'=>$member_verify->id], 'code' => 1, ]); } $biz_token = Faceid::getBizToken($idcard_name, $idcard_number); if (empty($biz_token)) { return response()->json([ 'msg' => '姓名与身份证信息不符', 'data' => [], 'code' => 0, ]); } else { session([ 'biz_token_info' => [ 'biz_token' => $biz_token, 'idcard_number' => $idcard_number, 'idcard_name' => $idcard_name, ] ]); return response()->json([ 'msg' => '获取token成功', 'data' => ['biz_token' => $biz_token,'verify_id'=>'0'], 'code' => 1, ]); } //验证当前身份证是否已经实名认证 // $verify_member = MemberNumber::where('cid', $idcard_number)->select(['id', 'status'])->first(); // if (empty($verify_member) || $verify_member->status != '2') { // // // } else { // return response()->json([ // 'msg' => '当前用户已实名认证', // 'data' => [], // 'code' => 0, // ]); // } } function verifyIdentity() { $biz_token_info = session('biz_token_info', []); // $biz_token_info['biz_token']='1572248662,6dfadc72-bfb2-43df-8540-0c0e0f6519e5'; if (empty($biz_token_info['biz_token'])) { return response()->json([ 'msg' => '请完成人脸识别认证', 'data' => [], 'code' => 0, ]); } $send_biz_token = request()->input('biz_token', ''); if ($biz_token_info['biz_token'] != $send_biz_token) { return response()->json([ 'msg' => '请上传正确的token信息', 'data' => [ 'old'=>$biz_token_info['biz_token'], 'new'=>$send_biz_token ], 'code' => 0, ]); } $biz_data = request()->input('biz_data', ''); // $biz_data=file_get_contents('../aa.txt'); // dd($biz_data); // $biz_data=file_get_contents('../aa.txt'); // if (empty($biz_data)) { // return response()->json([ // 'msg' => '请上传人脸识别信息', // 'data' => [], // 'code' => 0, // ]); // } $is_verify = Faceid::verifyIdentity($send_biz_token, $biz_data); if(empty($is_verify)){ return response()->json([ 'msg' => '人脸识别失败', 'data' => [], 'code' => 0, ]); }else{ $verify_info=MemberVerify::create([ 'cid'=>$biz_token_info['idcard_number'], 'real_name'=>$biz_token_info['idcard_name'], 'biz_token'=>$biz_token_info['biz_token'], 'status'=>1, 'member_id'=>0, ]); if(empty($verify_info)){ return response()->json([ 'msg' => '信息存储失败', 'data' => [], 'code' => 0, ]); } session([ 'verify_info' => [ 'verify_id' => $verify_info->id ] ]); return response()->json([ 'msg' => '人脸识别成功', 'data' => ['verify_id'=>$verify_info->id], 'code' => 1, ]); } } }