|
|
@@ -12,6 +12,8 @@ use BaconQrCode\Writer;
|
|
|
use think\facade\Log;
|
|
|
use app\common\service\WeChatConfigService;
|
|
|
use EasyWeChat\Factory;
|
|
|
+use BaconQrCode\Renderer\Image\SvgImageBackEnd;
|
|
|
+use BaconQrCode\Renderer\Image\EpsImageBackEnd;
|
|
|
|
|
|
|
|
|
/**
|
|
|
@@ -40,17 +42,19 @@ class GiftCardQrCodeService
|
|
|
$tempFileName = 'qrcode_' . $cardNo . '_' . time() . '.png';
|
|
|
$tempFilePath = $tempDir . $tempFileName;
|
|
|
|
|
|
- // 使用BaconQrCode生成二维码
|
|
|
+
|
|
|
+
|
|
|
+ // 在生成部分
|
|
|
$renderer = new ImageRenderer(
|
|
|
- new RendererStyle(430, 2), // size: 430, margin: 2
|
|
|
- new ImagickImageBackEnd()
|
|
|
+ new RendererStyle(430, 2),
|
|
|
+ new ImagickImageBackEnd() // 如果没有Imagick,尝试其他BackEnd
|
|
|
);
|
|
|
$writer = new Writer($renderer);
|
|
|
$qrCodeData = $writer->writeString($qrContent);
|
|
|
|
|
|
// 保存到文件
|
|
|
file_put_contents($tempFilePath, $qrCodeData);
|
|
|
-
|
|
|
+ outFileLog($qrCodeData, 'qr_code', '$qrCodeData');
|
|
|
Log::info('Regular QR code generated successfully', [
|
|
|
'cardNo' => $cardNo,
|
|
|
'scene' => $cardPass,
|
|
|
@@ -237,4 +241,16 @@ class GiftCardQrCodeService
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
-}
|
|
|
+}
|
|
|
+
|
|
|
+// 生成SVG格式然后转换为PNG
|
|
|
+$renderer = new ImageRenderer(
|
|
|
+ new RendererStyle(430, 2),
|
|
|
+ new SvgImageBackEnd()
|
|
|
+);
|
|
|
+$writer = new Writer($renderer);
|
|
|
+$svgString = $writer->writeString($qrContent);
|
|
|
+
|
|
|
+// 如果需要PNG格式,可以使用其他方法转换
|
|
|
+// 或者直接保存SVG格式
|
|
|
+file_put_contents($tempFilePath, $svgString);
|