54 lines
1.5 KiB
Markdown
54 lines
1.5 KiB
Markdown
# 签到功能实施说明
|
|
|
|
## 已完成的修改
|
|
|
|
### 1. 数据库修改
|
|
- 创建了迁移脚本 `database-migration-checkin.sql`
|
|
- 添加了两个字段:
|
|
- `checkInStatus` (BOOLEAN) - 签到状态
|
|
- `checkInTime` (DATETIME) - 签到时间
|
|
|
|
### 2. 后端修改
|
|
- **模型更新** (`backend/models/Registration.js`)
|
|
- 添加签到字段定义
|
|
|
|
- **API接口** (`backend/routes/admin.js`)
|
|
- 新增 `PUT /admin/registrations/:id/checkin` - 签到/取消签到接口
|
|
|
|
- **前端API** (`frontend/src/api/index.js`)
|
|
- 添加 `checkInRegistration` 方法
|
|
|
|
### 3. 前端修改
|
|
- **后台管理页面** (`frontend/src/views/admin/ActivityManage.vue`)
|
|
- 统计栏新增:已签到/未签到统计(一行三个布局)
|
|
- 报名列表显示签到状态标签
|
|
- 报名列表显示签到时间
|
|
- 添加签到/取消签到按钮(仅已通过审核的用户可签到)
|
|
- 手机号改为可点击拨打的链接
|
|
- 车牌号可点击复制
|
|
|
|
## 使用步骤
|
|
|
|
### 1. 执行数据库迁移
|
|
```bash
|
|
mysql -u root -p quanyoumi < database-migration-checkin.sql
|
|
```
|
|
|
|
### 2. 重启后端服务
|
|
```bash
|
|
cd backend
|
|
npm start
|
|
```
|
|
|
|
### 3. 功能使用
|
|
- 进入后台管理 -> 活动管理 -> 报名情况
|
|
- 查看签到统计(已签到/未签到人数)
|
|
- 点击"签到"按钮为用户签到
|
|
- 点击手机号直接拨打电话
|
|
- 点击车牌号复制到剪贴板
|
|
|
|
## 注意事项
|
|
- 只有审核通过的用户才能签到
|
|
- 签到后可以取消签到
|
|
- 签到时间会自动记录
|