# 二维码功能使用说明 ## 功能概述 系统提供了二维码功能,方便用户通过扫码快速访问测评和查看报告。支持以下功能: - **量表测评二维码**:扫码后直接开始指定量表的测评 - **报告查看二维码**:扫码后直接查看指定报告 - **测评报告二维码**:通过测评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`