notfff fae32adfb3 增加Admin模块,用于扩展后台基础功能 7 ماه پیش
..
README.md fae32adfb3 增加Admin模块,用于扩展后台基础功能 7 ماه پیش

README.md

Admin模块文档

文档目录

快速开始

1. 安装模块

Admin模块已经集成到系统中,无需额外安装。

2. 配置模块

模块配置文件位于 app/Module/Admin/Config/admin.php,可以根据需要调整配置。

3. 使用组件

// 使用表格辅助类
use App\Module\Admin\AdminControllers\Helper\GridHelper;

$helper = new GridHelper($grid, $this);
$helper->columnId();
$helper->columnCreatedAt();
$helper->columnStatus();

4. 记录操作日志

use App\Module\Admin\Enums\ADMIN_ACTION_TYPE;
use App\Module\Admin\Services\AdminService;

$adminService = app('admin.service');
$adminService->logAdminAction(
    ADMIN_ACTION_TYPE::CREATE,
    '创建用户',
    ['user_id' => 123]
);

5. 管理缓存

use App\Module\Admin\Services\CacheService;

$cacheService = app('admin.cache');
$cacheService->clearAll();
$status = $cacheService->getStatus();

主要功能

仪表板

  • 系统概览统计
  • 性能监控指标
  • 快捷操作入口
  • 系统状态展示

缓存管理

  • 缓存状态查看
  • 缓存清理操作
  • 缓存统计信息
  • 缓存预热功能

日志管理

  • 操作日志记录
  • 日志查看和筛选
  • 日志导出功能
  • 日志清理工具

系统信息

  • 服务器信息展示
  • PHP环境信息
  • 数据库状态
  • 性能指标监控

通用组件

  • 表格辅助类
  • 表单辅助类
  • 筛选器组件
  • 小部件组件

API接口

系统状态

GET /admin/api/system-status

仪表板数据刷新

GET /admin/api/dashboard/refresh

缓存操作

POST /admin/admin-cache/clear-all
POST /admin/admin-cache/clear-type
POST /admin/admin-cache/warmup

事件系统

AdminActionEvent

当管理员执行操作时触发,用于记录操作日志和发送通知。

Event::dispatch(new AdminActionEvent($actionData));

枚举类型

ADMIN_ACTION_TYPE

定义了所有管理员操作类型,包括:

  • LOGIN/LOGOUT - 登录/登出
  • CREATE/UPDATE/DELETE - 增删改
  • CACHE_CLEAR - 缓存清理
  • BACKUP/RESTORE - 备份/恢复
  • MAINTENANCE - 系统维护

CACHE_TYPE

定义了所有缓存类型,包括:

  • CONFIG - 配置缓存
  • SYSTEM - 系统缓存
  • USER - 用户缓存
  • SESSION - 会话缓存
  • 等等...

数据库表

kku_admin_logs

管理员操作日志表,记录所有管理员操作。

kku_admin_settings

管理员设置表,存储个人设置和系统配置。

kku_admin_metrics

系统监控指标表,存储性能监控数据。

kku_admin_backups

系统备份记录表,记录备份操作。

kku_admin_notifications

系统通知表,存储通知和警报。

注意事项

  1. 权限控制: 确保只有授权的管理员才能访问Admin模块功能
  2. 操作记录: 所有重要操作都会被记录到日志中
  3. 缓存管理: 谨慎使用缓存清理功能,可能影响系统性能
  4. 系统维护: 维护操作可能需要较长时间,建议在低峰期执行
  5. 备份恢复: 备份和恢复操作需要足够的磁盘空间和权限

扩展开发

如需扩展Admin模块功能,请参考 开发指南

问题反馈

如遇到问题,请查看日志文件或联系开发团队。