controller()); $action = lcfirst($request->action()); if (strtolower($controller) == 'login') return $next($request); // 检测是否登陆 $empcrm = session('empcrm'); if (empty($empcrm)) return redirect(url('login/index')); // 如果是多企业页面 if ($controller == 'index' && $action == 'company') return $next($request); // 如果上传文件 if ($action == 'osscallback') return $next($request); // 如果是多企业 if (is_string($empcrm)) return redirect(url('index/company')); $sessionId = cache('empcrm_' . $empcrm['phone']); if (!empty($sessionId) && $sessionId != Session::getId()) { Session::clear(); if (request()->isAjax()) { return json(['code' => 403, 'data' => [], 'msg' => '您的账号已在其他地方登录']); } else { return response(''); } } // 防止后台切换部门 及 离职 $find_emp = Employee::where('id', '=', $empcrm['id'])->findOrEmpty(); if ($find_emp['state'] != '在职') { Session::delete('empcrm'); Session::delete('empcrm_module'); if (request()->isAjax()) { return json(['code' => 403, 'data' => [], 'msg' => '您的账号已不在职']); } else { return response(''); } } $empcrm_module = session('empcrm_module'); //如果为空是首次登陆 $disabled = false; if (empty($empcrm_module)) { // 判断是进入哪个模块,网销or社群 if ($find_emp['empcrm_disable'] && $find_emp['community_disable']) { $disabled = true; } elseif ($find_emp['empcrm_disable']) { // 网销禁入 进入社群 $empcrm_module = 2; session('empcrm_module', 2); // 1、网销 2、社群 } elseif ($find_emp['community_disable']) { // 进入网销 $empcrm_module = 1; session('empcrm_module', 1); // 1、网销 2、社群 } else { // 都有默认进入社群 $empcrm_module = 2; session('empcrm_module', 2); // 1、网销 2、社群 } } else { // 当前模块 $empcrm_module = session('empcrm_module'); } if ($disabled) { // 不准进入程序 Session::delete('empcrm'); Session::delete('empcrm_module'); if (request()->isAjax()) { return json(['code' => 403, 'data' => [], 'msg' => '账号无权限']); } else { return response(''); } } if ($find_emp['org_id'] != $empcrm['org_id']) { Session::delete('empcrm'); Session::delete('empcrm_module'); if (request()->isAjax()) { return json(['code' => 403, 'data' => [], 'msg' => '您的账号已切换部门,请重新登陆']); } else { return response(''); } } // 未跟进颜色提醒 $tip_where[] = ['root_id', '=', $find_emp['root_id']]; $tip_where[] = ['name', '=', 'no_follow_tips']; $info_tips = Setting::where($tip_where)->findOrEmpty(); $need_tips = 0; if (!$info_tips->isEmpty()) { $need_tips = (int)$info_tips['content']; } View::assign('need_follow_tips', $need_tips); if ($empcrm_module == 1) { $grant = ['index/switch_model', 'empcrm/add_wetch', 'empcrm/fetchpoolitem', 'empcrm/pollcus_detail', 'empcrm/sign_savecust', 'empcrm/signcus_detail', 'empcrm/resources_sign', 'empcrm/save_introduce', 'empcrm/daily_detail', 'empcrm/customer_detail', 'empcrm/reserveDesigner', 'empcrm/get_person', 'empcrm/get_all_portrait_field', 'empcrm/validation', 'empcrm/poolFieldsSet', 'empcrm/model_new_report', 'empcrm/followup', 'empcrm/index', 'empcrm/poolFieldsList', 'index/index', 'empcrm/search_list', 'empcrm/daily', 'empcrm/new_daily_detail', 'empcrm/addlog', 'empcrm/addVisitlog', 'empcrm/list', 'empcrm/edit_customer', 'empcrm/add_customer', 'empcrm/model_report', 'empcrm/resources_list', 'empcrm/repay_list', 'empcrm/stay_confirm_list', 'empcrm/confirm_visit_list', 'empcrm/jiaoding_list', 'empcrm/assignment_list', 'managerEmp/shareList', 'empcrm/pool_list', 'managerEmp/proofread', 'empcrm/achment_list', 'empcrm/emp_daily', 'empcrm/invalid_report', 'empcrm/pool_list', 'index/company', 'index/welcome', 'index/logout', 'empcrm/bind', 'index/switch_shop', 'empcrm/kb', 'empcrm/fish_list', 'empcrm/fish_pool_fields_list', 'empcrm/fish_validation', 'empcrm/create_bridge_call', 'empcrm/fish_update_data', 'empcrm/tencent_list', 'empcrm/fish_list_total', 'empcrm/tencent_list_total', 'empcrm/fish_total', 'empcrm/fish_detail', 'managerEmp/get_person', 'empcrm/checkCustomer', 'empcrm/create_bridge_call_customer', 'managerEmp/get_error_customers', 'validCheck/apply', 'validCheck/apply_list', 'empcrm/pool_list_export']; if ($empcrm->is_manager) { $mangrant = ['managerEmp/recovery_customers', 'managerEmp/get_child_orgs', 'managerEmp/year_report', 'managerEmp/designer_report', 'empcrm/generalOpenData', 'empcrm/generalOpen', 'managerEmp/customer_statistics_list', 'empcrm/generalStatisticsData', 'empcrm/generalStatistics', 'managerEmp/account_report', 'managerEmp/edit_extension', 'managerEmp/account_detail', 'managerEmp/add_extension', 'managerEmp/extension_report', 'empcrm/customerTransfer', 'managerEmp/distribution_resources', 'managerEmp/get_persons', 'managerEmp/get_orgs', 'managerEmp/distribution', 'managerEmp/get_customers', 'managerEmp/get_uncustomers', 'managerEmp/read_new', 'managerEmp/delete_new', 'managerEmp/add', 'managerEmp/importLog', 'empcrm/statistics', 'empcrm/statistics_more', 'managerEmp/resource', 'managerEmp/importing', 'empcrm/jiance', 'empcrm/sel_wuxiao', 'managerEmp/seL_emplist', 'empcrm/fish_validation_view', 'managerEmp/seL_emplist', 'empcrm/fish_validation_again', 'managerEmp/account_detail_fish', 'statistics2/source', 'statistics2/sale', 'statistics2/designer', 'statistics2/sourceDetail', 'statistics2/designerDepartment', 'managerEmp/deleteExtension', 'validCheck/list', 'validCheck/check']; $grant = array_merge($grant, $mangrant); } // 判断是否有权限 $grant = array_unique($grant); if (!in_array($controller . '/' . $action, $grant)) { if ($request->isAjax()) { return json(['code' => 1, 'msg' => '无权限']); } throw new HttpException(404, '无权限'); } $root_id = $empcrm->root_id; //馨居尚,臻品软装,菡萏怡景装饰 $xinjushang = 0; $empcrm['xinjushang'] = $xinjushang; View::assign('xinjushang', $xinjushang); //用于模板页面对馨居尚的判断 // 进入的模块 $empcrm['empcrm_module'] = 1; $request->empcrm = $empcrm; return $next($request); } elseif ($empcrm_module == 2) { // 更新社群的登陆时间 Employee::where('id', '=', $empcrm['id'])->save(['community_login_time' => date('Y-m-d H:i:s')]); $grant = []; if ($empcrm->is_manager) { $mangrant = []; $grant = array_merge($grant, $mangrant); } // 判断是否有权限 $grant = array_unique($grant); // if (!in_array($controller . '/' . $action, $grant)) { // if ($request->isAjax()) { // return json(['code' => 1, 'msg' => '无权限']); // } // throw new HttpException(404, '无权限'); // } $root_id = $empcrm->root_id; //馨居尚,臻品软装,菡萏怡景装饰 $xinjushang = 0; $empcrm['xinjushang'] = $xinjushang; View::assign('xinjushang', $xinjushang); //用于模板页面对馨居尚的判断 // 进入的模块 $empcrm['empcrm_module'] = 2; $request->empcrm = $empcrm; return $next($request); } else { Session::delete('empcrm'); Session::delete('empcrm_module'); if (request()->isAjax()) { return json(['code' => 403, 'data' => [], 'msg' => '请重新登陆']); } else { return response(''); } } } }