6.0 KiB
6.0 KiB
检查二维码URL的方法
方法一:在二维码管理页面查看(推荐)
步骤:
- 登录管理系统
- 进入"二维码管理"页面
- 找到要检查的二维码记录
- 点击"查看二维码"按钮
- 在二维码预览对话框中,可以看到二维码图片
- 查看浏览器控制台:
- 按
F12打开开发者工具 - 切换到
Console(控制台)标签 - 在控制台中输入以下代码查看二维码URL:
// 查看当前页面的二维码数据 console.log('二维码列表数据:', document.querySelectorAll('.el-table__body tr')); - 按
或者直接查看网络请求:
- 打开浏览器开发者工具(F12)
- 切换到
Network(网络)标签 - 刷新二维码管理页面
- 找到获取二维码列表的请求(通常是
/psychology/qrcode/list) - 查看响应数据,找到
qrcodeUrl字段 - 或者找到获取二维码图片的请求(通常是
/psychology/qrcode/image/{qrcodeId}) - 查看响应数据中的URL
方法二:解码二维码查看内容
使用在线工具:
- 访问在线二维码解码工具,例如:
- 上传二维码图片或输入二维码图片URL
- 查看解码后的文本内容,这就是二维码的URL
使用手机扫码:
- 使用手机扫描二维码
- 查看手机浏览器地址栏中的URL
- 检查URL是否正确:
- ✅ 正确格式:
http://192.168.1.183/psychology/qrcode/scan/xxx - ❌ 错误格式:
http://192.168.1.183:30081//psychology/qrcode/scan/xxx
- ✅ 正确格式:
方法三:检查后端日志
步骤:
- 查看后端控制台日志
- 找到二维码生成相关的日志
- 查找包含
buildServerAddress或buildQrcodeContent的日志 - 查看实际生成的URL
添加调试日志(可选):
如果需要更详细的日志,可以在代码中添加:
// 在 PsyQrcodeController.java 的 enrichQrcodeWithBase64() 方法中
String serverAddress = buildServerAddress();
log.info("构建的服务器地址: {}", serverAddress);
// 在 PsyQrcodeServiceImpl.java 的 buildQrcodeContent() 方法中
String content = buildQrcodeContent(qrcode, serverAddress);
log.info("生成的二维码URL: {}", content);
方法四:直接测试URL访问
步骤:
- 从二维码管理页面获取二维码编码(
qrcodeCode) - 手动构建URL:
http://192.168.1.183/psychology/qrcode/scan/{qrcodeCode} - 在浏览器中直接访问该URL
- 检查是否能正常访问:
- ✅ 能访问:URL正确
- ❌ 不能访问:检查URL格式和网络连接
方法五:使用浏览器开发者工具检查
步骤:
- 打开二维码管理页面
- 按
F12打开开发者工具 - 切换到
Network(网络)标签 - 点击"查看二维码"按钮
- 在Network标签中找到获取二维码图片的请求
- 查看请求URL和响应数据
- 检查响应中的
qrcodeUrl字段
或者使用控制台:
在浏览器控制台中输入:
// 获取二维码图片的Base64数据
const qrcodeImage = document.querySelector('img[src^="data:image"]');
if (qrcodeImage) {
console.log('二维码图片URL:', qrcodeImage.src);
// Base64数据很长,可以截取前100个字符查看
console.log('二维码URL前缀:', qrcodeImage.src.substring(0, 100));
}
检查URL正确性的标准
✅ 正确的URL格式:
http://192.168.1.183/psychology/qrcode/scan/xxxhttp://localhost/psychology/qrcode/scan/xxx- 不包含
:30081端口号 - 不包含双斜杠
// - 路径格式正确:
/psychology/qrcode/scan/{qrcodeCode}
❌ 错误的URL格式:
http://192.168.1.183:30081/psychology/qrcode/scan/xxx(包含30081端口)http://192.168.1.183//psychology/qrcode/scan/xxx(包含双斜杠)http://192.168.1.183:30081//psychology/qrcode/scan/xxx(包含端口和双斜杠)
快速检查脚本
在浏览器控制台中运行以下脚本,可以快速检查所有二维码的URL:
// 检查二维码列表中的URL
fetch('/dev-api/psychology/qrcode/list', {
headers: {
'Authorization': 'Bearer ' + localStorage.getItem('token')
}
})
.then(res => res.json())
.then(data => {
if (data.code === 200 && data.rows) {
console.log('二维码列表:');
data.rows.forEach((qrcode, index) => {
console.log(`${index + 1}. 编码: ${qrcode.qrcodeCode}`);
console.log(` 类型: ${qrcode.qrcodeType}`);
// 如果有qrcodeUrl,检查URL格式
if (qrcode.qrcodeUrl) {
const urlMatch = qrcode.qrcodeUrl.match(/http[s]?:\/\/[^"']+/);
if (urlMatch) {
const url = urlMatch[0];
console.log(` URL: ${url}`);
// 检查是否有问题
if (url.includes(':30081')) {
console.warn(' ⚠️ 警告:URL包含30081端口!');
}
if (url.includes('//')) {
console.warn(' ⚠️ 警告:URL包含双斜杠!');
}
}
}
});
}
});
常见问题排查
问题1:URL包含30081端口
原因:buildServerAddress() 方法没有正确识别后端端口
解决:检查后端日志,确认 serverPort 是否为30081
问题2:URL包含双斜杠
原因:路径拼接时产生了双斜杠
解决:检查 contextPath 是否为 /,如果是则应该被忽略
问题3:URL无法访问
原因:
- URL格式错误
- 网络连接问题
- 前端服务未运行 解决:
- 检查URL格式
- 确认前端服务运行在80端口
- 确认手机和电脑在同一局域网内
推荐检查流程
-
生成二维码后立即检查:
- 在二维码管理页面查看二维码
- 使用浏览器开发者工具查看网络请求
- 检查URL格式是否正确
-
测试扫码功能:
- 使用手机扫描二维码
- 检查是否能正常访问
- 查看手机浏览器地址栏中的URL
-
如果发现问题:
- 检查后端日志
- 重新生成二维码
- 确认修复后再次测试