侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

微信公众号开发

php  /  管理员 发布于 5年前   516
1:准备工作 公众号 开发模式
2:
include("weixin.php");
require_once 'hyphp/config.ini.php';//调用自定义配置文件
define("ACCOUNT", "");//微信公众平台的用户名
define("PASSWORD", "");//微信公众平台的密码
define("TOKEN", "");//开发模式的TOKEN码
define('DEBUG', true);//是否开启调试模式
$param = array('username'=>'微信公众平台的用户名', 'pwd'=>'微信公众平台的密码');
$weixin = new Weixin(TOKEN,DEBUG);
if($weixin->login($param)){
  你可以猥琐欲为了,哈哈哈哈
}
else{
  配置信息不对,别想模拟登录
}

如果你需要自定义菜单,就生成吧,我写在这里做了注释,因为一般只需要生成一次即可,除非你老是修改菜单,生成后,不会立即显示,因为有24小时的缓存,除非你取消关注,然后重新关注即可!
/*生成自定义菜单开始*/
    /*$xjson = '{ 
     "button":[
         {
               "name":"篮球",
               "sub_button":[
                    {
                       "type":"click",
                       "name":"nba",
                       "key":"V1001_NBA"
                    },
                    {
                       "type":"click",
                       "name":"cba",
                       "key":"V1001_CBA"
                    }
                ]
           },
           {
               "name":"体育",
               "sub_button":[
                    {
                       "type":"click",
                       "name":"足球",
                       "key":"V1001_ZUQIU"
                    },
                    {
                       "type":"click",
                       "name":"排球",
                       "key":"V1001_PAIQIU"
                    },
                    {
                       "type":"click",
                       "name":"网球",
                       "key":"V1001_WANGQIU"
                    },
                    {
                       "type":"click",
                       "name":"乒乓球",
                       "key":"V1001_PPQ"
                    },
                    {
                       "type":"click",
                       "name":"台球",
                       "key":"V1001_TAIQIU"
                    }
                ]
           },
           {
               "name":"新闻",
               "sub_button":[
                    {
                       "type":"click",
                       "name":"国内新闻",
                       "key":"V1001_GNNEWS"
                    },
                    {
                       "type":"click",
                       "name":"国际新闻",
                       "key":"V1001_GJNEWS"
                    },

                    {
                       "type":"click",
                       "name":"地方新闻",
                       "key":"V1001_AREANEWS"
                    },
                    {
                       "type":"click",
                       "name":"家庭新闻",
                       "key":"V1001_HOMENEWS"
                    }
                ]
           }
       ]
    }';
    $jsonMenu = json_encode($xjson);
    $get_url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=开发者模式中的AppId串&secret=开发者模式中的AppSecret串';
    $get_return = file_get_contents($get_url);
    $get_return = (array)json_decode($get_return);
    if( !isset($get_return['access_token']) ){exit( '获取access_token失败!' );}
    $post_url = 'https://api.weixin.qq.com/cgi-bin/menu/create?access_token='.$get_return['access_token'];
    $ch = curl_init($post_url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_POSTFIELDS,$xjson);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Content-Length: ' . strlen($xjson))
    );
    $respose_data = curl_exec($ch);
    echo $respose_data;exit;*/
/*生成自定义菜单结束*/

你会看懂的,点击菜单事件回复,文本消息回复,智能语音识别
$weixin->getMsg();
$type = $weixin->msgtype; //消息类型
$username = $weixin->msg['FromUserName'];//哪个用户给你发的消息,这个$username是微信加密之后的,每个用户都是一一对应的
if ($type === 'event') {//点击菜单事件
    $eventkey = $weixin->eventkey;//获取当前菜单key
    if($eventkey=='V1001_NBA') {
        $hongye_bqq = '您点击的NBA菜单,哈哈';
    }
    if($eventkey=='V1001_CBA') {
        $hongye_bqq = '您点击的CBA菜单,哈哈';
    }
    else{
        $hongye_bqq = '欢迎关注bqq!';
    }
 }
if ($type === 'text') {//文本输入
    $kwds=$weixin->msg['Content'];
    $sql="select * from `wx_text_msg` where `question` like '%$kwds%' ";
    $res=getOne($sql);
    if($res) {
        $reply = $weixin->makeText($res['answer']);
    }
    else{
        $reply = $weixin->makeText('抱歉,根据您输入的文本,暂时未找到相关匹配信息');
    }
}
if ($type === 'voice') {//语音输入
    $kwds = substr($weixin->msg['Recognition'],0,-3);
    $sql="select * from `wx_voice_msg` where `question` like '%$kwds%' ";//根据语音输入关键词,查询数据表匹配答案
    $res=getOne($sql);
    if($res) {
        $reply = $weixin->makeText($res['answer']);
    }
    else{
        $reply = $weixin->makeText('抱歉,根据您输入的语音,暂时未找到相关匹配信息');
    }
}
$weixin->reply($reply);



  • 上一条:
    简单的点击加一减一效果jq实现
    下一条:
    眼睛近视300度怎么恢复
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在php语言中对数组参数实现签名算法及加解密数组功能流程步骤(0个评论)
    • 在PHP语言中实现手机加密解密算法代码示例(0个评论)
    • 在PHP 8.3版本中json_validate跟json_decode函数对比浅析(0个评论)
    • 在PHP语言中class类自动加载相关文件浅析(0个评论)
    • PHP 8.2版本发布(0个评论)
    • 近期文章
    • 在laravel框架中的5个HTTP客户端技巧分享(0个评论)
    • 在go语言中使用FFmpeg库实现PCM音频文件编码为mp3格式文件流程步骤(0个评论)
    • gopacket免安装Pcap实现驱动层流量抓包流程步骤(0个评论)
    • 在laravel项目中实现密码强度验证功能推荐扩展包:password-strength(0个评论)
    • 在go语言中用filepath.Match()函数以通配符模式匹配字符串示例(0个评论)
    • Laravel Response Classes 响应类使用优化浅析(0个评论)
    • mysql中sql_mode的各模式浅析(0个评论)
    • 百度文心一言今天发布,个人第一批内测体验记录,不好别打我(0个评论)
    • 嘿加密世界让我们谈谈在共识中将中本聪主流化(0个评论)
    • 在go语言中寻找两个切片或数组中的相同元素/共同点/交集并集示例代码(0个评论)
    • 近期评论
    • 博主 在

      2023年国务院办公厅春节放假通知:1月21日起休7天中评论 @ xiaoB 你只管努力,剩下的叫给天意;天若有情天亦老,..
    • xiaoB 在

      2023年国务院办公厅春节放假通知:1月21日起休7天中评论 会不会春节放假后又阳一次?..
    • BUG4 在

      你翻墙过吗?国内使用vpn翻墙可能会被网警抓,你需了解的事中评论 不是吧?..
    • 博主 在

      go语言+beego框架中获取get,post请求的所有参数中评论 @ t1  直接在router.go文件中配就ok..
    • Jade 在

      如何在MySQL查询中获得当月记录中评论 Dear zongscan.com team, We can skyroc..
    • 2016-10
    • 2016-11
    • 2017-06
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-11
    • 2017-12
    • 2018-01
    • 2018-02
    • 2018-03
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-09
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客