feat(stack): 新增 docker-dev 开发模式并自动清理文件
All checks were successful
build-and-deploy / 直传代码并部署到 Host15 (push) Successful in 1m13s

- 新增 docker-dev 部署模式,提供包含 nginx+php-fpm、MySQL、Redis、phpMyAdmin 和 Xdebug 的完整 Docker 开发环境
- 在 StackModeService 中重写 applyMode 方法,切换模式时自动删除目标模式中不存在的已管理文件
- 新增 .docker-dev.env 配置文件并纳入 managed_files 管理,切换模式时自动复制或删除
This commit is contained in:
augushong
2026-04-30 22:38:22 +08:00
parent db057aa90e
commit efc335e78f
10 changed files with 734 additions and 15 deletions

View File

@@ -44,6 +44,7 @@
- 前端:视图与脚本同名配对(`*.html` + 同名 `*.js`),并按模块维护 `_common.js`
- 配套资源与多端代码:统一放在 `source/`;不影响现有 PHP/ThinkPHP 主工程运行与发布;目录约定与安全要求见 `source/README.md`(禁止提交构建产物、依赖目录等)
- 部署栈模式:`source/stack/` 为模式文件统一目录(含 `default/` 与各模式目录);`default/` 必须与代码库默认行为一致;默认行为相关文件变更时需同步更新 `source/stack/default/` 对应文件
- 命令执行环境:执行 `php think` 命令前,通过 `php think admin:stack:mode current` 检测当前模式;若为 `docker-dev`,所有 `php think` 命令前缀改为 `docker compose exec ulthon_admin`(如 `docker compose exec ulthon_admin php think tools:http:call`其他模式default/full/base-build直接在宿主机执行 `php think`,不做转换
- 接口如果需要实现接口能力需要利用框架的“页面接口同体机制”框架支持直接所有“页面输出”改为“json输出”。
- 风格:遵循项目命名规范与 PSR格式化以仓库根目录 `.php-cs-fixer.php` 配置为准(不假设本机已安装工具)
- 权限:基于 `auth` 注解生成节点与鉴权;以角色为中心管理(角色、角色权限、用户角色);命令行使用见技能:[ulthon-permission-cli](./.agents/skills/ulthon-permission-cli/SKILL.md)