easyadmin8 / easyadmin8_blog
EasyAdmin8 blog system
Package info
github.com/easyadmin8/EasyAdmin8-Blog
Type:project
pkg:composer/easyadmin8/easyadmin8_blog
Requires
- php: >=8.2.0
- ext-json: *
- ext-mysqli: *
- ext-pdo: *
- aliyuncs/oss-sdk-php: ^2.7.2
- doctrine/annotations: ^2.0.0
- myclabs/php-enum: ^1.8
- neuron-core/neuron-ai: ^3.4
- phpoffice/phpspreadsheet: ^5.3.0
- qcloud/cos-sdk-v5: ^2.6
- topthink/framework: ^8.1.4
- topthink/think-filesystem: ^2.0
- topthink/think-multi-app: ^1.1.0
- topthink/think-orm: ^4.0
- topthink/think-view: ^2.0
- webman/captcha: ^1.0
- wolf-leo/phplogviewer: ^0.11.3
- wolfcode/authenticator: ^0.0.6
- wolfcode/cloudflare-turnstile: ^0.0.2
- wolfcode/php-cron: ^0.1.1
- wolfcode/qiniu-php-sdk: ^8.0
- wolfcode/rate-limiting: ^0.1.0
Requires (Dev)
- symfony/var-dumper: >=4.2
- topthink/think-trace: ^1.0
README
简介
EasyAdmin8-Blog 是基于 EasyAdmin8 扩展的博客系统,集成了完整的博客前台与后台管理功能。在 EasyAdmin8 后台框架的基础上,新增了文章管理、分类管理、标签管理、友情链接、模板切换等博客模块,开箱即用。
- 后台管理:基于 ThinkPHP 8.1+ 和 Layui 2.x 的后台管理系统,包含 RBAC 权限控制、操作日志、CURD 代码生成器等完整功能。
- 博客前台:支持 3 套可切换的主题模板(极简 / 杂志 / 暗色编辑风),响应式设计,SEO 友好。
- AI 集成:内置 NeuronAI 接入,支持 AI 日志分析、商品智能优化等功能。
预览地址:http://thinkphp-blog.easyadmin8.top
后台地址:http://thinkphp-blog.easyadmin8.top/admin
项目地址:https://github.com/EasyAdmin8/EasyAdmin8-Blog
项目地址:https://gitee.com/EasyAdmin8/EasyAdmin8-Blog
EasyAdmin8 官网:https://easyadmin8.top
环境要求
| 依赖 | 版本要求 |
|---|---|
| PHP | >= 8.2.0 |
| MySQL | >= 5.7 |
| PostgreSQL | >= 12.0 |
| ThinkPHP | >= 8.1.0 |
| Layui | >= 2.x |
安装
1. 下载
git clone https://gitee.com/EasyAdmin8/EasyAdmin8-Blog
cd EasyAdmin8-Blog
2. 安装依赖
composer install
如果出现版本冲突,可尝试:
composer install --ignore-platform-reqs
3. 配置环境
复制 .example.env 为 .env,修改数据库连接信息:
cp .example.env .env
关键配置项:
DB_TYPE = mysql DB_HOST = 127.0.0.1 DB_NAME = easyadmin8_blog DB_USER = root DB_PASS = your_password DB_PORT = 3306 DB_PREFIX = ea8_ DB_CHARSET = utf8mb4
4. 配置 Web 服务器
Nginx 配置示例:
server { listen 80; server_name your-domain.com; root /path/to/EasyAdmin8-Blog/public; index index.php index.html; location / { if (!-e $request_filename) { rewrite ^/(.*)$ /index.php?s=$1 last; } } }
Apache:已内置 .htaccess,无需额外配置(确保 mod_rewrite 已启用)。
5. 访问安装
浏览器访问 http://your-domain.com/install,按向导完成数据库初始化和管理员设置。
安装完成后会自动写入 config/install/lock/install.lock,如需重新安装删除该文件即可。
项目结构
EasyAdmin8-Blog/
├── app/
│ ├── admin/ # 后台应用
│ │ ├── controller/
│ │ │ ├── Ajax.php # AJAX 接口
│ │ │ ├── Index.php # 仪表盘
│ │ │ ├── Login.php # 登录/退出
│ │ │ ├── blog/ # 博客管理(文章/分类/标签/链接/模板/配置)
│ │ │ ├── mall/ # 商城管理(分类/商品)
│ │ │ └── system/ # 系统管理(管理员/权限/菜单/节点/配置/日志/上传等)
│ │ ├── middleware/ # 中间件(登录验证/权限验证/操作日志/限流)
│ │ ├── model/ # 数据模型
│ │ ├── service/ # 服务层(AI/注解/权限/CRUD生成/上传)
│ │ └── traits/Curd.php # 通用 CRUD Trait
│ ├── index/ # 前台博客应用
│ │ └── controller/
│ │ ├── Index.php # 博客首页
│ │ ├── Post.php # 文章详情/分类/标签/关于
│ │ └── Install.php # Web 安装向导
│ └── common/ # 公共代码
│ ├── controller/
│ ├── model/TimeModel.php # 基础模型(软删除 + 自动时间戳)
│ └── service/ # 权限/菜单服务
├── config/ # 配置文件
│ └── install/sql/ # 安装 SQL 脚本
├── route/app.php # 路由定义
├── view/
│ └── index/
│ ├── template1/ # 主题一:极简风格
│ ├── template2/ # 主题二:杂志风格
│ ├── template3/ # 主题三:暗色编辑风格
│ ├── install/ # 安装向导页面
│ └── miss.html # 404 页面
├── public/static/ # 前端资源
│ ├── admin/ # 后台资源
│ ├── blog/ # 博客前台资源
│ ├── common/ # 公共资源
│ └── plugs/ # 第三方插件(jQuery/Layui/CKEditor/ECharts 等)
├── skill/ # AI 技能文档(注解/CURD/权限/文件上传/模型/日志/定时任务等)
├── crontab/ # 定时任务脚本
├── .env # 环境配置
└── composer.json
博客功能
前台
- 文章展示:列表分页、文章详情(支持 Slug 美化 URL)、浏览量统计、上/下篇导航
- 分类 & 标签:按分类/标签筛选文章
- 推荐 & 置顶:文章支持置顶和推荐标记
- 友情链接:可配置的友链模块
- 关于页面:自定义关于页内容
- 404 页面:自定义 404 错误页,支持明暗主题切换
- 响应式设计:完美适配桌面和移动端
- 暗黑模式:模板三内置深色主题,支持阅读进度条
- SEO 友好:语义化 HTML、自定义 keywords/description
后台
| 模块 | 功能 |
|---|---|
| 文章管理 | 发布/草稿/置顶/推荐/回收站/导出 |
| 分类管理 | 分类增删改查、别名(Slug)管理 |
| 标签管理 | 标签增删改查 |
| 友情链接 | 链接增删改查 |
| 模板管理 | 3 套主题一键切换 |
| 基础配置 | 博客标题/副标题/SEO/社交链接/版权信息等 |
主题模板
| 模板 | 风格 | 特点 |
|---|---|---|
| template1 | 极简 | 干净清爽的阅读体验 |
| template2 | 杂志 | 富有设计感的内容展示 |
| template3 | 暗色编辑 | 深色主题 + 翡翠绿配色 + 阅读进度条 |
系统功能
后台管理
- RBAC 权限控制:管理员 / 角色 / 菜单 / 节点,基于 PHP 8 注解自动扫描
- 操作日志:中间件自动记录,按月分表,支持 AI 智能分析
- CURD 代码生成器:可视化 Web 界面 + CLI 命令,一键生成控制器/模型/视图
- 任务调度:可视化管理定时任务,支持 Windows / Linux
- 多文件上传:本地 / 阿里云 OSS / 腾讯云 COS / 七牛云
- 多富文本编辑器:CKEditor / UEditor / wangEditor / EasyMDE
- Google 2FA:两步验证登录
- Cloudflare Turnstile:人机验证
- 请求限流:可选 Redis 限流器
- Demo 模式:开启后后台为只读状态
- 快捷入口:仪表盘自定义快捷链接
环境变量(.env)
# 调试模式 APP_DEBUG = true # 数据库 DB_TYPE = mysql DB_HOST = 127.0.0.1 DB_NAME = easyadmin8_blog DB_USER = root DB_PASS = root DB_PORT = 3306 DB_PREFIX = ea8_ # Redis(可选,限流器需要) RATE_LIMITING_STATUS = false REDIS_HOST = 127.0.0.1 REDIS_PORT = 6379 # AI 配置(可替换为任意 OpenAI 兼容接口) DASHSCOPE_API_URL = https://dashscope.aliyuntest.com/api/v1 DASHSCOPE_API_KEY = your_api_key_here DASHSCOPE_API_MODEL = qwen-plus # Cloudflare Turnstile(可选) CF_TURNSTILE_STATUS = false # 后台配置 [EASYADMIN] ADMIN = admin # 后台地址后缀 CAPTCHA = false # 验证码开关 IS_DEMO = false # 演示环境(开启后后台只读) # CSRF 防护 IS_CSRF = false # CSRF 开关
CURD 命令
# 生成完整 CRUD(控制器 + 模型 + 视图) php think curd -t 表名 # 指定应用和前缀 php think curd -t 表名 -m admin -p ea8_
更多参数参考:CURD 命令大全
EasyAdmin8 生态
| 版本 | GitHub | Gitee |
|---|---|---|
| ThinkPHP | EasyAdmin8 | EasyAdmin8 |
| Laravel | EasyAdmin8-Laravel | EasyAdmin8-Laravel |
| Webman | EasyAdmin8-webman | EasyAdmin8-webman |
相关文档
常见问题
更新日志
预览
交流
许可证
Copyright (c) 2020 EasyAdmin


