Пример #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('菜单设置成功!');
 }
Пример #2
0
 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', '您已成功设置菜单,请取消关注后,再重新关注~');
 }
Пример #3
0
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     $baseUrl = $this->ask('请输入微信菜单的Base url:');
     $button = new MenuItem("会员服务");
     $menus = array(new MenuItem("预约课程", 'view', $baseUrl . '/stores'), $button->buttons(array(new MenuItem('我的预约', 'view', $baseUrl . '/members/reserve'), new MenuItem('会员中心', 'view', $baseUrl . '/members'))));
     try {
         $this->menuService->set($menus);
         // 请求微信服务器
         $this->info('微信菜单设置成功');
     } catch (\Exception $e) {
         $this->error('微信菜单设置失败!' . $e->getMessage());
     }
 }
Пример #4
0
 function create_f()
 {
     $button1 = new MenuItem("房观察");
     $button2 = new MenuItem("拓居会");
     $button3 = new MenuItem("拓居经纪");
     $menus = array($button1->buttons(array(new MenuItem('房市道', 'view', 'http://tuojuhui.echenxin.com/index.php?c=list&cid=5'), new MenuItem('战略咨策', 'view', 'http://tuojuhui.echenxin.com/index.php?c=list&cid=6'), new MenuItem('房财金', 'view', 'http://tuojuhui.echenxin.com/index.php?c=list&cid=7'), new MenuItem('建筑装潢', 'view', 'http://tuojuhui.echenxin.com/index.php?c=list&cid=8'), new MenuItem('房业服务', 'view', 'http://tuojuhui.echenxin.com/index.php?c=list&cid=9'))), $button2->buttons(array(new MenuItem('中国房投', 'view', 'http://tuojuhui.echenxin.com/index.php?c=list&cid=10'), new MenuItem('海外房投', 'view', 'http://tuojuhui.echenxin.com/index.php?c=list&cid=12'), new MenuItem('会员活动', 'view', 'http://tuojuhui.echenxin.com/index.php?c=list&cid=11'), new MenuItem('看房服务', 'view', 'http://tuojuhui.echenxin.com/index.php?c=list&cid=14'))), $button3->buttons(array(new MenuItem('拓居介绍', 'view', 'http://tuojuhui.echenxin.com/index.php?c=list&cid=13'), new MenuItem('我要推荐', 'view', 'http://tuojuhui.echenxin.com/index.php?c=home&f=index'), new MenuItem('经纪会员入口', 'view', 'http://tuojuhui.echenxin.com/index.php?c=login&'))));
     try {
         $this->_M->set($menus);
         // 请求微信服务器
         echo '设置成功!';
     } catch (\Exception $e) {
         echo '设置失败:' . $e->getMessage();
     }
 }
Пример #5
0
 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());
     }
 }
Пример #7
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();
             }
         }
     }
 }
Пример #8
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('菜单设置成功!');
 }
Пример #9
0
 /**
  * 格式化为微信菜单.
  *
  * @param array $menus 菜单
  */
 private function formatToWechat($menus)
 {
     $saveMenus = [];
     foreach ($menus as $menu) {
         if (isset($menu['sub_button'])) {
             $menuItem = new MenuItem($menu['name']);
             $subButtons = [];
             foreach ($menu['sub_button'] as $subMenu) {
                 $subButtons[] = new MenuItem($subMenu['name'], $subMenu['type'], $subMenu['key']);
             }
             $menuItem->buttons($subButtons);
             $saveMenus[] = $menuItem;
         } else {
             $saveMenus[] = new MenuItem($menu['name'], $menu['type'], $menu['key']);
         }
     }
     return $saveMenus;
 }
Пример #10
0
 public function updateMenu()
 {
     //        $this->show(json_encode(self::$_menus_conf));
     //        exit;
     $target = [];
     foreach ($this->_menus_conf as $menu) {
         if (isset($menu['buttons'])) {
             // 子菜单
             $item = new MenuItem($menu['name']);
             $buttons = [];
             foreach ($menu['buttons'] as $button) {
                 $buttons[] = new MenuItem($button['name'], $button['type'], $button['key']);
             }
             $item->buttons($buttons);
         } else {
             // 创建一个菜单项
             $item = new MenuItem($menu['name'], $menu['type'], $menu['key']);
         }
         array_push($target, $item);
     }
     $this->_menu()->set($target);
     // 失败会抛出异常
     $this->show('更新菜单成功');
 }
Пример #11
0
 public function setMenu(Menu $menu)
 {
     $button = new MenuItem("我的家电");
     $menus = array($button->buttons(array(new MenuItem('设备列表', 'view', 'http://w.webbig.cn/device'), new MenuItem('添加设备', 'view', 'http://w.webbig.cn/device/addStep1'))), new MenuItem("产品服务", 'click', 'a'), new MenuItem("合作案例", 'click', 'b'));
     try {
         $menu->set($menus);
         // 请求微信服务器
         echo '设置成功!';
     } catch (\Exception $e) {
         echo '设置失败:' . $e->getMessage();
     }
     return '菜单设置成功!';
 }