首页 > php教程 > php手册 > 正文

【slackck】tp3.2 数据库调用显示微信自定义菜单

php中文网
发布: 2016-06-07 11:36:17
原创
2365人浏览过

测试过了 可以用,虽然只做了一个view的类型,其他类型大家可以自己加个判断,这边就是做个参考案例,所以还有些判断流程没时间加进去

数据表上传了,只供学习,后面更新的正式完整版会放在【slackck】后台系统中,整站源码可进QQ群:457295993 群文件中下载
【slackck】tp3.2 数据库调用显示微信自定义菜单

代码如下:


/*
* 生成自定义菜单
*/

public function we_menu_make(){
$we=M('sys')->where(array('sys_id'=>1))->find();//读取微信配置参数
$url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$we["wesys_appid"]."&secret=".$we["wesys_appsecret"]."";
$ch=curl_init();//初始化
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$output=curl_exec($ch);
curl_close($ch);
$jsoninfo=json_decode($output,true);
$access_token=$jsoninfo['access_token'];
/*
* 菜单处理开始
* 只取3条leftid=0的数据
*/
$we_menu=M('we_menu')->where(array('we_menu_leftid'=>0,'we_menu_open'=>1))->order('we_menu_order')->limit(3)->select();
/*
* 菜单数据重组
* 重组结构参考微信公共平台开发文档
* name 菜单名称
* type 菜单类型
* url 链接地址:针对view类型
*/
$data = '{"button":[';//菜单头
foreach($we_menu as $v){
$data.='{"name":"'.$v['we_menu_name'].'",';//菜单名称

$count=M('we_menu')->where(array('we_menu_leftid'=>$v['we_menu_id'],'we_menu_open'=>1))->limit(5)->order('we_menu_order')->count();//判断是否有子栏目
if($count){//二级栏目
$data.='"sub_button":[';
$we_twomenu=M('we_menu')->where(array('we_menu_leftid'=>$v['we_menu_id'],'we_menu_open'=>1))->order('we_menu_order')->limit(5)->select();
$k=0;
foreach($we_twomenu as $t){
$k=$k+1;
$data.='{"name":"'.$t['we_menu_name'].'",';
$data.='"type":"view",';
$data.='"url":"http://www.baidu.com"';
if ($k==$count){
$data.= '}';
}else{
$data.= '},';
}
}
$data.= ']},';
}else{
$data.='"type":"view",';
$data.='"url":"http://www.baidu.com"';
}
}
$data.= '},]';
$data.= '}';

$url="https://api.weixin.qq.com/cgi-bin/menu/create?access_token=$access_token";
$ch=curl_init();//初始化
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);
$this->success('菜单生成成功',U('we_menu'),1);
curl_exec($ch);
curl_close($ch);
return $access_token;
}

附件 mr_we_menu.rar ( 911 B 下载:66 次 )

AD:真正免费,域名+虚机+企业邮箱=0元

微信app下载
微信app下载

微信是一款手机通信软件,支持通过手机网络发送语音短信、视频、图片和文字。微信可以单聊及群聊,还能根据地理位置找到附近的人,带给大家全新的移动沟通体验,有需要的小伙伴快来保存下载体验吧!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号