|
|
@@ -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,
|