060737-宝箱配置列表增加复制功能.md 1.8 KB

宝箱配置列表增加复制功能

任务描述

为宝箱配置列表页面增加RowAction复制按钮,实现宝箱配置的复制功能。

实现内容

1. 创建复制Action类

  • 文件:app/Module/GameItems/AdminControllers/Actions/DuplicateItemChestConfigAction.php
  • 功能:
    • 复制现有宝箱配置
    • 自动查找可用的宝箱物品进行分配
    • 复制的配置默认为未激活状态
    • 复制成功后自动跳转到编辑页面

2. 修改控制器

  • 文件:app/Module/GameItems/AdminControllers/ItemChestConfigController.php
  • 修改:在Grid的actions中添加复制按钮

3. 复制逻辑

  • 查找未被使用的宝箱物品
  • 复制原配置的所有属性(消耗组、奖励组、条件组等)
  • 设置新配置为未激活状态
  • 如果没有可用宝箱,显示错误提示

测试结果

  • ✅ 复制按钮正确显示在每行操作列中
  • ✅ 点击复制按钮显示确认对话框
  • ✅ 复制功能正常工作,成功创建新配置
  • ✅ 新配置使用可用的宝箱物品
  • ✅ 新配置默认为未激活状态
  • ✅ 复制后自动跳转到编辑页面

技术要点

  1. 数据库约束处理:每个宝箱物品只能有一个配置(唯一索引约束)
  2. 自动分配宝箱:查找未被使用的宝箱物品进行分配
  3. 用户体验:复制后自动跳转到编辑页面,方便用户修改配置
  4. 状态管理:复制的配置默认为未激活状态,避免意外生效

代码提交

  • 提交信息:为宝箱配置列表增加复制功能
  • 提交哈希:ad6fbc48
  • 文件变更:
    • 新增:app/Module/GameItems/AdminControllers/Actions/DuplicateItemChestConfigAction.php
    • 修改:app/Module/GameItems/AdminControllers/ItemChestConfigController.php

访问地址

http://kku_laravel.local.gd/admin/game-items-chest-configs