*/ abstract class Controller extends BaseController { protected $_user; protected $_serviceAdminRole; public function __construct() { $this->middleware(function ($request, $next) { $this->_user = Auth::guard('admin')->user(); view()->share('_user',$this->_user); return $next($request); }); } public function getMenus() { if($this->_user['is_root']) { $obj = new Menus(); $menus = $obj->search(array('level'=>2,'display'=>1),$orderby=array('sort'=>'desc'),$pagesize = 100000); $menus = $menus->toArray(); $menus = list_to_tree($menus['data']); }else{ $obj = new Acl(); $data = $obj->getRoleMenu($this->_user['admin_role_id']); $menus = list_to_tree($data); } return $menus; } /** * 检测表单篡改 * * @return true|exception */ protected function checkFormHash() { return (new Formhash())->checkFormHash(); } /** * 启用操作日志记录 */ protected function setActionLog($extDatas = []) { return app()->make(Mark::BIND_NAME)->setMarkYes()->setExtDatas($extDatas); } /** * 显示提示消息 */ public function showMessage($msg, $links = NULL, $data = NULL, $redirect = true) { $this->_showMessage($msg, $links, $data, SUCESS_CODE, $redirect); } /** * 显示错误消息 */ public function showWarning($msg, $links = NULL, $data = NULL, $redirect = true) { $this->_showMessage($msg, $links, $data, FAILURE_CODE, $redirect); } /** * 显示消息 */ public function _showMessage($msgs, $links, $data, $code, $redirect) { header("Content-type:text/html;charset=utf-8"); if(!is_array($msgs)) { $msgs = array($msgs); } $urls = $links; if(!is_array($links)) { $urls = array(); if($links) { $urls[0]['url'] = $links; }elseif(isset($_SERVER['HTTP_REFERER'])) { $urls[0]['url'] = $_SERVER['HTTP_REFERER']; }else{ $urls[0]['url'] = 'javascript:history.back();'; } $urls[0]['title'] = '点击立即跳转'; } if($redirect) { $redirect = $urls[0]['url']; $redirect = (strstr($redirect, 'javascript:') !== false) ? $redirect : "location.href='{$redirect}'"; } else { $redirect = ''; } if(Request::ajax()){ $retval['msg'] = $msgs; $retval['redirect'] = $redirect; $retval['data'] = $data; $retval['status'] = $code; echo json_encode($retval);exit; return ; } if($links=="refresh") { echo ""; echo ""; echo ""; exit; } if($code==SUCESS_CODE) { $ico = ''; $titleHtml = '信息提示'; }else{ $ico = ''; $titleHtml = '错误警告'; } $msgHtml = ''; foreach ($msgs as $msg) { $msgHtml .= "