博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信自定义菜单类简单开发样例
阅读量:6173 次
发布时间:2019-06-21

本文共 2746 字,大约阅读时间需要 9 分钟。

  微信一旦对接了消息回复接口等,菜单就只能自定义开发了。不能在网页设置,那么这里是什么原理呢?

  其实,关于原理,微信很简单,只是提供了一个修改菜单的入口,然后你把你的access_token和菜单设置数据请求一下就设置或更改了。话不多说,这里封装了一个菜单设置类,里面写了三个方法,一个access_token方法、一个postcurl方法还有一个主方法createmenu方法(里面设置菜单数据和请求结果回复操作)。一起来看代码吧!

  

1 
APPID . "&secret=" . $this->APPSECRET;12 $date = $this->postcurl($url);13 $access_token = $date['access_token'];14 return $access_token;15 }16 17 //拼接参数,带着access_token请求创建菜单的接口18 public function createmenu()19 {20 21 $data = '{22 "button":[23 24 {25 "type":"click",26 "name":"免费码获取",27 "key":"freekey"28 },29 30 {31 "name":"休闲时间",32 "sub_button":[33 {34 "type":"view",35 "name":"百度一下",36 "url":"http://www.baidu.com/"37 },38 {39 "type":"view",40 "name":"qq音乐",41 "url":"https://y.qq.com/n/yqq/toplist/4.html"42 },43 {44 "type":"view",45 "name":"腾讯新闻",46 "url":"http://qq.com"47 }]48 },49 50 {51 "name":"生活助手",52 "sub_button":[53 {54 "type":"view",55 "name":"近日天气",56 "url":"http://www.weather.com.cn/"57 },58 {59 "type":"view",60 "name":"百度地图",61 "url":"https://map.baidu.com/"62 },63 {64 "type":"view",65 "name":"360安全卫士",66 "url":"http://360.cn"67 }]68 }69 ]70 }';71 $access_token = $this->index();72 $url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=" . $access_token;73 $result = $this->postcurl($url, $data);74 if($result['errcode']==0&&$result['errmsg']=='ok'){75 echo "恭喜您,菜单创建成功!!".date('Y-m-d H:m:s',time());76 }else{77 echo $result;78 }79 }80 81 //请求接口方法82 function postcurl($url,$data = null)83 {84 $ch = curl_init();85 curl_setopt($ch, CURLOPT_URL, $url);86 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);87 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);88 if (!empty($data)) {89 curl_setopt($ch, CURLOPT_POST, TRUE);90 curl_setopt($ch, CURLOPT_POSTFIELDS, $data);91 }92 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);93 $output = curl_exec($ch);94 curl_close($ch);95 return $output = json_decode($output, true);96 }97 98 }

 

转载于:https://www.cnblogs.com/phper12580/p/9522277.html

你可能感兴趣的文章
网络时常断网的解决办法
查看>>
第八次作业及答案
查看>>
我的友情链接
查看>>
lvs负载均衡群集以及高可用性能
查看>>
Python中的循环退出举例及while循环举例
查看>>
家具定制跟踪管理系统,web开发工具【活字格】助企业一步跨入移动互联时代...
查看>>
linux 日志定时清理脚本
查看>>
java老司机面试题
查看>>
Guice AOP
查看>>
懒汉式单例
查看>>
java递归组装树形结构
查看>>
手把手教你自己写一个模糊搜索的下拉框
查看>>
.Net文档图像处理工具包GdPicture.NET发布v14.0.30,改进PDF/OCR生成速度
查看>>
NetBSD 8.1 RC1 发布
查看>>
Python黑魔法 --- 异步IO( asyncio) 协程
查看>>
[C++]一、关键字与数据结构
查看>>
12个必备的JavaScript装逼技巧
查看>>
域名备案图文教程
查看>>
iOS ScrollView上的view添加悬停效果
查看>>
Spring与MQ整合简单例子
查看>>