WechatMessage 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
WechatMessage 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
WechatMessage 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 未知
开发语言 PHP
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
投 递 者 mqycn
适用人群 未知
收录时间 2019-01-07

软件简介

微信消息处理

开发说明

参考 demo/message/WechatMessageApp.php,直接重写对应的方法就可以了。

收到 订阅(onSubscribeEvent),返回 你好,非常感谢您的订阅。

收到 文本信息,增加 [自动回复] 和 内容原样输出。

收到 图片信息,为了演示图片功能,直接用户发啥给回啥。

class WechatMessageApp extends WechatMessageCommon {
	protected function onSubscribeEvent() {
		$msg = "你好,非常感谢您的订阅。\n\n";
		return $this->textMessage($msg);
	}
	protected function onTextMessage($content) {
		return $this->textMessage("[自动回复]${content}");
	}
	protected function onImageMessage($image, $media_id) {
		return $this->imageMessage($media_id);
	}
}

如果 没有 重写 消息事件,会回复 不支持的消息加接收到的参数,方便调试,当然也可以通过重写 onOtherMessage 的方法引导用户操作

class WechatMessageApp extends WechatMessageCommon {
	protected function onOtherMessage($event_type, $argument = array()) {
		return $this->textMessage("不支持的消息,请回复\n1:XXX\n2:XXX");
	}
}

消息类型和对应的方法

消息事件需要重写的方法
用户订阅onSubscribeEvent()
文字消息onTextMessage($content)
图片消息onImageMessage($image,$media_id)
语音消息onVoiceMessage($media_id,$format,$to_text)
视频消息onVideoMessage($media_id,$media_thumb_id)
分享消息onLinkMessage($title,$desc,$url)
文件上传onFileMessage($filename,$desc,$file_key,$file_md5,$file_size)
位置信息onLocationMessage($address,$lat,$lng,$scale)
进入客服界面(小程序)onUserEnterTempsessionEvent()
回复类型回复的方法
文字消息textMessage($content)
图片消息imageMessage($media_id)
语音消息voiceMessage($media_id)
视频消息videoMessage($media_id,$title = '',$desc = '')
分享消息linkMessage($articles = array())

公众号没有认证,只能回复文本信息、分享消息,因为 图片、语音、视频 需要用到上传媒体资源的接口。(可能有的朋友会抬杠,图片信息能获得媒体ID、这样客户实现客户给你发啥图片,你就回复给他图片,但是这样没啥意义)

小程序 可以支持所有消息类型(测试中,暂时没有提交到gitee)

分享信息的 $articles 创建的方法:

$articles = array(
    $this->linkMessageArticleItem($title, $url, $image, $desc),
    $this->linkMessageArticleItem($title, $url, $image, $desc),
    $this->linkMessageArticleItem($title, $url, $image, $desc)
);

使用说明(使用测试工具)

**1、下载本源码并部署到PHP的WEB环境 **

将下载的脚本安装到服务器后,比如:http://您的域名/安装路径/

测试工具的地址为: http://您的域名/安装路径/test/index.html

如果 仅 需要测试,可以直接访问在线测试地址:http://wechatmessage.demo.miaoqiyuan.cn/test/

**2、选择消息类型,填写参数,点击立即测试,即可看到服务器执行的信息 **

这样 就可以不使用微信,直接开发了。

演示

使用说明(真机测试)

1、申请测试帐号

打开测试接口页面,https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

输入图片说明

点击 登录 按钮,使用微信扫码登陆。

**2、填写 测试脚本的URL **

将下载的脚本安装到服务器后,比如:http://您的域名/安装路径/

在 接口配置信息中,填写 测试地址为: http://您的域名/安装路径/demo/message.php 访问

如果不想自己配置,可以使用 在线测试地址:http://wechatmessage.demo.miaoqiyuan.cn/demo/message.php

输入图片说明

**3、关注 测试号二维码 **

输入图片说明

关注 测试号二维码,进入 公众号 聊天窗口,输入内容即可测试。

输入图片说明

默认 不支持的消息模式,会如下图显示:

输入图片说明

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣 发布并加入讨论🔥
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
0 评论
14 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部