fix(qrcode): 修复二维码生成时临时目录创建和异常处理问题
- 添加临时目录不存在时的创建逻辑并处理创建失败情况
- 统一异常处理,将WriterException和IOException合并处理
- 改进错误信息传递,保留原始异常堆栈信息
- 在调用层添加具体异常信息到服务异常中便于调试
- 更新AI助手配置以支持临时文件目录读取权限
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "permissions": { |
| | | "allow": [ |
| | | "mcp__mcp_server_mysql__mysql_query", |
| | | "Bash(mvn -q compile -DskipTests -o)", |
| | | "Bash(mvn -q compile -DskipTests)", |
| | | "Bash(mvn compile *)", |
| | | "Bash(xargs grep -n \"\\(\\\\\"\")", |
| | | "mcp__playwright__browser_take_screenshot", |
| | | "mcp__playwright__browser_evaluate", |
| | | "mcp__playwright__browser_find", |
| | | "mcp__playwright__browser_click", |
| | | "mcp__playwright__browser_navigate", |
| | | "mcp__playwright__browser_network_requests", |
| | | "mcp__playwright__browser_network_request", |
| | | "mcp__playwright__browser_snapshot", |
| | | "Read(//d/ç马/åé/**)", |
| | | "Read(//d/ç马/**)", |
| | | "Bash(echo \"exit=$?\")", |
| | | "Bash(node -e \"const p=require\\('./package.json'\\);console.log\\(JSON.stringify\\(p.scripts\\)\\)\")", |
| | | "Bash(npx vite *)", |
| | | "Bash(echo \"EXIT=$?\")", |
| | | "Read(//tmp/**)", |
| | | "Bash(npm install *)", |
| | | "Bash(node -e \"require.resolve\\('html2canvas'\\) && console.log\\('html2canvas installed:', require\\('html2canvas/package.json'\\).version\\)\")", |
| | | "Read(//javaWork/product-inventory-management/file/temp/**)", |
| | | "Read(//d/javaWork/product-inventory-management/file/temp/**)" |
| | | ] |
| | | }, |
| | | "enabledMcpjsonServers": [ |
| | | "mysql" |
| | | ] |
| | | } |
| | |
| | | hints.put(EncodeHintType.MARGIN, 0); |
| | | BitMatrix bitMatrix = multiFormatWriter.encode(content, BarcodeFormat.QR_CODE, 400, 400, hints); |
| | | File file1 = new File(path, codeName + "." + imageType); |
| | | File parent = file1.getParentFile(); |
| | | if (parent != null && !parent.exists() && !parent.mkdirs()) { |
| | | throw new IOException("临æ¶ç®å½å建失败ï¼" + parent.getPath()); |
| | | } |
| | | writeToFile(bitMatrix, imageType, file1); |
| | | return file1.getPath(); |
| | | } catch (WriterException e) { |
| | | e.printStackTrace(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } catch (WriterException | IOException e) { |
| | | throw new RuntimeException("äºç»´ç çæå¤±è´¥ï¼" + e.getMessage(), e); |
| | | } |
| | | throw new RuntimeException("äºç»´ç çæå¤±è´¥"); |
| | | } |
| | | |
| | | } |
| | |
| | | try { |
| | | codePath = new MatrixToImageWriter().code(taskDto.getId().toString(), tempDir); |
| | | } catch (Exception e) { |
| | | throw new ServiceException("çæäºç»´ç 失败"); |
| | | throw new ServiceException("çæäºç»´ç 失败ï¼" + e.getMessage()); |
| | | } |
| | | |
| | | List<Map<String, Object>> images = buildTaskAttachmentImages(taskDto.getId()); |