ActiveShareService.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Elton
  5. * Date: 2019/12/14
  6. * Time: 10:31
  7. */
  8. namespace app\common\service;
  9. use app\admin\library\ShortUrl;
  10. use app\common\model\SpecialRechargeUrl;
  11. use app\main\service\AdminService;
  12. use EasyWeChat\BasicService\Url\Client;
  13. use think\Config;
  14. class ActiveShareService extends BaseService
  15. {
  16. private static $self;
  17. private $suffix_url = '/index/share/index';
  18. /**
  19. * @return $this
  20. */
  21. public static function instance()
  22. {
  23. if(self::$self == NULL){
  24. self::$self = new self();
  25. }
  26. return self::$self;
  27. }
  28. /**
  29. * 签到自动回复的分享内容
  30. * @param int $channel_id 渠道ID
  31. * @return mixed
  32. */
  33. public function getSignReplyContent($channel_id)
  34. {
  35. $share_url = $this->getActiveUrl($channel_id);
  36. $content = "[红包]【福利来袭】恭喜中奖啦!~ 恭喜获得活动资格,立即点击<a href='{$share_url}'>【年终回馈赚书币】</a>,今年最后一次哟,机不可失,快来参加~!";
  37. return $content;
  38. }
  39. /**
  40. * 取消充值回复的分享内容
  41. * @param int $channel_id 渠道ID
  42. * @return mixed
  43. */
  44. public function getPushReplyContent($channel_id)
  45. {
  46. $share_url = $this->getActiveUrl($channel_id,3);
  47. $content = "[红包]恭喜!~ 获得一次赚书币资格,千载难逢的机会,今年最后一次哟,机不可失,快来参加~!立即点击<a href='{$share_url}'>【年终回馈赚书币】</a>参与活动。";
  48. return $content;
  49. }
  50. /**
  51. * @param $channel_id
  52. * @param string $from 1 => 公众号签到自动回复 2=>个人中心签到回复 3取消充值回复的分享内容
  53. * @return bool|string
  54. */
  55. public function getActiveUrl($channel_id, $from = 1)
  56. {
  57. $shortUrl = new ShortUrl();
  58. $url = getCurrentDomain($channel_id) . $this->suffix_url.'?type='.$from;
  59. $share_url = $shortUrl->tencent($channel_id, $url);
  60. return $share_url;
  61. }
  62. /**
  63. * 签到自动回复的分享内容
  64. * @param int $channel_id 渠道ID
  65. * @param int $from_user_id 分享人ID from_user_id
  66. * @return mixed
  67. */
  68. public function getShareContent($channel_id, $from_user_id)
  69. {
  70. $params['book_id'] = Config::get('site.share_book_id');
  71. $params['share_chapter_num'] = Config::get('site.share_chapter_num');
  72. $params['from_user_id'] = $from_user_id;
  73. $params['time'] = time();
  74. $default_channel_id = Config::get('site.share_default_channel_id');
  75. $channel_id = !empty($default_channel_id) ? $default_channel_id : $channel_id;
  76. $url = getCurrentDomain($channel_id,'/index/book/chapter',$params);
  77. $shortUrl = new ShortUrl();
  78. $share_url = $shortUrl->tencent($channel_id, $url);
  79. $content = str_replace('{$share_url}', $share_url, Config::get('site.share_content'));
  80. return $content;
  81. }
  82. /**
  83. * 判断渠道是否开启了签到自动回复分享活动
  84. * @param $channel_id
  85. * @return bool
  86. */
  87. public function checkChannel($channel_id)
  88. {
  89. if(Config::get('site.is_open_share') && Config::get('site.share_channels')){
  90. if(Config::get('site.share_channels') == -1 ){
  91. return true;
  92. }else{
  93. $channel_ids_arr = explode(',', str_replace(',', ',', Config::get('site.share_channels')));
  94. if(in_array($channel_id, $channel_ids_arr)){
  95. return true;
  96. }
  97. }
  98. }
  99. return false;
  100. }
  101. }