添加菜单,一级菜单最多3个,每个一级菜单最多可以有5个二级菜单
public static setMenu ( $menuList ) : boolean | ||
$menuList | array( array('id'=>'', 'pid'=>'', 'name'=>'', 'type'=>'', 'code'=>''), array('id'=>'', 'pid'=>'', 'name'=>'', 'type'=>'', 'code'=>''), array('id'=>'', 'pid'=>'', 'name'=>'', 'type'=>'', 'code'=>''), ); 'code'是view类型的URL或者其他类型的key 'type'是菜单类型,如下: 1、click:点击推事件,用户点击click类型按钮后,微信服务器会通过消息接口推送消息类型为event的结构给开发者(参考消息接口指南),并且带上按钮中开发者填写的key值,开发者可以通过自定义的key值与用户进行交互; 2、view:跳转URL,用户点击view类型按钮后,微信客户端将会打开开发者在按钮中填写的网页URL,可与网页授权获取用户基本信息接口结合,获得用户基本信息。 3、scancode_push:扫码推事件,用户点击按钮后,微信客户端将调起扫一扫工具,完成扫码操作后显示扫描结果(如果是URL,将进入URL),且会将扫码的结果传给开发者,开发者可以下发消息。 4、scancode_waitmsg:扫码推事件且弹出“消息接收中”提示框,用户点击按钮后,微信客户端将调起扫一扫工具,完成扫码操作后,将扫码的结果传给开发者,同时收起扫一扫工具,然后弹出“消息接收中”提示框,随后可能会收到开发者下发的消息。 5、pic_sysphoto:弹出系统拍照发图,用户点击按钮后,微信客户端将调起系统相机,完成拍照操作后,会将拍摄的相片发送给开发者,并推送事件给开发者,同时收起系统相机,随后可能会收到开发者下发的消息。 6、pic_photo_or_album:弹出拍照或者相册发图,用户点击按钮后,微信客户端将弹出选择器供用户选择“拍照”或者“从手机相册选择”。用户选择后即走其他两种流程。 7、pic_weixin:弹出微信相册发图器,用户点击按钮后,微信客户端将调起微信相册,完成选择操作后,将选择的相片发送给开发者的服务器,并推送事件给开发者,同时收起相册,随后可能会收到开发者下发的消息。 8、location_select:弹出地理位置选择器,用户点击按钮后,微信客户端将调起地理位置选择工具,完成选择操作后,将选择的地理位置发送给开发者的服务器,同时收起位置选择工具,随后可能会收到开发者下发的消息。 | |
Результат | boolean |
* 公众号可通过下述接口来获取网页授权access_token。 * 如果网页授权的作用域为snsapi_base,则本步骤中获取到网页授权access_token的同时,也获取到了openid,snsapi_base式的网页授权流程即到此为止。 * @param $code getCode()获取的code参数 */ $code = $_GET['code']; \LaneWeChat\Core\WeChatOAuth::getAccessTokenAndOpenId($code); //上传多媒体 \LaneWeChat\Core\Media::upload($filename, $type); //下载多媒体 \LaneWeChat\Core\Media::download($mediaId); /** * 自定义菜单 */ //设置菜单 $menuList = array(array('id' => '1', 'pid' => '', 'name' => '常规', 'type' => '', 'code' => 'key_1'), array('id' => '2', 'pid' => '1', 'name' => '点击', 'type' => 'click', 'code' => 'key_2'), array('id' => '3', 'pid' => '1', 'name' => '浏览', 'type' => 'view', 'code' => 'http://www.lanecn.com'), array('id' => '4', 'pid' => '', 'name' => '扫码', 'type' => '', 'code' => 'key_4'), array('id' => '5', 'pid' => '4', 'name' => '扫码带提示', 'type' => 'scancode_waitmsg', 'code' => 'key_5'), array('id' => '6', 'pid' => '4', 'name' => '扫码推事件', 'type' => 'scancode_push', 'code' => 'key_6'), array('id' => '7', 'pid' => '', 'name' => '发图', 'type' => '', 'code' => 'key_7'), array('id' => '8', 'pid' => '7', 'name' => '系统拍照发图', 'type' => 'pic_sysphoto', 'code' => 'key_8'), array('id' => '9', 'pid' => '7', 'name' => '拍照或者相册发图', 'type' => 'pic_photo_or_album', 'code' => 'key_9'), array('id' => '10', 'pid' => '7', 'name' => '微信相册发图', 'type' => 'pic_weixin', 'code' => 'key_10'), array('id' => '11', 'pid' => '1', 'name' => '发送位置', 'type' => 'location_select', 'code' => 'key_11')); \LaneWeChat\Core\Menu::setMenu($menuList); //获取菜单 \LaneWeChat\Core\Menu::getMenu(); //删除菜单 \LaneWeChat\Core\Menu::delMenu(); /** * 应用一:给粉丝群发发送消息 */ //群发消息 //获取粉丝列表 $fansList = \LaneWeChat\Core\UserManage::getFansList(); //上传图片 $menuId = \LaneWeChat\Core\Media::upload('/var/www/baidu_jgylogo3.jpg', 'image'); if (empty($menuId['media_id'])) { die('error'); }
/** * 同步到微信 */ public function sync_wx() { $list = MenuModel::instance()->getMenuList(); if (count($list)) { $data = $this->menulist($list); $rel = Menu::setMenu($data); if ($rel === true) { $this->ajaxSuccess('同步成功'); } else { $this->ajaxError($rel['errcode'] . $rel['errmsg']); } } $this->ajaxError('操作失败'); }