zhibo/添加礼物打赏菜单配置说明.md

215 lines
5.9 KiB
Markdown
Raw Normal View History

2026-01-03 19:22:42 +08:00
# 添加礼物打赏菜单配置说明
## 步骤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