title($this->title) ->description($this->description) ->body(function (Row $row) { // 物品配置表卡片 $row->column(6, $this->createConfigCard( '物品配置表', 'items.json', 'gameitems:generate-json', SyncItemsJsonTool::make(), $this->getItemConfigInfo() )); // 宝箱配置表卡片 $row->column(6, $this->createConfigCard( '宝箱配置表', 'chest.json', 'gameitems:generate-chest-json', SyncChetsJsonTool::make(), $this->getChestConfigInfo() )); }) ->body(function (Row $row) { // 宠物配置表卡片 $row->column(6, $this->createConfigCard( '宠物配置表', 'pet_config.json, pet_level_config.json, pet_skill_config.json', 'pet:generate-json', 'game-jsonconfigs/refresh-pets', $this->getPetConfigInfo() )); // 农场房屋配置表卡片 $row->column(6, $this->createConfigCard( '农场房屋配置表', 'farm_house.json', 'farm:generate-house-json', 'game-jsonconfigs/refresh-farm-house', $this->getFarmHouseConfigInfo() )); }); } /** * 创建配置表信息卡片 * * @param string $title 卡片标题 * @param string $filename 文件名 * @param string $command 生成命令 * @param string $refreshUrl 刷新URL * @param array $info 配置信息 * @return Card */ protected function createConfigCard($title, $filename, $command, $refresh, $info) { $headers = [ '属性', '值' ]; $rows = []; foreach ($info as $key => $value) { $rows[] = [ $key, $value ]; } $card = new Card($title, Table::make($headers, $rows)); $card->tool($refresh); $card->footer("文件: {$filename}
命令: php artisan {$command}"); return $card; } /** * 获取物品配置表信息 * * @return array */ protected function getItemConfigInfo() { $data = ItemJsonConfig::getData(); $info = [ '生成时间' => Datetime::ts2string($data['generated_ts']), '物品数量' => isset($data['items']) ? count($data['items']) : 0, ]; return $info; } /** * 获取宝箱配置表信息 * * @return array */ protected function getChestConfigInfo() { $data = ChestJsonConfig::getData(); $info = [ '生成时间' => Datetime::ts2string($data['generated_ts']), '宝箱数量' => isset($data['chest']) ? count($data['chest']) : 0, ]; return $info; } /** * 获取宠物配置表信息 * * @return array */ protected function getPetConfigInfo() { $data = PetJsonConfig::getData(); $petConfig = $data['pet_config'] ?? []; $petLevelConfig = $data['pet_level_config'] ?? []; $petSkillConfig = $data['pet_skill_config'] ?? []; $info = [ '生成时间' => Datetime::ts2string($data['generated_ts']), '宠物数量' => isset($petConfig['pets']) ? count($petConfig['pets']) : 0, '等级配置数量' => isset($petLevelConfig['pet_levels']) ? count($petLevelConfig['pet_levels']) : 0, '技能配置数量' => isset($petSkillConfig['pet_skills']) ? count($petSkillConfig['pet_skills']) : 0, ]; return $info; } /** * 获取农场房屋配置表信息 * * @return array */ protected function getFarmHouseConfigInfo() { $data = FarmHouseJsonConfig::getData(); $info = [ '生成时间' => Datetime::ts2string($data['generated_ts']), '房屋配置数量' => isset($data['house_configs']) ? count($data['house_configs']) : 0, ]; return $info; } }