supdger / sandadmin
PostgreSQL-native administration plugins for Webman.
Requires
- php: >=8.1
- aliyuncs/oss-sdk-php: ^2.7
- godruoyi/php-snowflake: ^3.0.0
- guzzlehttp/guzzle: ^7.9
- illuminate/events: ^12.43
- illuminate/pagination: ^12.43
- monolog/monolog: ^2.0
- nelexa/zip: ^4.0
- openspout/openspout: ^4.0
- phpmailer/phpmailer: ^6.9 || ^7.0
- ramsey/uuid: ^4.0
- smalot/pdfparser: ^2.12
- tinywan/jwt: ^1.11
- tinywan/storage: ^1.1
- topthink/think-orm: ^2.0.53 || ^3.0.0
- topthink/think-validate: ^3.0
- twig/twig: ^3.20
- vlucas/phpdotenv: ^5.6
- webman/cache: ^2.1
- webman/captcha: ^1.0
- webman/channel: ^2.1
- webman/console: ^2.1
- webman/database: ^2.1
- webman/event: ^1.0
- webman/redis: ^2.1
- webman/think-cache: ^2.1
- webman/think-orm: ^2.1
- workerman/crontab: ^1.0
- workerman/webman-framework: ^2.1
- zoujingli/ip2region: ^2.0
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-10-05 14:26:06 UTC
README
SandAdmin 是一个基于 Webman 的 PostgreSQL 原生后台管理项目,提供权限管理、系统配置、代码生成、任务调度和插件化扩展能力。本仓库维护可直接运行的 server/ Webman 宿主和与之锁定的 sandadmin-artd/ Vue 管理前端;核心与插件安装器的权威源码分别由 Composer 包 supdger/sand-core、supdger/sand-package 维护。
来源说明:SandAdmin 是基于 SaiAdmin 6.x 修改和维护的独立 PostgreSQL fork。它不是 SaiAdmin 官方发行版,也不代表 SaiAdmin 或其作者的背书。名称、目录和运行配置已按 SandAdmin 维护;为了已有实例与第三方依赖兼容,部分历史标识仍会保留在实现层。
版本状态:SandAdmin 尚处于早期开发与验证阶段,版本线从
0.x开始,当前版本为0.2.3。在完成更大范围的安装、升级、插件生命周期和业务链验证前,不作 1.0 稳定性承诺。
特性与边界
- PostgreSQL 优先:
sand-core安装到宿主后的核心安装器按数据库驱动选择初始化脚本,核心 SQL 运行路径为server/plugin/sandadmin/db/。 - 插件化:Sand 平台新插件使用
sand_<domain>_*表前缀;可选插件独立打包发布,插件仓库直接读取 GitHub 清单和 Release 附件,无需独立市场平台。 - 兼容优先:部分历史核心
sa_*表和必要的第三方兼容标识不会因品牌更名被强制改写。 - 非迁移工具:本仓库不承诺将既有 MySQL 实例原地迁移到 PostgreSQL;升级或迁移应先在隔离环境验证。
快速开始
运行环境、配置项和首次安装步骤见本地运行与首次安装。简要流程为:
- 下载源码 ZIP 或克隆仓库。源码 ZIP 包含
server/、sandadmin-artd/及必须保留的版权文件;克隆后的工作目录还包含 README、插件目录和 Git 配置。 - 在
server/执行composer install,保持.env不存在;Windows运行php windows.php,macOS/Linux运行php start.php start,保持后端终端运行。 - 准备 Node.js 22(至少 22.12.0)和 pnpm 11.19.0,在
sandadmin-artd/按需复制.env*.example,执行pnpm install --frozen-lockfile和pnpm run dev,保持前端终端运行。 - 自行准备空 PostgreSQL 数据库,访问
http://localhost:8787/core/install完成初始化。
安装完成页会检查管理端静态资源;前端尚未启动时,页面保留安装成功结果和启动步骤,启动后点击“重新检查”再进入登录。重新打开 /core/install 可继续恢复后台入口,无需重新安装数据库。默认前端端口为 3006,端口占用时会明确报错;独立域名或子路径部署请配置后台地址,见首次安装与后台入口。
全新安装完成后,使用 admin / 123456 登录管理后台,并在首次登录后立即修改默认密码。该初始凭据仅适用于由当前安装器创建的全新数据库;已安装实例不会被安装器重置管理员密码,恢复入口也不会再次显示初始密码。静态资源响应不等于登录成功,请确认后台菜单与用户信息正常加载。
默认前端目录为 sandadmin-artd;服务与 Channel 端口变量为 SANDADMIN_SERVER_PORT、SANDADMIN_CHANNEL_PORT。
已有 Webman 项目可直接安装后台核心:
composer require supdger/sand-core
需要插件管理能力时,再安装:
composer require supdger/sand-package
Composer 会自动发布对应的后端插件和 sandadmin-artd 前端源码;安装过程不会安装前端依赖、构建前端或初始化数据库。
本版锁定 Sand Core 0.2.4 和 SandPackage 0.2.4,源码下载附带匹配的管理前端。后台系统更新要求 Sand Core 至少 0.2.0、SandPackage 至少 0.2.2。SandPackage 提供后台「插件管理 → 系统更新」,可检查并升级宿主核心和插件管理器。标准宿主由框架识别服务重载、健康检查和专用静态发布环境,超级管理员在页面检查所选升级并确认执行;自定义部署扩展见 后台系统更新。当前执行器支持 Linux/macOS,以及具备 PHP CLI、proc_open 和 PowerShell 的 Windows 宿主;涉及数据库或宿主骨架变更的发行不会进入这一更新入口。
未指定版本时,由 Composer 根据项目依赖和可用版本选择合适的版本;只有需要固定版本时才在命令中指定版本。
Sand Core 0.2.4 修复插件安装后页面已恢复但全屏加载遮罩不退出的问题,保留初始化的暂态恢复;SandPackage 0.2.4 为仓库只读请求增加有限恢复。持续故障、登录失效、权限或业务拒绝仍显示对应结果,安装写请求不会自动重放。此修复不包含数据库迁移,已有实例需更新依赖并重新构建、发布管理端,详见 基础包更新记录。
文档
可选插件
根目录 catalog.json 只维护统一插件目录。sand-core 与 sand-package 是宿主基础 Composer 包,不属于 ZIP 业务插件;每个可选业务插件拥有独立源码仓库和 Release,宿主不保存其源码、安装包、运行副本或专属自动加载映射。安装器按目录声明的受信仓库下载所选插件;未选择插件的用户只会获取 SandAdmin 主体。
/Users/code/project/sand_demo 是本机统一演示与验收宿主,只从 SandAdmin 和各插件权威仓库单向接收源码或发布包,不反向承载源码开发。插件实际安装与验收仍在该消费工作区或可丢弃隔离宿主完成。
插件发布包必须在其自己的源码单元保留安装、升级、卸载、权限、兼容性和 已知限制说明;宿主只维护公共约定与兼容性入口,避免两处文档漂移。
基础包更新
sand-core 或 sand-package 完成修复并发布后,由基础包维护方主动向宿主维护者交接版本、固定源码引用、变更内容、宿主兼容范围和验证结果。宿主维护者据此更新依赖约束与锁文件,通过 Composer 发布匹配的前后端载荷,完成宿主组合验收后发布。测试和部署宿主再按明确版本同步,并核对实际加载的版本;基础包发布不会自动改动已有部署。
版本
当前版本为 0.2.3,尚未形成 1.0 稳定性承诺。版本变化见 变更记录。
来源与许可证
本仓库及保留的上游源代码遵循 MIT 许可证。发布、分发或再修改时,必须保留适用的版权与许可证声明;完整来源和第三方组件说明见 NOTICE。