info('开始配置URS推广模块后台管理菜单...'); // 检查是否强制重新创建 $force = $this->option('force'); // 检查菜单是否已存在 $existingMenu = DB::table('admin_menu')->where('title', 'URS推广管理')->first(); if ($existingMenu && !$force) { $this->warn('URS推广管理菜单已存在,使用 --force 参数强制重新创建'); return; } if ($existingMenu && $force) { $this->info('删除现有菜单...'); $this->deleteExistingMenus(); } // 创建菜单 $this->createMenus(); $this->info('URS推广模块后台管理菜单配置完成!'); } /** * 删除现有菜单 */ private function deleteExistingMenus(): void { // 删除URS推广相关的所有菜单 DB::table('admin_menu')->where('title', 'like', '%URS%')->delete(); } /** * 创建菜单 */ private function createMenus(): void { // 获取下一个可用的order值 $maxOrder = DB::table('admin_menu')->max('order') ?? 0; // 1. 创建一级菜单:URS推广管理 $parentId = DB::table('admin_menu')->insertGetId([ 'parent_id' => 0, 'order' => $maxOrder + 1, 'title' => 'URS推广管理', 'icon' => 'fa-users', 'uri' => '', 'extension' => '', 'show' => 1, 'created_at' => now(), 'updated_at' => now(), ]); $this->info("创建一级菜单:URS推广管理 (ID: {$parentId})"); // 2. 创建二级菜单 $menus = [ [ 'title' => 'URS用户绑定关系', 'icon' => 'fa-exchange', 'uri' => 'urs-promotion/user-mappings', 'permission' => '', ], [ 'title' => 'URS推荐关系', 'icon' => 'fa-link', 'uri' => 'urs-promotion/user-referrals', 'permission' => '', ], [ 'title' => 'URS达人等级', 'icon' => 'fa-star', 'uri' => 'urs-promotion/user-talents', 'permission' => '', ], [ 'title' => 'URS收益记录', 'icon' => 'fa-money', 'uri' => 'urs-promotion/profits', 'permission' => '', ], [ 'title' => 'URS等级配置', 'icon' => 'fa-cog', 'uri' => 'urs-promotion/talent-configs', 'permission' => '', ], ]; foreach ($menus as $index => $menu) { $menuId = DB::table('admin_menu')->insertGetId([ 'parent_id' => $parentId, 'order' => $maxOrder + 2 + $index, 'title' => $menu['title'], 'icon' => $menu['icon'], 'uri' => $menu['uri'], 'extension' => '', 'show' => 1, 'created_at' => now(), 'updated_at' => now(), ]); $this->info("创建二级菜单:{$menu['title']} (ID: {$menuId})"); } } }