valid([ "code" => "required", ]); $sessionData = app(WechatService::class)->codeToSession($params['code']); $token = app(AuthService::class)->authByOpenid($sessionData['openid']); return $this->ok([ "token" => $token, "openid" => $sessionData['openid'], "sessionKey" => $sessionData['session_key'], ]); } public function decryptUserInfo() { $params = $this->valid([ "iv" => "required", "encrypted_data" => "required", "session_key" => "required", ]); app(WechatService::class)->decryptUserInfo($params); /** @var User $user */ $user = \Auth::user(); return $this->ok([ "token" => app(AuthService::class)->encryptToken($user->id), "name" => $user->name, "phone" => $user->phone, ]); } public function decryptPhone() { $params = $this->valid([ "iv" => "required", "encrypted_data" => "required", "session_key" => "required", ]); app(WechatService::class)->decryptPhone($params); /** @var User $user */ $user = \Auth::user(); return $this->ok([ "token" => app(AuthService::class)->encryptToken($user->id), "name" => $user->name, "phone" => $user->phone, ]); } public function profile() { /** @var User $user */ $user = Auth::user(); return $this->ok([ "id" => $user->id, "token" => app(AuthService::class)->encryptToken($user->id), "name" => $user->name, "avatar" => $user->avatar, "company" => [ "id" => optional($user->company)->id ?? 0, "name" => optional($user->company)->name ?? "", ], ]); } public function test() { $id = request()->input("id"); return $this->ok(app(AuthService::class)->encryptToken($id)); } public function emailCaptcha() { $params = $this->valid([ "email" => "required|email", "source" => "required", ]); return $this->ok(app(EmailService::class)->emailCaptcha($params['email'], $params['source'])); } public function register() { return $this->ok([ "token" => "token", "name" => "", "phone" => "", ]); } public function login() { return $this->ok([ "token" => "token", "name" => "", "phone" => "", ]); } public function resetPassword() { return $this->ok([ "token" => "token", "name" => "", "phone" => "", ]); } }