/**
  * 用户登录
  *
  * @param SignInRequest $request
  * @return \Illuminate\Http\JsonResponse
  * @throws \App\Exceptions\SignInException
  */
 public function doSignIn(SignInRequest $request)
 {
     $loginId = $request->get('login_id');
     $username = $request->get('username');
     $email = $request->get('email');
     $phone = $request->get('phone');
     $password = $request->get('password');
     $remember = $request->get('remember');
     if ($phone) {
         $user = UserManager::signInByPhone($phone, $password, $remember);
     } else {
         if ($email) {
             $user = UserManager::signInByEmail($email, $password, $remember);
         } else {
             if ($username) {
                 $user = UserManager::signInByUsername($username, $password, $remember);
             } else {
                 if (Tools::isEmail($loginId)) {
                     $user = UserManager::signInByEmail($loginId, $password, $remember);
                 } else {
                     if (Tools::isPhone($loginId)) {
                         $user = UserManager::signInByPhone($loginId, $password, $remember);
                     } else {
                         $user = UserManager::signInByUsername($loginId, $password, $remember);
                     }
                 }
             }
         }
     }
     return $this->buildResponse(trans('api.auth.sign_in.success'), Tools::toArray($user));
 }