moonsflyer 4 месяцев назад
Родитель
Сommit
40a6ee7dbd
1 измененных файлов с 17 добавлено и 12 удалено
  1. 17 12
      app/common/service/GiftCardQrCodeService.php

+ 17 - 12
app/common/service/GiftCardQrCodeService.php

@@ -4,7 +4,11 @@ namespace app\common\service;
 
 use app\common\service\storage\Driver;
 use app\common\service\ConfigService;
-use SimpleSoftwareIO\QrCode\Generator;
+// 使用BaconQrCode替代SimpleSoftwareIO
+use BaconQrCode\Renderer\ImageRenderer;
+use BaconQrCode\Renderer\Image\ImagickImageBackEnd;
+use BaconQrCode\Renderer\RendererStyle\RendererStyle;
+use BaconQrCode\Writer;
 use think\facade\Log;
 use app\common\service\WeChatConfigService;
 use EasyWeChat\Factory;
@@ -35,17 +39,18 @@ class GiftCardQrCodeService
 
             $tempFileName = 'qrcode_' . $cardNo . '_' . time() . '.png';
             $tempFilePath = $tempDir . $tempFileName;
-            outFileLog($qrContent, 'qr_code', '$qrContent');
-            outFileLog($tempFilePath, 'qr_code', '$tempFilePath');
-            // 正确的使用方式
-            // 可以直接在一行中完成
-            // 分步骤设置
-            $qrcode = new Generator();
-            $qrcode->size(430);
-            $qrcode->margin(2);
-            $qrcode->format('png');
-            $qrcode->generate($qrContent, $tempFilePath);
-            outFileLog($qrcode, 'qr_code', '$qrcode');
+
+            // 使用BaconQrCode生成二维码
+            $renderer = new ImageRenderer(
+                new RendererStyle(430, 2), // size: 430, margin: 2
+                new ImagickImageBackEnd()
+            );
+            $writer = new Writer($renderer);
+            $qrCodeData = $writer->writeString($qrContent);
+            
+            // 保存到文件
+            file_put_contents($tempFilePath, $qrCodeData);
+
             Log::info('Regular QR code generated successfully', [
                 'cardNo' => $cardNo,
                 'scene' => $cardPass,