diff --git a/application/common.php b/application/common.php index 286a116a3a4236ac7ecb2cabe9f9ede714875d15..798ac644e1979225bc8ef0bb9b242876ff8b8a80 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 25e6e0f0211f4b7b818d93e769545d21a37fdacd..5df96803aab1d935baacf6f3522c480ddd57aa50 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 594933cf0105a9b626c73c8d130dd4a84ecba011..445d36648f0d40f6b3c28f008ae10549a0e248e7 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