PHP实现微信公众号企业号自定义菜单接口示例

所属分类: 网络编程 / PHP编程 阅读数: 1719
收藏 0 赞 0 分享

本文实例讲述了PHP实现微信公众号企业号自定义菜单接口。分享给大家供大家参考,具体如下:

define(AppId, "wx666cae44xxxxxx2");//定义AppId,需要在微信公众平台申请自定义菜单后会得到
define(AppSecret, "d77026a714d443a01d0229xxxxxxxx");//定义AppSecret,需要在微信公众平台申请自定义菜单后会得到
include("menu.php");//引入微信类
$wechatObj = new Wechat();//实例化微信类
$creatMenu = $wechatObj->creatMenu();//创建菜单

微信类(menu.php)代码

<?
class Wechat
{
 private function getAccessToken() //获取access_token
 {
 $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".AppId."&secret=".AppSecret;
 $data = getCurl($url);//通过自定义函数getCurl得到https的内容
 $resultArr = json_decode($data, true);//转为数组
 return $resultArr["access_token"];//获取access_token
 }
 public function creatMenu()//创建菜单
 {
 $accessToken = $this->getAccessToken();//获取access_token
 $menuPostString = '{//构造POST给微信服务器的菜单结构体
 "button":[
   {
      "name":"产品介绍",
      "sub_button":[
      {
        "type":"view",
        "name":"分销A型",
        "url":"http://www.yourwebname.com/fenxiao/jianjie/soft.html"
      },
      {
        "type":"view",
        "name":"分销B型",
        "url":"http://www.yourwebname.com/fenxiaob/jianjie/soft.html"
      },{
        "type":"view",
        "name":"地接批发",
        "url":"http://www.yourwebname.com/dijie/jianjie/soft.html"
      },{
        "type":"view",
        "name":"精简组团",
        "url":"http://www.yourwebname.com/zutuan/jianjie/soft.html"
      },{
        "type":"view",
        "name":"直客网站",
        "url":"http://www.yourwebname.com/tripal/jianjie/soft.html"
      }]
    },
   {
      "name":"申请试用",
      "sub_button":[
      {
        "type":"click",
        "name":"分销A型",
        "key":"fxa"
      },
      {
        "type":"click",
        "name":"分销B型",
        "key":"fxb"
      },
      {
        "type":"click",
        "name":"地接批发",
        "key":"dj"
      },
      {
        "type":"click",
        "name":"精简组团",
        "key":"zutuan"
      },
      {
        "type":"click",
        "name":"直客网站",
        "key":"zhike"
      }
      ]
    },
      {
      "name":"博纵在线",
      "sub_button":[
      {
        "type":"view",
        "name":"企业介绍",
        "url":"http://www.yourwebname.com/about.html"
      },
      {
        "type":"view",
        "name":"公司新闻",
        "url":"http://www.yourwebname.com/news/company/"
      },
      {
        "type":"view",
        "name":"联系我们",
        "url":"http://www.yourwebname.com/contact.html"
      }
      ]
    }
    ]
 }';
 $menuPostUrl = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$accessToken;//POST的url
 $menu = dataPost($menuPostString, $menuPostUrl);//将菜单结构体POST给微信服务器
 }
}
function getCurl($url){//get https的内容
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL,$url);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//不输出内容
 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
 $result = curl_exec($ch);
 curl_close ($ch);
 return $result;
}
function dataPost($post_string, $url) {//POST方式提交数据
 $context = array ('http' => array ('method' => "POST", 'header' => "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) \r\n Accept: */*", 'content' => $post_string ) );
 $stream_context = stream_context_create ( $context );
 $data = file_get_contents ( $url, FALSE, $stream_context );
 return $data;
}
?>

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP微信开发技巧汇总》、《PHP编码与转码操作技巧汇总》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《PHP中json格式数据操作技巧汇总》及《PHP针对XML文件操作技巧总结

希望本文所述对大家PHP程序设计有所帮助。

更多精彩内容其他人还在看

TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例

这篇文章主要介绍了TP5(thinkPHP5)框架基于ajax与后台数据交互操作,结合实例形式分析了thinkPHP5前端基于jQuery的ajax数据提交及后台数据接收、处理相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

PHP利用Mysql锁解决高并发的方法

这篇文章主要介绍了PHP利用Mysql锁解决高并发的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

php 后端实现JWT认证方法示例

这篇文章主要介绍了php 后端实现JWT认证方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

ThinkPHP框架实现定时执行任务的两种方法分析

这篇文章主要介绍了ThinkPHP框架实现定时执行任务的两种方法,结合实例形式分析了2种被动执行定时任务的相关操作技巧与注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

PHP命名空间与自动加载类详解

这篇文章主要介绍了PHP命名空间与自动加载类,结合实例形式详细分析了php自动加载类与命名空间原理、使用方法及相关操作注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

PHP时间处理类操作示例

这篇文章主要介绍了PHP时间处理类,结合实例形式分析了DateTime、DateTimeZone、DateInterval及DatePeriod等常用日期时间处理类简单操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

利用PHP扩展Xhprof分析项目性能实践教程

XHProf是Facebook开发的性能调试工具,能帮助直观的统计显示PHP程序执行中各方法函数调用次数和消耗时间,以方便我们排查性能瓶颈并进行调优。下面这篇文章主要给大家介绍了关于利用PHP扩展Xhprof分析项目性能实践的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Django 标签筛选的实现代码(一对多、多对多)

这篇文章主要介绍了Django 标签筛选的实现代码(一对多、多对多),本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

PHP使用pdo实现事务处理操作示例

这篇文章主要介绍了PHP使用pdo实现事务处理操作,结合实例形式较为详细的分析了php基于pdo实现事务处理的相关原理与操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

thinkPHP框架实现类似java过滤器的简单方法示例

这篇文章主要介绍了thinkPHP框架实现类似java过滤器的简单方法,结合实例形式分析了thinkPHP基于继承实现的登录验证功能相关操作方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多