appId = app_settings('unipush.mall_app_id', ''); $this->appKey = app_settings('unipush.mall_app_key', ''); $this->appSecret = app_settings('unipush.mall_app_secret', ''); $this->masterSecret = app_settings('unipush.mall_master_secret', ''); parent::__construct($this->appId, $this->appKey, $this->appSecret, $this->masterSecret); } public function push(string $sn, Message $message) { $res = false; if ($message->user_id > 0) { $res = $this->pushMessage($sn, $message); } else { $res = $this->pushAllMessage($sn, $message); } return $res; } /** * 推送公告消息 * * @param [type] $message * @return void */ public function pushAllMessage(string $sn, Message $message) { return $this->pushAll($sn, $message->title, $message->content, [ 'jump_type' => $message->jump_type == 0 ? 1 : $message->jump_type, 'jump_link' => $message->type == 1 || empty($message->jump_link) ? '/pages/news/index' : $message->jump_link, ]); } /** * 推送单条消息 * * @param Message $message * @return void */ public function pushMessage(string $sn, Message $message) { //如果不是指定消息,直接退出; if (is_null($message->user)) { return false; } //如果拿不到u_cid直接退出 if (!$message->user->cid?->u_cid) { return false; } return $this->pushCid($sn, $message->user->cid->u_cid, $message->title, $message->content, [ 'jump_type' => $message->jump_type == 0 ? 1 : $message->jump_type, 'jump_link' => $message->type == 1 || empty($message->jump_link) ? '/pages/news/index' : $message->jump_link, ]); } }