# 评委邀请码功能实现指南
> **实施日期**: 2025-12-12
> **页面路径**: `src/views/martial/judgeInvite/index.vue`
> **与赛事绑定**: ✅ 已通过 `competitionId` 实现
---
## 📋 实现方案
### 一、需求分析
根据文档,评委邀请码功能需要实现:
1. **单个生成**:为单个评委生成6位邀请码
2. **批量生成**:为多个评委批量生成邀请码
3. **重新生成**:已有邀请码时可重新生成
4. **复制功能**:点击邀请码可复制
5. **赛事绑定**:所有操作都与选中的赛事绑定
### 二、后端接口(已完成)
后端接口已在 `src/api/martial/judgeInvite.js` 中添加:
```javascript
// 1. 生成邀请码
export const generateInviteCode = (data) => {
return request({
url: '/api/blade-martial/judgeInvite/generate',
method: 'post',
data
})
}
// 2. 批量生成邀请码
export const batchGenerateInviteCode = (data) => {
return request({
url: '/api/blade-martial/judgeInvite/generate/batch',
method: 'post',
data
})
}
// 3. 重新生成邀请码
export const regenerateInviteCode = (inviteId) => {
return request({
url: `/api/blade-martial/judgeInvite/regenerate/${inviteId}`,
method: 'put'
})
}
// 4. 查询评委邀请码
export const getInviteByJudge = (competitionId, judgeId) => {
return request({
url: '/api/blade-martial/judgeInvite/byJudge',
method: 'get',
params: { competitionId, judgeId }
})
}
```
---
## 三、前端实现步骤
### 步骤1:导入新增的API
在 `src/views/martial/judgeInvite/index.vue` 第281-292行,修改导入语句:
```javascript
import {
getJudgeInviteList,
sendInvite,
batchSendInvites,
resendInvite,
cancelInvite,
confirmInvite,
getInviteStatistics,
importFromJudgePool,
exportInvites,
sendReminder,
generateInviteCode, // 新增
batchGenerateInviteCode, // 新增
regenerateInviteCode // 新增
} from '@/api/martial/judgeInvite'
```
### 步骤2:修改邀请码列显示(第165-179行)
将现有的邀请码列替换为:
```vue
{{ row.inviteCode }}
生成邀请码
```
### 步骤3:添加批量生成按钮(第129-131行)
修改工具栏的"批量邀请"按钮功能:
```vue
批量生成邀请码
```
### 步骤4:添加方法实现
在 `