# base_admin **Repository Path**: aa_123_123/base_admin ## Basic Information - **Project Name**: base_admin - **Description**: 一个后端PHP,前端vue的后台模板 - **Primary Language**: PHP - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-04-08 - **Last Updated**: 2026-04-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ELADMIN 管理系统 基于 Vue.js 和 Laravel 开发的企业级权限管理系统,提供完整的RBAC权限管理功能。 ## 项目概述 ELADMIN 是一个前后端分离的管理系统,前端采用 Vue.js + Element UI,后端采用 Laravel 框架,提供完整的用户权限管理、菜单管理、角色管理等功能。 ## 技术栈 ### 前端技术栈 - **框架**:Vue.js 2.6.14 - **UI组件**:Element UI 2.15.8 - **状态管理**:Vuex 3.1.0 - **路由**:Vue Router 3.0.2 - **HTTP客户端**:Axios 0.21.1 - **构建工具**:Vue CLI 3.5.3 + Webpack 4.46.0 ### 后端技术栈 - **框架**:Laravel 8.75 - **认证**:JWT + Laravel Sanctum - **数据库**:MySQL + Redis - **文件存储**:阿里云OSS - **队列**:Redis队列 - **API文档**:自动生成 ### 开发工具 - **Node.js**:>= 8.9 - **PHP**:^7.3|^8.0 - **数据库**:MySQL 5.7+ - **缓存**:Redis ## 项目结构 ``` e:\demos/ ├── frontend/ # 前端项目 │ ├── src/ # 源代码目录 │ │ ├── api/ # API接口 │ │ ├── assets/ # 静态资源 │ │ ├── components/ # 公共组件 │ │ ├── layout/ # 布局组件 │ │ ├── mixins/ # 混入 │ │ ├── router/ # 路由配置 │ │ ├── store/ # 状态管理 │ │ ├── utils/ # 工具函数 │ │ ├── views/ # 页面视图 │ │ ├── App.vue # 根组件 │ │ └── main.js # 入口文件 │ ├── public/ # 公共资源 │ └── dist/ # 构建输出 └── backend/ # 后端项目 ├── app/ # 应用代码 │ ├── Http/ # HTTP层 │ │ ├── Controllers/ # 控制器 │ │ ├── Middleware/ # 中间件 │ │ └── Requests/ # 表单请求 │ ├── Models/ # 数据模型 │ └── Providers/ # 服务提供者 ├── database/ # 数据库 │ ├── migrations/ # 迁移文件 │ └── seeders/ # 数据填充 ├── config/ # 配置文件 ├── routes/ # 路由定义 └── public/ # 公共资源 ``` ## 快速开始 ### 环境要求 - Node.js >= 8.9 - PHP >= 7.3 - MySQL >= 5.7 - Redis - Composer ### 安装和运行 #### 后端服务 ```bash # 进入后端目录 cd backend # 安装PHP依赖 composer install # 配置环境变量 cp .env.example .env # 编辑 .env 文件,配置数据库和Redis连接 # 生成应用密钥 php artisan key:generate # 运行数据库迁移 php artisan migrate # 启动开发服务器 php artisan serve --host=127.0.0.1 --port=8000 ``` #### 前端服务 ```bash # 进入前端目录 cd frontend # 安装Node.js依赖 npm install # 启动开发服务器 npm run dev ``` ### 访问地址 - **前端管理界面**:http://localhost:8017 - **后端API服务**:http://127.0.0.1:8000 ## 功能模块 ### 用户管理 - 用户列表查看 - 用户信息编辑 - 用户状态管理 - 密码重置 ### 角色管理 - 角色权限配置 - 角色菜单分配 - 角色数据权限 ### 菜单管理 - 菜单结构管理 - 权限标识配置 - 菜单排序 ### 组织架构 - 部门管理 - 岗位管理 - 组织树结构 ### 系统日志 - 用户操作日志 - 登录日志 - 系统异常日志 ## 数据库设计 ### 核心表结构 #### 用户表 (yes_user) - id: 用户ID - username: 用户名 - password: 密码 - nickname: 昵称 - avatar: 头像 - status: 状态 - created_at: 创建时间 #### 角色表 (yes_role) - id: 角色ID - name: 角色名称 - code: 角色编码 - status: 状态 - created_at: 创建时间 #### 菜单表 (yes_menu) - id: 菜单ID - parent_id: 父级ID - name: 菜单名称 - path: 路由路径 - component: 组件路径 - permission: 权限标识 - type: 菜单类型 - sort: 排序 #### 组织表 (yes_organization) - id: 组织ID - parent_id: 父级ID - name: 组织名称 - code: 组织编码 - sort: 排序 - status: 状态 #### 用户日志表 (yes_user_log) - id: 日志ID - user_id: 用户ID - action: 操作类型 - description: 操作描述 - ip: IP地址 - created_at: 创建时间 ## API接口 ### 认证接口 ```http POST /api/auth/login Content-Type: application/json { "username": "admin", "password": "password" } ``` ### 用户管理接口 ```http GET /api/users Authorization: Bearer {token} GET /api/users/{id} POST /api/users PUT /api/users/{id} DELETE /api/users/{id} ``` ### 权限管理接口 ```http GET /api/roles GET /api/menus GET /api/permissions ``` ## 配置文件 ### 前端环境配置 (.env.development) ```env ENV = 'development' NODE_ENV = 'development' VUE_APP_BASE_API = 'http://127.0.0.1:8000/' VUE_APP_WS_API = 'wss://testadminapi.milibox.cn/' VUE_CLI_BABEL_TRANSPILE_MODULES = true ``` ### 后端环境配置 (.env) ```env APP_NAME=Laravel APP_ENV=local APP_DEBUG=true APP_URL=http://testadmin.milibox.com DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=test001 DB_USERNAME=root DB_PASSWORD=root BROADCAST_DRIVER=log CACHE_DRIVER=redis QUEUE_CONNECTION=redis SESSION_DRIVER=redis REDIS_HOST=127.0.0.1 REDIS_PASSWORD=123456 REDIS_PORT=6379 JWT_SECRET=your-jwt-secret JWT_TTL=10080 FILESYSTEM_DRIVER=oss ``` ## 部署指南 ### 生产环境部署 #### 前端部署 ```bash # 构建生产版本 npm run build # 部署到Web服务器 # 将dist目录内容部署到Web服务器根目录 ``` #### 后端部署 ```bash # 安装生产依赖 composer install --no-dev # 优化自动加载 composer dump-autoload --optimize # 缓存配置 php artisan config:cache php artisan route:cache php artisan view:cache # 配置Web服务器 # 指向public目录作为Web根目录 ``` ### Docker部署 ```dockerfile # Dockerfile示例 FROM php:7.4-fpm # 安装扩展和依赖 RUN apt-get update && apt-get install -y \ git \ unzip \ libzip-dev \ libpng-dev \ libjpeg-dev \ libfreetype6-dev # 配置PHP RUN docker-php-ext-configure gd --with-freetype --with-jpeg RUN docker-php-ext-install pdo_mysql zip gd # 安装Composer COPY --from=composer:latest /usr/bin/composer /usr/bin/composer # 复制应用代码 WORKDIR /var/www/html COPY . . # 安装依赖 RUN composer install --no-dev --optimize-autoloader # 设置权限 RUN chown -R www-data:www-data /var/www/html ``` ## 开发指南 ### 代码规范 #### 前端代码规范 - 使用ESLint进行代码检查 - 遵循Vue.js官方风格指南 - 组件使用PascalCase命名 - 方法使用camelCase命名 #### 后端代码规范 - 遵循PSR标准 - 控制器方法使用Resource返回数据 - 使用FormRequest进行表单验证 - Service层处理业务逻辑 ### 分支管理 ``` main # 主分支,生产环境 develop # 开发分支 feature/* # 功能分支 hotfix/* # 热修复分支 release/* # 发布分支 ``` ### 提交规范 ``` feat: 新增功能 fix: 修复bug docs: 文档更新 style: 代码格式调整 refactor: 代码重构 test: 测试相关 chore: 构建过程或辅助工具变动 ``` ## 故障排除 ### 常见问题 #### OpenSSL错误 ```bash # 如果遇到Node.js OpenSSL错误,设置环境变量 set NODE_OPTIONS=--openssl-legacy-provider ``` #### 数据库连接错误 - 检查MySQL服务是否启动 - 验证.env文件中的数据库配置 - 确认数据库用户权限 #### Redis连接错误 - 检查Redis服务是否启动 - 验证Redis密码和端口配置 - 确认防火墙设置 ## 贡献指南 1. Fork项目 2. 创建功能分支 3. 提交更改 4. 推送到分支 5. 创建Pull Request ## 许可证 Apache-2.0 License ## 联系方式 - 项目地址:https://github.com/elunez/eladmin-web - 问题反馈:https://github.com/elunez/eladmin/issues ## 更新日志 ### v2.7.0 (当前版本) - 初始化项目结构 - 实现基础RBAC权限管理 - 配置前后端开发环境 - 优化数据库迁移文件 --- *文档最后更新:2024年11月4日*