Skip to main content

mineadmin

创建 MineAdmin 全栈管理后台项目。触发场景:用户说"创建项目"、"初始化项目"、 "新建项目"、"MineAdmin"、"PHP 后台"、"Swoole 后台"、"Hyperf 后台"、 "PHP admin"、"高性能 PHP 管理后台"、"协程 PHP 后台", 或任何涉及用 PHP (Hyperf/Swoole) 后端创建新管理后台项目的场景。 也适用于:用户想要"Swoole 高性能"、"协程 PHP"、"高并发 PHP"。

Quellinformationen

Repository
gszyboy/opencode-config
Letzte Quellaktivität
11. Mai 2026 um 02:02
Erkannte Sprache von SKILL.md
Chinesisch
Sterne
0
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
5 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
mineadmin
description
创建 MineAdmin 全栈管理后台项目。触发场景:用户说"创建项目"、"初始化项目"、 "新建项目"、"MineAdmin"、"PHP 后台"、"Swoole 后台"、"Hyperf 后台"、 "PHP admin"、"高性能 PHP 管理后台"、"协程 PHP 后台", 或任何涉及用 PHP (Hyperf/Swoole) 后端创建新管理后台项目的场景。 也适用于:用户想要"Swoole 高性能"、"协程 PHP"、"高并发 PHP"。
# MineAdmin Skill 整合 **MineAdmin** (Hyperf 3.x + Swoole 5 后端 + Vue3 前端),创建完整的全栈管理后台项目。 ## 项目信息 - **GitHub**: https://github.com/mineadmin/MineAdmin - **文档**: https://doc.mineadmin.com/ - **Stars**: 1187+ - **协议**: AGPL / 商业授权 - **最新版本**: v3.0.9 ## 核心技术栈 | 层 | 技术 | |---|------| | **后端框架** | Hyperf 3.x + Swoole 5 | | **PHP 版本** | 8.1+ | | **前端框架** | Vue 3 + Composition API + TypeScript | | **UI 组件** | Arco Design Pro | | **构建工具** | Vite 5 | | **状态管理** | Pinia | | **后端 ORM** | Hyperf\Database | | **数据库** | MySQL / PostgreSQL / SQL Server | | **认证** | 双 Token (Access + Refresh) | | **部署** | Docker + Docker Compose | ## 项目结构 ``` {project_root}/ ├── mineadmin/ # MineAdmin 主仓库 (前后端一体) │ ├── backend/ # Hyperf 后端 │ │ ├── app/ │ │ │ ├── Controller/ │ │ │ ├── Model/ │ │ │ └── Service/ │ │ ├── config/ │ │ ├── docker-compose.yml │ │ └── Dockerfile │ └── frontend/ # Vue3 前端 │ ├── src/ │ │ ├── api/ │ │ ├── stores/ │ │ └── views/ │ ├── Dockerfile │ └── package.json └── README.md ``` --- ## 步骤 1: 克隆 MineAdmin ### 1.1 克隆仓库 ```bash git clone https://github.com/mineadmin/MineAdmin.git mineadmin cd mineadmin ``` ### 1.2 安装依赖 ```bash # 后端依赖 cd backend composer install # 前端依赖 cd ../frontend pnpm install ``` --- ## 步骤 2: 环境配置 ### 2.1 后端环境变量 复制环境配置示例文件: ```bash cd backend cp .env.example .env ``` 编辑 `backend/.env`: ```env # 应用配置 APP_ENV=dev APP_DEBUG=true APP_PORT=9501 # 数据库配置 (MySQL/PostgreSQL/SQL Server 三选一) DB_DRIVER=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=mineadmin DB_USERNAME=root DB_PASSWORD=your_password # Redis 配置 REDIS_HOST=127.0.0.1 REDIS_PORT=6379 REDIS_PASSWORD= REDIS_DB=0 # JWT 配置 JWT_SECRET=your-super-secret-key JWT_ACCESS_EXPIRE=7200 JWT_REFRESH_EXPIRE=604800 # Swoole 配置 SWOOLE_HTTP_PORT=9501 WORKER_NUM=4 ``` ### 2.2 数据库初始化 ```bash cd backend # 创建数据库 (MySQL) mysql -u root -p -e "CREATE DATABASE mineadmin DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" # 运行迁移 php bin/hyperf.php migrate # 初始化数据 (管理员账号) php bin/hyperf.php db:seed ``` ### 2.3 前端环境变量 ```bash cd ../frontend cp .env.example .env.development ``` 编辑 `frontend/.env.development`: ```env # API 地址 VITE_APP_API_URL=http://localhost:9501 VITE_APP_BASE_API=/ ``` --- ## 步骤 3: 启动开发服务 ### 3.1 启动后端 (Swoole) ```bash cd backend # 开发模式 (热重载) php bin/hyperf.php start # 或使用 Composer 脚本 composer dev ``` ### 3.2 启动前端 (Vite) ```bash cd frontend # 开发模式 pnpm dev # 构建生产版本 pnpm build ``` ### 3.3 访问 - **前端**: http://localhost:5173 - **后端 API**: http://localhost:9501 - **默认账号**: admin / mineadmin123 --- ## 步骤 4: Docker Compose 部署 ### 4.1 使用 MineAdmin 内置 Docker ```bash cd backend # 启动所有服务 (数据库 + Redis + 后端) docker compose up -d # 查看日志 docker compose logs -f ``` ### 4.2 生产环境 Docker 配置 创建 `docker-compose.prod.yml`: ```yaml version: '3.8' services: frontend: build: context: ./frontend dockerfile: Dockerfile ports: - "80:80" depends_on: - backend networks: - mineadmin-network backend: build: context: ./backend dockerfile: Dockerfile ports: - "9501:9501" environment: - APP_ENV=prod - APP_DEBUG=false - DB_DRIVER=mysql - DB_HOST=db - DB_PORT=3306 - DB_DATABASE=mineadmin - DB_USERNAME=mineadmin - DB_PASSWORD=mineadmin_password - REDIS_HOST=redis - REDIS_PORT=6379 depends_on: - db - redis networks: - mineadmin-network volumes: - ./backend/runtime:/app/runtime db: image: mysql:8.0 environment: MYSQL_ROOT_PASSWORD: root_password MYSQL_DATABASE: mineadmin MYSQL_USER: mineadmin MYSQL_PASSWORD: mineadmin_password ports: - "3306:3306" volumes: - mysql_data:/var/lib/mysql networks: - mineadmin-network redis: image: redis:7-alpine ports: - "6379:6379" volumes: - redis_data:/data networks: - mineadmin-network volumes: mysql_data: redis_data: networks: mineadmin-network: driver: bridge ``` ### 4.3 前端 Dockerfile 创建 `frontend/Dockerfile`: ```dockerfile FROM node:20-alpine as builder WORKDIR /app COPY package.json pnpm-lock.yaml ./ RUN corepack enable && pnpm install COPY . . RUN pnpm build FROM nginx:alpine COPY --from=builder /app/dist /usr/share/nginx/html COPY nginx.conf /etc/nginx/conf.d/default.conf EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] ``` ### 4.4 Nginx 配置 创建 `frontend/nginx.conf`: ```conf server { listen 80; server_name localhost; root /usr/share/nginx/html; index index.html; # 前端路由 (SPA) location / { try_files $uri $uri/ /index.html; } # API 代理到后端 location /api/ { proxy_pass http://backend:9501/; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } ``` --- ## 步骤 5: CRUD 代码生成 MineAdmin 提供图形化 CRUD 生成器。 ### 5.1 使用命令行生成 ```bash cd backend # 生成 CRUD php bin/hyperf.php gen:curd User # 生成迁移文件 php bin/hyperf.php gen:migration create_users_table # 生成模型 php bin/hyperf.php gen:model User ``` ### 5.2 手动创建 CRUD 创建控制器 `app/Controller/UserController.php`: ```php <?php declare(strict_types=1); namespace App\Controller; use Mine\Annotation\Route; use Mine\MineController; #[Route] class UserController extends MineController { #[Route(methods: 'GET', path: '/user/list')] public function list(): Response { $page = $this->request->input('page', 1); $pageSize = $this->request->input('pageSize', 10); $result = $this->service->paginate($page, $pageSize); return $this->success($result); } #[Route(methods: 'POST', path: '/user')] public function save(): Response { $data = $this->request->all(); $result = $this->service->create($data); return $this->success($result); } #[Route(methods: 'PUT', path: '/user/{id}')] public function update(int $id): Response { $data = $this->request->all(); $result = $this->service->update($id, $data); return $this->success($result); } #[Route(methods: 'DELETE', path: '/user/{id}')] public function delete(int $id): Response { $this->service->delete($id); return $this->success(); } } ``` --- ## 步骤 6: 权限配置 ### 6.1 角色权限 访问后台管理 -> 系统管理 -> 角色管理 1. 创建角色 (如: admin, editor) 2. 分配菜单权限 3. 分配数据权限 ### 6.2 用户权限 访问后台管理 -> 系统管理 -> 用户管理 1. 创建用户 2. 分配角色 3. 设置部门归属 ### 6.3 菜单权限 ``` 系统管理 ├── 用户管理 (user) │ ├── 用户列表 (user:list) │ ├── 用户新增 (user:save) │ ├── 用户编辑 (user:update) │ └── 用户删除 (user:delete) ├── 角色管理 (role) └── 菜单管理 (menu) ``` --- ## 常用命令 ```bash # 后端 cd backend # 启动 (开发) php bin/hyperf.php start # 启动 (生产) php bin/hyperf.php start -d # 迁移 php bin/hyperf.php migrate # 回滚迁移 php bin/hyperf.php migrate:rollback # 生成 CRUD php bin/hyperf.php gen:curd {name} # 清理缓存 php bin/hyperf.php cache:clear # 前端 cd frontend # 安装依赖 pnpm install # 开发服务器 pnpm dev # 构建 pnpm build # 构建 SSR 版本 pnpm build:ssr ``` --- ## 后端 API 端点参考 MineAdmin 后端提供的管理接口: | 方法 | 端点 | 说明 | |------|------|------| | POST | /api/system/user/login | 登录 | | POST | /api/system/user/refresh | 刷新 Token | | GET | /api/system/user/info | 获取用户信息 | | POST | /api/system/user/logout | 登出 | | GET | /api/system/menu/list | 获取菜单列表 | | GET | /api/system/role/list | 获取角色列表 | | CRUD | /api/system/{module}/{action} | 通用 CRUD | --- ## 故障排查 ### Swoole 启动失败 1. 检查 PHP 版本 (需要 8.1+) 2. 检查 Swoole 扩展是否安装: `php -m | grep swoole` 3. 查看错误日志: `tail -f runtime/log/*.log` ### 数据库连接失败 1. 确认数据库服务运行中 2. 检查 `.env` 数据库配置 3. 确认数据库已创建: `mysql -u root -p -e "SHOW DATABASES;"` ### 前端无法访问后端 API 1. 检查后端是否启动: `curl http://localhost:9501` 2. 检查 Vite 代理配置 (vite.config.ts) 3. 检查 CORS 配置 (backend/config/autoload/cors.php) ### 权限不生效 1. 清除缓存: `php bin/hyperf.php cache:clear` 2. 检查用户角色配置 3. 检查菜单权限标识 --- ## 相关资源 - [MineAdmin GitHub](https://github.com/mineadmin/MineAdmin) - [MineAdmin 文档](https://doc.mineadmin.com/) - [Hyperf 框架](https://hyperf.wiki/) - [Swoole 文档](https://www.swoole.com/) - [Arco Design Vue](https://arco.design/vue/component/introduce) --- ## 与 vue-pure-admin 的区别 | 维度 | MineAdmin | vue-pure-admin | |------|-----------|----------------| | **前端** | 自带 Vue3 + **Arco Design** | 自带 Vue3 + Element Plus |
Auf GitHub ansehen
Diese SKILL.md ist sehr gross, daher zeigt SkillsMP hier nur den ersten Abschnitt. Auf GitHub ansehen