This commit is contained in:
2026-02-08 17:01:33 +08:00
parent 0668eea99b
commit 3211cc32ce
76 changed files with 5054 additions and 2423 deletions

View File

@@ -0,0 +1,534 @@
# 代理管理菜单路由配置清单
本文档列出了重构后的代理管理菜单路由配置,用于配置到数据库的 `admin_menu` 表中。
## 菜单结构
```
代理管理 (父菜单)
├── 代理列表
├── 推广链接
├── 佣金记录
├── 返佣记录 (新增)
├── 升级记录 (新增)
├── 订单记录 (新增)
├── 提现记录
├── 邀请码管理 (新增)
├── 系统配置 (新增)
├── 实名认证 (新增)
└── 产品配置
```
## 数据库配置说明
**表名**: `admin_menu`
**字段说明**:
- `pid`: 父菜单ID0表示顶级菜单
- `name`: 路由名称Route Name
- `path`: 路由路径
- `component`: 组件路径(前端视图组件路径)
- `redirect`: 重定向路径(可选)
- `meta`: 元数据JSON字符串包含 `title`(标题)、`icon`(图标)、`order`(排序)
- `status`: 状态1=启用0=禁用)
- `type`: 菜单类型catalog=目录menu=菜单)
- `sort`: 排序号
---
## 1. 父菜单:代理管理
```json
{
"pid": 0,
"name": "Agent",
"path": "/agent",
"component": "",
"redirect": "",
"meta": "{\"title\":\"代理管理\",\"icon\":\"mdi:account-group\",\"order\":2000}",
"status": 1,
"type": "catalog",
"sort": 2000
}
```
**说明**:
- 父菜单ID设为 `0` 或插入后获取的实际ID
- `type` 使用字典值 `catalog`(目录类型)
- `component` 留空(因为这是父菜单,不直接渲染组件)
---
## 2. 子菜单配置
### 2.1 代理列表
```json
{
"pid": "[父菜单ID - Agent的ID]",
"name": "AgentList",
"path": "/agent/list",
"component": "/views/agent/agent-list/list",
"redirect": "",
"meta": "{\"title\":\"代理列表\",\"icon\":\"mdi:account-multiple\",\"order\":2001}",
"status": 1,
"type": "menu",
"sort": 2001
}
```
### 2.2 推广链接
```json
{
"pid": "[父菜单ID - Agent的ID]",
"name": "AgentLinks",
"path": "/agent/links",
"component": "/views/agent/agent-links/list",
"redirect": "",
"meta": "{\"title\":\"推广链接\",\"icon\":\"mdi:link-variant\",\"order\":2002}",
"status": 1,
"type": "menu",
"sort": 2002
}
```
### 2.3 佣金记录
```json
{
"pid": "[父菜单ID - Agent的ID]",
"name": "AgentCommission",
"path": "/agent/commission",
"component": "/views/agent/agent-commission/list",
"redirect": "",
"meta": "{\"title\":\"佣金记录\",\"icon\":\"mdi:cash-multiple\",\"order\":2003}",
"status": 1,
"type": "menu",
"sort": 2003
}
```
### 2.4 返佣记录 (新增)
```json
{
"pid": "[父菜单ID - Agent的ID]",
"name": "AgentRebate",
"path": "/agent/rebate",
"component": "/views/agent/agent-rebate/list",
"redirect": "",
"meta": "{\"title\":\"返佣记录\",\"icon\":\"mdi:currency-usd\",\"order\":2004}",
"status": 1,
"type": "menu",
"sort": 2004
}
```
### 2.5 升级记录 (新增)
```json
{
"pid": "[父菜单ID - Agent的ID]",
"name": "AgentUpgrade",
"path": "/agent/upgrade",
"component": "/views/agent/agent-upgrade/list",
"redirect": "",
"meta": "{\"title\":\"升级记录\",\"icon\":\"mdi:arrow-up-circle\",\"order\":2005}",
"status": 1,
"type": "menu",
"sort": 2005
}
```
### 2.6 订单记录 (新增)
```json
{
"pid": "[父菜单ID - Agent的ID]",
"name": "AgentOrder",
"path": "/agent/order",
"component": "/views/agent/agent-order/list",
"redirect": "",
"meta": "{\"title\":\"订单记录\",\"icon\":\"mdi:package-variant\",\"order\":2006}",
"status": 1,
"type": "menu",
"sort": 2006
}
```
### 2.7 提现记录
```json
{
"pid": "[父菜单ID - Agent的ID]",
"name": "AgentWithdrawal",
"path": "/agent/withdrawal",
"component": "/views/agent/agent-withdrawal/list",
"redirect": "",
"meta": "{\"title\":\"提现记录\",\"icon\":\"mdi:bank-transfer-out\",\"order\":2007}",
"status": 1,
"type": "menu",
"sort": 2007
}
```
### 2.8 邀请码管理 (新增)
```json
{
"pid": "[父菜单ID - Agent的ID]",
"name": "AgentInviteCode",
"path": "/agent/invite-code",
"component": "/views/agent/agent-invite-code/list",
"redirect": "",
"meta": "{\"title\":\"邀请码管理\",\"icon\":\"mdi:ticket-confirmation\",\"order\":2008}",
"status": 1,
"type": "menu",
"sort": 2008
}
```
### 2.9 系统配置 (新增)
```json
{
"pid": "[父菜单ID - Agent的ID]",
"name": "AgentConfig",
"path": "/agent/config",
"component": "/views/agent/agent-config/list",
"redirect": "",
"meta": "{\"title\":\"系统配置\",\"icon\":\"mdi:cog\",\"order\":2009}",
"status": 1,
"type": "menu",
"sort": 2009
}
```
### 2.10 实名认证 (新增)
```json
{
"pid": "[父菜单ID - Agent的ID]",
"name": "AgentRealName",
"path": "/agent/real-name",
"component": "/views/agent/agent-real-name/list",
"redirect": "",
"meta": "{\"title\":\"实名认证\",\"icon\":\"mdi:account-check\",\"order\":2010}",
"status": 1,
"type": "menu",
"sort": 2010
}
```
### 2.11 产品配置
```json
{
"pid": "[父菜单ID - Agent的ID]",
"name": "AgentProductConfig",
"path": "/agent/product-config",
"component": "/views/agent/agent-product-config/list",
"redirect": "",
"meta": "{\"title\":\"产品配置\",\"icon\":\"mdi:package-variant-closed\",\"order\":2011}",
"status": 1,
"type": "menu",
"sort": 2011
}
```
---
## 3. 需要删除的旧菜单 (如果存在)
以下菜单应该从数据库中删除(已移除的功能):
1. **上级抽佣记录** - `AgentCommissionDeduction`
- 路径: `/agent/commission-deduction` 或类似路径
2. **平台抽佣记录** - `AgentPlatformDeduction`
- 路径: `/agent/platform-deduction` 或类似路径
3. **会员充值订单** - `MembershipRechargeOrder`
- 路径: `/agent/membership-recharge-order` 或类似路径
4. **会员配置** - `AgentMembershipConfig`
- 路径: `/agent/membership-config` 或类似路径
5. **奖励记录** - `AgentReward` (如果存在独立菜单)
- 路径: `/agent/reward` 或类似路径
- **注意**: 已被"返佣记录"替代
---
## 4. SQL 插入示例 (MySQL)
假设父菜单ID为 `100`(请根据实际情况替换):
```sql
-- 插入代理列表
INSERT INTO `admin_menu` (`pid`, `name`, `path`, `component`, `redirect`, `meta`, `status`, `type`, `sort`, `create_time`, `update_time`, `del_state`, `version`)
VALUES (
100,
'AgentList',
'/agent/list',
'/views/agent/agent-list/list',
'',
'{"title":"代理列表","icon":"mdi:account-multiple","order":2001}',
1,
'menu',
2001,
NOW(),
NOW(),
0,
1
);
-- 插入推广链接
INSERT INTO `admin_menu` (`pid`, `name`, `path`, `component`, `redirect`, `meta`, `status`, `type`, `sort`, `create_time`, `update_time`, `del_state`, `version`)
VALUES (
100,
'AgentLinks',
'/agent/links',
'/views/agent/agent-links/list',
'',
'{"title":"推广链接","icon":"mdi:link-variant","order":2002}',
1,
'menu',
2002,
NOW(),
NOW(),
0,
1
);
-- 插入佣金记录
INSERT INTO `admin_menu` (`pid`, `name`, `path`, `component`, `redirect`, `meta`, `status`, `type`, `sort`, `create_time`, `update_time`, `del_state`, `version`)
VALUES (
100,
'AgentCommission',
'/agent/commission',
'/views/agent/agent-commission/list',
'',
'{"title":"佣金记录","icon":"mdi:cash-multiple","order":2003}',
1,
'menu',
2003,
NOW(),
NOW(),
0,
1
);
-- 插入返佣记录 (新增)
INSERT INTO `admin_menu` (`pid`, `name`, `path`, `component`, `redirect`, `meta`, `status`, `type`, `sort`, `create_time`, `update_time`, `del_state`, `version`)
VALUES (
100,
'AgentRebate',
'/agent/rebate',
'/views/agent/agent-rebate/list',
'',
'{"title":"返佣记录","icon":"mdi:currency-usd","order":2004}',
1,
'menu',
2004,
NOW(),
NOW(),
0,
1
);
-- 插入升级记录 (新增)
INSERT INTO `admin_menu` (`pid`, `name`, `path`, `component`, `redirect`, `meta`, `status`, `type`, `sort`, `create_time`, `update_time`, `del_state`, `version`)
VALUES (
100,
'AgentUpgrade',
'/agent/upgrade',
'/views/agent/agent-upgrade/list',
'',
'{"title":"升级记录","icon":"mdi:arrow-up-circle","order":2005}',
1,
'menu',
2005,
NOW(),
NOW(),
0,
1
);
-- 插入订单记录 (新增)
INSERT INTO `admin_menu` (`pid`, `name`, `path`, `component`, `redirect`, `meta`, `status`, `type`, `sort`, `create_time`, `update_time`, `del_state`, `version`)
VALUES (
100,
'AgentOrder',
'/agent/order',
'/views/agent/agent-order/list',
'',
'{"title":"订单记录","icon":"mdi:package-variant","order":2006}',
1,
'menu',
2006,
NOW(),
NOW(),
0,
1
);
-- 插入提现记录
INSERT INTO `admin_menu` (`pid`, `name`, `path`, `component`, `redirect`, `meta`, `status`, `type`, `sort`, `create_time`, `update_time`, `del_state`, `version`)
VALUES (
100,
'AgentWithdrawal',
'/agent/withdrawal',
'/views/agent/agent-withdrawal/list',
'',
'{"title":"提现记录","icon":"mdi:bank-transfer-out","order":2007}',
1,
'menu',
2007,
NOW(),
NOW(),
0,
1
);
-- 插入邀请码管理 (新增)
INSERT INTO `admin_menu` (`pid`, `name`, `path`, `component`, `redirect`, `meta`, `status`, `type`, `sort`, `create_time`, `update_time`, `del_state`, `version`)
VALUES (
100,
'AgentInviteCode',
'/agent/invite-code',
'/views/agent/agent-invite-code/list',
'',
'{"title":"邀请码管理","icon":"mdi:ticket-confirmation","order":2008}',
1,
'menu',
2008,
NOW(),
NOW(),
0,
1
);
-- 插入系统配置 (新增)
INSERT INTO `admin_menu` (`pid`, `name`, `path`, `component`, `redirect`, `meta`, `status`, `type`, `sort`, `create_time`, `update_time`, `del_state`, `version`)
VALUES (
100,
'AgentConfig',
'/agent/config',
'/views/agent/agent-config/list',
'',
'{"title":"系统配置","icon":"mdi:cog","order":2009}',
1,
'menu',
2009,
NOW(),
NOW(),
0,
1
);
-- 插入实名认证 (新增)
INSERT INTO `admin_menu` (`pid`, `name`, `path`, `component`, `redirect`, `meta`, `status`, `type`, `sort`, `create_time`, `update_time`, `del_state`, `version`)
VALUES (
100,
'AgentRealName',
'/agent/real-name',
'/views/agent/agent-real-name/list',
'',
'{"title":"实名认证","icon":"mdi:account-check","order":2010}',
1,
'menu',
2010,
NOW(),
NOW(),
0,
1
);
-- 插入产品配置
INSERT INTO `admin_menu` (`pid`, `name`, `path`, `component`, `redirect`, `meta`, `status`, `type`, `sort`, `create_time`, `update_time`, `del_state`, `version`)
VALUES (
100,
'AgentProductConfig',
'/agent/product-config',
'/views/agent/agent-product-config/list',
'',
'{"title":"产品配置","icon":"mdi:package-variant-closed","order":2011}',
1,
'menu',
2011,
NOW(),
NOW(),
0,
1
);
```
---
## 5. 配置步骤
1. **查找或创建父菜单**:
- 查询数据库中是否已存在 `name = 'Agent'``path = '/agent'` 的菜单
- 如果不存在,先插入父菜单(`pid = 0``type = 'catalog'`
- 记录父菜单的ID后续子菜单会使用
2. **删除旧菜单** (如果存在):
- 删除"上级抽佣记录"、"平台抽佣记录"、"会员充值订单"、"会员配置"等旧菜单
- 如果存在"奖励记录"独立菜单,也删除(已改为"返佣记录"
3. **更新现有菜单**:
- 检查并更新现有菜单的路径、组件路径等信息(如有变化)
4. **插入新菜单**:
- 按照上面的SQL示例插入新的菜单项
- 确保 `pid` 使用正确的父菜单ID
- 确保 `sort``meta.order` 保持一致的排序
5. **验证**:
- 登录后台管理系统,检查菜单是否正常显示
- 点击每个菜单项,确认路由跳转正常
---
## 6. 注意事项
1. **菜单类型 (type)**:
- 父菜单使用 `catalog`(目录类型)
- 子菜单使用 `menu`(菜单类型)
- 需要确保这些类型值在系统的字典表 `admin_menu_type` 中存在
2. **组件路径 (component)**:
- 路径格式为:`/views/agent/xxx/list`
- 前端会自动添加 `.vue` 后缀
3. **Meta字段格式**:
- 必须是有效的JSON字符串
- 包含 `title`(标题)、`icon`(图标)、`order`(排序)
4. **排序号 (sort)**:
- 建议与 `meta.order` 保持一致
- 数值越小,排序越靠前
5. **状态 (status)**:
- `1` = 启用
- `0` = 禁用
---
## 7. 快速检查清单
- [ ] 父菜单"代理管理"已存在或已创建
- [ ] 已删除旧的菜单项(上级抽佣、平台抽佣、会员充值订单、会员配置)
- [ ] 所有新菜单项已插入数据库
- [ ] 所有菜单项的 `pid` 正确指向父菜单ID
- [ ] 所有菜单项的 `component` 路径正确
- [ ] 所有菜单项的 `meta` JSON格式正确
- [ ] 菜单排序号sort设置合理
- [ ] 菜单状态status为启用1
---
**配置完成后,刷新后台管理系统页面,新的菜单结构就会生效。**