openid = $openid; return $this; } /** * @param $template_id * @return Subscribe */ public function setTemplateId($template_id): Subscribe { $this->template_id = $template_id; return $this; } /** * @param $url * @return Subscribe */ public function setUrl($url): Subscribe { $this->url = $url; return $this; } /** * @param $appid * @param $path * @return Subscribe */ public function setMiniprogram($appid, $path): Subscribe { $this->miniprogram['appid'] = $appid; $this->miniprogram['pagepath'] = $path; return $this; } /** * @param $scene * @return Subscribe */ public function setScene($scene): Subscribe { $this->scene = $scene; return $this; } /** * @param $title * @return Subscribe */ public function setTitle($title): Subscribe { $this->title = $title; return $this; } /** * @param $keyword * @param $content * @param null $color */ public function addContent($keyword, $content, $color = null) { $param['value'] = $content; if (!empty($color)) { $param['color'] = $color; } $this->keywords[$keyword] = $param; } /** * @return array|mixed|\wchat\common\Result */ public function sendSubscribeMessage() { $requestParam['touser'] = $this->openid; $requestParam['template_id'] = $this->template_id; $requestParam['url'] = $this->url; $requestParam['miniprogram'] = $this->miniprogram; $requestParam['scene'] = $this->scene; $requestParam['title'] = $this->title; $requestParam['data'] = $this->keywords; $requestUrl = $this->pushUrl . $this->config->getAccessToken(); $client = HttpClient::NewRequest(); return $client->post($requestUrl, $requestParam); } }