2
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
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
This commit is contained in:
534
代理管理菜单路由配置清单.md
Normal file
534
代理管理菜单路由配置清单.md
Normal file
@@ -0,0 +1,534 @@
|
||||
# 代理管理菜单路由配置清单
|
||||
|
||||
本文档列出了重构后的代理管理菜单路由配置,用于配置到数据库的 `admin_menu` 表中。
|
||||
|
||||
## 菜单结构
|
||||
|
||||
```
|
||||
代理管理 (父菜单)
|
||||
├── 代理列表
|
||||
├── 推广链接
|
||||
├── 佣金记录
|
||||
├── 返佣记录 (新增)
|
||||
├── 升级记录 (新增)
|
||||
├── 订单记录 (新增)
|
||||
├── 提现记录
|
||||
├── 邀请码管理 (新增)
|
||||
├── 系统配置 (新增)
|
||||
├── 实名认证 (新增)
|
||||
└── 产品配置
|
||||
```
|
||||
|
||||
## 数据库配置说明
|
||||
|
||||
**表名**: `admin_menu`
|
||||
|
||||
**字段说明**:
|
||||
- `pid`: 父菜单ID(0表示顶级菜单)
|
||||
- `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)
|
||||
|
||||
---
|
||||
|
||||
**配置完成后,刷新后台管理系统页面,新的菜单结构就会生效。**
|
||||
|
||||
Reference in New Issue
Block a user