0

0

微信公众号开发完整教程二

不言

不言

发布时间:2018-04-17 09:54:13

|

6613人浏览过

|

来源于php中文网

原创

这篇文章介绍的内容是关于微信公众号开发完整教程二,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

因为工作的需要,这一两年对微信公众号和小程序,项目制作的比较多。所以我才打算写一篇全面的制作教程,当然了,最好的教程是微信工作平台的文档。我这里只是讲述一下我的工作中的制作流程。所有相关文章的源码,我托管在我自己的github上面,欢迎关注:地址点击打开链接。接下来开始我们的教程。

上述第一节我讲述了开发者模式的开启和简单的获取access_token并缓存,以及简单的测试,这一节我们暂时并不需要使用这个

access_token的参数,大部分先讲述我们的测试代码的那一部分,并完善一下:(其中我会引入百度地图和图灵机器人等技术),因为公司开发的时候使用到这样的技术,所以我就给大家讲述一下:开始:

1.消息的接受:

接受消息时微信会根据用户的内容将消息进行划分。分别有文本消息、图片消息、语言消息、视频、连接等消息。当用户与公众平台产生了消息互动每次消息都会请求自定义的URL地址。在请求的过程中各种参数是使用xml格式传输。接受消息即从微信请求的过程中获取相关的数据。

代码中使用的变量替换,使用了PHP的函数

sprintf

大家可以查阅一下,它的作用无非就是让变量可以依次替换掉。

1.1.接受文本消息:

格式如上:代码如下:文字模板


// 文字模板

$textTpl = "
                            
                            
                            %s
                            
                            
                            0
                            ";

测试的结果大家在第一节已经看到,我再次就不在演示

1.2接受图片消息:


代码如下:


// 图片模板

$picTpl="
                    
                    
                    %s
                    
                    
                    
                    
                ";

代码如下:


测试结果为:


1.3:接受语言消息:

模板如下:


代码如下:

}elseif($msgType=="voice"){
$contentStr ="语音消息MediaId为:".$postObj->MediaId.'具体内容为:'.$postObj->Recognition;
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time,'text', $contentStr);
echo $resultStr;
}

结果如下:上述代码中我们使用了一个:


再附上一张我测试有结果的图:


1.4接受视频消息:

文档如下:


代码如下:


elseif($msgType=="video"){
$contentStr ="视频消息MediaId为:".$postObj->MediaId;
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time,'text', $contentStr);
echo $resultStr;
}

1.5:接受地理位置:

代码:


elseif($MsgType == 'location'){
            $contentStr = "经度为:".$postObj->Location_Y.'维度'.$postObj->Location_X.'具体地址为:'.$postObj->Label;
    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, 'text', $contentStr);
    file_put_contents('2', $resultStr);
    echo $resultStr;
        }

结果如下:


1.6:接受链接消息:

文档如下:


代码如下:


elseif($MsgType == 'link'){
            $contentStr = '消息的标题为'.$postObj->Title;
    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, 'text', $contentStr);
    file_put_contents('2', $resultStr);
    echo $resultStr;
        }

结果如下:


上述几种情况都是使用的text模板接受的消息。设置微信回复的内容。接下来我们对回复内容的格式进行丰富:

2.消息的回复:

2.1回复文本消息:

格式如下:

百家CMS微商城
百家CMS微商城

百家CMS微商城从诞生开始,就坚持着简单实用的原则,基于目前最流行的WEB2.0的架构(php+mysql),拥有成熟、稳定的微电商技术解决方案。基于完整的会员等级制度,完善的微商城购物流程,订单管理、优惠券、搜索、购物车等功能。采用跨平台机制,可同时对接微信公众号平台和支付宝服务窗,兼容微博、手机QQ等平台;丰富的支付方式、支持微信支付、支付宝支付、货到付款、余额支付、网银支付等。并且拥有完整的

下载

代码如下:


2.2:回复图片的消息:

代码如下:



结果如下:


2.3回复语音的消息:

模板:

$voiceTpl="
            
            
            %s
            
            
                
            
            ";

回复代码:


elseif($keyword == '语音'){
                // 关于此MediaId需要从素材库中获得,没有可以临时使用消息返回的媒体ID
                $MediaId = '3XlXZ4-r2OTNYTFAkcmpWv4QjWtwg_15B4PytQJVwOAwHpOfc38mGZTSDkDXx9po';
                $resultStr = sprintf($voiceTpl, $fromUsername, $toUsername, $time, 'voice',$MediaId);
                echo $resultStr;
            }

结果如下:


2.4:回复视频的消息:

模板如下:


在线调试接口上传视频素材:



视频模板:

$VideoTpl="
            
            
            %s
            
            
            ";

回复代码如下:


elseif($keyword=="视频"){
//关于此MediaId需要从素材库中获得,没有可以使用临时消息返回的媒体id
$MediaId="xxMyAoPbUt1u3q5Z95xrhafNzyvL3Tg08E-9Ub2m6db_Elj4XAJHr2pUOqLhREyB";
$Title = $Description ="视频还是好看的";
$resultStr = sprintf($VideoTpl, $fromUsername, $toUsername, $time, 'video', $MediaId, $Title,$Description);
echo $resultStr;
}

结果如下:


2.5:回复图文消息:

文档信息:

图文模板:


// 图文模板

$newsTpc="
                    
                    
                    %s
                    
                    %d
                    %s
                    ";

回复代码:


elseif($keyword=="图文"){
$data = array(
array('Title'=>'图文消息','Description'=>'效果好像还不错啊','PicUrl'=>'http://mmbiz.qpic.cn/mmbiz_jpg/E3TENE8JsTAqus3ic5qEtt4wl14ibBu4UaobarzTVOP18Awt83hkZM0aI9XStapN4xay6JI4lfm0H7QnKSfxQyVA/0','Url'=>'http://xiaomi.com')
);
file_put_contents('2',$data[0]['Title']);
for ($i=0; $i 

结果如下:


到此为止我们对所有的接受和回复的代码进行的书写和演示,所有的源码我会放在我的github上面,大家可以下载和关注,这一节到此为止,下一节开始使用我们的access_token开始我们的自定义菜单。

相关推荐:

微信公众号开发完整教程一

相关文章

微信app下载
微信app下载

微信是一款手机通信软件,支持通过手机网络发送语音短信、视频、图片和文字。微信可以单聊及群聊,还能根据地理位置找到附近的人,带给大家全新的移动沟通体验,有需要的小伙伴快来保存下载体验吧!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

7

2025.12.31

php网站源码教程大全
php网站源码教程大全

本专题整合了php网站源码相关教程,阅读专题下面的文章了解更多详细内容。

4

2025.12.31

视频文件格式
视频文件格式

本专题整合了视频文件格式相关内容,阅读专题下面的文章了解更多详细内容。

7

2025.12.31

不受国内限制的浏览器大全
不受国内限制的浏览器大全

想找真正自由、无限制的上网体验?本合集精选2025年最开放、隐私强、访问无阻的浏览器App,涵盖Tor、Brave、Via、X浏览器、Mullvad等高自由度工具。支持自定义搜索引擎、广告拦截、隐身模式及全球网站无障碍访问,部分更具备防追踪、去谷歌化、双内核切换等高级功能。无论日常浏览、隐私保护还是突破地域限制,总有一款适合你!

7

2025.12.31

出现404解决方法大全
出现404解决方法大全

本专题整合了404错误解决方法大全,阅读专题下面的文章了解更多详细内容。

42

2025.12.31

html5怎么播放视频
html5怎么播放视频

想让网页流畅播放视频?本合集详解HTML5视频播放核心方法!涵盖<video>标签基础用法、多格式兼容(MP4/WebM/OGV)、自定义播放控件、响应式适配及常见浏览器兼容问题解决方案。无需插件,纯前端实现高清视频嵌入,助你快速打造现代化网页视频体验。

4

2025.12.31

关闭win10系统自动更新教程大全
关闭win10系统自动更新教程大全

本专题整合了关闭win10系统自动更新教程大全,阅读专题下面的文章了解更多详细内容。

3

2025.12.31

阻止电脑自动安装软件教程
阻止电脑自动安装软件教程

本专题整合了阻止电脑自动安装软件教程,阅读专题下面的文章了解更多详细教程。

3

2025.12.31

html5怎么使用
html5怎么使用

想快速上手HTML5开发?本合集为你整理最实用的HTML5使用指南!涵盖HTML5基础语法、主流框架(如Bootstrap、Vue、React)集成方法,以及无需安装、直接在线编辑运行的平台推荐(如CodePen、JSFiddle)。无论你是新手还是进阶开发者,都能轻松掌握HTML5网页制作、响应式布局与交互功能开发,零配置开启高效前端编程之旅!

2

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 0.6万人学习

Node.js 教程
Node.js 教程

共57课时 | 7.7万人学习

CSS3 教程
CSS3 教程

共18课时 | 4.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号