From 4cabf4a4791131ebcd0533a3b8e342880290d9ab Mon Sep 17 00:00:00 2001 From: wuhui_zzw <1760308791@qq.com> Date: Tue, 6 Feb 2024 11:31:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E5=95=86=E5=93=81?= =?UTF-8?q?=E6=A0=B8=E9=94=80=E4=BA=8C=E7=BB=B4=E7=A0=81=E7=94=9F=E6=88=90?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crmeb/services/QrcodeService.php | 64 ++++++++++++++++++++------------ 1 file changed, 41 insertions(+), 23 deletions(-) diff --git a/crmeb/services/QrcodeService.php b/crmeb/services/QrcodeService.php index 1b56cf5..eb278d8 100644 --- a/crmeb/services/QrcodeService.php +++ b/crmeb/services/QrcodeService.php @@ -10,6 +10,7 @@ use app\common\repositories\system\attachment\AttachmentRepository; use app\common\repositories\system\merchant\MerchantRepository; use app\common\repositories\wechat\RoutineQrcodeRepository; use Endroid\QrCode\QrCode; +use Endroid\QrCode\Writer\PngWriter; use think\facade\Config; class QrcodeService @@ -33,30 +34,47 @@ class QrcodeService if (!$siteUrl) return '请前往后台设置->系统设置->网站域名 填写您的域名格式为:http://域名'; $info = []; $outfile = Config::get('qrcode.cache_dir'); - $code = new QrCode($url); - if ($uploadType === 1) { - if (!is_dir('./public/' . $outfile)) - mkdir('./public/' . $outfile, 0777, true); - $code->writeFile('./public/' . $outfile . '/' . $name); - $info["code"] = 200; - $info["name"] = $name; - $info["dir"] = rtrim($siteUrl, '/') . '/' . $outfile . '/' . $name; - $info["time"] = time(); - $info['size'] = 0; - $info['type'] = 'image/png'; - $info["image_type"] = 1; - $info['thumb_path'] = $info["dir"]; - return $info; - } else { - $upload = UploadService::create($uploadType); - $res = $upload->to('/public/' . $outfile)->validate()->stream($code->writeString(), $name); - if ($res === false) { - return $upload->getError(); - } - $info = $upload->getUploadInfo(); - $info['image_type'] = $uploadType; - return $info; + + // 二维码生成 新版本2024-2-6 + $qrCode = QrCode::create($url); + $writer = new PngWriter(); + $result = $writer->write($qrCode); + // $result->getString(); + $upload = UploadService::create($uploadType); + $res = $upload->to('/public/' . $outfile)->validate()->stream($result->getString(), $name); + if ($res === false) { + return $upload->getError(); } + $info = $upload->getUploadInfo(); + $info['image_type'] = $uploadType; + + return $info; + + + // $code = new QrCode($url); + // if ($uploadType === 1) { + // if (!is_dir('./public/' . $outfile)) mkdir('./public/' . $outfile, 0777, true); + // + // $code->writeFile('./public/' . $outfile . '/' . $name); + // $info["code"] = 200; + // $info["name"] = $name; + // $info["dir"] = rtrim($siteUrl, '/') . '/' . $outfile . '/' . $name; + // $info["time"] = time(); + // $info['size'] = 0; + // $info['type'] = 'image/png'; + // $info["image_type"] = 1; + // $info['thumb_path'] = $info["dir"]; + // return $info; + // } else { + // $upload = UploadService::create($uploadType); + // $res = $upload->to('/public/' . $outfile)->validate()->stream($code->writeString(), $name); + // if ($res === false) { + // return $upload->getError(); + // } + // $info = $upload->getUploadInfo(); + // $info['image_type'] = $uploadType; + // return $info; + // } } catch (\Exception $e) { return $e->getMessage(); }