微信开发详解:[3]实现第一个公众平台
1、先找到进入到百度开放云平台的编辑器,将如图所示的那一行注释(加双斜杠)或者删除。然后添加一行
$wechatObj->responseMsg();
图示为修改后的效果。
![微信开发详解:[3]实现第一个公众平台](https://exp-picture.cdn.bcebos.com/16d8f72abab84240eddaaca17ac595ee40c19eb9.jpg)
2、修改完成后点击 保存 如图所示。然后用手机或者电脑版微信登陆你的个人微信账户,添加你申请的微信公众账号,然后点击关注。
![微信开发详解:[3]实现第一个公众平台](https://exp-picture.cdn.bcebos.com/ad121888912ca5ca4dccfffd8bfc77f7990e94b9.jpg)
![微信开发详解:[3]实现第一个公众平台](https://exp-picture.cdn.bcebos.com/423041db3620b93a56ad4f70ad0f8835dc8a8ab9.jpg)
3、关注后点击 查看消息 ,然后随便给微信发消息,都会得到回复,结果如图,如果不能得到如图结果,代表之前某一步有问题,可以留言告诉我。
![微信开发详解:[3]实现第一个公众平台](https://exp-picture.cdn.bcebos.com/2184380f8835dd8af9fa2ab203013870d44187b9.jpg)
4、下面就应该根据自己的需求设置回复了,找到如图所示位置,进行修改。
$keyword 关键字代表由用户发给公众平台的消息。
$contentStr 关键字代表要发给用户的消息。
所以我们要做的就是对字符串的处理,首先对$keyword分析处理,然后给$contentStr赋值。
![微信开发详解:[3]实现第一个公众平台](https://exp-picture.cdn.bcebos.com/444696013870d5419fa8c9bd2e0f94fc518c80b9.jpg)
5、我们编写一个switch语句吧,分别接收数字,然后对不同的接收进行不同的回复。示例:
switch($keyword){
case 1: $contentStr="aa";break;
case 2: $contentStr="bb";break;
case 3: $contentStr="cc";break;
case 4: $contentStr="dd";break;
case 5: $contentStr="ee";break;
default: $contentStr="ee";break;
}
将以上代码插入到如图所示位置,并将原先的$contentStr = "Welcome to wechat world!";这行注释掉(前面加//),并保持,图片为修改完成的截图。
![微信开发详解:[3]实现第一个公众平台](https://exp-picture.cdn.bcebos.com/a44e8afc508c9bce6cdce5c2d6dd884ce44afab9.jpg)
6、再次到微信中发消息测试,分别发1234567,试试。就会看到,这就是一般微信账号的做法,不过高级一些就是实时从数据库里取数据,还有就是分析接收到的消息时按关键字匹配分析,这些就需要有一定的php基础了,想学的话可以看我发布的有关php的文章。
![微信开发详解:[3]实现第一个公众平台](https://exp-picture.cdn.bcebos.com/890dfb4a2f27e7ef9a2204b419dd3340b7f3f5b9.jpg)
7、就这样,第一个微信平台就做好了,下面讲解一下这个过程中的函数,让大家更好的变通,去开发自己的公共平台。
在第一步中注释掉的那一行原本是用来在微信平台和php程序对接时用的,对接成功后就没用了,所以把它注释掉,新加的这一行是用来调用消息回复的。
8、微信公众平台信息传输是通过 xml 来传输的,
<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>0</FuncFlag>
</xml>
这一段便是模板,其中最重要的就是 MsgType 和 Content ,msgtype是标明消息类型的,content标明消息内容。
当接收到用户给发来的消息后,simplexml_load_string()函数将xml解析为一个对象,并将用户的消息赋值给 $keyword ,经过处理后再按照xml的格式输出给微信官方,微信再给用户发出去。
![微信开发详解:[3]实现第一个公众平台](https://exp-picture.cdn.bcebos.com/b7b28f87031c99c015d88e33af2fa872951fedb9.jpg)
9、要注意的是,微信官方为了防止有恶意公众平台骚扰用户,所以公众平台的程序不能主动给用户推送消息,并且只能在用户给平台发送消息时才能给用户发消息,并且只能发一条(我见过一次能回多条的公众平台,不过不知道怎么做到的,有知道的还望给我说一声)。
10、希望大家能照着这个方法做出属于自己的微信平台,当前的微信平台要想有很多用户就必须做出自己的特色和创意,期待大家做出优秀的平台,记得留言与我分享啊。
11、微信公众平台不仅仅能发简单的消息,还可以发图文消息,音乐等,这些复杂的将在后面的内容中讲解,希望大家关注。