/** * 多公众号托管API * * @param string $appId 微信公众号AppId * * @return string Response消息 */ public function appManager($appId) { if (isset($appId)) { $app = WechatApp::getAppById($appId); if (isset($app)) { $server = new Server($app['app_id'], $app['token'], $app['app_secret']); $result = self::appListenner($server); return $result; } } return null; }
/** * 微信公众号自定义菜单设置 * * @param string $appId 微信公众号应用ID * @param string $openId 用户OpenId * * @return array 用户信息 */ public function createMenu(Request $request) { if ($request->isMethod('post')) { $app = WechatApp::getAppById($request->appId); if (isset($app)) { $menuService = new Menu($app['app_id'], $app['app_secret']); $button = new MenuItem("菜单"); $menus = array(new MenuItem("选项1", 'click', 'V1001_TODAY_MUSIC'), $button->buttons(array(new MenuItem('搜索', 'view', 'http://www.soso.com/'), new MenuItem('视频', 'view', 'http://v.qq.com/'), new MenuItem('赞一下我们', 'click', 'V1001_GOOD')))); try { $menuService->set($menus); // 请求微信服务器 echo '创建菜单成功!'; } catch (\Exception $e) { echo '创建菜单失败:' . $e->getMessage(); } } } }
/** * 设置微信公众号用户备注 * * @param Request $request POST请求 * * @return Response */ public function setRemark(Request $request) { if ($request->isMethod('post')) { $appId = $request->appId; $openId = $request->openId; $remark = $request->remark; $app = WechatApp::getAppById($appId); if (isset($app)) { $userService = new User($app['app_id'], $app['app_secret']); try { if ($userService->remark($openId, $remark)) { return '设置成功'; } } catch (\Exception $e) { echo '获取用户备注失败:' . $e->getMessage(); } } } }
/** * 移动微信公众号用户到指定分组 * * @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(); } } } }