session()->get('userInfo'); if(!is_null($user_info)) { if ($user_info['is_admin'] == 1) { //超管跳转 return redirect('manage/super'); } else { //普通管理员跳转 //钉钉和微信跳转区分 if(env('APP_ENV') != "dingtalk") { if (empty($user_info['admin_user_id'])) { return redirect('manage/static/index.html#/Gameindex'); } else { return redirect('manage/static/index.html#/Gamecenter'); } } else { return redirect('manage/static/index.html#/dingtalk'); } } } return redirect('manage/static/index.html#/Login'); } /** * 登录校验 * username varchar() * password varchar() * 2018-05-08 16:37 韩 */ public function checkLogin(Request $request){ $params = $request->all(); $password = md5($params['password']); $res = Admin::where('username', $params['username']) ->where('password', $password) ->where('status', 1) //1 正常 0 冻结 ->first(); if($res){ //用户信息缓存 $request->session()->put('userInfo', $res); Log::debug($res); $user_admin = collect($res)->toArray(); return Api::json(config('code.success'), trans('msg.login_success'), $user_admin['is_admin']); } else { return Api::json(config('code.fail'), trans('msg.login_error')); } } /** * 获取用户信息 * @param Request $request * @return string */ public function getBaseAdmin(Request $request){ $user_info = $request->session()->get('userInfo'); if($user_info['corp_id'] != 0){ $user_info['corp_short_name'] = Corps::where('corp_id', $user_info['corp_id'])->value('corp_short_name'); } return Api::json(config('code.success'), trans('msg.success'), $user_info); } /** * 退出登录 */ public function logout(Request $request){ $request->session()->forget('userInfo'); return redirect('manage'); // return Api::json(config('code.success'), trans('msg.success')); } /** * 单点登录接口 * @param Request $request * @return string */ public function sso(Request $request){ $params = $request->all(); $token = $params['token']; $redirect = empty($params['redirect'])?'':$params['redirect']; if(empty($token)){ return Api::json(config('code.params_error'), trans('msg.params_error')); } $adminId = Redis::get('b_sso_token:'.$token); if($adminId){ $adminInfo = Admin::where('id', $adminId)->where('status', 1)->first(); if(!empty($adminInfo)){ $request->session()->put('userInfo', $adminInfo); if(empty($redirect)){ return redirect("/manage"); } else { header("location:".$redirect); } } else { return '认证失败'; } } else { return '认证失败'; } } /** * cookie写入接口 * @param Request $request * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector */ public function setCookie(Request $request){ $activityId = $request->get('activity_id'); $username = $request->get('username'); $name = $request->get('name'); // $adminInfo = $request->session()->get('userInfo'); setcookie('oauth_open_id', $username, 0, "/", env("COOKIE_DOMAIN")); setcookie('oauth_avatar', '', 0, "/", env("COOKIE_DOMAIN")); setcookie('oauth_nickname', $name, 0, "/", env("COOKIE_DOMAIN")); setcookie('oauth_platform', 'wechat', 0, "/", env("COOKIE_DOMAIN")); setcookie('oauth_guid', $username, 0, "/", env("COOKIE_DOMAIN")); setcookie('oauth_gcorp_id', '', 0, "/", env("COOKIE_DOMAIN")); return redirect(env('WEB_URL').'/brainstorming?activity_id='.$activityId); } } ?>