model('roles'); $menus = app::get('desktop')->model('menus'); if (!$check_id) { return ''; } $aPermission = array(); foreach ($roles->getList('*', ['role_id' => $check_id]) as $val) { $data = unserialize($val['workground']); if ($data) { $aPermission = array_merge($aPermission, $data); } } $aPermission = array_unique($aPermission); if (!$aPermission) { return ''; } $branchList = []; $menuList = $menus->getList('*', array('menu_type' => 'permission', 'permission' => $aPermission)); foreach ($menuList as $key => $value) { $addon = unserialize($value['addon']); if (!$addon) { continue; } if ($addon['show'] && $addon['save']) { // 如果存在控制 $access = explode(':', $addon['show']); $classname = $access[0]; $method = $access[1]; $obj = kernel::single($classname); // 检测是否包含订单确认 if ('show_group' == $method && $role == self::__ORDER_ROLE) { return $obj->$method($user_id,$post); } //检测是否包含仓库选择 if ('show_branch' == $method && $role == self::__BRANCH_ROLE) { return $branchList = $obj->$method($user_id, $post); } //检测是否包含仓库选择 if ('show_o2o_branch' == $method && $role == self::__STORE_ROLE) { return $obj->$method($user_id, $post); } } } } }