QrService.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace Tool\MayouTool\Qr;
  3. use lrq\qrcode\QrcodeMain;
  4. use tekintian\TekinQR;
  5. use Tool\MayouTool\Bean\Qr\CreateQrLogoImgServiceParamBean;
  6. use Zxing\QrReader;
  7. /**
  8. * 二维码服务类
  9. * Class QrService
  10. * @package Tool\MayouTool\Qr
  11. */
  12. class QrService
  13. {
  14. /**
  15. * 获取二维码的内容
  16. * @param $imgPath string 二维码地址
  17. */
  18. public static function getQrContentService($imgPath)
  19. {
  20. $qrCode = new QrReader($imgPath);
  21. return $qrCode->text();
  22. }
  23. /**
  24. * 创建二维码图片
  25. * @param string $content 二维码内容
  26. * @param string $fileName 文件名称(带上后缀名.png)
  27. */
  28. public static function createQrImgService(string $content,string $fileName)
  29. {
  30. $qrcode = new QrcodeMain($content);
  31. $qrcode->execute();
  32. return $qrcode->png($fileName);
  33. }
  34. /**
  35. * 创建带有logo的二维码
  36. * @param CreateQrLogoImgServiceParamBean $createQrLogoImgServiceParamBean
  37. * @return string|null
  38. */
  39. public static function createQrLogoImgService(CreateQrLogoImgServiceParamBean $createQrLogoImgServiceParamBean)
  40. {
  41. return TekinQR::getQRImg(
  42. $createQrLogoImgServiceParamBean->getQrContent(),
  43. $createQrLogoImgServiceParamBean->getQrSize(),
  44. $createQrLogoImgServiceParamBean->getLogoName(),
  45. 2,
  46. $createQrLogoImgServiceParamBean->getFileName()
  47. );
  48. }
  49. }