Beispiel #1
0
 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', '您已成功设置菜单,请取消关注后,再重新关注~');
 }
Beispiel #3
0
 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());
     }
 }
Beispiel #6
0
 /**
  * 微信公众号自定义菜单设置
  *
  * @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();
             }
         }
     }
 }
Beispiel #7
0
 /**
  * 设置菜单
  *
  * @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('菜单设置成功!');
 }
Beispiel #8
0
 /**
  * @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);
 }