插件开发文档

目录结构

创建于 2021-08-01 / 最近更新于 2021-08-06 / 417

这里以插件唯一标识符示例名称 test_plugins

后端目录结构

如果插件处理的业务较多,建议在app/plugins/test_plugins/ 下增加 service 服务层处理核心业务,控制层仅处理逻辑。

app/plugins/test_plugins/
    admin                       后台管理控制器
        Admin.php               插件管理入口控制器(必须)
    index                       前端控制器
        Index.php               前端插件入口文件(非必须)
    api                         API控制器
    form                        动态表格目录(可以不分组、可以直接存放文件)
        admin                   后端动态表格
        index                   前端动态表格
    service                     服务层(可选)
    Hook.php                    钩子文件响应文件
    Event.php                   事件回调文件(v2.0+支持)
    config.json                 配置文件
    install.sql                 安装 sql 语句(插件安装的时候会自动执行)
    uninstall.sql               卸载 sql 语句(插件删除的时候会自动执行、具体看是否删除数据)
    update.sql                  插件版本更新 sql 语句(更新插件的时候会自动执行、v2.0+支持)


视图目录结构

app/plugins/view/test_plugins/
    admin                       后台管理控制器对应的视图
        admin                   控制器名称 小写
            index.html          控制器中的 index 方法
            saveinfo.html       控制器中的 saveinfo 方法
    index                       前端控制器对应的视图
        index                   控制器名称 小写
            index.html          控制器中的 index 方法


css/js位置

当存在以 [控制器.方法] 定义的静态文件后、以 [控制器] 命名的文件就不会加载

public/static/plugins/css/test_plugins/
    admin                           后台管理 css 文件存放目录
        common.css                  公共的 css 文件、加载插件都会自动加载这个文件,在控制器 css 前面
        admin.css                   后台 Admin.php 控制器对应的 css 文件
        admin.index.css             后台 Admin.php 控制器 中 Index 方法对应的 css 文件
        admin.saveinfo.css          后台 Admin.php 控制器 中 SaveInfo 方法对应的 css 文件
    index                           后台管理 css 文件存放目录
        common.css                  公共的 css 文件、加载插件都会自动加载这个文件,在控制器 css 前面
        index.css                   后台 Admin.php 控制器对应的 css 文件
        index.index.css             后台 Admin.php 控制器 中 Index 方法对应的 css 文件
        index.saveinfo.css          后台 Admin.php 控制器 中 SaveInfo 方法对应的 css 文件


图片位置

图片层无强制目录区分、如果图片较多的插件建议前后端/控制器区分、方便管理

public/static/plugins/images/test_plugins/


附件位置

附件为系统自动创建,位于 upload 目录下以 plugins_加当前插件唯一标识符命名、如[ plugins_test_plugins ]

如编辑器中上传的文件,或者使用公共的附件上传组件上传的文件都存储在这里

public/static/upload/images/plugins_test_plugins/       图片附件
public/static/upload/file/plugins_test_plugins/         文件附件
public/static/upload/video/plugins_test_plugins/        视频附件


0 人点赞过