fix: review 修复——meta 覆盖、重复支付、卸载守卫、测试补全
- EditPost 保存时合并表单中的部分 meta 键,防止插件注入字段覆盖 unlocked_user_ids 等其他键(单篇解锁用户会失去权限的 bug) - unlockPost:已有阅读权限(会员/作者/已解锁)直接跳文章,不重复支付 - subscribe:已有该套餐有效订阅直接跳我的订阅页 - uninstall:存在已启用的依赖者时拒绝卸载(与 disable 一致) - .gitignore 排除 storage/media-library/temp 测试残留 - 测试:AdminPagesTest 补 /admin/plugins /admin/payments;新增 Livewire 保存验证 meta 保留、解锁/订阅防重复支付、卸载守卫
This commit is contained in:
@@ -19,4 +19,14 @@ class EditPost extends EditRecord
|
||||
DeleteAction::make(),
|
||||
];
|
||||
}
|
||||
|
||||
protected function mutateFormDataBeforeSave(array $data): array
|
||||
{
|
||||
// 表单只包含部分 meta 键(插件注入的价格/会员标记等),合并保留其他插件写入的键(如解锁用户)
|
||||
if (array_key_exists('meta', $data)) {
|
||||
$data['meta'] = array_merge($this->record->meta ?? [], $data['meta'] ?? []);
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user