您的位置 首页 php

微信开发十之再说小i机器人(附完整PHP源码)

微信开发十之再说小i机器人(附完整PHP源码)

小i机器人开发交流群内的开发者提问:如何在使用自己的服务器上请求小i机器人给的接口实现微信公众号的智能回复。基于这个问题,笔者写了本篇开发指南,并提供PHP版本 源码 供大家测试。

一、开发准备

1.点击注册微信公众平台 接口测试 帐号;

2.点击注册小i机器人iBotCloud账号;

3.建立自己的服务器,有独立IP且80端口未占用(推荐使用 云服务器 ,笔者使用的是新浪云服务器SAE。腾讯云/阿里云均可);

4.安装本地 开发环境 ,可以使用 Eclipse Notepad++ 等(笔者使用的Eclipse for PHP),百度搜索“Eclipse for PHP”选择合适版本下载安装;

5.使用版本控制软件,可以用 git 、SVN(笔者使用的SVN,可视化操作较git相比更易上手)

二、开发思路

1.完成微信平台的消息响应;

2.在文本消息回复中请求小i机器人的接口;

三、开始开发

1.完成微信平台消息响应

微信服务器与我们自己搭建的服务器要建立连接,如何让微信服务器识别是我们的服务器在和微信服务器通话呢?这就需要我们编程实现。我们先看下微信官方给的业务逻辑流程图,如图1所示,先提取signnature等一系列字段,再提取TOKEN,最后匹配数据源。验证成功则再进行下一步业务逻辑(这段分析较为拗口,如果不理解没有关系。待coding了一段时间之后,便自行明朗)。

微信开发十之再说小i机器人(附完整PHP源码)

图1

1.登录SAE,如图2所示。

微信开发十之再说小i机器人(附完整PHP源码)

图 2

2.创建新应用,如图3所示。

微信开发十之再说小i机器人(附完整PHP源码)

图 3

3.选择新应用的参数,如图4所示。

参数不要选错,选择PHP语言、标准环境、语言版本5.6、代码管理SVN、二级域名( 自己随便取,这个很重要是微信平台中要填写的Url )。免费创建应用。

微信开发十之再说小i机器人(附完整PHP源码)

图 4

4.创建代码版本,如图5所示。

微信开发十之再说小i机器人(附完整PHP源码)

图5

1.2Eclipse中检出SAE项目

1.在Eclipse中checkout新浪云中的项目,如图6所示。

SVN仓库信息如图7所示。在Eclipse中选择“从SVN检出项目”,输入图6所示的信息(不同应用对应不同的信息),checkout出SAE的项目。

微信开发十之再说小i机器人(附完整PHP源码)

图6

微信开发十之再说小i机器人(附完整PHP源码)

图 7

2.更改项目中PHP语言版本,如图8所示。

高版本的Eclipse默认PHP版本为7,而我们的SAE应用中PHP版本为5.6,因此需要调整Eclipse默认PHP版本。

微信开发十之再说小i机器人(附完整PHP源码)

图 8

1.3建立微信后台通信

1.在Eclipse项目工程中利用SVN上传代码至SAE服务器。

通过1.1,1.2两个步骤,我们已经把服务器、开发环境部署完毕。现在利用编程实现。在Eclipse中的index.php文件,删除原先代码并复制以下代码,保存上传至SAE。

微信开发十之再说小i机器人(附完整PHP源码)

代码1

2.在微信公众平台接口测试帐号中输入Url及TOKEN。

URL是之前自定义的二级域名,Token一般使用weixin(自定义),但需与代码中一致。输入后点击提交,配置成功(若配置不成功,多点几次;若依然未成功再联系笔者)。

微信开发十之再说小i机器人(附完整PHP源码)

图9

至此,我们完成微信平台响应。


2.在文本消息回复中请求小i机器人接口

完成微信平台响应之后,我们要开始执行后续的业务逻辑。我们加入两个功能:

  • 响应关注事件

  • 响应文本消息

2.1.响应关注事件

我们需要在 public function responseMsg()函数中加入代码以执行业务逻辑操作,代码如下所示(不理解没关系,不影响后续操作)。

微信开发十之再说小i机器人(附完整PHP源码)

代码2

同时还要再写两个函数,一个是receiveEvent接收事件的函数,其中对关注事件”subscribe”做了响应,关注后回复”welcome to new test wechat!”

微信开发十之再说小i机器人(附完整PHP源码)

代码3

另一个函数是returnText用来回复文本信息

微信开发十之再说小i机器人(附完整PHP源码)

代码4

至此,完成响应关注事件的代码,测试效果如图10所示

微信开发十之再说小i机器人(附完整PHP源码)

图10

2.2.响应文本消息

2.2.1.文本接收事件函数

receiveText代码如下所示。

微信开发十之再说小i机器人(附完整PHP源码)

代码5

2.2.2.小i机器人接口函数

  • 注册登录后,获得小i机器人开发者的Key、Sectet

微信开发十之再说小i机器人(附完整PHP源码)

图 11

  • getXiaoiInfo代码如下所示。此版本为小i官方提供的PHP SDK精简而来。如果正式开发,推荐使用小i机器人官方提供的SDK。

微信开发十之再说小i机器人(附完整PHP源码)

代码6

至此我们完成小i 机器人的接入。效果如图12 所示。

微信开发十之再说小i机器人(附完整PHP源码)

图 12

四、全文总结

有开发能力的同学可以参考此篇文档接入小i机器人。文档中有不当之处请斧正。

关注笔者运营的微信公众号《学点编程》(shijiawen6),发送“001”获取《微信开发一之环境部署》文章以参考相关软件介绍;发送“003”获取《微信开发三之小i机器人》粗糙版的小i机器人接入文档。

五、获取源码

发送“小i机器人”至微信公众号后台获取源码。源码中需要将小i机器人的Key/Sceret修改为自己的参数。

联系笔者

微信:danielsjw,一起交流学习。

文章来源:智云一二三科技

文章标题:微信开发十之再说小i机器人(附完整PHP源码)

文章地址:https://www.zhihuclub.com/80361.shtml

关于作者: 智云科技

热门文章

评论已关闭

1条评论

网站地图