2018年8月24日,沉迷于学习微信公众号开发。

本篇文章是传智播客课程“PHP微信公众平台开发”前十二节课的课程笔记。课程的视频链接http://yun.itheima.com/course/163.html ,视频可免费下载,我觉得老师讲得挺好的,采用的是百度云BAE。同时,推荐方倍工作室的博客园(微信公众平台开发入门教程),采用新浪云SAE。

本课程笔记和源码可供下载:https://download.csdn.net/download/luolan9611/10625215

本笔记目录

一,微信公众平台

1,什么是微信公众平台

2,微信与微信公众平台区别

3,微信公众平台开发

4,开发者模式原理图

二,自定义服务器(BAE)

1,登陆百度云平台

2,登陆BAE云引擎

3,单击添加部署按钮

5,管理BAE云平台

三,微信官方接口

①获取微信API接口

②下载API接口文件

解压后如下图所示:

③复制wx_sample.php文件到项目相关目录中,并更名为api.php,设置TOKEN密钥文件

④打开微信公众平台开发者中心,填写以下信息:

⑤通过微信手机端进行测试

⑥开启自动回复功能

⑦再次测试

四,微信官方接口详细分析

五,微信的6大接收接口

1.  文本消息接口

2,图片消息接口

....其它接口大同小异

六,微信文本回复接口

七,简易号码簿

八,音乐回复接口

九,微信的图文回复接口

十,LBS开发

十一,微信LBS案例

十二,微信的机器人开发

一,微信公众平台

1,什么是微信公众平台

微信公众平台是腾讯为了让用户申请和管理微信公众账号而推出的一个网络平台,而微信公众账号的操作管理在这个平台下进行所有用户都在腾讯提供的统一微信公众平台下进行相关操作:平台地址:https://mp.weixin.qq.com/

2,微信与微信公众平台区别

微信是基于点对点关系

微信公众平台是基于一对多关系

3,微信公众平台开发

开发者模式

1)微信公众平台账号(https://mp.weixin.qq.com)

订阅号:个人版用户,每天可以群发一条消息

服务号:企业版用户,每月可以群发四条消息

2)在线虚拟主机或服务器(SAE云引擎,BAE云引擎,阿里云服务器)

3)TortoiseSVN的(SVN客户端软件)

4,开发者模式原理图

解释一下这个开发者模式原理图:我们在微信手机端发送的消息,是被送入腾讯的web服务器,由腾讯的web服务器将消息转发到我们的自定义服务器中。自定义服务器中的代码就是我们写的PHP源代码,它处理接收的消息,并做出相应回应,该回应不会直接到达微信手机端,仍旧是以腾讯的web服务器为中介,进行处理转发才能到手机端。自定义服务器可以选择百度云BAE,新浪云SAE或者阿里云。本教程使用的是百度云BAE,若参考方倍工作室教程,可选择新浪云SAE。TortoiseSVN是一个代码版本库,用于将本地的代码上传或者提交更新到自定义服务器中。

二,自定义服务器(BAE)

1,登陆百度云平台

http://bce.baidu.com/index.html

2,登陆BAE云引擎

3,单击添加部署按钮

如图4所示,设置相关参数

单击确认即可。

单击域名,如出现如下图所示界面,代表创建成功

5,管理BAE云平台

在本地的Apache工作目录创建微信文件夹,然后使用SVN软件进行连接操作,然后输入用户名与密码(百度的账号与密码)即可下载服务端数据到本地。

如图6所示,可以修改的index.php文件

修改的index.php然后通过SVN软件提交到BAE云引擎,但是浏览器发现系统依然没有改变

原因:因为默认情况下,百度云引擎需要手工发布

如果不想每次都手工发布源代码,可以单击微信进入配置目录,进行发布设置

发布成功后,再次浏览器,效果如下:

三,微信官方接口

1,对接微信公众平台

①获取微信API接口

②下载API接口文件

解压后如下图所示:

以上文件就是我们的API文件

③复制wx_sample.php文件到项目相关目录中,并更名为api.php,设置TOKEN密钥文件

通过SVN软件上传api.php文件到BAE。

④打开微信公众平台开发者中心,填写以下信息:

确认无误后,单击提交按钮,效果如下图所示:

如果第一次提交失败,可以再次提交。

⑤通过微信手机端进行测试

第一次测试时,系统没有任何返回,因为api.php接口文件主要负责验证操作,并没有返回任何信息。

⑥开启自动回复功能

再次提交数据到BAE云引擎中。

⑦再次测试

如果出现以上提示代表接入成功!

四,微信官方接口详细分析

如图1所示,验证功能有效()

2,自定义回复功能responseMsg()

详细分析请参考api.php文件

五,微信的6大接收接口

1.文本消息接口

说明:如果用户发送过来的XML数据中,MSGTYPE节点为“文本”,就代表用户发送的是文本消息。

接口开发步骤:

①在接收时,接收MsgType节点

②在接收消息时对$ msgType进行相关判断

修改完成后,上传源代码到BAE引擎中

测试效果:

2,图片消息接口

编写代码如下:

测试结果:

六,微信文本回复接口

如图1所示,文本回复接口XML模板

2,文本回复开发步骤

①组装XML数据

②设置相关参数

③格式化字符串(重要)

string sprintf(string $format[,mixed $args [,mixed $... ]])

功能:返回格式化后的字符串

参数说明:

$ format:要格式的话的模板信息

$ args:要格式化的变量

%s:把变量格式化为字符串

④返回格式化后的XML数据到微信客户端(用户端)

⑤微信公众平台如何判断用户发送的关键词

修改完成后,通过SVN软件上传源代码到BAE云引擎中,测试结果:

七,简易号码簿

1,项目需求

当用户在微信公众平台中输入问号时,自动弹出如下信息

【1】特种服务号码

【2】通讯服务号码

【3】银行服务号码

您可以通过输入【】方括号的编号获取内容哦!

回复1

常用特种服务号码:

匪警:110

火警:119

回复2

常用通讯服务号码:

中移动:10086

中电信:10000

回复3

常用银行服务号码:

工商银行:95588

建设银行:95533

2.开发步骤

修改完成后,提交到百度BAE,测试效果:

八,音乐回复接口

1,音乐回复接口中的XML模板

2,音乐回复接口开发步骤

①组装XML模板

②设定回复关键词

编写完成后,通过SVN上传到BAE中,测试结果如下:

九,微信的图文回复接口

1,微信的图文接口XML模板

2,图文消息接口开发

①组装XML文档

②设置相关参数

③格式化字符串

修改完成后,通过SVN软件提交源代码到BAE云引擎中,测试结果如下:

十,LBS开发

1,什么是LBS

基于位置的服务:基于地理位置的服务

2,接收地理位置信息

3,LBS开发步骤:

①判断$ msgType类型为“location”类型的数据

②几个关键词

$经度经度

$ latitude纬度

③通过以上两个变量接收用户传递的经纬度信息

④通过文本消息返回用户的经纬度信息

⑤上传代码到BAE,测试结果:

十一,微信LBS案例

1,项目需求

根据用户上传的地理位置,显示客户所在详细地理位置。

说明:在LBS接口中,我们可以获取用户的经纬度信息,那么在开发过程中如果通过LBS接口获取用户的详细信息呢?

2,百度LBS接口

http://developer.baidu.com/

进入接口说明:

反地理编码接口:把经纬度转化为详细的地址信息

说明:我们单击接口示例代码,发现可以直接获取到相关数据,代表当前接口使用的是的Http中的GET请求,在实际项目开发中,可以通过的file_get_contents函数来模拟GET请求

3,调用车联网LBS案例

4,在微信接口中调用车联网API

5,上传源代码到BAE中,测试结果:

十二,微信的机器人开发

1,为什么需要微信机器人

当用户输入的关键词与我们设定关键词不匹配时,系统不会返回任何,这样用户体验不是很好,那么如何解决这种问题?

答:可以通过微信聊天机器人对接用户消息

2,图灵机器人

网址:http//www.tuling123.com

3,通过微信对接图灵机器人

接口说明:

详细代码:

上传源代码到BAE,测试结果:

PHP微信公众平台开发-BAE-视频+笔记+源码相关推荐

  1. 【Java微信公众平台开发模式+自定义按钮源码】

    首先,想用开放模式需要先成为开发者.成为开发者有两种写法. 一是:通过jsp页面,用out.print("echostr")//SHA1加密的字符串: 二是:通过Servlet.d ...

  2. Thinkphp 微信公众号开发3-微信登录源码

    Thinkphp 微信公众号开发3-微信登录源码 微信官方的开发文档 微信官方开发文档传送门 官方提供的方式 那我们要做的流程如下 虽然官方写了一堆文字看的一脸懵 但是我们只需要清楚流程就可以了 获取 ...

  3. 微信公php开发视频,PHP实现微信公众平台开发 全套视频资源下载

    好久没有更新东西了,今天给大家分享一份比较不错的视频学习资源吧. 主要是关于PHP实现微信公众平台开发, 不知道大家对于微信平台的开发有多少了解,那么今天就从基础开始吧,资源目录如下(PS :适各自的 ...

  4. [049] 微信公众平台开发视频公开课第1讲-基础入门

    微信公众平台开发视频公开课强力来袭,你准备好了吗?2014年4月26日晚8点,我在CSDN社区在线培训课堂等你,将为你带来90分钟的精彩视频课程+30分钟的在线互动答疑,为你扫清微信公众平台开发入门的 ...

  5. PHP微信公众平台开发视频

    PHP微信公众平台开发视频 讲师介绍:  传智,CTO/CIO/技术副总裁/总工程师,从事多年软件开发及相关教育工作,熟悉C/C++,JAVA,.Net,PHP,Android,数据库,网络营销,网页 ...

  6. 微信公众平台开发心得笔记

    XDTIC关于微信公众平台开发头脑风暴会议心得笔记: 几个同学提得点子: 1.匿名传情saysayoho.第三方平台帮你给心仪的人发送信息.邮件等.也可以做成类似时光机,给未来自己发邮件发信息. 2. ...

  7. [052] 微信公众平台开发视频公开课第2讲-自定义菜单开发讲解

    微信公众平台开发视频公开课第2讲将为大家讲解自定义菜单的相关知识,时间是2014年5月24日20:00-22:00.本次课程的大纲如下: 1.自定义菜单简介 1)如何获得菜单权限 2)菜单按钮分类(c ...

  8. 《微信公众平台开发最佳实践》读书笔记

    国庆期间看了大部分,现在补完.一些东西看了也不是很懂,权且先记录下来,备忘.感觉是:相关的开发还是比较容易的,主要要搞清对应的接口和URL,就是查手册吧.难怪猪八戒上一堆的几千块钱就可以开发的服务.估 ...

  9. 微信公众平台开发笔记

    从寒假自己就开始拿微信公众平台开发当练手,到现在断断续续已经挺久了,只不过忙于其他事写代码的时间还是很少,但整体的框架已经搭起来了.公众微信号就不用给了,我不求粉,只是来总结一下技术问题,再拖很多东西 ...

最新文章

  1. TensorFlow指定CPU和GPU方法
  2. 8个步骤成功拖垮新业务线!
  3. MySQL数据表的优化
  4. Github阅览神器来啦!瞬间提升50%的阅览效率
  5. 城市大脑全球标准研究2:如何理解和定义城市大脑?
  6. Istio 1.3 发布:HTTP 遥测不再需要 Mixer
  7. 右左法则----复杂指针解析
  8. python编写一个压测重启的测试程序
  9. 图像相似度测量与模板匹配总结
  10. BZOJ1008: [HNOI2008]越狱(组合数)
  11. TensorFlow 2.0快速上手指南12条:“Keras之父”亲授 | 高赞热贴
  12. oracle 压缩导出 导入,EXP直接导出压缩问津,IMP直接导入压缩文件的方法
  13. (58)Verilog HDL事件或:or、,
  14. Win10:ssh报错:RSA host key for 192.168.3.10 has changed and you have requested strict checking.
  15. 【渝粤教育】国家开放大学2018年春季 0008-22T简明现代汉语 参考试题
  16. Caffe学习:使用pycaffe绘制loss、accuracy曲线
  17. c#中一般处理程序中使用session
  18. 代码整洁之道-编写 Pythonic 代码
  19. 超全面超详细的Linux学习入门系列教程
  20. Solidworks 3D Onshape 3D 繪圖自學分享

热门文章

  1. 机器学习,深度学习,ML.NET介绍使用
  2. Debian 中 安装baka-mplayer播放器
  3. 视频监控p2p android,网络视频监控P2P解决方案:NAT穿越
  4. 2020个人年度总结:跌跌撞撞,沉下心来,不卑不燥,欲戴王冠,必承其重;
  5. 【Java】正则表达式的使用以及解析XML
  6. 8个高质量学习APP,超多学霸都在用,资源极丰富
  7. Kickstarter / 海外众筹:如何跟踪您的活动进度
  8. 小黄车使用场景——测试用例
  9. UVA-1624-Knots C++版本题解
  10. js 中的三个等号