moonsflyer hai 4 meses
pai
achega
39fb4f497e
Modificáronse 1 ficheiros con 27 adicións e 2 borrados
  1. 27 2
      app/common/service/GiftCardQrCodeService.php

+ 27 - 2
app/common/service/GiftCardQrCodeService.php

@@ -43,7 +43,6 @@ class GiftCardQrCodeService
             $tempFilePath = $tempDir . $tempFileName;
 
 
-            
             // 在生成部分
             $renderer = new ImageRenderer(
                 new RendererStyle(430, 2),
@@ -253,4 +252,30 @@ $svgString = $writer->writeString($qrContent);
 
 // 如果需要PNG格式,可以使用其他方法转换
 // 或者直接保存SVG格式
-file_put_contents($tempFilePath, $svgString);
+file_put_contents($tempFilePath, $svgString);
+
+// 清理文件末尾的重复代码(删除第235-256行)
+
+// 在生成部分添加扩展检查
+try {
+    // 检查Imagick扩展
+    if (!extension_loaded('imagick')) {
+        throw new \Exception('Imagick扩展未安装,无法生成二维码');
+    }
+    
+    $renderer = new ImageRenderer(
+        new RendererStyle(430, 2),
+        new ImagickImageBackEnd()
+    );
+    $writer = new Writer($renderer);
+    $qrCodeData = $writer->writeString($qrContent);
+    
+    file_put_contents($tempFilePath, $qrCodeData);
+    
+    // 移除调试代码
+    // outFileLog($qrCodeData, 'qr_code', '$qrCodeData');
+    
+} catch (\Exception $e) {
+    Log::error('二维码生成失败', ['error' => $e->getMessage()]);
+    return false;
+}