123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- <?php
-
- namespace App\Http\Controllers;
-
- use Illuminate\Http\Request;
- use App\Http\Requests;
- use App\Http\Controllers\Controller;
- use App\Common\Api;
-
- use App\Services\AghApiService;
- use App\Models\Admin;
- use Illuminate\Support\Facades\Log;
- use Illuminate\Support\Facades\Redis;
-
- class LoginController extends Controller
- {
-
- public function __construct(){
- }
-
- /**
- * 登良
- */
- public function LoginIndex(Request $request){
- $user_info = $request->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);
- }
- }
- ?>
|