黑马程序员技术交流社区
标题: Wechat微信公众平台开发day01后 [打印本页]
作者: 小江哥 时间: 2018-2-3 16:00
标题: Wechat微信公众平台开发day01后
本帖最后由 小江哥 于 2018-2-3 16:32 编辑
各位同学,大家好!欢迎关注我们杭州黑马PHP课程,接下来的一段时间我们将会有不同阶段的老师给同学们分享PHP的课程。这节课程主要是给大家分享Wechat微信公众平台开发第一天的后面部分。从部署一直到项目的完整架构,流程,希望能给大家的编程学习带来帮助,当然在学习中遇到了问题也可以回帖进行提问,我们还会不定时的在公众平台派送一些意想不到的惊喜呦!!!
五、微信消息的6大接收接口1、开发者模式2、6大消息接口的XML模板① 文本消息XML模板
由以上XML模板分析可知,如果MsgType节点,其值为text,则代表用户发送的是文本消息。
② 图片消息XML模板
由以上XML模板分析可知,如果MsgType节点,其值为image,则代表用户发送的是图片消息。
③ 语音消息XML模板
由以上XML模板分析可知,如果MsgType节点,其值为voice,则代表用户发送的是语音消息。
④ 视频消息与小视频消息
视频:
小视频:
由以上XML模板分析可知,如果MsgType节点,其值为video或shortvideo,则代表用户发送的消息为视频消息。
⑤ 地理位置消息XML模板
由以上XML模板分析可知,如果MsgType节点,其值为location,则代表用户发送的是地理位置消息。
⑥ 链接消息接口XML模板
由以上XML模板分析可知,如果MsgType节点,其值为link,则代表用户发送的是链接消息。
3、使用php代码判断用户发送的消息类型① 简化api.php代码,分离所有的xml模板,放入指定的common.php页面中
② 在api.php页面引入common.php
③ 调用$tmp_arr数组
④ 获取MsgType节点,并判断其值,如下图所示:
⑤ 上传api.php代码到LAMP环境中,测试结果如下:
六、微信订阅回复接口1、订阅回复接口(关注回复接口)当用户关注我们的微信公众平台时,系统会自动调用订阅回复接口返回相应的信息,我们把这个过程就称之为“订阅回复功能“。
2、订阅回复XML模板由以上XML模板分析可知,如果MsgType节点为event且Event节点值为subscribe,则代表用户发送的消息为订阅回复消息。
3、编写php代码判断订阅回复4、上传代码到LAMP环境并测试七、微信消息的6大回复接口1、文本回复接口① 分析文本回复接口的XML模板,如下图所示:
特别注意:在回复接口中,其FromUserName、ToUserName与接收接口中的FromUserName、ToUserName正好相反。
② 在api接口中,定义文本回复模板(封装到common.php文件中)
③ 定义回复时用到的相关变量
④ 使用sprintf进行代码格式化(针对XML模板)
要用到的知识点:
sprintf函数,案例如下:
%s :把变量格式化成相应的字符串。
⑤ 返回格式化后的XML数据到微信端
2、图片、语音、视频回复接口① 分析图片回复接口的XML模板
MediaId说明:
② 定义图片回复的XML模板
③ 定义相关的变量
④ 使用调试工具,获取mediaid,如下图所示:
第一步:获取access_token,如下图所示:
第二步:使用素材管理端口上传图片素材,获取MediaId
获取MediaId节点,如下图所示:
在api.php中填写$mediaid,如下图所示:
⑤ 格式化XML模板,使用sprintf函数,如下图所示:
⑥ 返回XML格式的数据到微信端,如下图所示:
⑦ 上传api.php与common.php到LAMP环境,测试结果如下:
3、音乐回复接口① 分析音乐回复接口的XML模板
Music节点内数据进行分析:
② 在common.php页面,定义music模板,如下图所示:
③ 在api.php页面调用音乐回复接口
④ 使用sprintf函数对music模板进行格式化操作
⑤ 返回格式化的XML数据到客户端
⑥ 上传api.php与common.php到LAMP环境,测试结果如下:
4、图文回复接口(重点)① 分析图文回复接口的XML模板
特殊节点说明:
② 在common.php中定义news模板
③ 在api.php代码中定义相关变量
④ 使用sprintf函数对XML模板进行格式化
⑤ 使用echo方法让XML数据返回到客户端
⑥ 上传api.php与common.php到LAMP环境,测试结果如下:
⑦ 实现多图文功能
再次上传api.php代码到LAMP环境,测试结果如下:
八、微信开发中的代码调试1、语法错误解决方案:使用企业级的开发工具(如Zend Studio、PHPStorm、NetBeans),其内置了语法调试工具,可以快速的定位到代码异常。
2、微信接口错误解决方案:由微信开发可知,在微信传输过程中,其数据都是以XML格式进行传递的,在实际工作中,如果遇到接口异常,我们只需要捕获XML数据并对其分析即可找到解决方案。
① 在系统中创建一个wx.log日志文件
② 使用FlashFxp软件上传代码到服务器端
③ wx.log文件权限问题
④ 使用chmod指令更改文件权限(666)
⑤ 使用file_put_contents函数向日志文件中写入数据
⑥ 上传api.php到LAMP服务器端
⑦ 在手机端向微信公众平台发送信息,触发日志功能,然后更新wx.log到本地
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |