|
@@ -19,43 +19,15 @@ class WechatOpenPlatformController extends CatchController
|
|
|
public function preauth(Request $request) {
|
|
|
$currentUser = $this->getCurrentUser();
|
|
|
$componentInfo = WechatOpenPlatformService::getComponentInfoByCompanyUid($currentUser->pid);
|
|
|
- if(!$componentInfo) {
|
|
|
- CommonBusinessException::throwError(Errors::OPENPLATFORM_COMPANY_INFO_NOT_EXISTS);
|
|
|
- }
|
|
|
- $config = [
|
|
|
- 'app_id' => $componentInfo->app_id, // 开放平台账号的 appid
|
|
|
- 'secret' => $componentInfo->secret, // 开放平台账号的 secret
|
|
|
- 'token' => $componentInfo->token, // 开放平台账号的 token
|
|
|
- 'aes_key' => $componentInfo->aes_key, // 明文模式请勿填写 EncodingAESKey
|
|
|
- 'http' => [
|
|
|
- 'throw' => true, // 状态码非 200、300 时是否抛出异常,默认为开启
|
|
|
- 'timeout' => 5.0,
|
|
|
- 'retry' => true, // 使用默认重试配置
|
|
|
- ],
|
|
|
- ];
|
|
|
- $app = new Application($config);
|
|
|
+ $app = WechatOpenPlatformService::buildApplication($componentInfo);
|
|
|
$url = $app->createPreAuthorizationUrl(url('/api/channel/openPlatform/auth/'.$componentInfo->app_id), []);
|
|
|
return $url;
|
|
|
}
|
|
|
|
|
|
public function auth(Request $request, $component_appid) {
|
|
|
$auth_code = $request->input('auth_code');
|
|
|
- $componentInfo = WechatOpenPlatformService::getComponentInfoByCompanyUid($component_appid);
|
|
|
- if(!$componentInfo) {
|
|
|
- CommonBusinessException::throwError(Errors::OPENPLATFORM_COMPANY_INFO_NOT_EXISTS);
|
|
|
- }
|
|
|
- $config = [
|
|
|
- 'app_id' => $componentInfo->app_id, // 开放平台账号的 appid
|
|
|
- 'secret' => $componentInfo->secret, // 开放平台账号的 secret
|
|
|
- 'token' => $componentInfo->token, // 开放平台账号的 token
|
|
|
- 'aes_key' => $componentInfo->aes_key, // 明文模式请勿填写 EncodingAESKey
|
|
|
- 'http' => [
|
|
|
- 'throw' => true, // 状态码非 200、300 时是否抛出异常,默认为开启
|
|
|
- 'timeout' => 5.0,
|
|
|
- 'retry' => true, // 使用默认重试配置
|
|
|
- ],
|
|
|
- ];
|
|
|
- $app = new Application($config);
|
|
|
+ $componentInfo = WechatOpenPlatformService::getComponentInfoByAppid($component_appid);
|
|
|
+ $app = WechatOpenPlatformService::buildApplication($componentInfo);
|
|
|
$client = $app->getClient();
|
|
|
$response = $client->post('/cgi-bin/component/api_query_auth', [
|
|
|
'component_appid' => $component_appid,
|
|
@@ -75,4 +47,32 @@ class WechatOpenPlatformController extends CatchController
|
|
|
|
|
|
return view('wechat.openPlatform.authSuccess')->with('url', url('/'));
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 处理授权事件
|
|
|
+ * @param Request $request
|
|
|
+ * @param $component_appid
|
|
|
+ */
|
|
|
+ public function authorCommand(Request $request, $component_appid) {
|
|
|
+ $componentInfo = WechatOpenPlatformService::getComponentInfoByAppid($component_appid);
|
|
|
+ $app = WechatOpenPlatformService::buildApplication($componentInfo);
|
|
|
+ $server = $app->getServer();
|
|
|
+
|
|
|
+ $server->handleAuthorized(function($message, \Closure $next) {
|
|
|
+ myLog('authorCommand')->info('handleAuthorized', ['message' => $message]);
|
|
|
+ return $next($message);
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ return $server->serve();
|
|
|
+ }
|
|
|
+
|
|
|
+ public function infoCommand(Request $request, $authorizer_appid, $component_appid) {
|
|
|
+ $componentInfo = WechatOpenPlatformService::getComponentInfoByAppid($component_appid);
|
|
|
+ $app = WechatOpenPlatformService::buildApplication($componentInfo);
|
|
|
+
|
|
|
+ $server = $app->getServer();
|
|
|
+
|
|
|
+ return $server->serve();
|
|
|
+ }
|
|
|
}
|