204 lines
5.5 KiB
Markdown
204 lines
5.5 KiB
Markdown
# 二维码功能使用说明
|
||
|
||
## 功能概述
|
||
|
||
系统提供了二维码功能,方便用户通过扫码快速访问测评和查看报告。支持以下功能:
|
||
- **量表测评二维码**:扫码后直接开始指定量表的测评
|
||
- **报告查看二维码**:扫码后直接查看指定报告
|
||
- **测评报告二维码**:通过测评ID生成二维码,扫码后查看对应的报告
|
||
|
||
## 功能特点
|
||
|
||
1. **自动跳转**:扫码后自动识别二维码类型,跳转到对应页面
|
||
2. **扫码统计**:记录扫码次数,方便统计使用情况
|
||
3. **过期管理**:支持设置二维码过期时间
|
||
4. **状态管理**:支持启用/禁用二维码
|
||
|
||
## 使用方法
|
||
|
||
### 1. 生成量表测评二维码
|
||
|
||
#### 在量表管理页面生成
|
||
|
||
1. 进入 **心理测评 -> 量表管理**
|
||
2. 在量表列表中找到目标量表
|
||
3. 点击操作列的 **二维码** 按钮
|
||
4. 系统自动生成二维码并显示在对话框中
|
||
5. 可以下载二维码图片或直接打印
|
||
|
||
**二维码内容**:
|
||
- 扫码后会跳转到该量表的测评开始页面
|
||
- 如果用户未登录,会提示先登录
|
||
|
||
### 2. 生成报告查看二维码
|
||
|
||
#### 方法一:在报告管理页面生成(待实现)
|
||
|
||
1. 进入 **心理测评 -> 报告管理**
|
||
2. 在报告列表中找到目标报告
|
||
3. 点击操作列的 **二维码** 按钮
|
||
4. 系统自动生成二维码
|
||
|
||
**二维码内容**:
|
||
- 扫码后会跳转到该报告的详情页面
|
||
|
||
#### 方法二:在测评管理页面生成(待实现)
|
||
|
||
1. 进入 **心理测评 -> 测评管理**
|
||
2. 在测评列表中找到已完成测评的记录
|
||
3. 点击操作列的 **二维码** 按钮
|
||
4. 系统自动生成二维码
|
||
|
||
**二维码内容**:
|
||
- 扫码后会跳转到该测评对应的报告详情页面
|
||
|
||
### 3. 扫描二维码
|
||
|
||
#### 扫描方式
|
||
|
||
1. **手机扫码**:
|
||
- 使用手机微信、支付宝等应用扫描二维码
|
||
- 或使用专门的二维码扫描应用
|
||
|
||
2. **电脑扫码**:
|
||
- 在浏览器中访问二维码URL
|
||
- 格式:`http://域名/psychology/qrcode/scan/{二维码编码}`
|
||
|
||
#### 扫描流程
|
||
|
||
1. 用户扫描二维码
|
||
2. 系统自动识别二维码类型和目标
|
||
3. 记录扫码次数
|
||
4. 检查二维码状态和过期时间
|
||
5. 自动跳转到对应页面:
|
||
- **测评类型**:跳转到测评开始页面(如果指定了量表,直接进入该量表测评)
|
||
- **报告类型**:跳转到报告详情页面
|
||
|
||
## 二维码管理
|
||
|
||
### 查看所有二维码
|
||
|
||
1. 进入 **心理测评 -> 二维码管理**
|
||
2. 可以查看所有已生成的二维码
|
||
3. 查看二维码类型、目标、扫码次数等信息
|
||
|
||
### 重新生成二维码
|
||
|
||
1. 在二维码管理页面
|
||
2. 点击 **重新生成** 按钮
|
||
3. 系统会重新生成二维码图片
|
||
|
||
### 删除二维码
|
||
|
||
1. 在二维码管理页面
|
||
2. 选择要删除的二维码
|
||
3. 点击 **删除** 按钮
|
||
|
||
## 技术说明
|
||
|
||
### 二维码类型
|
||
|
||
- `test`:测评类型,用于开始测评
|
||
- `view_report`:查看报告类型,用于查看报告
|
||
- `register`:注册类型,用于用户注册
|
||
- `login`:登录类型,用于用户登录
|
||
|
||
### 目标类型
|
||
|
||
- `scale`:量表,关联量表ID
|
||
- `assessment`:测评,关联测评ID
|
||
- `report`:报告,关联报告ID
|
||
|
||
### 二维码状态
|
||
|
||
- `0`:有效
|
||
- `1`:无效
|
||
- `2`:已过期
|
||
|
||
### API接口
|
||
|
||
#### 扫描二维码(公开接口)
|
||
```
|
||
GET /psychology/qrcode/scan/{qrcodeCode}
|
||
```
|
||
|
||
**响应示例**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"msg": "操作成功",
|
||
"data": {
|
||
"qrcode": {
|
||
"qrcodeId": 1,
|
||
"qrcodeCode": "abc123",
|
||
"qrcodeType": "test",
|
||
"targetType": "scale",
|
||
"targetId": 1,
|
||
"scanCount": 5
|
||
},
|
||
"redirectUrl": "/psychology/assessment/start?scaleId=1"
|
||
}
|
||
}
|
||
```
|
||
|
||
#### 生成量表测评二维码
|
||
```
|
||
POST /psychology/qrcode/generate/scale?scaleId={scaleId}
|
||
```
|
||
|
||
#### 生成报告查看二维码
|
||
```
|
||
POST /psychology/qrcode/generate/report?reportId={reportId}
|
||
```
|
||
|
||
#### 生成测评报告二维码
|
||
```
|
||
POST /psychology/qrcode/generate/assessment?assessmentId={assessmentId}
|
||
```
|
||
|
||
## 使用场景
|
||
|
||
### 场景1:线下测评
|
||
|
||
1. 管理员生成量表测评二维码
|
||
2. 打印二维码并张贴在测评现场
|
||
3. 用户扫码后直接开始测评
|
||
4. 无需输入量表名称或选择量表
|
||
|
||
### 场景2:报告分享
|
||
|
||
1. 管理员生成报告查看二维码
|
||
2. 通过微信、邮件等方式分享给用户
|
||
3. 用户扫码后直接查看报告
|
||
4. 方便快捷,无需登录系统查找
|
||
|
||
### 场景3:批量测评
|
||
|
||
1. 为每个量表生成独立二维码
|
||
2. 将二维码打印在不同位置
|
||
3. 用户根据需求扫码选择对应的量表
|
||
4. 提高测评效率
|
||
|
||
## 注意事项
|
||
|
||
1. **二维码有效期**:建议设置二维码过期时间,避免长期有效造成安全隐患
|
||
2. **权限控制**:生成二维码需要相应权限,扫码查看报告可能需要登录
|
||
3. **网络环境**:确保二维码URL可以正常访问
|
||
4. **扫码统计**:系统会记录扫码次数,可用于统计分析
|
||
|
||
## 后续优化
|
||
|
||
1. 在报告管理页面添加生成二维码功能
|
||
2. 在测评管理页面添加生成二维码功能
|
||
3. 支持自定义二维码样式(Logo、颜色等)
|
||
4. 支持批量生成二维码
|
||
5. 支持二维码短链接功能
|
||
6. 支持二维码访问权限控制
|
||
|
||
## 相关文件
|
||
|
||
- 后端接口:`ry-news-admin/src/main/java/com/ddnai/web/controller/psychology/PsyQrcodeController.java`
|
||
- 前端页面:`ruoyi-ui/src/views/psychology/qrcode/scan.vue`
|
||
- API接口:`ruoyi-ui/src/api/psychology/qrcode.js`
|
||
- 服务实现:`ry-news-system/src/main/java/com/ddnai/system/service/impl/psychology/PsyQrcodeServiceImpl.java`
|