user_login_pass != md5(sha1($params['password']))) { throw new \Exception('账号 / 密码错误'); } // 禁用用户 if ($user->user_status == 'DISABLED') { throw new \Exception('当前账户已禁用,请联系管理员'); } switch ($user->user_status) { case 'DISABLED': throw new \Exception('当前账户已禁用,请联系管理员'); break; case 'PENDING': // 待激活用户登录后自动激活 if (SysUser::where('user_id', $user->user_id)->update(['user_status' => 'ACTIVED'])) { throw new \Exception('用户状态修改失败'); } break; default: break; } $extend = [ 'id' => $user->user_id, 'client' => 'admin' ]; $token = JwtToken::generateToken($extend); // 提交事务 DB::commit(); return json_success('', $token); } catch (\Exception $e) { // 回滚事务 DB::rollBack(); return json_fail($e->getMessage()); } } }