get('code/s'); $user = User::find($request->userID); if ($user->mobile) { throw_logic_exception('手机号已绑定'); } $phoneInfo = $wechatUserEntity->getPhoneNumber($code); $mobileUser = User::where(['mobile' => $phoneInfo['phoneNumber']])->findOrEmpty(); if (!$mobileUser->isEmpty()) { if ($mobileUser->id != $request->userID) { throw_logic_exception('手机号已绑定其他账号'); } else { throw_logic_exception('手机号已绑定'); } } $user->mobile = $phoneInfo['phoneNumber']; $user->save(); return success_response([ 'mobile' => $user->mobile, ]); } public function session(Request $request): Response { $params = $request->get([ 'code/s', 'appid/s' => null, ]); $miniApp = app()->make(MiniApp::class, [$params['appid']]); $utils = $miniApp->getUtils(); $response = $utils->codeToSession($params['code']); return success_response($response); } public function delete(Request $request, ExtensionWechatUserEntity $wechatUserEntity): Response { $wechatUser = $wechatUserEntity->where('user_id', $request->userID)->findOrEmpty(); if ($wechatUser->isEmpty()) { throw_logic_exception('未绑定微信'); } return success_response($wechatUser->delete()); } }