# hypercmf2.0 **Repository Path**: hypercmf/hypercmf2.0 ## Basic Information - **Project Name**: hypercmf2.0 - **Description**: 基于Hyperf3.1 + element plus 开发的内容权限管理框架。 - **Primary Language**: PHP - **License**: MIT - **Default Branch**: master - **Homepage**: https://www.hypercmf.com - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-15 - **Last Updated**: 2026-08-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # HyperCMF 2.0 基于 [Hyperf 3.1](https://hyperf.wiki/3.1/#/) 的内容管理 / RBAC 框架。 - **默认后台**:`public/admin`(Layui 多页),访问 `/admin/login.html` - **可选后台**:`public/admin-element`([vue-element-plus-admin](https://element-plus-admin-doc.cn/guide/introduction.html),Vue3 + Vite + Element Plus),对接同一套 `/admin` 接口 由 HyperCMF 1.0(Hyperf 2.2 + PHP 7 + Layui)升级而来,使用 PHP 8 Attribute 与 Hyperf 3.1 官方约定。 ## 环境要求 - PHP >= 8.1 - Swoole >= 5.0(关闭 `swoole.use_shortname`)或 Swow >= 1.4 - Redis、MySQL - Node.js 18+、[pnpm](https://pnpm.io/)(仅开发 / 构建 Element 后台时需要) - Windows 请使用 Docker / Podman 跑 Hyperf 官方镜像示例: ```bash docker run -it --name hypercmf2.0 \ -v E:/projects/hypercmf2.0:/data/project \ -w /data/project \ -p 9501:9501 \ --privileged -u root \ --entrypoint /bin/bash \ hyperf/hyperf:8.1-alpine-v3.18-swoole podman run -it --name hypercmf2.0 \ -v D:/projects/hypercmf2.0:/data/project \ -w /data/project \ -p 9501:9501 \ --privileged -u root \ --entrypoint /bin/sh \ hyperf/hyperf:8.1-alpine-v3.18-swoole ``` 若宿主机端口被占用,可改成 `-p 9508:9501`(容器内仍是 9501)。此时 Element 开发代理见下文 `VITE_PROXY_TARGET`。 ## 安装后端 ```bash cp .env.example .env # 导入 data/hyperf_cmf.sql 到 MySQL(库名默认 hypercmf) composer install php bin/hyperf.php start ``` - HTTP:http://127.0.0.1:9501 - 根接口:http://127.0.0.1:9501/ - 默认后台:http://127.0.0.1:9501/admin/login.html 同步注解菜单: ```bash php bin/hyperf.php for:annotation-routes-to-node ``` 或登录后台后:节点管理 → 节点列表 → 更新注解菜单。 ## 默认后台(public/admin · Layui) 源码目录:`public/admin/`。Hyperf 开启静态文件后直接访问,无需单独起前端进程。 - 登录:http://127.0.0.1:9501/admin/login.html - 默认账号 / 密码:`admin` / `admin`(需先通过滑块验证) - 侧栏菜单来自 `/admin/index/loadMenu`,按 `href` 打开对应 HTML 模块说明见 `docs/ADMIN_LAYUI_ANALYSIS.md`。 ## 可选后台(public/admin-element · Element Plus) 源码目录:`public/admin-element/`。开发时由 Vite 提供页面,把 `/admin` **API** 代理到 Hyperf(与 Layui 共用接口前缀,不占用 Layui 的 `/admin/*.html`)。 ### 启动 先启动 Hyperf,再启动前端: ```bash cd public/admin-element pnpm i pnpm dev ``` 浏览器打开 **http://localhost:4000**。 开发代理:`vite.config.ts` 将 `/admin` 转发到 `VITE_PROXY_TARGET`(`public/admin-element/.env.base`)。 | 场景 | `VITE_PROXY_TARGET` | |------|---------------------| | 本机 / 容器映射 `9501:9501` | `http://127.0.0.1:9501` | | 本机映射 `9508:9501` | `http://127.0.0.1:9508` | 改完该变量后必须重启 `pnpm dev`。 生产构建: ```bash cd public/admin-element pnpm build:pro ``` 产物在 `public/admin-element/dist-pro`,`base` 为 `/admin-element/dist-pro/`,可由 Hyperf 静态目录直接访问: http://127.0.0.1:9501/admin-element/dist-pro/ ### 鉴权 - 请求头:`token: {username}_{token}`(例如 `admin_xxxx`) - 统一 JSON:`{ code, msg, data }`,成功 `code=1`,登录失效 `code=-1` - Token 存在 Redis:`HyperCMF:admin_token:{username}`,有效期 24 小时 ### 页面说明 路由为 Hash 模式(`#/user/index`)。侧栏来自 `/admin/index/loadMenu`,按 `href` 映射到 Vue 页面。 | 菜单 | 路由 | 说明 | |------|------|------| | 主页 / 系统信息 | `/dashboard/home` | 运行环境(Swoole / Hyperf / PHP) | | 文章列表 | `/article/index` | 文章增删改、发布 / 下架;富文本 + 封面选图 | | 文章分类 | `/article/category` | 文章分类维护 | | 管理员管理 | `/user/index` | 后台账号:添加、编辑、角色、状态 | | 角色列表 | `/user/role` | 角色、启用/禁用、权限树授权 | | 用户管理 | `/user/user_list` | C 端用户列表 | | 节点列表 | `/node/index` | 菜单/权限节点树;可同步 `#[AdminNode]` 注解 | | 上传文件列表 | `/file/index` | 附件库、上传、按分类筛选 | | 文件分类 | `/file/category` | 文件分类维护 | | 存储设置 | `/system/storage` | 本地 / 阿里云 OSS / 七牛 | | 数据表列表 | `/data/index` | 数据表备份 | | 备份记录 | `/data/backup_record` | 备份记录、导出、恢复 | | 个人中心 | `/personal/personal-center` | 当前账号改密(成功后需重新登录) | 危险操作(禁用、删除、恢复等)会要求输入随机数字后才提交。 ### 常用命令 ```bash pnpm dev # 开发(--mode base) pnpm build:pro # 生产构建 pnpm ts:check # 类型检查 ``` 更多说明见 `docs/ADMIN_ELEMENT.md`。 ## 目录 ``` app/ 业务代码(PHP 8 Attribute) Annotation/ #[AdminNode] Controller/Admin/ 后台管理接口 Middleware/ CORS + Token/RBAC Model/ Service/ Utils/ config/autoload/ Hyperf 3.1 配置 public/admin/ 默认 Layui 后台 public/admin-element/ 可选 Element Plus 后台(Vite) public/static/ 静态资源(layui、ueditor 等) data/ SQL 与备份 docs/ 升级计划与结构说明 ```