GoodsCategoryLogic.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. namespace app\workerapi\logic;
  3. use app\common\logic\BaseLogic;
  4. use app\common\service\wechat\WeChatConfigService;
  5. use app\common\service\wechat\WeChatMnpService;
  6. use EasyWeChat\MiniApp\Application;
  7. use think\facade\Db;
  8. use think\facade\Log;
  9. /**
  10. * 服务商品逻辑处理
  11. * Class GoodsCategoryLogic
  12. * @package app\workerapi\logic
  13. */
  14. class GoodsCategoryLogic extends BaseLogic
  15. {
  16. /**
  17. * @return string|void
  18. */
  19. public static function getQRCode($params)
  20. {
  21. try {
  22. //external_platform_id
  23. $scene = '&type=2&id='.$params['id'];
  24. isset($params['user_info']['worker_number']) && $scene .= '&worker='.$params['user_info']['worker_number'];
  25. isset($params['service_work_id']) && $scene .= '&sid='.($params['service_work_id']??0);
  26. Log::info('生成小程序码:['.json_encode($params).']');
  27. $response = (new WeChatMnpService())->getUnlimitedQRCode(
  28. $scene,
  29. "pages/good/good",
  30. 'release',//trial、release、develop
  31. false
  32. );
  33. $qrcode = $response->getContent();
  34. //Log::info('生成小程序码:['.$qrcode.']');
  35. if(!is_dir('./uploads/wx_qrcode/'.date('Ymd'))){
  36. mkdir('./uploads/wx_qrcode/'.date('Ymd'));
  37. }
  38. $file_name = 'uploads/wx_qrcode/'.date('Ymd').'/'.time().rand(1000,9999).'.png';
  39. file_put_contents($file_name, $qrcode);
  40. return $file_name;
  41. } catch (\Throwable $e) {
  42. // 失败
  43. echo $e->getMessage();
  44. }
  45. }
  46. }