WchatShare.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * =========================================================
  9. */
  10. namespace addon\coupon\model\share;
  11. use app\model\share\WchatShareBase as BaseModel;
  12. use app\model\system\Config as ConfigModel;
  13. use app\model\system\Site as SiteModel;
  14. /**
  15. * 分享
  16. */
  17. class WchatShare extends BaseModel
  18. {
  19. protected $config = [
  20. [
  21. 'title' => '领券中心',
  22. 'config_key' => 'WCHAT_SHARE_CONFIG_COUPON_LIST',
  23. 'path' => [ '/pages_tool/goods/coupon' ],
  24. 'method_prefix' => 'couponList',
  25. ],
  26. ];
  27. /**
  28. * 商品列表分享数据
  29. * @param $param
  30. * @return array
  31. */
  32. protected function couponListShareData($param)
  33. {
  34. $site_id = $param[ 'site_id' ] ?? 0;
  35. //站点设置
  36. $site_model = new SiteModel();
  37. $site_info = $site_model->getSiteInfo([ [ 'site_id', '=', $site_id ] ])[ 'data' ];
  38. //跳转路径
  39. $link = $this->getShareLink($param);
  40. //获取和替换配置数据
  41. $config_method = preg_replace('/Data$/', 'Config', __FUNCTION__);
  42. $config_data = $this->$config_method($param);
  43. $title = $config_data[ 'value' ][ 'title' ];
  44. $desc = $config_data[ 'value' ][ 'desc' ];
  45. $image_url = $config_data[ 'value' ][ 'imgUrl' ] ? $config_data[ 'value' ][ 'imgUrl' ] : $site_info[ 'logo_square' ];
  46. $data = [
  47. 'title' => $title,
  48. 'desc' => $desc,
  49. 'link' => $link,
  50. 'imgUrl' => $image_url,
  51. ];
  52. return [
  53. 'permission' => [
  54. 'hideOptionMenu' => false,
  55. 'hideMenuItems' => [],
  56. ],
  57. 'data' => $data,//分享内容
  58. ];
  59. }
  60. /**
  61. * 商品列表分享配置
  62. * @param $param
  63. * @return array
  64. */
  65. protected function couponListShareConfig($param)
  66. {
  67. $site_id = $param[ 'site_id' ];
  68. $config = $param[ 'config' ];
  69. $config_model = new ConfigModel();
  70. $data = $config_model->getConfig([
  71. [ 'site_id', '=', $site_id ],
  72. [ 'app_module', '=', 'shop' ],
  73. [ 'config_key', '=', $config[ 'config_key' ] ],
  74. ])[ 'data' ];
  75. if (empty($data[ 'value' ])) {
  76. $data[ 'value' ] = [
  77. 'title' => '送你一张优惠券',
  78. 'desc' => "优惠多多\n好物多多",
  79. 'imgUrl' => '',
  80. ];
  81. }
  82. if (empty($data[ 'value' ][ 'imgUrl' ])) {
  83. $data[ 'value' ][ 'imgUrl' ] = img('addon/coupon/icon.png');
  84. }
  85. $variable = [];
  86. return [
  87. 'value' => $data[ 'value' ],
  88. 'variable' => $variable,
  89. ];
  90. }
  91. }