← Back to Skills Marketplace
xiaohe4966

Fastadmin创建插件

by Xiaohe · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
85
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install fastadmin-addon
Description
FastAdmin插件开发助手。用于创建、开发和打包FastAdmin应用插件。当用户需要创建FastAdmin插件、开发插件功能、配置插件菜单、数据库、打包插件时使用此skill。支持生成插件目录结构、控制器、模型、视图、配置文件、菜单配置、数据库脚本等。
README (SKILL.md)

FastAdmin插件开发

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

快速开始

创建新插件

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

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

插件标识规则:

插件目录结构

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

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/\x3C插件标识>/
│       ├── model/\x3C插件标识>/
│       └── view/\x3C插件标识>/
└── public/             # 公共资源(会覆盖到/public)
    └── assets/js/backend/\x3C插件标识>/

核心文件说明

info.ini - 插件信息

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

Mydemo.php - 插件核心类

\x3C?php
namespace addons\mydemo;

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 - 插件配置

\x3C?php
return [
    [
        'name' => '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

前台控制器

\x3C?php
namespace addons\mydemo\controller;

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/\x3C插件标识>/ 目录:

\x3C?php
namespace app\admin\controller\mydemo;

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/插件标识/

参考文档

详细开发文档请参考:

Usage Guidance
该技能是基于文档的开发助手,不会自动下载或执行外部代码,但它指导你在站点目录中运行 php think addon 命令并添加/修改插件文件与数据库脚本。建议在安装/运行前:1) 在开发或沙箱环境中操作而非生产站点;2) 备份网站文件和数据库;3) 手动审查生成或要打包的 PHP/SQL 文件以防包含不期望的代码;4) 确认使用的插件标识与 FastAdmin 官方命名策略一致并从可靠来源获取实际插件代码。若你希望技能自动生成或写入文件,注意这会要求对宿主系统的文件写入权限——在授权前确认信任范围。
Capability Analysis
Type: OpenClaw Skill Name: fastadmin-addon Version: 1.0.0 The skill bundle is a development assistant for the FastAdmin framework, providing standard templates, directory structures, and CLI command examples for plugin creation. All code snippets (PHP, SQL, INI) and instructions in SKILL.md are consistent with official FastAdmin development practices and contain no evidence of malicious intent, data exfiltration, or unauthorized execution.
Capability Assessment
Purpose & Capability
技能名称和描述为 FastAdmin 插件开发助手,SKILL.md 提供创建插件目录、控制器、模型、视图、配置和打包的具体命令与示例文件,这与技能声明一致。未请求与用途不符的外部凭据或二进制。
Instruction Scope
运行说明聚焦于在目标 FastAdmin 应用目录下使用 php think addon 创建/打包插件,并提供模板文件与数据库脚本示例。说明会修改本地网站目录和可能影响数据库(通过应用已有配置),但这些操作在插件开发/打包场景下是预期的。建议在实际运行前备份站点和数据库并审核生成的 SQL/PHP 文件。
Install Mechanism
无安装规范或远程下载;这是一个纯说明性技能(instruction-only),不会在安装时将外部二进制或代码写入磁盘,风险较低。
Credentials
技能未声明或要求任何环境变量、凭据或配置路径。说明中提到的数据库表前缀占位符和 php think 命令会使用宿主应用已有的配置(例如数据库凭据),但技能本身不请求额外密钥或凭据,所需权限与功能相称。
Persistence & Privilege
flags 表明技能不是 always:true,也不包含长期驻留或修改其他技能配置的行为。作为说明性技能,它不会自行保持持久权限。
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install fastadmin-addon
  3. After installation, invoke the skill by name or use /fastadmin-addon
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
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.
Metadata
Slug fastadmin-addon
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Fastadmin创建插件?

FastAdmin插件开发助手。用于创建、开发和打包FastAdmin应用插件。当用户需要创建FastAdmin插件、开发插件功能、配置插件菜单、数据库、打包插件时使用此skill。支持生成插件目录结构、控制器、模型、视图、配置文件、菜单配置、数据库脚本等。 It is an AI Agent Skill for Claude Code / OpenClaw, with 85 downloads so far.

How do I install Fastadmin创建插件?

Run "/install fastadmin-addon" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Fastadmin创建插件 free?

Yes, Fastadmin创建插件 is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Fastadmin创建插件 support?

Fastadmin创建插件 is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Fastadmin创建插件?

It is built and maintained by Xiaohe (@xiaohe4966); the current version is v1.0.0.

💬 Comments