# addons **Repository Path**: fastadmin_2/addons ## Basic Information - **Project Name**: addons - **Description**: No description available - **Primary Language**: PHP - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-10 - **Last Updated**: 2026-04-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FastAdmin 插件目录 ## 介绍 本目录包含 FastAdmin 框架的官方插件集合。FastAdmin 是一款基于 ThinkPHP5 + Bootstrap 的极速后台开发框架,插件机制是其核心功能之一,允许开发者通过插件方式扩展系统功能,而无需修改核心代码。 ## 插件列表 | 插件名称 | 功能描述 | 状态 | |---------|---------|------| | [command](./command/reame.md) | 在线命令行工具,支持在后台直接执行命令行指令 | 可用 | | [crontab](./crontab/readme.md) | 定时任务管理插件,支持 Cron 表达式和可视化配置 | 可用 | | [cropper](./cropper/readme.md) | 图片裁剪插件,集成 Cropper.js 实现图片上传裁剪 | 可用 | | [editable](./editable/readme.md) | 行内编辑插件,支持表格字段快速编辑 | 可用 | | [loginbg](./loginbg/readme.md) | 登录背景插件,支持 Bing 每日美图和自定义背景 | 可用 | | [qcloudsms](./qcloudsms/readme.md) | 腾讯云短信插件,提供短信发送功能 | 可用 | | [simditor](./simditor/readme.md) | 富文本编辑器插件,集成 Simditor 编辑器 | 可用 | | [third](./third/readme.md) | 第三方登录插件,支持 QQ、微信、微博 OAuth 登录 | 可用 | | [wechat](./wechat/readme.md) | 微信管理插件,支持自动回复、自定义菜单、素材管理 | 可用 | ## 插件安装方法 ### 方法一:通过插件市场安装(推荐) 1. 登录 FastAdmin 后台 2. 进入 `插件管理` → `插件市场` 3. 搜索需要的插件,点击 `安装` 按钮 4. 根据提示完成安装配置 ### 方法二:手动安装 1. 将插件文件夹复制到 `addons/` 目录下 2. 登录 FastAdmin 后台 3. 进入 `插件管理` → `本地安装` 4. 找到对应的插件,点击 `安装` 按钮 5. 根据提示完成安装配置 ### 方法三:命令行安装 ```bash # 进入项目根目录 cd /path/to/fastadmin # 使用 FastAdmin 命令行安装插件 php think addon install 插件名 ``` ## 插件目录结构 每个插件遵循统一的目录结构规范: ``` 插件名/ ├── 插件名.php # 插件主类文件(必须) ├── config.php # 插件配置文件 ├── info.ini # 插件信息文件(必须) ├── .addonrc # 插件资源映射文件 ├── install.sql # 安装 SQL 脚本 ├── bootstrap.js # 前端初始化脚本 ├── controller/ # 控制器目录 │ └── Index.php ├── model/ # 模型目录 ├── view/ # 视图目录 ├── library/ # 类库目录 └── assets/ # 静态资源目录 ``` ### 核心文件说明 #### 1. info.ini - 插件信息文件 ```ini [info] name = 插件标识名 title = 插件显示名称 intro = 插件简介 description = 插件详细描述 author = 作者名称 website = 作者网站 demo = 演示地址 version = 版本号 state = 1 # 1=启用,0=禁用 ``` #### 2. 插件主类文件 插件主类必须继承 `think\Addons` 类,并实现以下生命周期方法: ```php '配置项名称', 'title' => '配置项标题', 'type' => 'text', // 类型:text/select/radio/checkbox等 'value' => '默认值', 'tip' => '配置说明' ] ]; ``` ## 插件开发指南 ### 创建新插件 1. 在 `addons/` 目录下创建插件文件夹 2. 创建 `info.ini` 文件定义插件信息 3. 创建插件主类文件实现核心功能 4. 创建 `config.php` 定义配置项 5. 创建控制器、模型、视图等文件 6. 在后台插件管理中安装并测试 ### 插件钩子机制 FastAdmin 支持通过钩子机制在特定位置插入插件代码: ```php // 在模板中调用钩子 {:hook('钩子名称', ['参数'])} // 在控制器中调用钩子 hook('钩子名称', ['参数']); ``` ### 常用钩子列表 - `pageHeader` - 页面头部 - `pageFooter` - 页面底部 - `adminLogin` - 后台登录页面 - `userRegister` - 用户注册页面 - `userProfile` - 用户资料页面 ## 插件配置管理 ### 读取配置 ```php // 在插件内读取配置 $config = get_addon_config('插件名'); // 读取单个配置项 $value = get_addon_config('插件名', '配置项名称'); ``` ### 设置配置 ```php // 设置配置项 set_addon_config('插件名', '配置项名称', '配置值'); ``` ## 插件数据库操作 ### 安装时创建数据表 在 `install.sql` 中编写建表语句: ```sql CREATE TABLE IF NOT EXISTS `fa_插件名_表名` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL DEFAULT '', `create_time` int(10) unsigned NOT NULL DEFAULT '0', `update_time` int(10) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='插件数据表'; ``` ### 模型定义 ```php '插件标识', 'title' => '插件名称', 'icon' => 'fa fa-icon', 'sublist' => [ [ 'name' => '插件标识/控制器', 'title' => '菜单标题', 'icon' => 'fa fa-icon', 'sublist' => [ ['name' => '插件标识/控制器/方法', 'title' => '查看'], ['name' => '插件标识/控制器/add', 'title' => '添加'], ['name' => '插件标识/控制器/edit', 'title' => '修改'], ['name' => '插件标识/控制器/del', 'title' => '删除'], ] ] ] ] ]; \think\Menu::create($menu); return true; } ``` ## 插件调试 ### 开启调试模式 在 `application/config.php` 中设置: ```php 'app_debug' => true, ``` ### 查看插件日志 插件日志位于 `runtime/log/` 目录下,按日期分文件存储。 ### 常见问题排查 1. **插件安装失败**:检查 `info.ini` 格式是否正确 2. **插件无法启用**:检查主类文件是否存在且命名正确 3. **配置不生效**:清除缓存,重新安装插件 4. **数据库错误**:检查 `install.sql` 语法是否正确 ## 插件发布