WechatOpApisController.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. namespace App\Http\Controllers\Wechat\Api;
  3. use App\Http\Controllers\WechatOpController;
  4. use Illuminate\Http\Request;
  5. use Illuminate\Http\Response;
  6. use EasyWeChat\Foundation\Application;
  7. use WechatOP;
  8. use GuzzleHttp\Client;
  9. use EasyWeChat\OpenPlatform\Api\BaseApi;
  10. /**
  11. * 三方相关api接口
  12. * @author zhoulingjie
  13. *
  14. */
  15. class WechatOpApisController extends WechatOpController
  16. {
  17. public function __construct(Request $request)
  18. {
  19. parent::__construct();
  20. }
  21. /**
  22. * 获取三方平台绑定的公众号列表
  23. * @param Request $request
  24. *
  25. http://zydy/api/get_authorizer_list?component_appid=wxceb2aacdce248393&component_access_token=17_hTuiGp6BoLl3OuC8qtJHocQOM2UjClJFnp-htHjKcXmTxNsl06M2c7SG7cJHWOgYwxPgfpeRIA-302-Rl_TxdV2X4YcDHKXbT-6Qk7oUlaGrF7e3TWxZgsT1p39XYUUWXfXUob7rIS6qjayrQTYhADAKNS
  26. */
  27. function get_authorizer_list(Request $request){
  28. $result = array('code'=>1,'msg'=>'','data'=>'');
  29. $component_appid = $request->get('component_appid');
  30. $component_access_token = $request->get('component_access_token');
  31. v('get_authorizer_list_start,component_appid:'.$component_appid.' $component_access_token:'.$component_access_token);
  32. if(empty($component_appid)){
  33. $result['code'] = 0;
  34. $result['msg'] = 'invalid param';
  35. json_echo($result);
  36. }
  37. $check_result = $this->check_sign_params($request);
  38. if($check_result['code'] == 0){
  39. $result['code'] = 0;
  40. $result['msg'] = $check_result['msg'];
  41. // json_echo($result);
  42. }
  43. // $authorizer_list = $this->openPlatform->getAuthorizerInfo('wxceb2aacdce248393');
  44. $authors = [];
  45. for($i=1;$i<4;$i++){
  46. $client = new Client();
  47. $form_params = [
  48. "component_appid"=>$component_appid,
  49. "count"=>500,
  50. "offset"=>($i-1)*500,
  51. ];
  52. v($form_params);
  53. $authorizer_list = $client->request("post","https://api.weixin.qq.com/cgi-bin/component/api_get_authorizer_list?component_access_token=".$component_access_token,
  54. ['json'=>$form_params,'connect_timeout' => 3]
  55. )->getBody()->getContents();
  56. $authorizer_list = json_decode($authorizer_list,true);
  57. v('$authorizer_list:'.$i);v($authorizer_list);
  58. if(!empty($authorizer_list['list'])){
  59. foreach($authorizer_list['list'] as $authorizer){
  60. $authors[] = $authorizer['authorizer_appid'];
  61. }
  62. }
  63. }
  64. $result['data'] = $authors;
  65. json_echo($result);
  66. }
  67. }