config; } /** * @param Config $config * @return $this */ public function setConfig(Config $config) { $this->config = $config; return $this; } /** * @return Template */ public function getTemplate() { return Template::getInstance($this->config); } /** * @return PublicTemplate */ public function getPublicTemplate() { return PublicTemplate::getInstance($this->config); } /** * @return Account */ public function getAccount() { return Account::getInstance($this->config); } /** * @return Message */ public function getMessage() { return Message::getInstance($this->config); } /** * @return Recharge */ public function getRecharge() { return Recharge::getInstance($this->config); } /** * @return Notify */ public function getNotify() { return Notify::getInstance($this->config); } /** * @return WxClient */ public function getClient() { $client = WxClient::getInstance(); $client->setAgent($this->config->getAgent()); return $client; } }