WchatShare.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * =========================================================
  9. */
  10. namespace addon\bale\model\share;
  11. use app\model\share\WchatShareBase as BaseModel;
  12. use addon\bale\model\Bale as BaleModel;
  13. /**
  14. * 分享
  15. */
  16. class WchatShare extends BaseModel
  17. {
  18. protected $config = [
  19. [
  20. 'title' => '打包一口价',
  21. 'config_key' => 'WCHAT_SHARE_CONFIG_BALE_PROMOTE',
  22. 'path' => [ '/pages_promotion/bale/detail' ],
  23. 'method_prefix' => 'goodsDetail',
  24. ],
  25. ];
  26. protected $sort = 9;
  27. /**
  28. * 打包一口价分享数据
  29. * @param $param
  30. * @return array
  31. */
  32. protected function goodsDetailShareData($param)
  33. {
  34. $site_id = $param[ 'site_id' ] ?? 0;
  35. $url = $param[ 'url' ];
  36. $parse_res = parse_url($url);
  37. parse_str($parse_res[ 'query' ] ?? '', $query);
  38. if (isset($query[ 'id' ]) || isset($query[ 'bale_id' ])) {
  39. $id = isset($query[ 'id' ]) ? $query[ 'id' ] : $query[ 'bale_id' ];
  40. $bale_model = new BaleModel();
  41. $bale_detail = $bale_model->getBaleDetail($id, $site_id)[ 'data' ];
  42. if (!empty($bale_detail)) {
  43. $config_model = new \app\model\share\WchatShare();
  44. $config_data = $config_model->goodsDetailShareConfig($param);
  45. $title = str_replace('{goods_name}', $bale_detail[ 'name' ], $config_data[ 'value' ][ 'title' ]);
  46. $desc = str_replace('{price}', sprintf("%.2f", $bale_detail[ 'price' ] / $bale_detail[ 'num' ]), $config_data[ 'value' ][ 'desc' ]);
  47. $link = $this->getShareLink($param);
  48. $image_url = $bale_detail[ 'sku_list' ][ 0 ][ 'sku_image' ] ?? '';
  49. $data = [
  50. 'title' => $title,
  51. 'desc' => $desc,
  52. 'link' => $link,
  53. 'imgUrl' => $image_url,
  54. ];
  55. return [
  56. 'permission' => [
  57. 'hideOptionMenu' => false,
  58. 'hideMenuItems' => [],
  59. ],
  60. 'data' => $data,//分享内容
  61. ];
  62. }
  63. }
  64. }
  65. }