Qrcode.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace addons\qingdongams\controller;
  3. use addons\qingdongams\library\QRCode as QrcodeModel;
  4. use think\Response;
  5. /**
  6. * 公共接口
  7. */
  8. class Qrcode extends StaffApi {
  9. protected $noNeedLogin = ['qrcode'];
  10. protected $noNeedRight = '*';
  11. /**
  12. * 生成二维码
  13. */
  14. public function qrcode()
  15. {
  16. $text = $this->request->get('text', 'hello world');
  17. //如果有安装二维码插件,则调用插件的生成方法
  18. if (class_exists("\addons\qrcode\library\Service") && get_addon_info('qrcode')['state']) {
  19. $qrCode = \addons\qrcode\library\Service::qrcode(['text' => $text]);
  20. $response = Response::create()->header("Content-Type", "image/png");
  21. header('Content-Type: ' . $qrCode->getContentType());
  22. $response->content($qrCode->writeString());
  23. return $response;
  24. } else {
  25. header("Content-type: image/png");
  26. $qr = QrcodeModel::getMinimumQRCode($text);
  27. $im = $qr->createImage(8, 5);
  28. imagepng($im);
  29. imagedestroy($im);
  30. return;
  31. }
  32. }
  33. }