# rocketAdmin插件仓库 **Repository Path**: willrook/rocket-admin-plugin-repository ## Basic Information - **Project Name**: rocketAdmin插件仓库 - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-08 - **Last Updated**: 2026-10-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 插件源 把本目录的内容作为插件源仓库的根(Gitee / 对象存储 / 自建目录均可)。 ## 目录结构 ``` plugins.json 插件清单,系统读取此文件 packages/*.zip 插件包 ``` ## 系统侧配置 `config/rocket.php`: ```php 'addon_market_api_url' => 'https://gitee.com/<账号>/<仓库>/raw/<分支>/plugins.json', ``` 地址以 `.json` 结尾时按静态清单源处理,否则按官方市场 API 处理;留空则只显示已安装插件。 ## 清单字段 | 字段 | 必填 | 说明 | |---|---|---| | name | 是 | 插件标识,仅字母与数字 | | title | 是 | 插件名称 | | version | 是 | 版本号 | | compatible | 否 | 填 `true` 表示完美适配本项目;未声明或填其他值不影响安装,仅提示兼容性 | | download | 是 | 包地址,相对路径或完整 URL | | intro | 否 | 简介 | | author | 否 | 作者 | | homepage | 否 | 插件主页 | | screenshots | 否 | 截图地址数组 | | releases | 否 | 历史版本数组,每项含 `version` / `download`;填写后安装/升级按钮会出现版本下拉 | ## 新增插件 1. 把插件 zip 放进 `packages/` 目录 2. 执行命令自动生成清单: ```bash php think addon:manifest -p /path/to/addon-source ``` 命令会扫描 `packages/` 下的所有包,读取包内 `info.ini` 的 name / title / intro / author / version / compatible,按插件分组、版本降序排列,重新生成 `plugins.json`(保留原有 `source` 字段)。 也可以手动维护,但清单里的 `version` 必须与包内 `info.ini` 的 `version` 一致,否则安装时会被拦下。 ## 生成插件骨架 ```bash php think addon:create --title="插件名称" --author="作者" --ver="1.0.0" --dir=<输出目录> --package=<插件源目录> ``` - 省略 `--dir` 时生成到 `runtime/addon-build/`; - 带 `--package` 时直接把骨架打包成 `<插件源目录>/packages/-<版本>.zip`,接着用 `addon:manifest` 刷新清单即可; - 骨架已含 `info.ini`(`compatible = true`)、入口类、`config.php`、`install.sql`、后台控制器/视图与配套 JS,模板使用 `{:config('...')}` 的正确写法。 ## 兼容性体检 ```bash php think addon:check -p <插件包.zip 或插件目录> php think addon:check -p <路径> --json ``` 检测 TP5 时代的写法在 TP6/TP8 下会失效的位置,**只报告不改写**: - 静态门面写法 `use think\Db;` 等(应改为 `use think\facade\Db;`)—— **仅在该类确实被静态调用时**才报告,冗余 import 不算问题; - 已移除的类:`think\Controller` / `think\Loader` / `think\Hook` / `think\Url`(被继承、实例化或静态调用时); - 模板中的 `$Think.config.*`(本项目内核下不解析,应改用 `config('...')`); - 缺少 `info.ini`,或缺少与插件标识同名的入口类; - 疑似加密/混淆的代码。 退出码:存在 error 时为 1,否则为 0,便于接入 CI。安装与升级流程也会在**解压前**自动执行同一套检测,发现问题时先弹报告供确认,**不阻止安装**。 ## 注意事项 - `download` 建议写相对路径,换域名或换分支时无需修改清单 - 插件包的 `info.ini` 声明 `compatible = true` 表示完美适配本项目;未声明或填其他值不影响安装,后台仅提示兼容性 - Gitee 的 raw 地址会 302 跳转,系统下载时已处理跳转;但请勿使用仓库打包地址(`/repository/archive/*.zip`),该地址会触发人机验证