Agent Skills
返回列表
FastAdmin 二次开发实战手册

FastAdmin 二次开发实战手册

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_70589ad6/fastadmin-skill。

技能介绍

这个技能解决什么问题

FastAdmin 基于 ThinkPHP 5.0 LTS + Bootstrap 3 + AdminLTE + RequireJS 构建,「一键 CRUD」能快速生成控制器、模型、视图、JS 模块和菜单,但真正进入二开时,开发者会遇到一系列框架特有的问题:该继承哪条基类链?trait 已实现全套 CRUD,哪些属性该改、哪些方法该覆盖?RBAC 是双层架构,规则校验与数据行级限制如何配合?前端 JS 模块和控制器的镜像关系怎么维护才不出错?

这个技能就是围绕这些问题组织的,把从框架认知到前端定制的完整链路拆成可操作的知识点。

核心能力与关键步骤

框架认知层:梳理技术栈各层职责、请求生命周期与目录约定,这是二开前必须建立的全局视图。

控制器开发层:三条继承链对应不同场景——Backend(后台管理,Session + RBAC)、Frontend(前台用户,Session/Token)、Api(无状态接口,Token)。trait 自动提供 index()、add()、edit()、del()、multi()、import()、recyclebin() 全套方法,二开只需覆盖需要定制的部分,并通过 $searchFields、$relationSearch、$dataLimit、$modelSceneValidate 等属性调整行为。

权限与数据限制层:双层 Auth 架构中,fast\Auth 是基于规则的 RBAC 引擎,app\admin\library\Auth 增加 Session 登录与失败节流;权限决定能否访问动作,数据限制决定能触及哪些数据行,auth_rule.condition 还支持动态表达式。

CRUD 与表单层:buildparams() 把前端过滤参数转为查询条件数组,是自定义搜索条件的入口;fast\Form 提供 30+ 种表单元素;fast\Tree、fast\Pinyin、fast\Random、fast\Http 等工具类覆盖常见需求。

前端层:控制器与 public/assets/js/backend/ 下的 JS 模块必须镜像对应,RequireJS 按 Config.jsname 分发;fast.js 封装了 Fast.api.ajax()、Fast.api.open() 等常用方法。

适用边界与注意点

技能基于 FastAdmin v1.6.x,适用面集中在传统 PHP 后台项目。几个高频坑值得提前规避:不要修改 Backend.php trait 源码,升级会被覆盖;启用 $dataLimit 前确认表中有 admin_id 列;导出列名与导入列注释不一致会导致数据静默丢弃;权限缓存变更后需重新登录才生效。这些在「避坑指南」中有完整清单。

使用场景

  • 团队要在 FastAdmin 后台新增业务模块,需生成 CRUD 全套并调整搜索与数据限制
  • 扩展现有模块时,需给列表追加搜索条件并同步更新语言包
  • 定制权限体系,需新增规则、分配角色并启用行级数据限制
  • 调整前端表格交互,需修改 JS 模块 formatter 并保持与控制器路径镜像

适合人员

  • 使用 FastAdmin 的 PHP 工程师,需快速理解框架结构并完成二开任务
  • 负责后台权限体系的后端开发,需掌握 RBAC 规则与数据限制配置
  • 兼顾前后端的全栈开发者,需在 FastAdmin 中实现 CRUD 模块与表格定制
  • 维护企业级 PHP 后台的团队,需规避二开中的 trait 修改与路径镜像问题