From 1178853ad6fdaa53c8d3d187b03fce1f0d1f600b Mon Sep 17 00:00:00 2001 From: devil Date: Wed, 18 Nov 2020 11:18:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=92=E4=BB=B6=E5=9C=B0=E5=9D=80=E7=AE=80?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/common.php | 12 ++++++++++-- application/index/controller/Plugins.php | 18 ++++++------------ route/route.config | 1 + 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/application/common.php b/application/common.php index 286a116a3..798ac644e 100755 --- a/application/common.php +++ b/application/common.php @@ -1101,8 +1101,16 @@ function MyUrl($path, $params=[]) * @param string $plugins_action [应用方法] * @param array $params [参数] */ -function PluginsHomeUrl($plugins_name, $plugins_control, $plugins_action, $params=[]) +function PluginsHomeUrl($plugins_name, $plugins_control = '', $plugins_action = '', $params = []) { + // 控制器和方法都为index的时候置空、缩短url地址 + if($plugins_control == 'index' && $plugins_action == 'index') + { + $plugins_control = ''; + $plugins_action = ''; + } + + // 插件基础参数 $plugins = [ 'pluginsname' => $plugins_name, 'pluginscontrol' => $plugins_control, @@ -1140,7 +1148,7 @@ function PluginsHomeUrl($plugins_name, $plugins_control, $plugins_action, $param * @param string $plugins_action [应用方法] * @param array $params [参数] */ -function PluginsAdminUrl($plugins_name, $plugins_control, $plugins_action, $params=[]) +function PluginsAdminUrl($plugins_name, $plugins_control, $plugins_action, $params = []) { $plugins = [ 'pluginsname' => $plugins_name, diff --git a/application/index/controller/Plugins.php b/application/index/controller/Plugins.php index 25e6e0f02..5df96803a 100755 --- a/application/index/controller/Plugins.php +++ b/application/index/controller/Plugins.php @@ -53,16 +53,6 @@ class Plugins extends Common 'key_name' => 'pluginsname', 'error_msg' => '应用名称有误', ], - [ - 'checked_type' => 'empty', - 'key_name' => 'pluginscontrol', - 'error_msg' => '应用控制器有误', - ], - [ - 'checked_type' => 'empty', - 'key_name' => 'pluginsaction', - 'error_msg' => '应用操作方法有误', - ], ]; $ret = ParamsChecked($params['data_request'], $p); if($ret !== true) @@ -76,10 +66,14 @@ class Plugins extends Common } } + // 控制器/方法默认值 + $pluginscontrol = empty($params['data_request']['pluginscontrol']) ? 'index' : $params['data_request']['pluginscontrol']; + $pluginsaction = empty($params['data_request']['pluginsaction']) ? 'index' : $params['data_request']['pluginsaction']; + // 应用名称/控制器/方法 $pluginsname = $params['data_request']['pluginsname']; - $pluginscontrol = strtolower($params['data_request']['pluginscontrol']); - $pluginsaction = strtolower($params['data_request']['pluginsaction']); + $pluginscontrol = strtolower($pluginscontrol); + $pluginsaction = strtolower($pluginsaction); unset($params['data_request']['pluginsname'], $params['data_request']['pluginscontrol'], $params['data_request']['pluginsaction']); // 视图初始化 diff --git a/route/route.config b/route/route.config index 594933cf0..445d36648 100755 --- a/route/route.config +++ b/route/route.config @@ -50,5 +50,6 @@ Route::get('forget', 'index/user/forgetpwdinfo'); Route::get('logout', 'index/user/logout'); // 插件调用 +Route::rule(':pluginsname'.$ds.'[:pluginscontrol]'.$ds.'[:pluginsaction]'.$ds.'[:id]','index/plugins/index')->completeMatch(); Route::rule(':pluginsname'.$ds.':pluginscontrol'.$ds.':pluginsaction'.$ds.'[:id]','index/plugins/index'); ?> \ No newline at end of file -- GitLab