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(); }