From bbd21fae464a114871552ec3460cd3898d746f1e Mon Sep 17 00:00:00 2001 From: Chaim Date: Wed, 20 May 2020 12:20:24 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E4=BC=98=E5=8C=96=E8=B7=AF=E7=94=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/service/Ip/MapService.php | 2 +- src/service/Ip/OnlineService.php | 2 +- src/service/Notice/DingDingService.php | 2 +- src/service/WeChat/ErrorCode.php | 51 ------ .../WeChat/MessageManagementService.php | 47 ------ src/service/WeChat/PKCS7Encoder.php | 68 -------- src/service/WeChat/Prpcrypt.php | 130 --------------- src/service/WeChat/SHA1.php | 49 ------ src/service/WeChat/WXBizMsgCryptService.php | 150 ----------------- src/service/WeChat/WiFiService.php | 43 ----- src/service/WeChat/XMLParse.php | 69 -------- src/service/WeMini/AccessTokenService.php | 46 ------ src/service/WeMini/CustomerMessageService.php | 29 ---- src/service/WeMini/LoginService.php | 47 ------ src/service/WeMini/NewTmplService.php | 151 ------------------ src/service/WeMini/QrCodeService.php | 83 ---------- src/service/WeMini/UserInfoService.php | 45 ------ .../{AliYun => aliyun}/Oss/BucketService.php | 2 +- .../{AliYun => aliyun}/Oss/ObjectService.php | 2 +- src/service/amap/AmApService.php | 2 +- src/service/baidu/LbsYunService.php | 2 +- src/service/bt/ApiService.php | 2 +- src/service/{Crypt => crypt}/AesService.php | 2 +- src/service/{Curl => curl}/BtService.php | 2 +- src/service/{Curl => curl}/HttpService.php | 2 +- .../{DouYin => douyin}/WatermarkService.php | 2 +- src/service/{Jd => jd}/UnionService.php | 2 +- .../JinBaoService.php | 2 +- src/service/{TaoBao => taobao}/TbkService.php | 2 +- .../{WeChat => wechat}/MiniService.php | 4 +- .../QyWeiXinService.php => wechat/Qy.php} | 12 +- src/service/{WeChat => wechat}/WebApps.php | 68 +++++--- 32 files changed, 70 insertions(+), 1052 deletions(-) delete mode 100644 src/service/WeChat/ErrorCode.php delete mode 100644 src/service/WeChat/MessageManagementService.php delete mode 100644 src/service/WeChat/PKCS7Encoder.php delete mode 100644 src/service/WeChat/Prpcrypt.php delete mode 100644 src/service/WeChat/SHA1.php delete mode 100644 src/service/WeChat/WXBizMsgCryptService.php delete mode 100644 src/service/WeChat/WiFiService.php delete mode 100644 src/service/WeChat/XMLParse.php delete mode 100644 src/service/WeMini/AccessTokenService.php delete mode 100644 src/service/WeMini/CustomerMessageService.php delete mode 100644 src/service/WeMini/LoginService.php delete mode 100644 src/service/WeMini/NewTmplService.php delete mode 100644 src/service/WeMini/QrCodeService.php delete mode 100644 src/service/WeMini/UserInfoService.php rename src/service/{AliYun => aliyun}/Oss/BucketService.php (95%) rename src/service/{AliYun => aliyun}/Oss/ObjectService.php (95%) rename src/service/{Crypt => crypt}/AesService.php (97%) rename src/service/{Curl => curl}/BtService.php (98%) rename src/service/{Curl => curl}/HttpService.php (99%) rename src/service/{DouYin => douyin}/WatermarkService.php (99%) rename src/service/{Jd => jd}/UnionService.php (99%) rename src/service/{PinDuoDuo => pindoudou}/JinBaoService.php (99%) rename src/service/{TaoBao => taobao}/TbkService.php (99%) rename src/service/{WeChat => wechat}/MiniService.php (99%) rename src/service/{Notice/QyWeiXinService.php => wechat/Qy.php} (92%) rename src/service/{WeChat => wechat}/WebApps.php (89%) diff --git a/src/service/Ip/MapService.php b/src/service/Ip/MapService.php index b6030ac..8e9ee92 100644 --- a/src/service/Ip/MapService.php +++ b/src/service/Ip/MapService.php @@ -19,7 +19,7 @@ namespace DtApp\ThinkLibrary\service\Ip; use DtApp\ThinkLibrary\exception\CurlException; use DtApp\ThinkLibrary\exception\IpException; use DtApp\ThinkLibrary\Service; -use DtApp\ThinkLibrary\service\Curl\HttpService; +use DtApp\ThinkLibrary\service\curl\HttpService; /** * IP - 地图 diff --git a/src/service/Ip/OnlineService.php b/src/service/Ip/OnlineService.php index 7fdd8bc..dad7ee2 100644 --- a/src/service/Ip/OnlineService.php +++ b/src/service/Ip/OnlineService.php @@ -19,7 +19,7 @@ namespace DtApp\ThinkLibrary\service\Ip; use DtApp\ThinkLibrary\exception\CurlException; use DtApp\ThinkLibrary\exception\IpException; use DtApp\ThinkLibrary\Service; -use DtApp\ThinkLibrary\service\Curl\HttpService; +use DtApp\ThinkLibrary\service\curl\HttpService; /** * IP - 在线查询接口 diff --git a/src/service/Notice/DingDingService.php b/src/service/Notice/DingDingService.php index a93a296..7b1e008 100644 --- a/src/service/Notice/DingDingService.php +++ b/src/service/Notice/DingDingService.php @@ -19,7 +19,7 @@ namespace DtApp\ThinkLibrary\service\Notice; use DtApp\ThinkLibrary\exception\CurlException; use DtApp\ThinkLibrary\exception\NoticeException; use DtApp\ThinkLibrary\Service; -use DtApp\ThinkLibrary\service\Curl\HttpService; +use DtApp\ThinkLibrary\service\curl\HttpService; /** * 通知 - 钉钉 diff --git a/src/service/WeChat/ErrorCode.php b/src/service/WeChat/ErrorCode.php deleted file mode 100644 index 85fe721..0000000 --- a/src/service/WeChat/ErrorCode.php +++ /dev/null @@ -1,51 +0,0 @@ - - *
  • -40001: 签名验证错误
  • - *
  • -40002: xml解析失败
  • - *
  • -40003: sha加密生成签名失败
  • - *
  • -40004: encodingAesKey 非法
  • - *
  • -40005: appid 校验错误
  • - *
  • -40006: aes 加密失败
  • - *
  • -40007: aes 解密失败
  • - *
  • -40008: 解密后得到的buffer非法
  • - *
  • -40009: base64加密失败
  • - *
  • -40010: base64解密失败
  • - *
  • -40011: 生成xml失败
  • - * - * Class ErrorCode - * @package DtApp\ThinkLibrary\service\WeChat - */ -class ErrorCode -{ - public static $OK = 0; - public static $ValidateSignatureError = -40001; - public static $ParseXmlError = -40002; - public static $ComputeSignatureError = -40003; - public static $IllegalAesKey = -40004; - public static $ValidateAppidError = -40005; - public static $EncryptAESError = -40006; - public static $DecryptAESError = -40007; - public static $IllegalBuffer = -40008; - public static $EncodeBase64Error = -40009; - public static $DecodeBase64Error = -40010; - public static $GenReturnXmlError = -40011; -} diff --git a/src/service/WeChat/MessageManagementService.php b/src/service/WeChat/MessageManagementService.php deleted file mode 100644 index 1fc243f..0000000 --- a/src/service/WeChat/MessageManagementService.php +++ /dev/null @@ -1,47 +0,0 @@ -url($url) - ->data($data) - ->toArray(); - } -} diff --git a/src/service/WeChat/PKCS7Encoder.php b/src/service/WeChat/PKCS7Encoder.php deleted file mode 100644 index baeb3f0..0000000 --- a/src/service/WeChat/PKCS7Encoder.php +++ /dev/null @@ -1,68 +0,0 @@ - 32) { - $pad = 0; - } - return substr($text, 0, (strlen($text) - $pad)); - } - - -} diff --git a/src/service/WeChat/Prpcrypt.php b/src/service/WeChat/Prpcrypt.php deleted file mode 100644 index fb8db9c..0000000 --- a/src/service/WeChat/Prpcrypt.php +++ /dev/null @@ -1,130 +0,0 @@ -key = base64_decode($k . "="); - } - - /** - * 对明文进行加密 - * @param string $text 需要加密的明文 - * @param $appid - * @return array 加密后的密文 - */ - public function encrypt($text, $appid) - { - - try { - //获得16位随机字符串,填充到明文之前 - $random = $this->getRandomStr(); - $text = $random . pack("N", strlen($text)) . $text . $appid; - // 网络字节序 - $size = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC); - $module = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, ''); - $iv = substr($this->key, 0, 16); - //使用自定义的填充方式对明文进行补位填充 - $pkc_encoder = new PKCS7Encoder; - $text = $pkc_encoder->encode($text); - mcrypt_generic_init($module, $this->key, $iv); - //加密 - $encrypted = mcrypt_generic($module, $text); - mcrypt_generic_deinit($module); - mcrypt_module_close($module); - - //print(base64_encode($encrypted)); - //使用BASE64对加密后的字符串进行编码 - return array(ErrorCode::$OK, base64_encode($encrypted)); - } catch (Exception $e) { - //print $e; - return array(ErrorCode::$EncryptAESError, null); - } - } - - /** - * 对密文进行解密 - * @param string $encrypted 需要解密的密文 - * @return array - */ - public function decrypt($encrypted, $appid) - { - - try { - //使用BASE64对需要解密的字符串进行解码 - $ciphertext_dec = base64_decode($encrypted); - $module = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, ''); - $iv = substr($this->key, 0, 16); - mcrypt_generic_init($module, $this->key, $iv); - - //解密 - $decrypted = mdecrypt_generic($module, $ciphertext_dec); - mcrypt_generic_deinit($module); - mcrypt_module_close($module); - } catch (Exception $e) { - return array(ErrorCode::$DecryptAESError, null); - } - - - try { - //去除补位字符 - $pkc_encoder = new PKCS7Encoder; - $result = $pkc_encoder->decode($decrypted); - //去除16位随机字符串,网络字节序和AppId - if (strlen($result) < 16) - return ""; - $content = substr($result, 16, strlen($result)); - $len_list = unpack("N", substr($content, 0, 4)); - $xml_len = $len_list[1]; - $xml_content = substr($content, 4, $xml_len); - $from_appid = substr($content, $xml_len + 4); - } catch (Exception $e) { - //print $e; - return array(ErrorCode::$IllegalBuffer, null); - } - if ($from_appid != $appid) - return array(ErrorCode::$ValidateAppidError, null); - return array(0, $xml_content); - - } - - - /** - * 随机生成16位字符串 - * @return string 生成的字符串 - */ - function getRandomStr() - { - - $str = ""; - $str_pol = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz"; - $max = strlen($str_pol) - 1; - for ($i = 0; $i < 16; $i++) { - $str .= $str_pol[mt_rand(0, $max)]; - } - return $str; - } -} diff --git a/src/service/WeChat/SHA1.php b/src/service/WeChat/SHA1.php deleted file mode 100644 index b7210c0..0000000 --- a/src/service/WeChat/SHA1.php +++ /dev/null @@ -1,49 +0,0 @@ -token = $token; - $this->encodingAesKey = $encodingAesKey; - $this->appId = $appId; - } - - /** - * 将公众平台回复用户的消息加密打包. - *
      - *
    1. 对要发送的消息进行AES-CBC加密
    2. - *
    3. 生成安全签名
    4. - *
    5. 将消息密文和安全签名打包成xml格式
    6. - *
    - * - * @param $replyMsg string 公众平台待回复用户的消息,xml格式的字符串 - * @param $timeStamp string 时间戳,可以自己生成,也可以用URL参数的timestamp - * @param $nonce string 随机串,可以自己生成,也可以用URL参数的nonce - * @param &$encryptMsg string 加密后的可以直接回复用户的密文,包括msg_signature, timestamp, nonce, encrypt的xml格式的字符串, - * 当return返回0时有效 - * - * @return int 成功0,失败返回对应的错误码 - */ - public function encryptMsg($replyMsg, $timeStamp, $nonce, &$encryptMsg) - { - $pc = new Prpcrypt($this->encodingAesKey); - - //加密 - $array = $pc->encrypt($replyMsg, $this->appId); - $ret = $array[0]; - if ($ret != 0) { - return $ret; - } - - if ($timeStamp == null) { - $timeStamp = time(); - } - $encrypt = $array[1]; - - //生成安全签名 - $sha1 = new SHA1; - $array = $sha1->getSHA1($this->token, $timeStamp, $nonce, $encrypt); - $ret = $array[0]; - if ($ret != 0) { - return $ret; - } - $signature = $array[1]; - - //生成发送的xml - $xmlparse = new XMLParse; - $encryptMsg = $xmlparse->generate($encrypt, $signature, $timeStamp, $nonce); - return ErrorCode::$OK; - } - - - /** - * 检验消息的真实性,并且获取解密后的明文. - *
      - *
    1. 利用收到的密文生成安全签名,进行签名验证
    2. - *
    3. 若验证通过,则提取xml中的加密消息
    4. - *
    5. 对消息进行解密
    6. - *
    - * - * @param $msgSignature string 签名串,对应URL参数的msg_signature - * @param $timestamp string 时间戳 对应URL参数的timestamp - * @param $nonce string 随机串,对应URL参数的nonce - * @param $postData string 密文,对应POST请求的数据 - * @param &$msg string 解密后的原文,当return返回0时有效 - * - * @return int 成功0,失败返回对应的错误码 - */ - public function decryptMsg($msgSignature, $timestamp = null, $nonce, $postData, &$msg) - { - if (strlen($this->encodingAesKey) != 43) { - return ErrorCode::$IllegalAesKey; - } - - $pc = new Prpcrypt($this->encodingAesKey); - - //提取密文 - $xmlparse = new XMLParse; - $array = $xmlparse->extract($postData); - $ret = $array[0]; - - if ($ret != 0) { - return $ret; - } - - if ($timestamp == null) { - $timestamp = time(); - } - - $encrypt = $array[1]; - $touser_name = $array[2]; - - //验证安全签名 - $sha1 = new SHA1; - $array = $sha1->getSHA1($this->token, $timestamp, $nonce, $encrypt); - $ret = $array[0]; - - if ($ret != 0) { - return $ret; - } - - $signature = $array[1]; - if ($signature != $msgSignature) { - return ErrorCode::$ValidateSignatureError; - } - - $result = $pc->decrypt($encrypt, $this->appId); - if ($result[0] != 0) { - return $result[0]; - } - $msg = $result[1]; - - return ErrorCode::$OK; - } - -} diff --git a/src/service/WeChat/WiFiService.php b/src/service/WeChat/WiFiService.php deleted file mode 100644 index 939be24..0000000 --- a/src/service/WeChat/WiFiService.php +++ /dev/null @@ -1,43 +0,0 @@ -url($url) - ->post() - ->data($data) - ->toArray(); - } -} diff --git a/src/service/WeChat/XMLParse.php b/src/service/WeChat/XMLParse.php deleted file mode 100644 index fb982c1..0000000 --- a/src/service/WeChat/XMLParse.php +++ /dev/null @@ -1,69 +0,0 @@ -loadXML($xmltext); - $array_e = $xml->getElementsByTagName('Encrypt'); - $array_a = $xml->getElementsByTagName('ToUserName'); - $encrypt = $array_e->item(0)->nodeValue; - $tousername = $array_a->item(0)->nodeValue; - return array(0, $encrypt, $tousername); - } catch (Exception $e) { - //print $e . "\n"; - return array(ErrorCode::$ParseXmlError, null, null); - } - } - - /** - * 生成xml消息 - * @param string $encrypt 加密后的消息密文 - * @param string $signature 安全签名 - * @param string $timestamp 时间戳 - * @param string $nonce 随机字符串 - * @return string - */ - public function generate($encrypt, $signature, $timestamp, $nonce) - { - $format = " - - -%s - -"; - return sprintf($format, $encrypt, $signature, $timestamp, $nonce); - } - -} diff --git a/src/service/WeMini/AccessTokenService.php b/src/service/WeMini/AccessTokenService.php deleted file mode 100644 index f696802..0000000 --- a/src/service/WeMini/AccessTokenService.php +++ /dev/null @@ -1,46 +0,0 @@ -url($url) - ->toArray(); - } -} diff --git a/src/service/WeMini/CustomerMessageService.php b/src/service/WeMini/CustomerMessageService.php deleted file mode 100644 index 6329b17..0000000 --- a/src/service/WeMini/CustomerMessageService.php +++ /dev/null @@ -1,29 +0,0 @@ -url($url) - ->toArray(); - } -} diff --git a/src/service/WeMini/NewTmplService.php b/src/service/WeMini/NewTmplService.php deleted file mode 100644 index e487dd1..0000000 --- a/src/service/WeMini/NewTmplService.php +++ /dev/null @@ -1,151 +0,0 @@ -url($url) - ->data($data) - ->toArray(); - } - - /** - * 删除帐号下的个人模板 - * https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.deleteTemplate.html - * @param string $access_token 接口调用凭证 - * @param string $priTmplId 要删除的模板id - * @return bool|mixed|string - * @throws CurlException - */ - public function deleteTemplate(string $access_token, string $priTmplId) - { - $url = "https://api.weixin.qq.com/wxaapi/newtmpl/deltemplate?access_token={$access_token}"; - $data = [ - 'priTmplId' => $priTmplId - ]; - return HttpService::instance() - ->url($url) - ->data($data) - ->toArray(); - } - - /** - * 获取小程序账号的类目 - * https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.getCategory.html - * @param string $access_token 接口调用凭证 - * @return bool|mixed|string - * @throws CurlException - */ - public function getCategory(string $access_token) - { - $url = "https://api.weixin.qq.com/wxaapi/newtmpl/getcategory?access_token={$access_token}"; - return HttpService::instance() - ->url($url) - ->toArray(); - } - - /** - * 获取模板标题下的关键词列表 - * https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.getPubTemplateKeyWordsById.html - * @param string $access_token 接口调用凭证 - * @param string $tid 模板标题 id - * @return bool|mixed|string - * @throws CurlException - */ - public function getPubTemplateKeyWordsById(string $access_token, string $tid) - { - $url = "https://api.weixin.qq.com/wxaapi/newtmpl/getpubtemplatekeywords?access_token={$access_token}"; - $data = [ - 'tid' => $tid - ]; - return HttpService::instance() - ->url($url) - ->data($data) - ->toArray(); - } - - /** - * 获取帐号所属类目下的公共模板标题 - * https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.getPubTemplateTitleList.html - * @param string $access_token 接口调用凭证 - * @param array $data - * @return bool|mixed|string - * @throws CurlException - */ - public function getPubTemplateTitleList(string $access_token, array $data = []) - { - $url = "https://api.weixin.qq.com/wxaapi/newtmpl/getpubtemplatetitles?access_token={$access_token}"; - return HttpService::instance() - ->url($url) - ->data($data) - ->toArray(); - } - - /** - * 获取当前帐号下的个人模板列表 - * https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.getTemplateList.html - * @param string $access_token 接口调用凭证 - * @return bool|mixed|string - * @throws CurlException - */ - public function getTemplateList(string $access_token) - { - $url = "https://api.weixin.qq.com/wxaapi/newtmpl/gettemplate?access_token={$access_token}"; - return HttpService::instance() - ->url($url) - ->toArray(); - } - - /** - * 发送订阅消息 - * https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.send.html - * @param string $access_token 接口调用凭证 - * @param array $data - * @return bool|mixed|string - * @throws CurlException - */ - public function send(string $access_token, array $data = []) - { - $url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token={$access_token}"; - return HttpService::instance() - ->url($url) - ->data($data) - ->post() - ->toArray(); - } -} diff --git a/src/service/WeMini/QrCodeService.php b/src/service/WeMini/QrCodeService.php deleted file mode 100644 index 18b8be8..0000000 --- a/src/service/WeMini/QrCodeService.php +++ /dev/null @@ -1,83 +0,0 @@ -url($url) - ->data($data) - ->post() - ->toArray(); - } - - /** - * 获取小程序码,适用于需要的码数量较少的业务场景。通过该接口生成的小程序码,永久有效,有数量限制 - * https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/qr-code/wxacode.get.html - * @param string $access_token - * @param array $data - * @return array|bool|mixed|string - * @throws CurlException - */ - public function getWxaCode(string $access_token, array $data = []) - { - $url = "https://api.weixin.qq.com/wxa/getwxacode?access_token={$access_token}"; - return HttpService::instance() - ->url($url) - ->data($data) - ->post() - ->toArray(); - } - - /** - * 获取小程序码,适用于需要的码数量极多的业务场景。通过该接口生成的小程序码,永久有效,数量暂无限制 - * https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/qr-code/wxacode.getUnlimited.html - * @param string $access_token - * @param array $data - * @return array|bool|mixed|string - * @throws CurlException - */ - public function getWxaCodeUnLimit(string $access_token, array $data = []) - { - $url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token={$access_token}"; - return HttpService::instance() - ->url($url) - ->data($data) - ->post() - ->toArray(); - } -} diff --git a/src/service/WeMini/UserInfoService.php b/src/service/WeMini/UserInfoService.php deleted file mode 100644 index 1ef642c..0000000 --- a/src/service/WeMini/UserInfoService.php +++ /dev/null @@ -1,45 +0,0 @@ -url($url) - ->toArray(); - } -} diff --git a/src/service/AliYun/Oss/BucketService.php b/src/service/aliyun/Oss/BucketService.php similarity index 95% rename from src/service/AliYun/Oss/BucketService.php rename to src/service/aliyun/Oss/BucketService.php index ce649e7..0ab2e63 100644 --- a/src/service/AliYun/Oss/BucketService.php +++ b/src/service/aliyun/Oss/BucketService.php @@ -14,7 +14,7 @@ // | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library // +---------------------------------------------------------------------- -namespace DtApp\ThinkLibrary\service\AliYun\Oss; +namespace DtApp\ThinkLibrary\service\aliyun\oss; use DtApp\ThinkLibrary\Service; diff --git a/src/service/AliYun/Oss/ObjectService.php b/src/service/aliyun/Oss/ObjectService.php similarity index 95% rename from src/service/AliYun/Oss/ObjectService.php rename to src/service/aliyun/Oss/ObjectService.php index f4c699d..a123f3c 100644 --- a/src/service/AliYun/Oss/ObjectService.php +++ b/src/service/aliyun/Oss/ObjectService.php @@ -14,7 +14,7 @@ // | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library // +---------------------------------------------------------------------- -namespace DtApp\ThinkLibrary\service\AliYun\Oss; +namespace DtApp\ThinkLibrary\service\aliyun\oss; use DtApp\ThinkLibrary\Service; diff --git a/src/service/amap/AmApService.php b/src/service/amap/AmApService.php index 969155a..62f2fc7 100644 --- a/src/service/amap/AmApService.php +++ b/src/service/amap/AmApService.php @@ -19,7 +19,7 @@ namespace DtApp\ThinkLibrary\service\amap; use DtApp\ThinkLibrary\exception\AliException; use DtApp\ThinkLibrary\exception\CurlException; use DtApp\ThinkLibrary\Service; -use DtApp\ThinkLibrary\service\Curl\HttpService; +use DtApp\ThinkLibrary\service\curl\HttpService; /** * 高德地图 diff --git a/src/service/baidu/LbsYunService.php b/src/service/baidu/LbsYunService.php index da9ac03..e31b341 100644 --- a/src/service/baidu/LbsYunService.php +++ b/src/service/baidu/LbsYunService.php @@ -19,7 +19,7 @@ namespace DtApp\ThinkLibrary\service\baidu; use DtApp\ThinkLibrary\exception\BaiduException; use DtApp\ThinkLibrary\exception\CurlException; use DtApp\ThinkLibrary\Service; -use DtApp\ThinkLibrary\service\Curl\HttpService; +use DtApp\ThinkLibrary\service\curl\HttpService; /** * 百度地图 diff --git a/src/service/bt/ApiService.php b/src/service/bt/ApiService.php index 206be93..2d64600 100644 --- a/src/service/bt/ApiService.php +++ b/src/service/bt/ApiService.php @@ -19,7 +19,7 @@ namespace DtApp\ThinkLibrary\service\bt; use DtApp\ThinkLibrary\exception\BtException; use DtApp\ThinkLibrary\exception\CurlException; use DtApp\ThinkLibrary\Service; -use DtApp\ThinkLibrary\service\Curl\BtService; +use DtApp\ThinkLibrary\service\curl\BtService; /** * 宝塔Api diff --git a/src/service/Crypt/AesService.php b/src/service/crypt/AesService.php similarity index 97% rename from src/service/Crypt/AesService.php rename to src/service/crypt/AesService.php index e4b4bcb..1fbf212 100644 --- a/src/service/Crypt/AesService.php +++ b/src/service/crypt/AesService.php @@ -14,7 +14,7 @@ // | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library // +---------------------------------------------------------------------- -namespace DtApp\ThinkLibrary\service\Crypt; +namespace DtApp\ThinkLibrary\service\crypt; use DtApp\ThinkLibrary\Service; diff --git a/src/service/Curl/BtService.php b/src/service/curl/BtService.php similarity index 98% rename from src/service/Curl/BtService.php rename to src/service/curl/BtService.php index fbf97d9..8f990b7 100644 --- a/src/service/Curl/BtService.php +++ b/src/service/curl/BtService.php @@ -14,7 +14,7 @@ // | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library // +---------------------------------------------------------------------- -namespace DtApp\ThinkLibrary\service\Curl; +namespace DtApp\ThinkLibrary\service\curl; use DtApp\ThinkLibrary\exception\CurlException; use DtApp\ThinkLibrary\Service; diff --git a/src/service/Curl/HttpService.php b/src/service/curl/HttpService.php similarity index 99% rename from src/service/Curl/HttpService.php rename to src/service/curl/HttpService.php index 4e285ef..befc4a9 100644 --- a/src/service/Curl/HttpService.php +++ b/src/service/curl/HttpService.php @@ -14,7 +14,7 @@ // | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library // +---------------------------------------------------------------------- -namespace DtApp\ThinkLibrary\service\Curl; +namespace DtApp\ThinkLibrary\service\curl; use DtApp\ThinkLibrary\exception\CurlException; use DtApp\ThinkLibrary\Service; diff --git a/src/service/DouYin/WatermarkService.php b/src/service/douyin/WatermarkService.php similarity index 99% rename from src/service/DouYin/WatermarkService.php rename to src/service/douyin/WatermarkService.php index 92d8703..2424c0b 100644 --- a/src/service/DouYin/WatermarkService.php +++ b/src/service/douyin/WatermarkService.php @@ -14,7 +14,7 @@ // | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library // +---------------------------------------------------------------------- -namespace DtApp\ThinkLibrary\service\DouYin; +namespace DtApp\ThinkLibrary\service\douyin; use DtApp\ThinkLibrary\exception\DouYinException; use DtApp\ThinkLibrary\facade\Pregs; diff --git a/src/service/Jd/UnionService.php b/src/service/jd/UnionService.php similarity index 99% rename from src/service/Jd/UnionService.php rename to src/service/jd/UnionService.php index b4d63a8..f443151 100644 --- a/src/service/Jd/UnionService.php +++ b/src/service/jd/UnionService.php @@ -14,7 +14,7 @@ // | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library // +---------------------------------------------------------------------- -namespace DtApp\ThinkLibrary\service\Jd; +namespace DtApp\ThinkLibrary\service\jd; use DtApp\ThinkLibrary\exception\CurlException; use DtApp\ThinkLibrary\exception\JdException; diff --git a/src/service/PinDuoDuo/JinBaoService.php b/src/service/pindoudou/JinBaoService.php similarity index 99% rename from src/service/PinDuoDuo/JinBaoService.php rename to src/service/pindoudou/JinBaoService.php index 3114ea9..cefa5df 100644 --- a/src/service/PinDuoDuo/JinBaoService.php +++ b/src/service/pindoudou/JinBaoService.php @@ -14,7 +14,7 @@ // | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library // +---------------------------------------------------------------------- -namespace DtApp\ThinkLibrary\service\PinDuoDuo; +namespace DtApp\ThinkLibrary\service\pindoudou; use DtApp\ThinkLibrary\exception\CurlException; use DtApp\ThinkLibrary\exception\PinDouDouException; diff --git a/src/service/TaoBao/TbkService.php b/src/service/taobao/TbkService.php similarity index 99% rename from src/service/TaoBao/TbkService.php rename to src/service/taobao/TbkService.php index c999606..db447d2 100644 --- a/src/service/TaoBao/TbkService.php +++ b/src/service/taobao/TbkService.php @@ -14,7 +14,7 @@ // | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library // +---------------------------------------------------------------------- -namespace DtApp\ThinkLibrary\service\TaoBao; +namespace DtApp\ThinkLibrary\service\taobao; use DtApp\ThinkLibrary\exception\CurlException; use DtApp\ThinkLibrary\exception\TaoBaoException; diff --git a/src/service/WeChat/MiniService.php b/src/service/wechat/MiniService.php similarity index 99% rename from src/service/WeChat/MiniService.php rename to src/service/wechat/MiniService.php index efa79ad..4e3cebc 100644 --- a/src/service/WeChat/MiniService.php +++ b/src/service/wechat/MiniService.php @@ -14,14 +14,14 @@ // | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library // +---------------------------------------------------------------------- -namespace DtApp\ThinkLibrary\service\WeChat; +namespace DtApp\ThinkLibrary\service\wechat; use DtApp\ThinkLibrary\cache\Mysql; use DtApp\ThinkLibrary\exception\CacheException; use DtApp\ThinkLibrary\exception\CurlException; use DtApp\ThinkLibrary\exception\WeChatException; use DtApp\ThinkLibrary\Service; -use DtApp\ThinkLibrary\service\Curl\HttpService; +use DtApp\ThinkLibrary\service\curl\HttpService; use think\db\exception\DataNotFoundException; use think\db\exception\DbException; use think\db\exception\ModelNotFoundException; diff --git a/src/service/Notice/QyWeiXinService.php b/src/service/wechat/Qy.php similarity index 92% rename from src/service/Notice/QyWeiXinService.php rename to src/service/wechat/Qy.php index 440ec13..451ca33 100644 --- a/src/service/Notice/QyWeiXinService.php +++ b/src/service/wechat/Qy.php @@ -14,19 +14,19 @@ // | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library // +---------------------------------------------------------------------- -namespace DtApp\ThinkLibrary\service\Notice; +namespace DtApp\ThinkLibrary\service\wechat; use DtApp\ThinkLibrary\exception\CurlException; use DtApp\ThinkLibrary\exception\NoticeException; use DtApp\ThinkLibrary\Service; -use DtApp\ThinkLibrary\service\Curl\HttpService; +use DtApp\ThinkLibrary\service\curl\HttpService; /** - * 通知 - 企业微信 - * Class QyWeiXinService - * @package DtApp\ThinkLibrary\service\notice + * 企业微信 + * Class Qy + * @package DtApp\ThinkLibrary\service\wechat */ -class QyWeiXinService extends Service +class Qy extends Service { /** * 消息类型 diff --git a/src/service/WeChat/WebApps.php b/src/service/wechat/WebApps.php similarity index 89% rename from src/service/WeChat/WebApps.php rename to src/service/wechat/WebApps.php index b1e9f10..62b4332 100644 --- a/src/service/WeChat/WebApps.php +++ b/src/service/wechat/WebApps.php @@ -14,7 +14,7 @@ // | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library // +---------------------------------------------------------------------- -namespace DtApp\ThinkLibrary\service\WeChat; +namespace DtApp\ThinkLibrary\service\wechat; use DtApp\ThinkLibrary\cache\Mysql; use DtApp\ThinkLibrary\exception\CacheException; @@ -23,10 +23,7 @@ use DtApp\ThinkLibrary\exception\WeChatException; use DtApp\ThinkLibrary\facade\Pregs; use DtApp\ThinkLibrary\facade\Urls; use DtApp\ThinkLibrary\Service; -use DtApp\ThinkLibrary\service\Curl\HttpService; -use think\db\exception\DataNotFoundException; -use think\db\exception\DbException; -use think\db\exception\ModelNotFoundException; +use DtApp\ThinkLibrary\service\curl\HttpService; /** * Class WebApps @@ -224,9 +221,6 @@ class WebApps extends Service * @return array * @throws CacheException * @throws CurlException - * @throws DataNotFoundException - * @throws DbException - * @throws ModelNotFoundException * @throws WeChatException */ public function share() @@ -271,9 +265,6 @@ class WebApps extends Service * @return array|bool|mixed|string * @throws CacheException * @throws CurlException - * @throws DataNotFoundException - * @throws DbException - * @throws ModelNotFoundException * @throws WeChatException */ public function qrCode(array $data) @@ -293,9 +284,6 @@ class WebApps extends Service * @return array|bool|mixed|string * @throws CacheException * @throws CurlException - * @throws DataNotFoundException - * @throws DbException - * @throws ModelNotFoundException * @throws WeChatException */ public function messageTemplateSend(array $data = []) @@ -310,15 +298,34 @@ class WebApps extends Service ->toArray(); } + /** + * 设置所属行业 + * https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Template_Message_Interface.html#0 + * @param string $access_token + * @param array $data + * @return bool|mixed|string + * @throws CacheException + * @throws CurlException + * @throws WeChatException + */ + public function setIndustry(string $access_token, array $data = []) + { + // 获取数据 + $accessToken = $this->getAccessToken(); + $url = "{$this->api_url}cgi-bin/template/api_set_industry?access_token={$accessToken['access_token']}"; + if (is_array($data)) $data = json_encode($data); + return HttpService::instance() + ->url($url) + ->data($data) + ->toArray(); + } + /** * 将一条长链接转成短链接 * @param string $long_url * @return bool * @throws CacheException * @throws CurlException - * @throws DataNotFoundException - * @throws DbException - * @throws ModelNotFoundException * @throws WeChatException */ public function shortUrl(string $long_url) @@ -335,15 +342,34 @@ class WebApps extends Service ->toArray(); } + /** + * 连Wi-Fi完成页跳转小程序 + * https://developers.weixin.qq.com/doc/offiaccount/WiFi_via_WeChat/WiFi_mini_programs.html + * @param array $data + * @return array|bool|mixed|string + * @throws CacheException + * @throws CurlException + * @throws WeChatException + */ + public function fiNihPageSet(array $data = []) + { + // 获取数据 + $accessToken = $this->getAccessToken(); + $url = "{$this->api_url}bizwifi/finishpage/set?access_token={$accessToken['access_token']}"; + if (is_array($data)) $data = json_encode($data); + return HttpService::instance() + ->url($url) + ->post() + ->data($data) + ->toArray(); + } + /** * 获取access_token信息 * @return array|bool|mixed|string|string[] * @throws CacheException * @throws CurlException * @throws WeChatException - * @throws DataNotFoundException - * @throws DbException - * @throws ModelNotFoundException */ private function getAccessToken() { @@ -398,7 +424,7 @@ class WebApps extends Service ->toArray(); $cache_mysql ->name($file) - ->expire( 6000) + ->expire(6000) ->set($accessToken_res['access_token']); $access_token['access_token'] = $accessToken_res['access_token']; }