README.md 5.2 KB

Point模块后台管理功能

概述

Point模块提供了完整的种植点数后台管理功能,专注于管理用户的种植点数系统。每种植一个种子自动增长1点,为农场游戏提供激励机制。所有功能都基于Dcat Admin框架构建,提供友好的管理界面。

功能模块

1. 统计仪表板 (PointDashboardController)

  • 路由: /admin/point/dashboard
  • 功能:
    • 种植点数系统概览统计
    • 用户种植活动分布
    • 最近种植活动记录
    • 数据可视化展示

2. 种植点数管理 (PointController)

  • 路由: /admin/point/point
  • 功能:
    • 查看所有用户种植点数账户
    • 按用户ID筛选查询
    • 点数余额范围查询
    • 禁止删除,保护数据安全

3. 种植日志管理 (PointLogController)

  • 路由: /admin/point/point-log
  • 功能:
    • 查看所有种植点数操作日志
    • 按用户、操作类型筛选
    • 显示操作前后余额变化
    • 防篡改哈希值验证
    • 只读模式,不允许编辑

4. 点数配置管理 (PointConfigController)

  • 路由: /admin/point/point-config
  • 功能:
    • 管理种植点数账户配置
    • 设置显示属性
    • 关联积分币种
    • 唯一性验证

5. 积分币种管理 (PointCurrencyController)

  • 路由: /admin/point/point-currency
  • 功能:
    • 管理积分币种定义(当前只支持经验积分)
    • 设置图标和标识
    • 配置显示属性
    • 类型和标识唯一性验证

6. 管理员操作记录 (PointAdminController)

  • 路由: /admin/point/point-admin
  • 功能:
    • 记录管理员种植点数操作
    • 支持点数增减操作
    • 操作状态管理
    • 自动执行点数变更

7. 点数流转记录 (PointCirculationController)

  • 路由: /admin/point/point-circulation
  • 功能:
    • 查看用户种植点数账户间流转
    • 按流转方向筛选
    • 关联业务类型查询
    • 只读模式

8. 点数转账记录 (PointTransferController)

  • 路由: /admin/point/point-transfer
  • 功能:
    • 查看用户间种植点数转账
    • 按转出/转入用户筛选
    • 转账状态管理
    • 只读模式

9. 点数订单管理 (PointOrderController)

  • 路由: /admin/point/point-order
  • 功能:
    • 管理种植点数相关订单
    • 支持多种订单类型
    • 订单状态跟踪
    • 自动生成订单号

Helper类说明

GridHelper / GridHelperTrait

提供列表页面的通用组件:

  • columnPointId() - 积分类型列
  • columnBalance() - 积分余额列
  • columnAmount() - 操作积分列
  • columnOperateType() - 操作类型列
  • columnTimestamp() - 时间戳列
  • columnUserPoint() - 用户积分组合列
  • columnCirculationInfo() - 流转信息列
  • columnTransferInfo() - 转账信息列

FilterHelper / FilterHelperTrait

提供筛选器的通用组件:

  • equalPointId() - 积分类型筛选
  • equalOperateType() - 操作类型筛选
  • betweenAmount() - 积分数量范围筛选
  • betweenTimestamp() - 时间范围筛选
  • equalStatus() - 状态筛选

FormHelper / FormHelperTrait

提供表单的通用组件:

  • selectPointId() - 积分类型选择
  • numberAmount() - 积分数量输入
  • selectStatus() - 状态选择
  • textareaRemark() - 备注输入
  • hiddenTimestamps() - 时间戳隐藏字段

ShowHelper / ShowHelperTrait

提供详情页的通用组件:

  • fieldPointId() - 积分类型字段
  • fieldAmount() - 积分数量字段
  • fieldTimestamp() - 时间戳字段
  • fieldJson() - JSON数据字段

Repository说明

每个控制器都有对应的Repository类,提供数据访问功能:

  • PointRepository - 用户积分数据访问
  • PointLogRepository - 积分日志数据访问
  • PointConfigRepository - 积分配置数据访问
  • PointCurrencyRepository - 积分类型数据访问
  • PointAdminRepository - 管理员操作数据访问
  • PointCirculationRepository - 积分流转数据访问
  • PointTransferRepository - 积分转账数据访问
  • PointOrderRepository - 积分订单数据访问

路由配置

所有后台路由都在 /admin/point 前缀下,路由文件位于 routes/admin.php

菜单配置

菜单配置文件位于 config/admin_menu.php,包含完整的菜单结构。

使用说明

1. 注册服务提供者

config/app.php 中注册 PointServiceProvider

'providers' => [
    // ...
    App\Module\Point\Providers\PointServiceProvider::class,
],

2. 添加菜单

将菜单配置添加到后台管理系统中。

3. 设置权限

为不同角色设置相应的访问权限。

安全特性

  1. 数据保护: 关键数据表(日志、流转、转账)设为只读
  2. 唯一性验证: 积分类型和配置的唯一性检查
  3. 防篡改: 积分日志包含哈希值验证
  4. 权限控制: 基于角色的访问控制
  5. 操作审计: 完整的操作记录和追踪

扩展说明

如需添加新的管理功能:

  1. 创建对应的Controller继承 AdminController
  2. 创建对应的Repository继承 EloquentRepository
  3. 使用Helper类提供的通用组件
  4. 在路由文件中添加路由
  5. 在菜单配置中添加菜单项

所有组件都遵循统一的设计模式,便于维护和扩展。