Poster.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * =========================================================
  9. */
  10. namespace addon\memberrecommend\model;
  11. use app\model\BaseModel;
  12. use extend\Poster as PosterExtend;
  13. /**
  14. * 海报生成类
  15. */
  16. class Poster extends BaseModel
  17. {
  18. /**
  19. * 海报
  20. */
  21. public function poster($app_type, $page, $qrcode_param, $site_id)
  22. {
  23. try {
  24. $qrcode_info = $this->getQrcode($app_type, $page, $qrcode_param, $site_id);
  25. if ($qrcode_info['code'] < 0) return $qrcode_info;
  26. $poster = new PosterExtend(750, 1208);
  27. $option = [
  28. [
  29. 'action' => 'imageCopy', // 背景图
  30. 'data' => [
  31. 'upload/poster/bg/memberrecommend.png',
  32. 0,
  33. 0,
  34. 750,
  35. 1208,
  36. 'square',
  37. 0,
  38. 1
  39. ]
  40. ],
  41. [
  42. 'action' => 'imageCopy', // 二维码
  43. 'data' => [
  44. $qrcode_info['data']['path'],
  45. 160,
  46. 378,
  47. 430,
  48. 430,
  49. 'square',
  50. 0,
  51. 1
  52. ]
  53. ]
  54. ];
  55. $option_res = $poster->create($option);
  56. if (is_array($option_res)) return $option_res;
  57. $res = $option_res->jpeg('upload/poster/memberrecommend', 'member_' . $qrcode_param['source_member'] . '_' . $app_type);
  58. return $res;
  59. } catch (\Exception $e) {
  60. return $this->error($e->getMessage());
  61. }
  62. }
  63. /**
  64. * 获取商品二维码
  65. * @param unknown $app_type 请求类型
  66. * @param unknown $page uniapp页面路径
  67. * @param unknown $qrcode_param 二维码携带参数
  68. */
  69. private function getQrcode($app_type, $page, $qrcode_param, $site_id)
  70. {
  71. $res = event('Qrcode', [
  72. 'site_id' => $site_id,
  73. 'app_type' => $app_type,
  74. 'type' => 'create',
  75. 'data' => $qrcode_param,
  76. 'page' => $page,
  77. 'qrcode_path' => 'upload/qrcode/memberrecommend',
  78. 'qrcode_name' => 'member_' . $qrcode_param['source_member'] . '_' . $app_type,
  79. ], true);
  80. return $res;
  81. }
  82. }