公共控制器
/**
* 公共初始化
* @Author 聞子 <270988107@qq.com>
* @Return \think\response\View|void
*/
public function initialize()
{
$this->NavBarlist();
}
/**
* 后臺(tái)側(cè)邊欄
* @Author 聞子 <270988107@qq.com>
*/
private function NavBarlist()
{
$modulesList = getModulesCatalog(Env::get('app_path'));
$labels = [];
$jsonData = [];
foreach ($modulesList as $k=>$v) {
$modulesUrl = Env::get('app_path') . $v . '\info.json';
$jsonData[] = json_decode(file_get_contents($modulesUrl),true);
}
foreach ($jsonData as $key => $value) {
if (!empty($value['admin_menu'])) {
$labels[] = $jsonData[$key]['admin_menu'];
}
}
foreach ($labels as $key => $item) {
foreach($item as $k => $v){
$arr[] = $v;
}
}
$this->assign('NavBarlist',$arr);
}
公共文件common
/**
* 獲取模塊目錄
* @Author 聞子 <270988107@qq.com>
* @Param $dir
* @Return array
*/
function getModulesCatalog($dir)
{
$dirArray[] = NULL;
if (false != ($handle = opendir($dir))) {
$i = 0;
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != ".." && $file != ".htaccess" && $file != "common" && !strpos($file, ".")) {
$dirArray[$i] = $file;
$i++;
}
}
closedir($handle);
}
return $dirArray;
}
json文件
{
"name": "admin",
"title": "后臺(tái)",
"description": "一款基礎(chǔ)后臺(tái)模塊",
"author": "Wz",
"version": "1.0.0",
"is_module": 1,
"is_admin": 1,
"admin_menu": [
{
"title": "儀表盤",
"url": "admin/index/index",
"icon": "layui-icon-dashboard",
"is_status": 1
},
{
"title": "模塊管理",
"url": "",
"icon": "layui-icon-dashboard",
"is_status": 1,
"menu_list": [
{
"title": "模塊列表",
"url": "admin/modules/index",
"is_status": 1
}
]
}
],
"database_prefix": "wz_"
}