A-A+

PHP微信菜单的创建

2014年08月29日 PHP技术文章 暂无评论 阅读 170 views 次

现在的微信如火如茶,微信上的应用也越来越多,随着越来越大的流量支持,不仅仅是一个简简单单的SNS工具了,更是企业推广的一个好的平台,每天都在抱怨微信上面的广告太多了,其实这就是商家的微信营销了,尤其对于建材等行业影响很深,作为移动端的营销工具,更是不可或缺,现在的建材企业,除了要做好PC端的网页应用外,还要建设微信的微网站,说白了,就是将手机网站嵌入了微信软件中,将其整合到了一起,在微信里可以对其企业进行分享推广。。

关于微信就不说那么多,各位去申请一个微信号,或者直接绑定QQ或手机就可以了,这个很简单的,直接收听个人或企业的公众号就行了,最近也一直在研究微信平台应用的开发,下面是关于研究PHP微信菜单的创建,对于移动互联的开发很有帮助,暂时还用不到,先留下吧。

说明:

1:要开启PHP的CURL,可以查看我之前发的CURL配置

2:菜单的VIEW类型,可以直接用URL地址,但是那样很难在页面里取到用户的OPENID(至少我没成功取出到),所有可以把菜单的地址设置为微信接口地址redirect_uri参数加上自己实际地址的urlencode,这样微信会把CODE传给实际地址,实际地址通过这个CODE再获取OPENID(微信的另个接口) 注意这里需要AUTH网页授权,说白了,要交钱才有这个接口权限

3:菜单更新 - 要取消关注 - 退出微信再打开才能看到

实例源代码如下:

if($_REQUEST['menu'] == 'menu'){
$backurl1 = urlencode("http://wxyx.ustc.edu.cn/view.php?menu=regflow");//regflow
$url1 = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=".common_config::WEIXIN_APPID."&redirect_uri=".$backurl1."&response_type=code&scope=snsapi_base&state=breeze#wechat_redirect";
$backurl2 = urlencode("http://wxyx.ustc.edu.cn/view.php?menu=linkedit");//view.php?menu=getcode
$url2 = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=".common_config::WEIXIN_APPID."&redirect_uri=".$backurl2."&response_type=code&scope=snsapi_base&state=breeze#wechat_redirect";
$backurl3 = urlencode("http://wxyx.ustc.edu.cn/view.php?menu=roomedit");//view.php?menu=getcode
$url3 = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=".common_config::WEIXIN_APPID."&redirect_uri=".$backurl3."&response_type=code&scope=snsapi_base&state=breeze#wechat_redirect";
$backurl4 = urlencode("http://wxyx.ustc.edu.cn/view.php?menu=bindself");//view.php?menu=getcode
$url4 = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=".common_config::WEIXIN_APPID."&redirect_uri=".$backurl4."&response_type=code&scope=snsapi_base&state=breeze#wechat_redirect";
$backurl5 = urlencode("http://wxyx.ustc.edu.cn/view.php?menu=message");//view.php?menu=getcode
$url5 = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=".common_config::WEIXIN_APPID."&redirect_uri=".$backurl5."&response_type=code&scope=snsapi_base&state=breeze#wechat_redirect";
$data = ' {
"button":[
{
"type":"view",
"name":"报道流程",
"url":"'.$url1.'"
},
{
"name":"完善信息",
"sub_button":[
{
"type":"view",
"name":"联系信息",
"url":"'.$url2.'"
},
{
"type":"view",
"name":"申请住宿",
"url":"'.$url3.'"
}
]
},
{
"name":"我",
"sub_button":[
{
"type":"view",
"name":"绑定身份",
"url":"'.$url4.'"
},
{
"type":"view",
"name":"我要咨询",
"url":"'.$url5.'"
}
]
}]
}';
//$data = '{"button":[{"type":"click","name":"今日歌曲","key":"V1001_TODAY_MUSIC"}]}';
$access_token = cls::getAccessToken()->getAccessToken();
$url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$access_token;
$result = common_func::https_request($url, $data);
var_dump($result);
}

public static function https_request($url,$data = null){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
if (!empty($data)){ curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl); curl_close($curl); return $output;
}

标签:

给我留言