# 接收普通消息
[toc]
当普通微信用户向公众账号发消息时,微信服务器将POST消息的XML数据包到开发者填写的URL上。
## 消息类型
获取用户发送的消息类型,微信提供的消息类型请查看上面的微信官方文档查看。
```php
WeChat::instance('message')->getMessageType();
```
## 获取消息内容
获取消息内容可以使用几种方法
第一种方式是使用getMessage()获取消息内容。
```php
$instance =WeChat::instance('message');
$message = $instance->getMessage();
$message->Content;
```
也可以直接使用实例属性方式获取。
```php
$instance =WeChat::instance('message');
$instance->Content;
```
## 文本消息
```php
//消息管理模块
$instance =WeChat::instance('message');
//判断是否是文本消息
if ($instance->isTextMsg())
{
//向用户回复消息
$instance->text('xxxx收到你的消息了...:' . $instance->Content);
}
```
## 图片消息
```php
//消息管理模块
$instance = WeChat::instance('message');
//判断是否是图片消息
if ($instance->isImageMsg())
{
//向用户回复消息
$instance->text("图片url:{$instance->PicUrl},图片MediaId: {$instance->MediaId}");
}
```
## 语音消息
```php
//消息管理模块
$instance = Weixin::instance('message');
//判断是否是语音消息
if ($instance->isVoiceMsg())
{
//向用户回复消息
$instance->text("你发送的语音消息MediaId: {$instance->MediaId} ,语音格式: {$instance->Format}");
}
```
## 地理位置消息
第三方在收到地理位置上报信息之后,只需要回复success表明收到即可,是不允许回复消息给粉丝的
```php
//消息管理模块
$instance = WeChat::instance('message');
//判断是否是地理位置消息
if ($instance->isLocationMsg())
{
$instance->text("你发送的地理位置消息,纬度: {$instance->Location_X} ,经度: {$instance->Location_Y},缩放级别: {$instance->Scale},位置: {$instance->Label}");
}
```
## 链接消息
微信默认将链接做为文本使用,所以链接消息指微信收藏夹中的消息
```php
//消息管理模块
$instance = WeChat::instance('message');
//判断是否是链接消息
if ($instance->isLinkMsg())
{
//向用户回复消息
$instance->text("你发送的链接消息,标题: {$instance->Title},接要: {$instance->Description} ,链接: {$instance->Url}");
}
```
## 视频消息
视频指用手机拍摄的视频
```php
//消息管理模块
$instance = WeChat::instance('message');
//判断是否是视频消息
if ($instance->isVideoMsg())
{
//获取消息内容
$message = $instance->getMessage();
//向用户回复消息
$instance->text("你发送的视频消息 MediaId: {$message->MediaId} ,缩略图的媒体id: {$message->ThumbMediaId}");
}
```
## 小视频消息
用手机微信拍摄的小视频
```php
//消息管理模块
$instance = WeChat::instance('message');
//判断是否是小视频消息
if ($instance->isSmallVideoMsg())
{
//获取消息内容
$message = $instance->getMessage();
//向用户回复消息
$instance->text("你发送的小视频消息 MediaId: {$message->MediaId} ,缩略图的媒体id: {$message->ThumbMediaId}");
}
```