get('limit', 20); if($this->isOptimizer()){ $where = [ ['wechat_authorization_infos.user_id','=',$this->getLoginUserId()], ['wechat_authorization_infos.is_enabled','=',1] ]; }elseif($this->isCompanyManager()){ $where = [ ['wechat_authorization_infos.puser_id','=',$this->getLoginUserId()], ['wechat_authorization_infos.is_enabled','=',1] ]; }else{ return []; } $nick_name = $request->get('nick_name'); if($nick_name){ $where[] = ['wechat_authorization_infos.nick_name','like',"%".$nick_name."%"]; } $is_export = $request->get('is_export'); $result = $this->wechatAuthorizationInfo->where($where) ->join('wechat_open_platform_infos','wechat_open_platform_infos.app_id','=','wechat_authorization_infos.component_appid') ->join('miniprogram','wechat_open_platform_infos.xcx_appid','=','miniprogram.appid') ->join('users','users.id','=','wechat_authorization_infos.user_id') ->select('wechat_authorization_infos.nick_name','wechat_authorization_infos.authorizer_appid','miniprogram.name as xcx_name', 'wechat_authorization_infos.authorizer_refresh_token','users.username','wechat_authorization_infos.id' ,'wechat_open_platform_infos.app_id','wechat_open_platform_infos.secret','wechat_open_platform_infos.token','wechat_open_platform_infos.aes_key'); if($is_export){ $result = $result->get(); }else{ $result = $result->paginate($page_size); } foreach($result as $item){ //todo 获取粉丝数 $item->fans_count = 0; $application = WechatOpenPlatformService::buildApplication($item); try{ $officialAccount = $application->officialAccount($item->authorizer_appid,$item->authorizer_refresh_token); $users = $officialAccount->user->list(); // $n $item->fans_count = $users['total']; }catch(Exception $e){ myLog('WechatAuthorizationInfo')->error($e); } unset($item->authorizer_refresh_token); unset($item->secret); unset($item->token); unset($item->aes_key); unset($item->app_id); } return $result; } }