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

215 lines
5.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 添加礼物打赏菜单配置说明
## 步骤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