修复Transfer模块后台应用创建页面的错误,并成功创建一个测试应用验证功能。
2025-06-18 18:46
访问 /admin/transfer/apps/create 页面时出现错误:
TypeError: "Dcat\Admin\Form\Field\Display::with(): Argument #1 ($callback) must be of type Closure, string given, called in /var/www/html/app/Module/Transfer/AdminControllers/Helper/TransferAppHelper.php on line 244"
在TransferAppHelper.php第244行,Display字段的with()方法被错误地传入了字符串参数,而该方法期望接收一个闭包函数。
修改app/Module/Transfer/AdminControllers/Helper/TransferAppHelper.php:
修复前:
$form->display('api_note', '说明')
->with('如果所有API地址都为空,系统将运行在农场内部模式');
修复后:
$form->display('api_note', '说明')
->with(function () {
return '如果所有API地址都为空,系统将运行在农场内部模式';
});
成功创建了一个测试应用,配置如下:
| 字段 | 值 |
|---|---|
| 应用标识 | test_app |
| 应用名称 | 测试应用 |
| 应用描述 | 这是一个用于测试的Transfer应用 |
| 货币类型 | 金币 |
| 资金账户类型 | 1 |
| 转入目标账户 | 1001 |
| 转入来源账户 | 1002 |
| 汇率 | 1.0000 |
| 启用状态 | 启用 |
创建表单采用标签页设计,包含以下部分:
新创建的应用在数据库中的记录:
SELECT * FROM kku_transfer_apps WHERE id = 1;
应用ID为1,所有配置信息已正确保存到数据库。
Display字段with()方法必须传入闭包函数saving回调中进行app/Module/Transfer/AdminControllers/Helper/TransferAppHelper.php✅ 问题已修复,功能正常工作,测试应用创建成功