微信自定义开发demo

浏览:149593 最后更新:2016-09-28 09:13 分类:示例 关键字: 微信
由于最近工作很忙,没时间整理,据说很多人苦于微信SDK开发,特献上个人的开发成果(微信自定义开发demo),聊表寸心,望笑纳!

项目案例:微信搜索”启德国际教育“或扫描二维码,希望大家多多关注啊
开发周期:2013-06~2013-08
参与人员:bqq,hongye
主要功能:
01)微信的自动回复(文本,图文,音频)
02)微信自定义菜单
03)微视频,疯狂猜单词,疯狂听单词,账号绑定CRM,启德名师,高分学员,院校库等模块上线
04)手机通过微信绑定后,将微信账号反推至CRM
05)教务系统调课,根据调课事件推送微信消息至相关人员

看到那些热心的朋友:http://118.186.246.148/bqqpay/给予帮助和支持,真的很感激,也希望各位早日脱离屌丝,走向小康,谢谢!

好了,废话少说,说说注意事项,解析代码吧(以我的案例):

注意事项:
一,如果你没有公众账号,且未经认证,建议别玩,因为你很难玩转,项目公众平台截图
二,必须开启开发模式,编辑模式有意思吗?那是小编干的活,
三,配置信息很重要,你会用到的,URL就是你部署的地址,我的马赛克打的何如?
四,好好看看接口文档吧,如果需要开启更多功能,请呼叫马化腾,
代码解析: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);
评论( 相关
后面还有条评论,点击查看>>