Files
zacfrontadmin_v2/代理管理菜单路由配置清单.md
18278715334 a196280d68
Some checks failed
CI / Test (ubuntu-latest) (push) Has been cancelled
CI / Test (windows-latest) (push) Has been cancelled
CI / Lint (ubuntu-latest) (push) Has been cancelled
CI / Lint (windows-latest) (push) Has been cancelled
CI / Check (ubuntu-latest) (push) Has been cancelled
CI / Check (windows-latest) (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
Deploy Website on push / Deploy Push Playground Ftp (push) Has been cancelled
Deploy Website on push / Deploy Push Docs Ftp (push) Has been cancelled
Deploy Website on push / Deploy Push Antd Ftp (push) Has been cancelled
Deploy Website on push / Deploy Push Element Ftp (push) Has been cancelled
Deploy Website on push / Deploy Push Naive Ftp (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
CI / CI OK (push) Has been cancelled
Deploy Website on push / Rerun on failure (push) Has been cancelled
Lock Threads / action (push) Has been cancelled
Issue Close Require / close-issues (push) Has been cancelled
Close stale issues / stale (push) Has been cancelled
2
2026-01-15 18:04:52 +08:00

535 lines
13 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.

# 代理管理菜单路由配置清单
本文档列出了重构后的代理管理菜单路由配置,用于配置到数据库的 `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
---
**配置完成后,刷新后台管理系统页面,新的菜单结构就会生效。**