微信公众平台如何创建自定义菜单(二)

上一篇降到如何使用微信接口在线测试工具生成菜单,本篇讲述如何使用代码生成菜单。原理很简单,只要获取了access_token(可以在在线工具获取,后续会讲述如何使用代码获取并存储access_token),然后将菜单编辑成json形式的字符串,使用post方法发送给接口的URL就行了。本代码由于为了方便展示,只进行初步函数封装,后续会把这些接口封装成类方便调用。
setmenu.php代码如下

//post请求方法
function request_post($url,$data){
        $ch = curl_init();
        $opts = array(
            CURLOPT_SSL_VERIFYPEER => false,
            CURLOPT_SSL_VERIFYHOST => false,
            CURLOPT_TIMEOUT        => 30,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_URL            => $url,
            CURLOPT_POST           => true,
            CURLOPT_POSTFIELDS     => $data
        );
        curl_setopt_array($ch,$opts);
        $output =    curl_exec($ch);
        if(curl_errno($ch)){
            var_dump(curl_error($ch));
            die;
        }
        curl_close($ch);
        $result = json_decode($output,true);
        return $result;
}


//设置菜单方法,$menu参数为json字符串
function set_menu($access_token,$menu){
        $url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=$access_token";
        $result = request_post($url,$menu);
        return $result;
}
$access_token = 'your access_token';
$menu = '{
    "button": [
        {
            "name": "关于我们", 
            "sub_button": [
                {
                    "type": "click", 
                    "name": "走进田园", 
                    "key": "走进田园"
                }, 
                {
                    "type": "click", 
                    "name": "主营项目", 
                    "key": "主营项目"
                }, 
                {
                    "type": "view", 
                    "name": "地图定位", 
                    "url": "http://www.baidu.com"
                }
            ]
        }, 
        {
            "name": "好货商城", 
            "sub_button": [
                {
                    "type": "click", 
                    "name": "好货商城", 
                    "key": "好货商城"
                }, 
                {
                    "type": "click", 
                    "name": "会员中心", 
                    "key": "会员中心"
                }, 
                {
                    "type": "click", 
                    "name": "会员招募", 
                    "key": "会员招募"
                }
            ]
        }, 
        {
            "name": "活动定制", 
            "sub_button": [
                {
                    "type": "click", 
                    "name": "活动定制", 
                    "key": "活动定制"
                }, 
                {
                    "type": "click", 
                    "name": "惊喜预告", 
                    "key": "惊喜预告"
                }, 
                {
                    "type": "click", 
                    "name": "预约观光", 
                    "key": "预约观光"
                }
            ]
        }
    ]
}';
set_menu($access_token,$menu);//设置菜单

//

最后访问一下setmenu.php就可以生成自定义菜单了

猜你喜欢

转载自blog.csdn.net/qq_29729735/article/details/79126954