diff --git a/src/plugin/admin/api/Install.php b/src/plugin/admin/api/Install.php new file mode 100644 index 0000000..4741bec --- /dev/null +++ b/src/plugin/admin/api/Install.php @@ -0,0 +1,93 @@ + static::getMenus()]; + } + + /** + * 获取菜单 + * + * @return array|mixed + */ + public static function getMenus() + { + clearstatcache(); + if (is_file($menu_file = __DIR__ . '/../config/menu.php')) { + $menus = include $menu_file; + return $menus ?: []; + } + return []; + } + + /** + * 删除不需要的菜单 + * + * @param $previous_menus + * @return void + */ + public static function removeUnnecessaryMenus($previous_menus) + { + $menus_to_remove = array_diff(Menu::column($previous_menus, 'name'), Menu::column(static::getMenus(), 'name')); + foreach ($menus_to_remove as $name) { + Menu::delete($name); + } + } + +} \ No newline at end of file