QrcodeForm.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. /**
  3. * 重庆赤晓店信息科技有限公司
  4. * https://www.chixiaodian.com
  5. * Copyright (c) 2023 赤店商城 All rights reserved.
  6. */
  7. namespace app\modules\client\models\v1;
  8. use app\modules\client\models\ApiModel;
  9. use app\utils\GenerateShareQrcode;
  10. class QrcodeForm extends ApiModel
  11. {
  12. public $data;
  13. public $scene;
  14. public $width;
  15. public $page;
  16. public $store_id;
  17. public function getQrcode()
  18. {
  19. // 保存到本地
  20. $saveRoot = \Yii::$app->basePath . '/web/temp';
  21. $saveDir = '/';
  22. $saveName = md5($this->store_id . '_' . $this->scene . '_' . $this->page . '_' . $this->width) . '.jpg';
  23. $webRoot = str_replace('http://', 'https://', \Yii::$app->request->hostInfo . '/web/temp/' . $saveName);
  24. if (file_exists($saveRoot . $saveDir . $saveName)) {
  25. return [
  26. 'code' => 0,
  27. 'msg' => 'success',
  28. 'data' => [
  29. 'url' => $webRoot,
  30. ]
  31. ];
  32. }
  33. $res = GenerateShareQrcode::getQrcode($this->store_id, $this->scene, $this->width, $this->page);
  34. if ($res['code'] == 1) {
  35. return $res;
  36. }
  37. if (!is_dir($saveRoot . $saveDir)) {
  38. mkdir($saveRoot . $saveDir, 0777, true);
  39. file_put_contents($saveRoot . $saveDir . '.gitignore', "*\r\n!.gitignore");
  40. }
  41. file_put_contents($saveRoot . $saveDir . $saveName, file_get_contents($res['file_path']));
  42. return [
  43. 'code' => 0,
  44. 'msg' => 'success',
  45. 'data' => [
  46. 'url' => $webRoot,
  47. ]
  48. ];
  49. }
  50. }