企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 目录结构 FastAdmin所有应用插件都是存放在`addons`目录,一个插件一个目录,`目录名`必须和`插件标识`相同,且全部为小写,不允许出现大写或下划线等特殊符号。 ~~~php mydemo //插件标识 ├── application //此文件夹中所有文件会覆盖到根目录的/application文件夹 ├── assets //此文件夹中所有文件会复制到/public/assets/addons/mydemo文件夹 ├── controller //此文件夹为插件控制器目录 ├── lang //此文件夹为插件语言包目录 ├── model //此文件夹为插件模型目录 ├── library //此文件夹为插件类目录(如有) ├── public //此文件夹中所有文件会覆盖到根目录的/public文件夹 ├── view //此文件夹为插件视图目录 ├── wxapp //此文件夹为微信原生应用源码目录(如有) ├── uniapp //此文件夹为Uniapp源码目录(如有) ├── licenses //此文件夹为版权文件目录(如有) ├── Mydemo.php //此文件为插件核心安装卸载控制器,必需存在,注意首字母大写 ├── bootstrap.js //此文件为插件JS启动文件,可选 ├── LICENSE //插件版权文件 ├── config.html //自定义插件配置视图模板,可选 ├── config.php //插件配置文件,我们在后台插件管理中点配置按钮时配置的文件,不存在时将不显示`配置`按钮 ├── info.ini //插件信息文件,用于保存插件基本信息,插件开启状态等,必需存在 ├── install.sql //插件数据库安装文件,此文件仅在插件安装时会进行导入,可选 └── testdata.sql //插件测试数据SQL文件,此文件在安装插件时会提示是否导入测试数据,可选 ~~~ 其中的`application`和`public`文件夹会覆盖到根目录,这两个文件夹主要用于我们后台管理功能的开发,我们可以先在后台开发好对应的管理功能后,再将对应的功能打包进插件即可,FastAdmin在插件安装和卸载时会自动进行文件冲突检测,如果遇到冲突的文件会提醒用户是否进行覆盖或删除。 `assets`这个文件夹很关键,FastAdmin会将`assets`中的所有文件夹和文件复制到`/public/assets/addons/插件标识/`文件夹中去,`assets`文件夹中的所有文件不会进行文件冲突检测,`/public/assets/addons/插件标识/`这个目录下的文件,我们在视图文件中可以直接通过`__ADDON__`指向这个路径。因此在开发视图时我们可以先使用相对路径设计,完成后我们再统一加上这个`__ADDON__`的前缀 `controller、lang、model`和`view`这四个文件夹是我们插件前台功能的MVC部分,这部分文件夹不会复制或移动到其它位置。 `wxapp`此文件夹微信原生开发的应用插件源码目录。 `uniapp`此文件夹是基于Uniapp开发的应用插件源码目录。 `licenses`此文件夹是用于存放插件依赖项目版权文件的目录,一般我们开发的应用插件都会使用到一个或多个开源项目,如果开源项目文件只有一个文件,此时请将相应的版权声明文件放在该文件夹即可。 `Mydemo.php`这个文件是插件的核心文件,我们可以在这个文件中编写插件安装或卸载时执行的脚本,或者在此插件中编写菜单的生成或删除,同时插件的行为方法也是编写在此文件中的,插件所支持的行为事件会在后面讲到。此文件命令规则为插件标识首字母大写。 `bootstrap.js`这个文件是插件的启动文件,插件在安装完启用后,FastAdmin会将此文件中的内容合并到`/public/assets/js/addons.js`中去,你可以在此编写插件核心JS或注册事件,在此JS中可以使用require依赖其它模块。同时在此插件中可以使用`Fast`、`Backend`、`Lang`等全局对象,因为在此之前此类对象已经加载且注册。 `config.html`这个文件是插件的配置时使用的视图模板,可选,当存在时,插件管理中点配置按钮会调用这个视图文件。 `config.php`这个文件是插件的配置文件,我们在后台插件管理中点配置按钮时会保存在此文件,`config.php`详细使用方法和说明请参考配置章节。 `info.ini`这个文件仅用于保存插件基础信息和开启状态,此文件的内容格式为 ~~~ini name = mydemo title = 示例插件 intro = 这是一个示例插件的介绍 author = FastAdmin website = https://www.fastadmin.net version = 1.0.0 state = 1 ~~~ `install.sql`这个文件中只能是SQL语句,同时在此文件中可以使用`__PREFIX__`表示数据库表前缀,FastAdmin在安装导入SQL时自动进行替换。`install.sql`的详细使用方法请参考数据库章节 `testdata.sql`这个文件中只能是SQL语句,同时在此文件中可以使用`__PREFIX__`表示数据库表前缀,FastAdmin在安装导入SQL时自动进行替换。如果存在此文件,则在安装完插件后会提示是否导入测试数据。 ### 温馨提示 `application`不允许新增其它的模块,只允许使用自带的`index`和`admin`模块 `public`和`assets`目录下不允许任何的`php/asp/jsp`等服务端脚本文件