From 84ef9699b58ae178ebc927027f90f57b26e369ca Mon Sep 17 00:00:00 2001
From: Anyon <zoujingli@qq.com>
Date: Sat, 5 May 2018 18:51:16 +0800
Subject: [PATCH] =?UTF-8?q?[=E6=9B=B4=E6=96=B0]=E8=AE=BE=E7=BD=AE=E7=B3=BB?=
 =?UTF-8?q?=E7=BB=9F=E8=8F=9C=E5=8D=95=E5=85=81=E8=AE=B8=E5=B8=A6=E5=8F=82?=
 =?UTF-8?q?=E6=95=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 application/admin/controller/Index.php | 2 +-
 application/admin/controller/Menu.php  | 4 +++-
 application/admin/view/menu/form.html  | 8 ++++++++
 3 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/application/admin/controller/Index.php b/application/admin/controller/Index.php
index 4ef99751e..9658264b3 100644
--- a/application/admin/controller/Index.php
+++ b/application/admin/controller/Index.php
@@ -65,7 +65,7 @@ class Index extends BasicAdmin
                 continue;
             } elseif ($menu['url'] !== '#') {
                 $node = join('/', array_slice(explode('/', preg_replace('/[\W]/', '/', $menu['url'])), 0, 3));
-                $menu['url'] = url($menu['url']);
+                $menu['url'] = url($menu['url']) . (empty($menu['params']) ? '' : "?{$menu['params']}");
                 if (isset($nodes[$node]) && $nodes[$node]['is_login'] && empty($isLogin)) {
                     unset($menus[$key]);
                 } elseif (isset($nodes[$node]) && $nodes[$node]['is_auth'] && $isLogin && !auth($node)) {
diff --git a/application/admin/controller/Menu.php b/application/admin/controller/Menu.php
index 7335d27ab..69fa9e63a 100644
--- a/application/admin/controller/Menu.php
+++ b/application/admin/controller/Menu.php
@@ -58,7 +58,9 @@ class Menu extends BasicAdmin
     protected function _index_data_filter(&$data)
     {
         foreach ($data as &$vo) {
-            ($vo['url'] !== '#') && ($vo['url'] = url($vo['url']));
+            if ($vo['url'] !== '#') {
+                $vo['url'] = url($vo['url']) . (empty($vo['params']) ? '' : "?{$vo['params']}");
+            }
             $vo['ids'] = join(',', ToolsService::getArrSubIds($data, $vo['id']));
         }
         $data = ToolsService::arr2table($data);
diff --git a/application/admin/view/menu/form.html b/application/admin/view/menu/form.html
index 9008d90ba..e4acbe8c2 100644
--- a/application/admin/view/menu/form.html
+++ b/application/admin/view/menu/form.html
@@ -29,6 +29,14 @@
         </div>
     </div>
 
+    <div class="layui-form-item">
+        <label class="layui-form-label">链接参数</label>
+        <div class="layui-input-block">
+            <input type="text" name="params" autocomplete="off" title="请输入链接参数" placeholder="请输入链接参数" value="{$vo.params|default=''}" class="layui-input typeahead">
+            <p class="help-block">(可选)设置菜单链接参数,如:name=1&age=3</p>
+        </div>
+    </div>
+
     <div class="layui-form-item">
         <label class="layui-form-label">菜单图标</label>
         <div class="layui-input-inline" style='width:300px'>