# 添加礼物打赏菜单配置说明 ## 步骤1:在数据库中添加菜单 执行以下SQL,在后台管理系统中添加"礼物打赏"菜单: ```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` 文件,添加以下路由配置: ```javascript { 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:检查菜单表 ```sql -- 查看菜单表名 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查看: ```sql SELECT * FROM eb_gift_config ORDER BY sort_order; ``` ## 测试流程 ### 1. 准备测试数据 ```sql -- 查看礼物配置 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. 清除缓存重新加载 ## 相关文件 - 后端Controller:`GiftAdminController.java` - 前端API:`Zhibo/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)