Anyon e634118a22 refactor(plugin): 迁移 v8 插件化组件体系
将 v6 中直接放在本地 app 的后台与微信能力迁移为 v8 插件组件,并把运行时基础能力沉淀到独立插件包。

主要内容:

- 新增 think-library、system、worker、static、install 等基础插件包。

- 新增 account、payment、wechat-client、wechat-service、wemall、wuma 等业务插件包。

- 移除 v6 的 app/admin 与 app/wechat 本地应用实现,改由插件分发接管。

- 将 Helper 能力彻底并入 System,统一为 plugin\system\helper\* 命名空间。

- 同步插件迁移发布清单与根 route 占位,保证安装发布流程可复现。
2026-05-08 15:30:46 +08:00

35 lines
1.6 KiB
Markdown

# 安装工具接口
## 接口标准
- 接口类型:命令行接口 + Composer 生命周期接口
- 调用入口:`php think xadmin:install` 或 Composer 自动安装钩子
- 返回形式:控制台文本输出
- 执行链路:先执行 `service:discover`,再执行 `xadmin:publish``xadmin:publish --migrate`
- 迁移规则:只有声明了 `composer.json > extra.xadmin.migrate` 的插件才会自动执行数据库迁移
- 首装规则:首次 `composer install` 只发布资源和迁移脚本,不直接执行数据库迁移
- 状态文件:`vendor/.plugin-state.json`
## 接口列表
### `xadmin:install`
- 说明:显式安装当前项目,完成服务发现、插件资源发布,并对已声明 `extra.xadmin.migrate` 的插件自动执行数据库迁移
```jsonc
{
"force": false, // 发布时是否覆盖已存在文件
"migrate": false // 是否强制执行所有已发布迁移,即使当前未命中自动迁移条件
}
```
### `composer install / update / remove / dump-autoload`
- 说明:由 `zoujingli/think-plugs-install` Composer plugin 自动触发安装链路;首次安装只执行发布,后续新增或变更的插件如果声明了 `extra.xadmin.migrate`,会自动执行数据库迁移;未声明时仅输出提示
```jsonc
{
"allow_plugin": true, // 根项目 composer.json 需要允许 zoujingli/think-plugs-install 作为 Composer plugin 运行
"auto_publish": true, // 自动执行 service:discover + xadmin:publish
"auto_migrate": true, // 仅对非首次安装且本次变更中声明了 extra.xadmin.migrate 的插件自动执行
"initial_install": false // 首次安装时固定为只发布不迁移
}
```