# eduadmin **Repository Path**: Kayle_zhao/eduadmin ## Basic Information - **Project Name**: eduadmin - **Description**: 专属于教育行业的权限框架,适合做教务系统,官网,等教育相关的内容 - **Primary Language**: PHP - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-03-29 - **Last Updated**: 2026-05-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # EduAdmin 教育管理系统 基于 ThinkPHP 8.0 构建的通用教育/内容管理后台系统,采用多应用架构,集成了 RBAC 权限管理、内容模型构建器、多语言国际化等核心能力。 ## 技术栈 | 层级 | 技术 | |------|------| | 后端框架 | ThinkPHP 8.0 + think-orm 3.0 | | 运行环境 | PHP 8.0+ / MySQL 5.7+ | | 前端框架 | Bootstrap 5.3.3 + Bootstrap Icons | | 富文本编辑器 | WangEditor 5 | | 认证方案 | JWT (httpOnly Cookie) + CSRF Token | | 多语言 | 内置中/英/日/韩四语支持 | ## 架构概览 ``` eduadmin/ ├── app/ │ ├── admin/ # 后台管理应用(RBAC + CMS + 系统管理) │ ├── api/ # API 接口应用 │ ├── home/ # 前台应用 │ └── common/ # 公共函数库 ├── config/ # 配置文件 ├── database/ # 数据迁移与填充 ├── public/static/ # 静态资源(CSS/JS/上传文件) ├── route/ # 路由定义 └── view/ # 前台视图模板 ``` ## 功能模块 ### 权限与组织 - **管理员管理** — 账户 CRUD、状态控制、角色分配 - **角色管理** — RBAC 角色定义、数据权限范围(全部/本部门/自定义/本人) - **权限管理** — 菜单/按钮/接口三级权限树,前端 `data-permission` 属性自动控制按钮显隐 - **部门管理** — 无限层级部门树、负责人关联 ### 内容管理 - **栏目管理** — 无限层级分类树、关联内容模型 - **内容模型** — 可视化字段构建器(文本/数字/编辑器/图片/日期等),动态生成数据表 - **文章管理** — 文章 CRUD、多栏目发布、草稿/发布状态 - **单页管理** — 独立页面(关于我们、联系方式等) - **评论管理** — 评论审核、回复、状态控制 - **广告管理** — 广告位 + 广告内容,支持图片/链接类型 ### 系统管理 - **系统配置** — 分组化配置管理(站点/上传/邮件/安全等) - **操作日志** — 管理员操作审计、日志清理 - **数据库备份** — 在线备份/下载/还原 - **多语言管理** — 语言包在线编辑、快速翻译、导入导出 - **附件管理** — 上传文件管理、批量删除、图片预览 - **消息通知** — 站内通知推送、已读/未读状态 ### 个人中心 - **账号设置** — 修改密码、登录日志 - **个人资料** — 昵称/头像/联系方式编辑 ## 快速开始 ### 环境要求 - PHP >= 8.0 - MySQL >= 5.7 - Composer 2.x ### 安装步骤 ```bash # 1. 克隆项目 cd d:\phpstudy_pro\WWW\tpadmin\eduadmin # 2. 安装依赖 composer install # 3. 配置环境变量 # 复制 .example.env 为 .env,修改数据库和 JWT 配置 # DB_HOST / DB_NAME / DB_USER / DB_PASS / JWT_SECRET # 4. 初始化数据库 # 执行 database/ 目录下的 SQL 文件(init.sql + migrations) # 5. 启动开发服务器 php think run # 6. 访问 # 后台:http://localhost:8000/admin # 前台:http://localhost:8000/ ``` ### 默认账号 | 角色 | 用户名 | 密码 | |------|--------|------| | 超级管理员 | admin | admin123 | ## API 约定 所有接口返回统一 JSON 格式: ```json { "code": 200, "message": "操作成功", "data": {} } ``` | code | 含义 | |------|------| | 200 | 成功 | | 400 | 参数错误 | | 401 | 未登录/Token 过期 | | 403 | 无权限 | | 404 | 资源不存在 | | 500 | 服务器错误 | ## 安全特性 - **JWT 认证** — Token 存储于 httpOnly Cookie,防止 XSS 窃取 - **CSRF 防护** — 状态变更请求需携带 CSRF Token - **RBAC 权限** — 控制器方法级权限校验,`data-permission` 前端按钮控制 - **操作审计** — 管理员关键操作自动记录日志 - **密码加密** — bcrypt 哈希存储 ## 开发规范 - 遵循 PSR-2 编码风格、PSR-4 自动加载 - 前端统一使用 `adminFetch()` 封装请求(自动处理 CSRF/401/403) - 视图模板使用 ThinkPHP 模板引擎,后台采用 iframe 单页布局 - 业务逻辑优先放在 Service 层,控制器保持简洁 ## 许可证 本项目基于 Apache-2.0 协议发布。ThinkPHP® 商标归上海顶想信息科技有限公司所有。 更多细节参阅 [LICENSE.txt](LICENSE.txt)