关于 laravel:nova:resource-patterns
面向 Laravel Nova 开发者的资源设计指南,围绕字段、授权、操作、筛选、指标和测试建立一致的资源模式。
主要功能
- 01组织字段顺序与关系
- 02配置授权策略和查询范围
- 03设计安全且可反馈的操作
- 04区分筛选器与任务视图
- 05规划指标与资源分组
- 06测试策略、查询和操作
适用场景
- 01构建与领域模型一致的 Nova 资源
- 02限制未授权用户的搜索结果
- 03为资源操作提供安全确认和结果反馈
- 04测试策略、查询范围及操作状态
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jpcaparas/ superpowers-laravel --skill laravel:nova:resource-patterns安装后在 Claude Code 中输入/laravel:nova:resource-patterns确认已加载。
详细介绍
Nova 资源模式
构建一致的 Nova 资源,使其反映领域模型并能够安全演进。
字段
- 按以下顺序排列字段:标识符 → 主要属性 → 关系 → 元数据
- 在有实际价值时使用
->sortable()/->filterable() - 除非必要,否则在索引页和详情页中隐藏敏感字段(例如令牌)
- 优先使用带可搜索约束的
BelongsTo/HasMany/Morph*关系
授权
- 使用 Nova 策略,并与模型策略保持一致,涵盖
viewAny、view、create、update、delete - 避免通过未经授权的搜索泄露数据是否存在;限定查询范围
操作
- 确保操作具备幂等性,或提供防护措施
- 提供确认消息和清晰的结果反馈
筛选器与透镜
- 筛选器:简单且常用的约束条件(状态、所有者、日期范围)
- 透镜:观点鲜明、以任务为中心的视图(例如,过期项目)
指标
- 对关键指标使用 Value/Trend/Partition 指标;适当进行缓存
- 使用明确的时间范围;清晰标注单位
资源组织
- 按领域对资源分组(导航分组)
- 保持显示标题有意义;始终使用
title()
测试
- 优先编写功能测试,覆盖策略、查询范围和资源逻辑
- 对于操作,使用真实的种子数据测试成功和失败状态
评论
支持 Markdown