微信开发(二)自定义菜单

概述:

通过get方法调用微信接口,创建菜单,菜单可以响应点击、跳转页面、打开二维码扫描器等。

目前自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单。一级菜单最多4个汉字,二级菜单最多7个汉字,多出来的部分将会以“...”代替。

结果:


步骤:

1. 调用接口获得通讯Token

2. 调用接口创建自定义菜单

3. 响应自定义菜单操作

实现:

1. 调用接口获得通讯Token

首先从公众平台管理后台得到AppID, AppSecret

其次服务器上创建php文件(menu.php),先编写通过CURL提交请求的函数:

//=>封装的https请求函数
function https_request($url, $data = null, $method = 'GET'){
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
	if($method != 'GET'){
		if (!empty($data)){
			curl_setopt($curl, CURLOPT_POST, 1);
			curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
		}
	}
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($curl);
    curl_close($curl);
    return $result;
}
//<=封装的https请求函数

获得Token的代码如下:

//填写自己公众号的appid
$appid="**********";
//填写自己公众号的secret
$secret="******************";
//构造Get请求URL
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$secret}";
//通过CURL提交GET请求
$result = https_request($url);
//解码JSON数据
$strjson=json_decode($result);
//获得Token
$token = $strjson->access_token;

 2. 调用接口创建自定义菜单 

menu.php中加入创建自定义菜单的代码:

//菜单name数组
$menuName = array('百度', '精彩活动', '扫二维码', '问卷调查');
//URL编码,解决中文在进行JSON转码时出现乱码问题
foreach ( $menuName as $key => $value ) {   
	$menuName[$key] = urlencode ( $value );   
}
//菜单数组   
$weixinMenu = array(
	'button' => array(
			array('type' => 'view', 'name' => $menuName[0], 'url' => 'http://www.baidu.com/'),
			array('name' => $menuName[1], 'sub_button' => array(
				array('type' => 'scancode_push', 'name' => $menuName[2], 'key' => 'M2001_SM', 'sub_button' => array()),
				array('type' => 'view', 'name' => $menuName[3], 'url' => 'http://www.sina.com.cn/')
				)
				)
		)
		
);
//对菜单数组JSON编码,并进行URL解码
$weixinMenu = urldecode(json_encode($weixinMenu));
//自定义菜单创建接口
$url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$token;
//通过CURL提交POST请求
$result = https_request($url, $weixinMenu, 'POST');

3. 执行该PHP代码,创建自定义菜单;

我是直接创建在服务器web目录下,因此直接浏览器访问 http://www.**.com/menu.php

可以最后加上echo $result; 看到返回结果:


注:重新关注公众号可以马上看到结果;自定义菜单的其他类别及参数,请参看微信官网-自定义菜单;以及查看官方返回码说明

4. 响应微信菜单操作

关于菜单响应,有篇文章写得很好,程序封装也不错,我就不再赘述。

微信菜单响应教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铭记北宸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值