From 4f28da05fe745c3101bd3c935b0fd47c58cc43ca Mon Sep 17 00:00:00 2001 From: Henry Date: Wed, 9 Jun 2021 14:03:25 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E6=8B=BC=E9=9F=B3=E8=BD=AC?= =?UTF-8?q?=E6=8D=A2=EF=BC=8C=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/admin/library/Auth.php | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/application/admin/library/Auth.php b/application/admin/library/Auth.php index 5e265f5c..cfde717e 100644 --- a/application/admin/library/Auth.php +++ b/application/admin/library/Auth.php @@ -407,7 +407,6 @@ class Auth extends \fast\Auth $userRule = $this->getRuleList(); $selected = $referer = []; $refererUrl = Session::get('referer'); - $pinyin = new \Overtrue\Pinyin\Pinyin('Overtrue\Pinyin\MemoryFileDictLoader'); // 必须将结果集转换为数组 $ruleList = collection(\app\admin\model\AuthRule::where('status', 'normal') ->where('ismenu', 1) @@ -418,9 +417,8 @@ class Auth extends \fast\Auth ->where('ismenu', 0) ->where('name', 'like', '%/index') ->column('name,pid'); - $pidArr = array_filter(array_unique(array_map(function ($item) { - return $item['pid']; - }, $ruleList))); + $pidArr = array_unique(array_column($ruleList, 'pid')); + unset($pidArr[0]); foreach ($ruleList as $k => &$v) { if (!in_array($v['name'], $userRule)) { unset($ruleList[$k]); @@ -434,8 +432,6 @@ class Auth extends \fast\Auth $v['icon'] = $v['icon'] . ' fa-fw'; $v['url'] = isset($v['url']) && $v['url'] ? $v['url'] : '/' . $module . '/' . $v['name']; $v['badge'] = isset($badgeList[$v['name']]) ? $badgeList[$v['name']] : ''; - $v['py'] = $pinyin->abbr($v['title'], ''); - $v['pinyin'] = $pinyin->permalink($v['title'], ''); $v['title'] = __($v['title']); $v['url'] = preg_match("/^((?:[a-z]+:)?\/\/|data:image\/)(.*)/i", $v['url']) ? $v['url'] : url($v['url']); $v['menuclass'] = in_array($v['menutype'], ['dialog', 'ajax']) ? 'btn-' . $v['menutype'] : ''; @@ -443,11 +439,11 @@ class Auth extends \fast\Auth $selected = $v['name'] == $fixedPage ? $v : $selected; $referer = $v['url'] == $refererUrl ? $v : $referer; } - $lastArr = array_diff($pidArr, array_filter(array_unique(array_map(function ($item) { - return $item['pid']; - }, $ruleList)))); + $lastArr = array_unique(array_column($ruleList, 'pid')); + unset($lastArr[0]); + $pidDiffArr = array_diff($pidArr, $lastArr); foreach ($ruleList as $index => $item) { - if (in_array($item['id'], $lastArr)) { + if (in_array($item['id'], $pidDiffArr)) { unset($ruleList[$index]); } }