diff --git a/wchat/common/HttpClient.php b/wchat/common/HttpClient.php index 88f072c..33fe097 100644 --- a/wchat/common/HttpClient.php +++ b/wchat/common/HttpClient.php @@ -363,10 +363,6 @@ class HttpClient [$this->host, $this->port] = explode(':', $this->host); } - if ($this->use_swoole) { - return $string; - } - if (!$this->checkIsIp($this->host) && Coroutine::getuid() > 0) { $this->host = System::gethostbyname($this->host); } diff --git a/wchat/qq/pay/Cash_Bonus.php b/wchat/qq/pay/Cash_Bonus.php index fd042cc..4fd4375 100644 --- a/wchat/qq/pay/Cash_Bonus.php +++ b/wchat/qq/pay/Cash_Bonus.php @@ -17,23 +17,23 @@ use wchat\wx\SmallProgram; class Cash_Bonus extends SmallProgram { - public $_cash = '/cgi-bin/hongbao/qpay_hb_mch_send.cgi'; + public string $_cash = '/cgi-bin/hongbao/qpay_hb_mch_send.cgi'; - private $_errors = [ - '66228701' => '红包个数超出限制', - '66228705' => '总金额超出限制', - '66228706' => '总金额不足以按最小金额领取每个红包', - '66228707' => '商户签名校验失败', - '66228708' => '重入??', - '66228709' => 'openid转换uin失败', - '66228711' => '商户订单中的商户号有误', - '66228712' => '商户订单中的日期超过范围', - '66228713' => '余额不足', - '66228715' => '用户未关注公众号,发送AIO消息失败', - '66229716' => '用户禁用公众号,发AIO消息失败' - ]; + private array $_errors = [ + '66228701' => '红包个数超出限制', + '66228705' => '总金额超出限制', + '66228706' => '总金额不足以按最小金额领取每个红包', + '66228707' => '商户签名校验失败', + '66228708' => '重入??', + '66228709' => 'openid转换uin失败', + '66228711' => '商户订单中的商户号有误', + '66228712' => '商户订单中的日期超过范围', + '66228713' => '余额不足', + '66228715' => '用户未关注公众号,发送AIO消息失败', + '66229716' => '用户禁用公众号,发AIO消息失败' + ]; - private $_requestParams = []; + private array $_requestParams = []; /** * @param string $value diff --git a/wchat/wx/Account.php b/wchat/wx/Account.php index 6b1f92f..cb89999 100644 --- a/wchat/wx/Account.php +++ b/wchat/wx/Account.php @@ -15,19 +15,13 @@ use wchat\common\Result; class Account extends SmallProgram { - private $wxaqr = 'https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token='; - private $getwxacode = 'https://api.weixin.qq.com/wxa/getwxacode?access_token='; - private $getwxacodeunlimit = 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token='; + private string $wxaqr = 'https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token='; + private string $getwxacode = 'https://api.weixin.qq.com/wxa/getwxacode?access_token='; + private string $getwxacodeunlimit = 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token='; - private $savePath = __DIR__ . '/../../Users/'; + private string $savePath = __DIR__ . '/../../Users/'; - private $OK = 0; - private $IllegalAesKey = -41001; - private $IllegalIv = -41002; - private $IllegalBuffer = -41003; - private $DecodeBase64Error = -41004; - /** * @param $path */ diff --git a/wchat/wx/Message.php b/wchat/wx/Message.php index 861a0ba..8beaeb2 100644 --- a/wchat/wx/Message.php +++ b/wchat/wx/Message.php @@ -3,21 +3,18 @@ namespace wchat\wx; +use Exception; use wchat\common\HttpClient; use wchat\common\Result; + +/** + * Class Message + * @package wchat\wx + */ class Message extends SmallProgram { - const TEXT = 0; - const IMAGE = 1; - const VOICE = 2; - const NEWS = 3; - const VIDEO = 4; - const MUSIC = 5; - const MINIPROGRAMPAGE = 6; - const WXCARD = 7; - private string $openid = ''; private array $msgData = []; @@ -26,14 +23,13 @@ class Message extends SmallProgram */ public function setOpenid(string $openid) { - $this->openid = $openid; $this->msgData['touser'] = $openid; } /** * @param string $content * @return Result - * @throws \Exception + * @throws Exception */ public function sendTextNews(string $content) { @@ -46,7 +42,7 @@ class Message extends SmallProgram /** * @param $media_id * @return Result - * @throws \Exception + * @throws Exception */ public function sendImageNews(string $media_id) { @@ -60,7 +56,7 @@ class Message extends SmallProgram /** * @param $media_id * @return Result - * @throws \Exception + * @throws Exception */ public function sendVoiceNews(string $media_id) { @@ -73,7 +69,7 @@ class Message extends SmallProgram /** * @param $media_id * @return Result - * @throws \Exception + * @throws Exception */ public function sendMpNewsNews(string $media_id) { @@ -90,7 +86,7 @@ class Message extends SmallProgram * @param string $url * @param string $picurl * @return Result - * @throws \Exception + * @throws Exception */ public function sendNewsNews(string $title, string $description, string $url, string $picurl) { @@ -108,7 +104,7 @@ class Message extends SmallProgram /** * @param string $title * @return Result - * @throws \Exception + * @throws Exception */ public function sendCardNews(string $title) { @@ -125,7 +121,7 @@ class Message extends SmallProgram * @param string $title * @param string $description * @return Result - * @throws \Exception + * @throws Exception */ public function sendVideoNews(string $media_id, string $thumb_media_id, string $title, string $description) { @@ -147,7 +143,7 @@ class Message extends SmallProgram * @param string $title * @param string $description * @return Result - * @throws \Exception + * @throws Exception */ public function sendMusicNews(string $musicurl, string $hqmusicurl, string $thumb_media_id, string $title, string $description) { @@ -168,7 +164,7 @@ class Message extends SmallProgram * @param string $tail_content * @param array $menus * @return Result - * @throws \Exception + * @throws Exception */ public function sendMenuNews(string $head_content, string $tail_content, array $menus = []) { @@ -178,7 +174,7 @@ class Message extends SmallProgram 'tail_content' => $tail_content, ]; if (empty($menus) || !is_array($menus) || count($menus) < 2) { - throw new \Exception('菜单选项必须有2个'); + throw new Exception('菜单选项必须有2个'); } foreach ($menus as $key => $val) { $this->addNewsMenu($val['id'], $val['name']); @@ -208,7 +204,7 @@ class Message extends SmallProgram * @param $pagepath * @param $thumb_media_id * @return Result - * @throws \Exception + * @throws Exception */ public function sendMiniprogrampageNews(string $title, string $appid, string $pagepath, string $thumb_media_id) { @@ -229,16 +225,16 @@ class Message extends SmallProgram * @param string $title * @param string $introduction * @return mixed - * @throws \Exception + * @throws Exception */ public function upload(string $filePath, string $type, $isPermanent = false, string $title = '', string $introduction = '') { if (!file_exists($filePath)) { - throw new \Exception('文件不存在'); + throw new Exception('文件不存在'); } if (!in_array($type, ['image', 'voice', 'video', 'thumb'])) { - throw new \Exception('暂不支持的文件类型'); + throw new Exception('暂不支持的文件类型'); } $token = $this->getAccessToken(); @@ -262,7 +258,7 @@ class Message extends SmallProgram /** @var Result $body */ $data = $this->request->post($url, $data); if (!$data->isResultsOK()) { - throw new \Exception($data->getMessage()); + throw new Exception($data->getMessage()); } return $data->getData(); @@ -279,9 +275,8 @@ class Message extends SmallProgram /** - * @param $data * @return Result - * @throws \Exception + * @throws Exception */ private function sendKefuMsg() { @@ -299,7 +294,7 @@ class Message extends SmallProgram $body = $this->request->post($url, $data); if (!$body->isResultsOK()) { - throw new \Exception($body->getMessage()); + throw new Exception($body->getMessage()); } return $body; } diff --git a/wchat/wx/Recharge.php b/wchat/wx/Recharge.php index c2d8645..46c3128 100644 --- a/wchat/wx/Recharge.php +++ b/wchat/wx/Recharge.php @@ -18,14 +18,14 @@ use wchat\common\Help; */ class Recharge extends SmallProgram { - private $money = 0; + private int $money = 0; private $orderNo; - private $data = []; + private array $data = []; - private $transfers = 'https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers'; - private $uniformed = 'https://api.mch.weixin.qq.com/pay/unifiedorder'; + private string $transfers = 'https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers'; + private string $uniformed = 'https://api.mch.weixin.qq.com/pay/unifiedorder'; /** * @param int $money diff --git a/wchat/wx/SecCheck.php b/wchat/wx/SecCheck.php index 2dd17fe..50f1d57 100644 --- a/wchat/wx/SecCheck.php +++ b/wchat/wx/SecCheck.php @@ -13,11 +13,11 @@ use wchat\common\Result; class SecCheck extends SmallProgram { - private $_url = 'https://api.weixin.qq.com/wxa/img_sec_check?access_token='; + private string $_url = '/wxa/img_sec_check?access_token='; - private $_msgUrl = 'https://api.weixin.qq.com/wxa/msg_sec_check?access_token='; + private string $_msgUrl = '/wxa/msg_sec_check?access_token='; - private $_mediaCheckAsync = 'https://api.weixin.qq.com/wxa/media_check_async?access_token='; + private string $_mediaCheckAsync = '/wxa/media_check_async?access_token='; const MEDIA_VIDEO = 1; const MEDIA_IMAGE = 1; @@ -32,6 +32,8 @@ class SecCheck extends SmallProgram return $this->sendError('文件不存在', 404); } $this->request->setUseSwoole(false); + $this->request->setIsSSL(true); + $this->request->setHost('api.weixin.qq.com'); $this->request->setHeader('Content-Type', 'multipart/form-data'); $this->request->setErrorField('errcode'); $this->request->setErrorMsgField('errmsg'); @@ -50,10 +52,14 @@ class SecCheck extends SmallProgram if (!in_array($type, [self::MEDIA_IMAGE, self::MEDIA_VIDEO])) { throw new \Exception('暂不支持的文件类型'); } - $this->request->setHeader('Content-Type', 'application/json'); + $this->request->setIsSSL(true); + $this->request->setHost('api.weixin.qq.com'); + $this->request->setHeader('Content-Type', 'application/json'); $this->request->setErrorField('errcode'); $this->request->setErrorMsgField('errmsg'); - $response = $this->request->post($this->_mediaCheckAsync . $this->config->getAccessToken(), [ + + $requestUrl = $this->_mediaCheckAsync . $this->config->getAccessToken(); + $response = $this->request->post($requestUrl, [ 'media_url' => $url, 'media_type' => $type ]); @@ -83,10 +89,15 @@ class SecCheck extends SmallProgram if (empty($content)) { return $this->sendError('文件不存在', 404); } - $this->request->setHeader('Content-Type', 'application/json'); + $this->request->setIsSSL(true); + $this->request->setHost('api.weixin.qq.com'); + $this->request->setHeader('Content-Type', 'application/json'); $this->request->setErrorField('errcode'); $this->request->setErrorMsgField('errmsg'); - return $this->request->post($this->_msgUrl . $this->config->getAccessToken(), ['content' => $content]); + + $requestUrl = $this->_msgUrl . $this->config->getAccessToken(); + + return $this->request->post($requestUrl, ['content' => $content]); } } diff --git a/wchat/wx/SmallProgram.php b/wchat/wx/SmallProgram.php index 46d231c..ad4d85f 100644 --- a/wchat/wx/SmallProgram.php +++ b/wchat/wx/SmallProgram.php @@ -14,10 +14,11 @@ class SmallProgram extends Miniprogarampage private $url = 'https://api.weixin.qq.com/cgi-bin/token'; - /** - * @return mixed - * @throws \Exception - */ + /** + * @param bool $get_token + * @return mixed + * @throws \Exception + */ public function generateAccess_token($get_token = false) { if (!empty($this->config->getToken())) { diff --git a/wchat/wx/Subject.php b/wchat/wx/Subject.php index 17316fb..7b8534f 100644 --- a/wchat/wx/Subject.php +++ b/wchat/wx/Subject.php @@ -6,10 +6,14 @@ namespace wchat\wx; use wchat\common\Result; +/** + * Class Subject + * @package wchat\wx + */ class Subject extends \wchat\base\Subject { - private $sendUrl = 'https://api.weixin.qq.com/cgi-bin/message/subscribe/send'; + private string $sendUrl = 'https://api.weixin.qq.com/cgi-bin/message/subscribe/send'; /** * @return string diff --git a/wchat/wx/Template.php b/wchat/wx/Template.php index 0f0e4f2..d3acf34 100644 --- a/wchat/wx/Template.php +++ b/wchat/wx/Template.php @@ -14,7 +14,7 @@ namespace wchat\wx; */ class Template extends \wchat\base\Template { - private $sendUrl = 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send'; + private string $sendUrl = 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send'; public function getUrl(): string {