您的位置:首页 > 移动开发 > 微信开发

微信自定义开发demo

2014-08-30 14:23 120 查看
由于最近工作很忙,没时间整理,据说很多人苦于微信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);

复制代码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐