Просмотр исходного кода

删除多余微信开放平台文件

shish 6 лет назад
Родитель
Сommit
c1237f81ad

+ 1 - 1
app/www/controllers/WxController.php

@@ -244,7 +244,7 @@ class WxController extends PublicController
 							echo $encryptMsg;
 							echo $encryptMsg;
 			
 			
 							$ticket = str_replace('QUERY_AUTH_CODE:','',$Content);
 							$ticket = str_replace('QUERY_AUTH_CODE:','',$Content);
-							$authorizer = weixinOpenUtil::getAuthorizer($ticket);
+							$authorizer = weixinUtil::getAuthorizer($ticket);
 							//Yii::warning("authorizer:".json_encode($authorizer));
 							//Yii::warning("authorizer:".json_encode($authorizer));
 							$info 							= $authorizer['authorization_info'];
 							$info 							= $authorizer['authorization_info'];
 							$authorizer_appid				= $info['authorizer_appid'];
 							$authorizer_appid				= $info['authorizer_appid'];

+ 6 - 7
app/www/controllers/WxOpenController.php

@@ -10,7 +10,6 @@ use common\services\xhMerchantService;
 use common\services\xhInviteService;
 use common\services\xhInviteService;
 use common\components\util;
 use common\components\util;
 use common\components\configDict;
 use common\components\configDict;
-use common\components\weixinOpenUtil;
 use common\services\xhWxOpenService;
 use common\services\xhWxOpenService;
 use common\components\stringUtil;
 use common\components\stringUtil;
 use common\components\weixinUtil;
 use common\components\weixinUtil;
@@ -29,7 +28,7 @@ class WxOpenController extends PublicController
 	{
 	{
 		$id = 1;
 		$id = 1;
 		$open = xhWxOpenService::getById($id);
 		$open = xhWxOpenService::getById($id);
-		$pre = weixinOpenUtil::getPreAuthCode($open);
+		$pre = weixinUtil::getPreAuthCode($open);
 		$appId = $open['appId'];
 		$appId = $open['appId'];
 		$oData = [];
 		$oData = [];
 		$oData['preAuthCodeTime'] = date("Y-m-d H:i:s");
 		$oData['preAuthCodeTime'] = date("Y-m-d H:i:s");
@@ -80,7 +79,7 @@ class WxOpenController extends PublicController
 		}
 		}
 		$code = $get['auth_code'];
 		$code = $get['auth_code'];
 		//使用授权码换取公众号的接口调用凭据和授权信息
 		//使用授权码换取公众号的接口调用凭据和授权信息
-		$authorize = weixinOpenUtil::getAuthorizer($code);
+		$authorize = weixinUtil::getAuthorizer($code);
 		if (isset($authorize['authorization_info']) == false) {
 		if (isset($authorize['authorization_info']) == false) {
 			util::stop('未换取公众号的接口调用凭据和授权信息');
 			util::stop('未换取公众号的接口调用凭据和授权信息');
 		}
 		}
@@ -90,7 +89,7 @@ class WxOpenController extends PublicController
 		$expires_in = $info['expires_in'];//7200
 		$expires_in = $info['expires_in'];//7200
 		$authorize_refresh_token = $info['authorizer_refresh_token'];
 		$authorize_refresh_token = $info['authorizer_refresh_token'];
 		//获取授权方的公众号帐号基本信息
 		//获取授权方的公众号帐号基本信息
-		$authorizeDetailInfo = weixinOpenUtil::getAuthorizerInfo($authorizeAppId);
+		$authorizeDetailInfo = weixinUtil::getAuthorizerInfo($authorizeAppId);
 		if (isset($authorizeDetailInfo['authorizer_info']) == false) {
 		if (isset($authorizeDetailInfo['authorizer_info']) == false) {
 			util::stop('没有获取到公众号帐号基本信息');
 			util::stop('没有获取到公众号帐号基本信息');
 		}
 		}
@@ -177,7 +176,7 @@ class WxOpenController extends PublicController
 		}
 		}
 		$code = $get['auth_code'];
 		$code = $get['auth_code'];
 		//使用授权码换取公众号的接口调用凭据和授权信息
 		//使用授权码换取公众号的接口调用凭据和授权信息
-		$authorize = weixinOpenUtil::getAuthorizer($code);
+		$authorize = weixinUtil::getAuthorizer($code);
 		if (isset($authorize['authorization_info']) == false) {
 		if (isset($authorize['authorization_info']) == false) {
 			util::stop('未换取公众号的接口调用凭据和授权信息');
 			util::stop('未换取公众号的接口调用凭据和授权信息');
 		}
 		}
@@ -187,7 +186,7 @@ class WxOpenController extends PublicController
 		$expires_in = $info['expires_in'];//7200
 		$expires_in = $info['expires_in'];//7200
 		$authorize_refresh_token = $info['authorizer_refresh_token'];
 		$authorize_refresh_token = $info['authorizer_refresh_token'];
 		//获取授权方的基本信息
 		//获取授权方的基本信息
-		$authorizeDetailInfo = weixinOpenUtil::getAuthorizerInfo($authorizeAppId);
+		$authorizeDetailInfo = weixinUtil::getAuthorizerInfo($authorizeAppId);
 		if (isset($authorizeDetailInfo['authorizer_info']) == false) {
 		if (isset($authorizeDetailInfo['authorizer_info']) == false) {
 			util::stop('没有获取到公众号帐号基本信息');
 			util::stop('没有获取到公众号帐号基本信息');
 		}
 		}
@@ -524,7 +523,7 @@ class WxOpenController extends PublicController
 				$authorizeAppid = $postObj->AuthorizerAppid;
 				$authorizeAppid = $postObj->AuthorizerAppid;
 				$AuthorizationCode = $postObj->AuthorizationCode;
 				$AuthorizationCode = $postObj->AuthorizationCode;
 				$AuthorizationCodeExpiredTime = $postObj->AuthorizationCodeExpiredTime;
 				$AuthorizationCodeExpiredTime = $postObj->AuthorizationCodeExpiredTime;
-				$authorize = weixinOpenUtil::getAuthorizer($AuthorizationCode);
+				$authorize = weixinUtil::getAuthorizer($AuthorizationCode);
 				if (isset($authorize['authorization_info']) == false) {
 				if (isset($authorize['authorization_info']) == false) {
 					$msg = '授权回调获取到auth_code,但未换取公众号的接口调用凭据和授权信息!!';
 					$msg = '授权回调获取到auth_code,但未换取公众号的接口调用凭据和授权信息!!';
 					Yii::warning($msg, __METHOD__);
 					Yii::warning($msg, __METHOD__);

+ 0 - 128
common/components/weixinOpenUtil.php

@@ -1,128 +0,0 @@
-<?php
-
-namespace common\components;
-
-use common\services\xhWxOpenService;
-use Yii;
-use yii\helpers\Json;
-use common\models\xhWxOpen;
-use common\components\configDict;
-use linslin\yii2\curl;
-
-/**
- * 微信开放平台交互接口
- */
-class weixinOpenUtil
-{
-	/**
-	 * 获取第三方平台component_access_token
-	 * @return unknown
-	 */
-	public static function getComponentAccessToken($open)
-	{
-		$id = $open['id'];
-		$componentAccessToken = $open['componentAccessToken'];
-		$componentAccessTokenTime = $open['componentAccessTokenTime'];
-		$now = time();
-		if ($now > strtotime($componentAccessTokenTime)) {
-			$appId = $open['appId'];
-			$appSecret = $open['appSecret'];
-			$verifyTicket = $open['verifyTicket'];
-			$data = ['component_appid' => $appId, 'component_appsecret' => $appSecret, 'component_verify_ticket' => $verifyTicket];
-			$url = 'https://api.weixin.qq.com/cgi-bin/component/api_component_token';
-			$curl = new curl\Curl();
-			$result = $curl->setOption(CURLOPT_POSTFIELDS, Json::encode($data))->post($url);
-			if (empty($result)) {
-				util::stop('没有取到ComponentAccessToken');
-			}
-			$result = Json::decode($result);
-			if (isset($result['component_access_token']) == false || empty($result['component_access_token'])) {
-				echo '<pre>';
-				print_r($result);
-				Yii::info('get component access token error:' . json_encode($result));
-				Yii::$app->end();
-			}
-			$component_access_token = $result['component_access_token'];
-			$expiresIn = $result['expires_in'];
-			$oData = [];
-			$oData['componentAccessToken'] = $component_access_token;
-			$oData['componentAccessTokenTime'] = date("Y-m-d H:i:s", ($now + $expiresIn - 100));//安全起见,将过期时间设置得比微信里还短
-			xhWxOpenService::updateById($id, $oData);
-			return $component_access_token;
-		} else {
-			return $componentAccessToken;
-		}
-	}
-	
-	/**
-	 * 获取预授权码pre_auth_code
-	 */
-	public static function getPreAuthCode($open)
-	{
-		$id = $open['id'];
-		$preAuthCode = $open['preAuthCode'];
-		$preAuthCodeTime = $open['preAuthCodeTime'];
-		$now = time();
-		if ($now > strtotime($preAuthCodeTime)) {
-			$token = self::getComponentAccessToken($open);
-			$appId = $open['appId'];
-			$url = "https://api.weixin.qq.com/cgi-bin/component/api_create_preauthcode?component_access_token={$token}";
-			$curl = new curl\Curl();
-			$data = ['component_appid' => $appId];
-			$result = $curl->setOption(CURLOPT_POSTFIELDS, Json::encode($data))->post($url);
-			$result = Json::decode($result);
-			Yii::info($result);
-			if (isset($result['pre_auth_code']) == false || empty($result['pre_auth_code'])) {
-				echo "没有取到pre_auth_code,原因:" . json_encode($result) . " appid:" . $appId . " token:" . $token;
-				Yii::$app->end();
-			}
-			$preAuthCode = $result['pre_auth_code'];
-			$expiresIn = $result['expires_in'];
-			$oData = [];
-			$oData['preAuthCode'] = $preAuthCode;
-			$oData['preAuthCodeTime'] = date("Y-m-d H:i:s", ($now + $expiresIn - 100));//安全起见,将过期时间设置得比微信里还短100秒
-			xhWxOpenService::updateById($id, $oData);
-			return $preAuthCode;
-		} else {
-			return $preAuthCode;
-		}
-	}
-	
-	/**
-	 * 使用授权码换取公众号的接口调用凭据和授权信息
-	 * authorizer_access_token authorizer_refresh_token
-	 */
-	public static function getAuthorizer($code)
-	{
-		$id = configDict::getConfig('openId');
-		$open = xhWxOpenService::getById($id);
-		$appId = $open['appId'];
-		$accessToken = self::getComponentAccessToken($open);
-		$url = "https://api.weixin.qq.com/cgi-bin/component/api_query_auth?component_access_token={$accessToken}";
-		$curl = new curl\Curl();
-		$data = ['authorization_code' => $code, 'component_appid' => $appId];
-		$result = $curl->setOption(CURLOPT_POSTFIELDS, Json::encode($data))->post($url);
-		$result = Json::decode($result);
-		return $result;
-	}
-	
-	/**
-	 * 获取授权方的公众号帐号基本信息
-	 * @param  $authorizerAppId
-	 * @return unknown
-	 */
-	public static function getAuthorizerInfo($authorizerAppId)
-	{
-		$id = configDict::getConfig('openId');
-		$open = xhWxOpenService::getById($id);
-		$appId = $open['appId'];
-		$accessToken = self::getComponentAccessToken($open);
-		$url = "https://api.weixin.qq.com/cgi-bin/component/api_get_authorizer_info?component_access_token={$accessToken}";
-		$curl = new curl\Curl();
-		$data = ['component_appid' => $appId, 'authorizer_appid' => $authorizerAppId];
-		$result = $curl->setOption(CURLOPT_POSTFIELDS, Json::encode($data))->post($url);
-		$result = Json::decode($result);
-		return $result;
-	}
-	
-}

+ 112 - 3
common/components/weixinUtil.php

@@ -393,7 +393,7 @@ class weixinUtil
 		$id = configDict::getConfig('openId');
 		$id = configDict::getConfig('openId');
 		$open = xhWxOpenService::getById($id);
 		$open = xhWxOpenService::getById($id);
 		$component_appid = $open['appId'];
 		$component_appid = $open['appId'];
-		$componentAccessToken = weixinOpenUtil::getComponentAccessToken($open);
+		$componentAccessToken = weixinUtil::getComponentAccessToken($open);
 		$url = "https://api.weixin.qq.com/sns/oauth2/component/access_token?appid={$appId}&code={$code}&grant_type=authorization_code&component_appid={$component_appid}&component_access_token={$componentAccessToken}";
 		$url = "https://api.weixin.qq.com/sns/oauth2/component/access_token?appid={$appId}&code={$code}&grant_type=authorization_code&component_appid={$component_appid}&component_access_token={$componentAccessToken}";
 		$curl = new curl\Curl();
 		$curl = new curl\Curl();
 		$result = $curl->get($url);
 		$result = $curl->get($url);
@@ -600,7 +600,7 @@ class weixinUtil
 		$id = configDict::getConfig('openId');
 		$id = configDict::getConfig('openId');
 		$open = xhWxOpenService::getById($id);
 		$open = xhWxOpenService::getById($id);
 		$component_appid = $open['appId'];
 		$component_appid = $open['appId'];
-		$componentAccessToken = weixinOpenUtil::getComponentAccessToken($open);
+		$componentAccessToken = weixinUtil::getComponentAccessToken($open);
 		$appId = $merchant['wxAppId'];
 		$appId = $merchant['wxAppId'];
 		$wxAccessToken = $merchant['wxAccessToken'];
 		$wxAccessToken = $merchant['wxAccessToken'];
 		$wxAccessTokenTime = $merchant['wxAccessTokenTime'];
 		$wxAccessTokenTime = $merchant['wxAccessTokenTime'];
@@ -637,7 +637,7 @@ class weixinUtil
 		$id = configDict::getConfig('openId');
 		$id = configDict::getConfig('openId');
 		$open = xhWxOpenService::getById($id);
 		$open = xhWxOpenService::getById($id);
 		$component_appid = $open['appId'];
 		$component_appid = $open['appId'];
-		$componentAccessToken = weixinOpenUtil::getComponentAccessToken($open);
+		$componentAccessToken = weixinUtil::getComponentAccessToken($open);
 		$appId = $merchant['miniAppId'];
 		$appId = $merchant['miniAppId'];
 		$extend = xhMerchantExtendService::getByMerchantId($merchantId);
 		$extend = xhMerchantExtendService::getByMerchantId($merchantId);
 		$miniAccessToken = $extend['miniAccessToken'];
 		$miniAccessToken = $extend['miniAccessToken'];
@@ -1448,4 +1448,113 @@ class weixinUtil
 		echo "<img src='" . Yii::$app->params['imgUrl'] . "/miniExperience/" . $merchant['id'] . "_member.jpg' />";
 		echo "<img src='" . Yii::$app->params['imgUrl'] . "/miniExperience/" . $merchant['id'] . "_member.jpg' />";
 	}
 	}
 	
 	
+	/**
+	 * 微信开放平台获取component_access_token
+	 */
+	public static function getComponentAccessToken($open)
+	{
+		$id = $open['id'];
+		$componentAccessToken = $open['componentAccessToken'];
+		$componentAccessTokenTime = $open['componentAccessTokenTime'];
+		$now = time();
+		if ($now > strtotime($componentAccessTokenTime)) {
+			$appId = $open['appId'];
+			$appSecret = $open['appSecret'];
+			$verifyTicket = $open['verifyTicket'];
+			$data = ['component_appid' => $appId, 'component_appsecret' => $appSecret, 'component_verify_ticket' => $verifyTicket];
+			$url = 'https://api.weixin.qq.com/cgi-bin/component/api_component_token';
+			$curl = new curl\Curl();
+			$result = $curl->setOption(CURLOPT_POSTFIELDS, Json::encode($data))->post($url);
+			if (empty($result)) {
+				util::stop('没有取到ComponentAccessToken');
+			}
+			$result = Json::decode($result);
+			if (isset($result['component_access_token']) == false || empty($result['component_access_token'])) {
+				echo '<pre>';
+				print_r($result);
+				Yii::info('get component access token error:' . json_encode($result));
+				Yii::$app->end();
+			}
+			$component_access_token = $result['component_access_token'];
+			$expiresIn = $result['expires_in'];
+			$oData = [];
+			$oData['componentAccessToken'] = $component_access_token;
+			$oData['componentAccessTokenTime'] = date("Y-m-d H:i:s", ($now + $expiresIn - 100));//安全起见,将过期时间设置得比微信里还短
+			xhWxOpenService::updateById($id, $oData);
+			return $component_access_token;
+		} else {
+			return $componentAccessToken;
+		}
+	}
+	
+	/**
+	 * 微信开放平台获取预授权码pre_auth_code
+	 */
+	public static function getPreAuthCode($open)
+	{
+		$id = $open['id'];
+		$preAuthCode = $open['preAuthCode'];
+		$preAuthCodeTime = $open['preAuthCodeTime'];
+		$now = time();
+		if ($now > strtotime($preAuthCodeTime)) {
+			$token = self::getComponentAccessToken($open);
+			$appId = $open['appId'];
+			$url = "https://api.weixin.qq.com/cgi-bin/component/api_create_preauthcode?component_access_token={$token}";
+			$curl = new curl\Curl();
+			$data = ['component_appid' => $appId];
+			$result = $curl->setOption(CURLOPT_POSTFIELDS, Json::encode($data))->post($url);
+			$result = Json::decode($result);
+			Yii::info($result);
+			if (isset($result['pre_auth_code']) == false || empty($result['pre_auth_code'])) {
+				echo "没有取到pre_auth_code,原因:" . json_encode($result) . " appid:" . $appId . " token:" . $token;
+				Yii::$app->end();
+			}
+			$preAuthCode = $result['pre_auth_code'];
+			$expiresIn = $result['expires_in'];
+			$oData = [];
+			$oData['preAuthCode'] = $preAuthCode;
+			$oData['preAuthCodeTime'] = date("Y-m-d H:i:s", ($now + $expiresIn - 100));//安全起见,将过期时间设置得比微信里还短100秒
+			xhWxOpenService::updateById($id, $oData);
+			return $preAuthCode;
+		} else {
+			return $preAuthCode;
+		}
+	}
+	
+	/**
+	 * 微信开放平台使用授权码换取公众号的接口调用凭据和授权信息
+	 * authorizer_access_token authorizer_refresh_token
+	 */
+	public static function getAuthorizer($code)
+	{
+		$id = configDict::getConfig('openId');
+		$open = xhWxOpenService::getById($id);
+		$appId = $open['appId'];
+		$accessToken = self::getComponentAccessToken($open);
+		$url = "https://api.weixin.qq.com/cgi-bin/component/api_query_auth?component_access_token={$accessToken}";
+		$curl = new curl\Curl();
+		$data = ['authorization_code' => $code, 'component_appid' => $appId];
+		$result = $curl->setOption(CURLOPT_POSTFIELDS, Json::encode($data))->post($url);
+		$result = Json::decode($result);
+		return $result;
+	}
+
+	/**
+	 * 微信开放平台获取授权方的公众号帐号基本信息
+	 */
+	public static function getAuthorizerInfo($authorizerAppId)
+	{
+		$id = configDict::getConfig('openId');
+		$open = xhWxOpenService::getById($id);
+		$appId = $open['appId'];
+		$accessToken = self::getComponentAccessToken($open);
+		$url = "https://api.weixin.qq.com/cgi-bin/component/api_get_authorizer_info?component_access_token={$accessToken}";
+		$curl = new curl\Curl();
+		$data = ['component_appid' => $appId, 'authorizer_appid' => $authorizerAppId];
+		$result = $curl->setOption(CURLOPT_POSTFIELDS, Json::encode($data))->post($url);
+		$result = Json::decode($result);
+		return $result;
+	}
+	
+	
 }
 }