zhibo/添加礼物打赏菜单配置说明.md
2026-01-03 19:22:42 +08:00

5.9 KiB
Raw Blame History

添加礼物打赏菜单配置说明

步骤1在数据库中添加菜单

执行以下SQL在后台管理系统中添加"礼物打赏"菜单:

-- 添加礼物管理菜单
INSERT INTO eb_system_menu (pid, name, path, component, is_show, sort, icon, create_time, update_time) 
VALUES (0, '礼物管理', '/gift', 'Layout', 1, 100, 'el-icon-present', NOW(), NOW());

-- 获取刚插入的父菜单ID假设为最新的ID
SET @parent_id = LAST_INSERT_ID();

-- 添加礼物打赏子菜单
INSERT INTO eb_system_menu (pid, name, path, component, is_show, sort, icon, create_time, update_time) 
VALUES (@parent_id, '礼物打赏', 'records', 'gift/records/index', 1, 1, 'el-icon-present', NOW(), NOW());

-- 添加礼物配置子菜单(可选)
INSERT INTO eb_system_menu (pid, name, path, component, is_show, sort, icon, create_time, update_time) 
VALUES (@parent_id, '礼物配置', 'config', 'gift/config/index', 1, 2, 'el-icon-setting', NOW(), NOW());

-- 添加充值套餐子菜单(可选)
INSERT INTO eb_system_menu (pid, name, path, component, is_show, sort, icon, create_time, update_time) 
VALUES (@parent_id, '充值套餐', 'packages', 'gift/packages/index', 1, 3, 'el-icon-coin', NOW(), NOW());

-- 查看添加的菜单
SELECT * FROM eb_system_menu WHERE name LIKE '%礼物%' OR name LIKE '%充值%';

步骤2如果没有菜单表手动配置路由

如果你的系统不是从数据库读取菜单,需要手动在前端路由文件中添加。

找到 Zhibo/admin/src/router/index.js 文件,添加以下路由配置:

{
  path: '/gift',
  component: Layout,
  redirect: '/gift/records',
  name: 'Gift',
  meta: { 
    title: '礼物管理', 
    icon: 'el-icon-present' 
  },
  children: [
    {
      path: 'records',
      name: 'GiftRecords',
      component: () => import('@/views/gift/records/index'),
      meta: { 
        title: '礼物打赏', 
        icon: 'el-icon-present' 
      }
    }
  ]
}

步骤3验证菜单是否添加成功

  1. 重新登录后台管理系统
  2. 在左侧菜单栏应该能看到"礼物管理"菜单
  3. 点击"礼物打赏"子菜单
  4. 应该能看到礼物打赏记录页面

礼物打赏记录页面功能

页面会显示以下信息:

统计卡片

  • 总礼物数:所有时间的礼物总数量
  • 总价值:所有礼物的总价值(虚拟币)
  • 今日礼物数:今天收到的礼物数量
  • 今日价值:今天礼物的总价值

搜索功能

  • 关键词搜索:送礼者昵称、接收者昵称、礼物名称
  • 日期筛选:按开始日期和结束日期筛选

礼物记录表格

显示字段:

  • ID
  • 礼物信息(图标、名称、单价×数量)
  • 总价值
  • 送礼者(头像、昵称、手机号)
  • 接收者/主播(头像、昵称、手机号)
  • 直播间名称
  • 赠送时间

统计功能

  • 可以统计哪个用户送了多少礼物
  • 可以统计哪个主播收到了多少礼物
  • 可以按日期范围查看礼物记录

如果菜单还是没有显示

方法1检查菜单表

-- 查看菜单表名
SHOW TABLES LIKE '%menu%';

-- 查看菜单表结构
DESC eb_system_menu;

-- 查看现有菜单
SELECT * FROM eb_system_menu ORDER BY sort;

方法2检查权限

确保当前登录的管理员账号有权限访问新添加的菜单。

方法3清除缓存

  1. 清除浏览器缓存
  2. 重新登录后台管理系统
  3. 按 Ctrl+F5 强制刷新页面

方法4直接访问URL

即使菜单没有显示,也可以直接在浏览器地址栏输入:

http://localhost:8080/#/gift/records

礼物配置说明

礼物数据已经在数据库中初始化了,包括:

  • 玫瑰1虚拟币
  • 巧克力5虚拟币
  • 棒棒糖10虚拟币
  • 冰淇淋20虚拟币
  • 蛋糕50虚拟币
  • 香水100虚拟币
  • 口红200虚拟币
  • 钻戒520虚拟币
  • 跑车1314虚拟币
  • 城堡5200虚拟币

可以通过以下SQL查看

SELECT * FROM eb_gift_config ORDER BY sort_order;

测试流程

1. 准备测试数据

-- 查看礼物配置
SELECT * FROM eb_gift_config;

-- 查看充值套餐
SELECT * FROM eb_recharge_package;

-- 查看用户余额
SELECT uid, nickname, virtual_balance FROM eb_user WHERE uid IN (41, 42, 43);

2. 通过APP端送礼物

  1. 用户A登录APP
  2. 充值虚拟货币
  3. 进入主播B的直播间
  4. 点击礼物按钮
  5. 选择礼物并发送

3. 在后台查看记录

  1. 登录后台管理系统
  2. 进入"礼物管理" -> "礼物打赏"
  3. 查看刚才的送礼记录
  4. 可以搜索用户A或主播B
  5. 查看统计数据是否正确

常见问题

Q1: 菜单添加后看不到?

A:

  1. 检查数据库中菜单是否添加成功
  2. 检查is_show字段是否为1
  3. 清除浏览器缓存并重新登录
  4. 检查当前用户是否有权限

Q2: 点击菜单报404错误

A:

  1. 检查前端页面文件是否存在:Zhibo/admin/src/views/gift/records/index.vue
  2. 检查路由配置是否正确
  3. 重新编译前端:npm run build:prod

Q3: 页面显示"暂无数据"

A:

  1. 检查后端服务是否启动
  2. 检查API接口是否正常/api/admin/gift/records
  3. 查看浏览器控制台是否有错误
  4. 检查数据库中是否有礼物记录

Q4: 统计数据不准确?

A:

  1. 检查数据库中的数据是否正确
  2. 检查后端SQL查询是否正确
  3. 清除缓存重新加载

相关文件

  • 后端ControllerGiftAdminController.java
  • 前端APIZhibo/admin/src/api/gift.js
  • 前端页面:Zhibo/admin/src/views/gift/records/index.vue
  • 数据库脚本:virtual_currency_and_gift_system.sql

下一步扩展

可以继续添加以下功能:

  1. 礼物配置管理页面(添加、编辑、删除礼物)
  2. 充值套餐管理页面(配置充值金额和赠送比例)
  3. 充值记录查看页面
  4. 礼物统计图表(趋势图、排行榜)
  5. 数据导出功能导出Excel