/** * Execute the console command. * * @return mixed */ public function handle() { $accountId = $this->argument('account_id'); /* * 1 获取Account */ $account = $this->getAccount($accountId); $fanGroupModel = new FanGroupModel(); /* * 2 初始化 SDK Config, 构建 SDK 对象 */ $groupService = new Group($account->app_id, $account->app_secret); $groups = $groupService->lists(); if ($groups) { $insert = []; $this->output->progressStart(count($groups)); foreach ($groups as $groupKey => $group) { $insert[$groupKey]['group_id'] = $group['id']; $insert[$groupKey]['account_id'] = $account->id; $insert[$groupKey]['title'] = $group['name']; $insert[$groupKey]['fan_count'] = $group['count']; $insert[$groupKey]['is_default'] = in_array($group['name'], ['默认组', '屏蔽组', '星标组']) ? 1 : 0; $this->info("\t{$group['name']} created!"); $this->output->progressAdvance(); } /* * clean */ $fanGroupModel->where('account_id', $account->id)->forceDelete(); $result = $fanGroupModel->insert($insert); } $this->output->progressFinish(); }
/** * Show the application welcome screen to the user. * * @return Response */ public function index() { $appId = config('wechat.app_id'); $secret = config('wechat.secret'); $encoding_key = config('wechat.encoding_key'); //$card = new Card($appId, $secret); // var_dump($card->lists()); //exit; $group = new Group($appId, $secret); var_dump($group->lists()); exit; return view('welcome'); }
/** * 粉丝组删除完成后执行. * * @param \App\Models\FanGroup $fanGroupModel */ public function deleted(FanGroup $fanGroupModel) { /* * 1 线上同步删除, 自带分组不能删 */ if (!$fanGroupModel->is_default) { $this->group->delete($fanGroupModel->group_id); } }
/** * 粉丝更新完成后执行. * * @param \App\Models\Fan $fanModel */ public function updated(Fan $fanModel) { /* * 1 获取更新的属性 */ $updateArr = $fanModel->getDirty(); if (isset($updateArr['group_id'])) { /* * 1 移动用户到指定分组同步到线上 */ $this->group->moveUser($fanModel->openid, $updateArr['group_id']); } if (isset($updateArr['remark'])) { /* * 1 更改的粉丝备注同步到线上 */ $this->user->remark($fanModel->openid, $updateArr['remark']); } }
/** * 移动微信公众号用户到指定分组 * * @param Request $request POST请求 * * @return JSON */ public function moveToGroup(Request $request) { if ($request->isMethod('post')) { $appId = $request->appId; $openId = $request->openId; $groupId = $request->groupId; $app = WechatApp::getAppById($appId); if (isset($app)) { $group = new Group($app['app_id'], $app['app_secret']); try { if ($group->moveUser($openId, $groupId)) { return '移动用户到指定分组成功'; } } catch (\Exception $e) { echo '移动用户到指定分组失败:' . $e->getMessage(); } } } }