GoodsCategoryLogic.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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. $mini_env_version = env('miniprogram.mini_env_version', 'release');
  27. Log::info('生成小程序码:['.json_encode($params).']');
  28. $response = (new WeChatMnpService())->getUnlimitedQRCode(
  29. $scene,
  30. "pages/good/good",
  31. $mini_env_version,//trial、release、develop
  32. false
  33. );
  34. $qrcode = $response->getContent();
  35. //Log::info('生成小程序码:['.$qrcode.']');
  36. if(!is_dir('./uploads/wx_qrcode/'.date('Ymd'))){
  37. mkdir('./uploads/wx_qrcode/'.date('Ymd'));
  38. }
  39. $file_name = 'uploads/wx_qrcode/'.date('Ymd').'/'.time().rand(1000,9999).'.png';
  40. file_put_contents($file_name, $qrcode);
  41. return $file_name;
  42. } catch (\Throwable $e) {
  43. // 失败
  44. echo $e->getMessage();
  45. }
  46. }
  47. }