5.9 KiB
5.9 KiB
添加礼物打赏菜单配置说明
步骤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:验证菜单是否添加成功
- 重新登录后台管理系统
- 在左侧菜单栏应该能看到"礼物管理"菜单
- 点击"礼物打赏"子菜单
- 应该能看到礼物打赏记录页面
礼物打赏记录页面功能
页面会显示以下信息:
统计卡片
- 总礼物数:所有时间的礼物总数量
- 总价值:所有礼物的总价值(虚拟币)
- 今日礼物数:今天收到的礼物数量
- 今日价值:今天礼物的总价值
搜索功能
- 关键词搜索:送礼者昵称、接收者昵称、礼物名称
- 日期筛选:按开始日期和结束日期筛选
礼物记录表格
显示字段:
- ID
- 礼物信息(图标、名称、单价×数量)
- 总价值
- 送礼者(头像、昵称、手机号)
- 接收者/主播(头像、昵称、手机号)
- 直播间名称
- 赠送时间
统计功能
- 可以统计哪个用户送了多少礼物
- 可以统计哪个主播收到了多少礼物
- 可以按日期范围查看礼物记录
如果菜单还是没有显示
方法1:检查菜单表
-- 查看菜单表名
SHOW TABLES LIKE '%menu%';
-- 查看菜单表结构
DESC eb_system_menu;
-- 查看现有菜单
SELECT * FROM eb_system_menu ORDER BY sort;
方法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端送礼物
- 用户A登录APP
- 充值虚拟货币
- 进入主播B的直播间
- 点击礼物按钮
- 选择礼物并发送
3. 在后台查看记录
- 登录后台管理系统
- 进入"礼物管理" -> "礼物打赏"
- 查看刚才的送礼记录
- 可以搜索用户A或主播B
- 查看统计数据是否正确
常见问题
Q1: 菜单添加后看不到?
A:
- 检查数据库中菜单是否添加成功
- 检查
is_show字段是否为1 - 清除浏览器缓存并重新登录
- 检查当前用户是否有权限
Q2: 点击菜单报404错误?
A:
- 检查前端页面文件是否存在:
Zhibo/admin/src/views/gift/records/index.vue - 检查路由配置是否正确
- 重新编译前端:
npm run build:prod
Q3: 页面显示"暂无数据"?
A:
- 检查后端服务是否启动
- 检查API接口是否正常:
/api/admin/gift/records - 查看浏览器控制台是否有错误
- 检查数据库中是否有礼物记录
Q4: 统计数据不准确?
A:
- 检查数据库中的数据是否正确
- 检查后端SQL查询是否正确
- 清除缓存重新加载
相关文件
- 后端Controller:
GiftAdminController.java - 前端API:
Zhibo/admin/src/api/gift.js - 前端页面:
Zhibo/admin/src/views/gift/records/index.vue - 数据库脚本:
virtual_currency_and_gift_system.sql
下一步扩展
可以继续添加以下功能:
- 礼物配置管理页面(添加、编辑、删除礼物)
- 充值套餐管理页面(配置充值金额和赠送比例)
- 充值记录查看页面
- 礼物统计图表(趋势图、排行榜)
- 数据导出功能(导出Excel)