首页龙虾技能列表 › Fastadmin创建插件 — 技能工具

Fastadmin创建插件 — 技能工具

v1.0.0

FastAdmin插件开发助手。用于创建、开发和打包FastAdmin应用插件。当用户需要创建FastAdmin插件、开发插件功能、配置插件菜单、数据库、打包插件时使用此skill。支持生成插件目录结构、控制器、模型、视图、配置文件、菜单配置、数据库脚本等。

0· 35·0 当前·0 累计
by @xiaohe4966 (Xiaohe)·MIT-0
下载技能包
License
MIT-0
最后更新
2026/4/8
安全扫描
VirusTotal
无害
查看报告
OpenClaw
安全
high confidence
说明文档与所需权限、安装行为和运行说明在总体上与“FastAdmin 插件开发助手”的目的相符;没有要求无关凭据或下载可执行代码的迹象。
评估建议
该技能是基于文档的开发助手,不会自动下载或执行外部代码,但它指导你在站点目录中运行 php think addon 命令并添加/修改插件文件与数据库脚本。建议在安装/运行前:1) 在开发或沙箱环境中操作而非生产站点;2) 备份网站文件和数据库;3) 手动审查生成或要打包的 PHP/SQL 文件以防包含不期望的代码;4) 确认使用的插件标识与 FastAdmin 官方命名策略一致并从可靠来源获取实际插件代码。若你希望技能自动生成或写入文件,注意这会要求对宿主系统的文件写入权限——在授权前确认信任范围。
详细分析 ▾
用途与能力
技能名称和描述为 FastAdmin 插件开发助手,SKILL.md 提供创建插件目录、控制器、模型、视图、配置和打包的具体命令与示例文件,这与技能声明一致。未请求与用途不符的外部凭据或二进制。
指令范围
运行说明聚焦于在目标 FastAdmin 应用目录下使用 php think addon 创建/打包插件,并提供模板文件与数据库脚本示例。说明会修改本地网站目录和可能影响数据库(通过应用已有配置),但这些操作在插件开发/打包场景下是预期的。建议在实际运行前备份站点和数据库并审核生成的 SQL/PHP 文件。
安装机制
无安装规范或远程下载;这是一个纯说明性技能(instruction-only),不会在安装时将外部二进制或代码写入磁盘,风险较低。
凭证需求
技能未声明或要求任何环境变量、凭据或配置路径。说明中提到的数据库表前缀占位符和 php think 命令会使用宿主应用已有的配置(例如数据库凭据),但技能本身不请求额外密钥或凭据,所需权限与功能相称。
持久化与权限
flags 表明技能不是 always:true,也不包含长期驻留或修改其他技能配置的行为。作为说明性技能,它不会自行保持持久权限。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/4/8

fastadmin-addon 1.0.0 - Initial release of the FastAdmin插件开发助手 (FastAdmin Addon Development Assistant). - Supports rapid creation, development, and packaging of FastAdmin application plugins. - Provides commands and directory structure for new plugin scaffolding. - Includes examples and best practices for controllers, models, views, configs, and database scripts. - Offers guidelines for plugin menu configuration, database design, packaging, and deployment. - Reference links and usage notes included for developers.

● 无害

安装命令 点击复制

官方npx clawhub@latest install fastadmin-addon
镜像加速npx clawhub@latest install fastadmin-addon --registry https://cn.clawhub-mirror.com

技能文档

本skill帮助开发者快速创建和开发FastAdmin应用插件。

快速开始

创建新插件

使用命令行创建插件基础结构:

cd /var/www/yoursite
php think addon -a <插件标识> -c create

插件标识规则:

  • 只能使用小写字母,至少3个字符
  • 建议使用英文单词或拼音首字母
  • 先在 https://www.fastadmin.net/developer/idcheck.html 检测标识是否可用

插件目录结构

创建后的插件位于 addons/<插件标识>/,基础结构如下:

mydemo/
├── Mydemo.php          # 插件核心安装卸载控制器(必需,首字母大写)
├── config.php          # 插件配置文件
├── info.ini            # 插件信息文件(必需)
├── install.sql         # 数据库安装脚本(可选)
├── testdata.sql        # 测试数据脚本(可选)
├── bootstrap.js        # JS启动文件(可选)
├── config.html         # 自定义配置视图(可选)
├── LICENSE             # 版权文件
├── controller/         # 前台控制器目录
├── model/              # 模型目录
├── view/               # 视图目录
├── lang/               # 语言包目录
├── library/            # 类库目录
├── assets/             # 静态资源(会复制到/public/assets/addons/插件标识/)
├── application/        # 后台应用文件(会覆盖到/application)
│   └── admin/
│       ├── controller/<插件标识>/
│       ├── model/<插件标识>/
│       └── view/<插件标识>/
└── public/             # 公共资源(会覆盖到/public)
    └── assets/js/backend/<插件标识>/

核心文件说明

info.ini - 插件信息

name = mydemo
title = 示例插件
intro = 这是一个示例插件的介绍
author = FastAdmin
website = https://www.fastadmin.net
version = 1.0.0
state = 1

Mydemo.php - 插件核心类

use app\common\library\Menu; use think\Addons;

class Mydemo extends Addons { protected $menu = [ [ 'name' => 'mydemo', 'title' => 'Mydemo管理', 'icon' => 'fa fa-map-marker', 'ismenu' => 1, 'weigh' => 1, 'sublist' => [ ["name" => "mydemo/index/index", "title" => "查看"], ["name" => "mydemo/index/add", "title" => "添加"], ["name" => "mydemo/index/edit", "title" => "编辑"], ["name" => "mydemo/index/del", "title" => "删除"], ] ] ];

public function install() { Menu::create($this->menu); return true; }

public function uninstall() { Menu::delete("mydemo"); return true; }

public function enable() { Menu::enable("mydemo"); return true; }

public function disable() { Menu::disable("mydemo"); return true; }

public function upgrade() { Menu::upgrade('mydemo', $this->menu); return true; } }

config.php - 插件配置

 'yourname',
        'title' => '配置标题',
        'type' => 'string',
        'group' => '',
        'content' => [],
        'value' => '',
        'rule' => 'required',
        'msg' => '',
        'tip' => '',
        'ok' => '',
        'extend' => ''
    ],
];

配置类型支持:string/text/number/datetime/array/select/selects/image/images/file/files/checkbox/radio/bool

前台控制器

use think\addons\Controller;

class Index extends Controller { protected $noNeedLogin = ['']; // 无需登录的方法 protected $noNeedRight = ['']; // 无需鉴权的方法

public function index() { return $this->fetch(); } }

访问地址:http://www.example.com/addons/mydemo/index/index

后台控制器

位于 application/admin/controller/<插件标识>/ 目录:

use app\common\controller\Backend;

class Test extends Backend { public function index() { // CRUD列表逻辑 } }

数据库脚本 install.sql

CREATE TABLE IF NOT EXISTS __PREFIX__mydemo_list (
  id int(10) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  title varchar(100) DEFAULT NULL COMMENT '标题',
  createtime bigint(16) DEFAULT NULL COMMENT '创建时间',
  updatetime bigint(16) DEFAULT NULL COMMENT '更新时间',
  status enum('normal','hidden') NOT NULL DEFAULT 'normal' COMMENT '状态',
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='示例表';

使用 __PREFIX__ 表示数据库表前缀,安装时自动替换。

数据库设计规范

  • 表名和字段名全小写,只允许a-z和_,不能有拼音
  • 存储引擎统一使用InnoDB
  • 字符集统一使用utf8mb4,排序规则utf8mb4_general_ci
  • 关联字段统一使用_id结尾
  • 时间统一使用Unix时间戳格式,bigint(16),以time结尾
  • 主键必须为id
  • 表名必须以插件标识开头,如:__PREFIX__mydemo_log

特殊字段建议:

  • category_id - 分类ID,后台CRUD自动生成selectpage组件
  • user_id - 会员ID,后台CRUD自动生成selectpage组件
  • weigh - 权重,后台排序字段
  • createtime/updatetime/deletetime - 创建/更新/删除时间
  • status - 状态字段,启用TAB选项卡展示

打包插件

命令行打包(推荐)

cd /var/www/yoursite
php think addon -a mydemo -c package

打包后的文件位于:runtime/addons/mydemo-1.0.0.zip

打包注意事项

  • 不要在addons目录下直接压缩插件目录
  • 移除无关文件:.addonrc、.DS_Store、.git、.svn等
  • 移除插件包中的调试代码、注释、测试资源
  • application不允许新增其他模块,只允许index/api/admin
  • public和assets目录下不允许任何php/asp/jsp等服务端脚本

常用函数

// 读取插件配置
$config = get_addon_config('插件标识');

// 读取完整配置 $fullconfig = get_addon_fullconfig('插件标识');

// 更新插件配置 set_addon_config('插件标识', $config, true); set_addon_fullconfig('插件标识', $config);

// 检查插件是否存在 if (is_dir(ADDON_PATH . 'mydemo')) { // 插件存在 }

视图中的路径

  • __ADDON__ - 指向 /public/assets/addons/插件标识/

参考文档

详细开发文档请参考:

数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制

免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制

了解定制服务