This commit is contained in:
2020-11-14 03:04:25 +08:00
parent 8319fac4b7
commit 13a56f3555
9 changed files with 75 additions and 74 deletions
-4
View File
@@ -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);
}
+15 -15
View File
@@ -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
+4 -10
View File
@@ -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
*/
+23 -28
View File
@@ -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;
}
+4 -4
View File
@@ -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
+18 -7
View File
@@ -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]);
}
}
+5 -4
View File
@@ -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())) {
+5 -1
View File
@@ -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
+1 -1
View File
@@ -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
{