public function setWechatMenu() { $menuObj = new Menu($this->appId, $this->secret); // menus 是你自己后台管理中心表单post过来的一个数组 $menus = [["name" => "博客", "type" => 'view', "key" => 'http://120.24.48.77/'], ["name" => "更多", "type" => null, "key" => null, "buttons" => [["name" => "GitHub", "type" => "view", "key" => "https://github.com/Vzina"], ["name" => "微博", "type" => "view", "key" => "http://weibo.com/vzian"]]]]; $target = []; // 构建你的菜单 foreach ($menus as $menu) { // 创建一个菜单项 $item = new MenuItem($menu['name'], $menu['type'], $menu['key']); // 子菜单 if (!empty($menu['buttons'])) { $buttons = []; foreach ($menu['buttons'] as $button) { $buttons[] = new MenuItem($button['name'], $button['type'], $button['key']); } $item->buttons($buttons); } $target[] = $item; } $menuObj->set($target); // 失败会抛出异常 // Log::info($menuObj->get()); // return Redirect::back()->withMessage('菜单设置成功!'); }
public function set_menu(Request $request) { // $menus = $request->menus; // dd( $menus[0]); $menu = new Menu($this->app_id, $this->secret); $menus = $request->menus; // menus 是你自己后台管理中心表单post过来的一个数组 $target = []; // 构建你的菜单 foreach ($menus as $m) { // 创建一个菜单项 $item = new MenuItem($m['name'], $m['type'], $m['key']); // 子菜单 if (!empty($m['buttons'])) { $buttons = []; foreach ($m['buttons'] as $button) { if ($button['name'] != '') { $buttons[] = new MenuItem($button['name'], $button['type'], $button['key']); } } $item->buttons($buttons); } $target[] = $item; } // dd($target); $menu->set($target); // 失败会抛出异常 Cache::forget('wyshop_admin_wechat_menus'); return back()->with('info', '您已成功设置菜单,请取消关注后,再重新关注~'); }
public function createMenu($menus) { $menuService = new Menu($this->_appId, $this->_secret); try { $menuService->set($menus); // 请求微信服务器 echo '设置成功!'; } catch (\Exception $e) { echo '设置失败:' . $e->getMessage(); } }
public function menu() { $menu = new Menu('wx8e883164d9342b1f', 'e73145bd0fdef28ea54b0b3608061c33'); $m = $menu->get(); var_dump($m); exit; $button = new MenuItem("菜单"); $menus = array(new MenuItem("今日歌曲", '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 { $menu->set($menus); // 请求微信服务器 echo '设置成功!'; } catch (\Exception $e) { echo '设置失败:' . $e->getMessage(); } }
private function initialMenu($appId, $secret, $agentId) { //Logger::info('FunnyGuessServer', 'initializing menu ...'); $menuService = new Menu($appId, $secret, $agentId); $roomButton = new MenuItem('游戏房间'); $hostButton = new MenuItem('主持人'); $aboutButton = new MenuItem('关于'); $menus = array($roomButton->buttons(array(new MenuItem('创建房间', 'click', 'CREATE_ROOM'), new MenuItem('加入房间', 'click', 'JOIN_ROOM'), new MenuItem('离开房间', 'click', 'LEAVE_ROOM'))), $hostButton->buttons(array(new MenuItem('再来一词', 'click', 'NEW_WORD'), new MenuItem('提示一下', 'click', 'TIPS'), new MenuItem('申请主持', 'click', 'APPLY_HOST'))), $aboutButton->buttons(array(new MenuItem('游戏规则', 'click', 'RULES')))); try { //Logger::info('FunnyGuessServer', 'try to set menu ...'); $menuService->set($menus); //Logger::info('FunnyGuessServer', 'success to set menu!'); } catch (\Exception $e) { Logger::info('FunnyGuessServer', 'fail to set menu:' . $e->getMessage()); } }
/** * 微信公众号自定义菜单设置 * * @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 Menu $menuService * @return mixed * @throws \Overtrue\Wechat\Exception */ public function sendItemAction(Menu $menuService) { $menus = [["name" => "学无止境", "type" => "click", "key" => "学无止境"], ["name" => "慢生活", "type" => "click", "key" => "慢生活"], ["name" => "其他", "type" => null, "key" => null, "buttons" => [["name" => "GitHub", "type" => "view", "key" => "https://github.com/icowan"], ["name" => "博客", "type" => "view", "key" => "http://lattecake.com"]]]]; $target = []; /** @var $menu */ foreach ($menus as $menu) { // 创建一个菜单项 $item = new MenuItem($menu['name'], $menu['type'], $menu['key']); // 子菜单 if (!empty($menu['buttons'])) { $buttons = []; foreach ($menu['buttons'] as $button) { $buttons[] = new MenuItem($button['name'], $button['type'], $button['key']); } $item->buttons($buttons); } $target[] = $item; } $menuService->set($target); // 失败会抛出异常 return Redirect::back()->withMessage('菜单设置成功!'); }
/** * @return boolean */ public function generateMenu() { $menuService = new Menu($this->_appId, $this->_secret); $menus = $this->generateMenuItems(); try { $menuService->set($menus); return true; } catch (\Exception $e) { return false; } }
public function getMenu(Menu $menu) { $result = $menu->get(); var_dump($result); }