rocareer/radmin

Radmin core: a high-performance Webman-based admin platform, distributed as a webman base plugin. Build multiple projects on one maintained core.

Maintainers

Package info

gitee.com/rocareer/Radmin.git

Homepage

pkg:composer/rocareer/radmin

Transparency log

Statistics

Installs: 33

Dependents: 1

Suggesters: 0

v3.2.13 2026-08-23 14:30 UTC

README

基于 Webman 的高性能前后端分离管理平台核心包(Webman 基础插件形态)。

一个核心,多个项目:所有平台能力(认证/RBAC/系统配置/CRUD 生成器/上传/模块市场/安装向导/前端 SPA)随本包分发, 业务项目通过 composer require rocareer/radmin 复用,核心代码只维护一份(vendor 内),升级即自动生效。

与旧版的关系

  • rocareer/webman-radmin:初代仓库(插件形态),2025-05 后停更。
  • rocareer/radmin v1/v2:独立应用形态(type: project),多项目会形成 N 份拷贝、多头维护。
  • 本仓库(v3.0.0 起):核心包形态(type: library),配套 rocareer/radmin-skeleton 项目模板。

架构

rocareer/radmin             ← 本仓库:核心包(Composer 分发,vendor 只读,单一真源)
├── src/                    ← 全部平台代码(app\ support\ extend\ 命名空间)
│   ├── app/                ← admin / api / user / common / command / middleware / process / controller / view
│   ├── support/            ← member(认证/RBAC) / token(JWT) / orm / cache / lang / jwt ...
│   ├── extend/             ← ba(BuildAdmin 组件)/ ra(Radmin 工具)
│   └── Install.php         ← 安装/卸载/更新钩子(WEBMAN_PLUGIN 机制)
├── config/plugin/rocareer/radmin/
│   ├── app.php             ← enable + version(目录开关)
│   ├── middleware.php      ← 全局鉴权链(自动合并)
│   ├── bootstrap.php       ← ORM 引导
│   ├── command.php         ← data:backup / data:restore
│   └── buildadmin.php / authentication.php / roles.php / terminal.php / upload.php / lang.php / filesystem.php
│                            ← 平台配置(经 radmin_config() 读取,项目可覆盖)
├── config/plugin/rocareer/webman-migration/migrate.php
│                            ← Phinx 双路径迁移配置(项目 + 核心包迁移目录)
├── database/migrations/    ← 核心表结构迁移(Phinx)
├── web/                    ← BuildAdmin 前端源码(开发者可重新构建)
├── web/dist/               ← 预构建前端产物(安装时发布到项目 public/)
├── public/                 ← 安装向导页面 + 静态资源(安装时发布到项目 public/)
└── modules/                ← 内置模块(mdeditorv3 / backups)

rocareer/radmin-skeleton    ← 项目模板:Webman 骨架 + require 本核心包
rocareer/project-xxx        ← 各业务项目:clone 模板 → 改命名空间 → 独立仓库

核心机制

  1. 基础插件机制(Webman 官方规范):安装/更新时 support\Plugin::install 自动调用 Radmin\Install,把接线配置与发布资源落盘到项目:
    • config/plugin/rocareer/radmin/(Webman 自动合并:路由/中间件/进程/引导/命令/平台配置)
    • public/(安装向导、静态资源、前端 SPA 产物)
    • config/plugin/rocareer/webman-migration/migrate.php(双路径迁移配置)
    • modules/(内置模块)
  2. 单一真源:平台代码永远只在 vendor,不拷入项目。
  3. 项目可覆盖
    • 配置:项目 config/buildadmin.php 等顶层同名键优先于核心默认值(radmin_config() 读取链)
    • 类:项目 app\ 下同名类优先于核心类(Composer PSR-4 根项目优先)
  4. 前端预构建web/dist 随包发布,安装向导检测到后自动跳过 npm 现场构建(envNpmCheck/terminal/mvDist 已适配)。

快速开始(标准架构:官方 Webman 骨架 + 本核心包)

# 新项目 = 官方 webman 骨架 + composer require rocareer/radmin
composer create-project workerman/webman my-project --no-interaction
cd my-project
# 配置 rocareer 私有包仓库源(radmin 及其依赖托管在 Gitee,未发布到 Packagist)
composer config repositories.rocareer-radmin vcs https://gitee.com/rocareer/radmin.git
composer config repositories.rocareer-migration vcs https://gitee.com/rocareer/webman-migration.git
composer config repositories.rocareer-status-code vcs https://gitee.com/rocareer/webman-status-code.git
# 安装核心包(Install 自动补齐 radmin 项目级配置 + 接线配置 + 前端 dist + 迁移配置)
composer require rocareer/radmin:^3.1
cp .env.example .env        # 填写数据库连接(安装向导也可自动生成)
php webman migrate:run      # 执行核心迁移
php webman start            # 访问 http://127.0.0.1:6200 进入安装向导

升级核心

composer update rocareer/radmin   # 各项目按自己的节奏升级,互不阻塞
php webman migrate:run            # 执行核心新增迁移(双路径自动发现)

命令

  • php webman migrate:run — 迁移(项目 + 核心包迁移目录)
  • php webman data:backup / data:restore — 数据备份/恢复

前端构建(仅核心维护者需要)

cd web
npm install
npm run build     # 产物输出到 web/dist,随包发布

版本策略

  • 语义化版本;破坏性变更升 minor(旧版"2.0 前不兼容更新"条款已废弃)。
  • 核心改动 → master → tag → 各项目 composer update 自行升级。

版权

Apache-2.0