微信公众号 php sdk,GitHub - yuanchenglu/wechat-php-sdk: 微信公众平台 PHP SDK
微信公众平台 PHP SDK
介绍
简单的微信公众平台 PHP SDK ,通过调用相应的接口,使你可以轻松地开发微信 App 。测试方法如下:
Clone 或下载项目源码,上传至服务器。
进入微信公众平台,高级功能,开启开发模式,并设置接口配置信息。修改 URL 为 /example/server.php 的实际位置,修改 Token 为 weixin (可自行在 /example/server.php 中更改)。
向你的微信公众号发送消息并测试吧!
用法
直接浏览 /example/server.php 了解基本用法,以下为详细说明。
通过继承 Wechat 类进行扩展,通过重写 onSubscribe() 等方法响应关注等请求:
class MyWechat extends Wechat {
protected function onSubscribe() {} // 用户关注
protected function onUnsubscribe() {} // 用户取消关注
protected function onText() {
// 收到文本消息时触发,此处为响应代码
}
protected function onImage() {} // 收到图片消息
protected function onLocation() {} // 收到地理位置消息
protected function onLink() {} // 收到链接消息
protected function onUnknown() {} // 收到未知类型消息
}
使用 getRequest() 可以获取本次请求中的参数(不区分大小写):
$this->getRequest();
// 无参数时,返回包含所有参数的数组
$this->getRequest('msgtype');
// 有参数且参数存在时,返回该参数的值
$this->getRequest('ghost');
// 有参数但参数不存在时,返回 NULL
所有请求均包含:
ToUserName 接收方帐号(该公众号ID)
FromUserName 发送方帐号(代表用户的唯一标识)
CreateTime 消息创建时间(时间戳)
MsgId 消息ID(64位整型)
文本消息请求:
MsgType text
Content 文本消息内容
图片消息请求:
MsgType image
PicUrl 图片链接
地理位置消息请求:
MsgType location
Location_X 地理位置纬度
Location_Y 地理位置经度
Scale 地图缩放大小
Label 地理位置信息
链接消息请求:
MsgType link
Title 消息标题
Description 消息描述
Url 消息链接
事件推送:
MsgType event
Event 事件类型
EventKey 事件 Key 值,与自定义菜单接口中 Key 值对应
其中,事件类型 Event 的值包括以下几种:
subscribe 关注
unsubscribe 取消关注
CLICK 自定义菜单点击事件(未验证)
使用 responseText() 方法回复文本消息:
$this->responseText(
$content, // 消息内容
$funcFlag // 可选参数(默认为0),设为1时星标刚才收到的消息
);
使用 responseMusic() 方法回复音乐消息:
$this->responseMusic(
$title, // 音乐标题
$description, // 音乐描述
$musicUrl, // 音乐链接
$hqMusicUrl, // 高质量音乐链接,Wi-Fi 环境下优先使用
$funcFlag // 可选参数,默认为0,设为1时星标刚才收到的消息
);
使用 responseNews() 方法回复图文消息:
$this->responseNews(
$items, // 由单条图文消息类型 NewsResponseItem() 组成的数组
$funcFlag // 可选参数,默认为0,设为1时星标刚才收到的消息
)
其中单条图文消息类型 NewsResponseItem() 格式如下:
$items[] = new NewsResponseItem(
$title, // 图文消息标题
$description, // 图文消息描述
$picUrl, // 图片链接
$url // 点击图文消息跳转链接
);
最后,实例化 MyWechat() 并调用 run() 方法即可运行。
$wechat = new MyWechat(
$token, // 你在公众平台设置的 Token
$debug // 调试模式,默认为 FALSE ,设为 TRUE 后可将错误通过文本消息回复显示
);
$wechat->run();
TODO
完善文档和注释;
完善异常处理;
提供 Composer 方式安装。
微信公众号 php sdk,GitHub - yuanchenglu/wechat-php-sdk: 微信公众平台 PHP SDK相关推荐
- 个人微信公众号及个人GitHub信息
写技术博客,主要是作为自己技术积累的一个笔记,不求与人相比,但求不断超越自己!加油! CSDN个人专栏信息现在不能用了,但是有些信息需要连接一下,方便使用,所以在专门放一篇文章吧. 1,点击访问个人G ...
- 小程序 php wecahtpay,PHP 微信公众号,小程序获取支付参数。微信支付
PHP 微信公众号,小程序获取支付参数.微信支付 发布时间:2018-09-26 11:19, 浏览次数:278 , 标签: PHP 首先下载微信官方demo放入项目中 地址:https://gith ...
- 公众号自动回复不生效php,php,微信公众平台开发者_微信公众号开发者自动回复设置没反应,php,微信公众平台开发者 - phpStudy...
微信公众号开发者自动回复设置没反应 在新浪sea平台设置了微信公众号应用,设置关注自动回复功能,接口设置成功,,代码写好,url也修改代码的页面,但是测试后没反应. //define your tok ...
- 公众号开发精品教程(2)——将项目接入微信及简单交互
系列文章传送门 公众号开发精品教程(1)--绪论及环境搭建 公众号开发精品教程(2)--将项目接入微信及简单交互 公众号开发精品教程(3)--创建菜单 公众号开发精品教程(4)--生成带参数的二维码及 ...
- 微信公众号开发小坑:确认访问的微信是否为已关注公众号,秘钥使用全局access_token不能使用局部变量access_token
环境说明: 1.项目功能:年会抽奖活动开发,子功能:获取客户的相对公众号的唯一oppenid,然后确认是否关注本公众号,关注则获取客户信息后发抽奖券保存,否则先关注微信公众号: 2.java环境:SS ...
- 微信打击违规贷款、仿冒公众号等行为 累积处罚3万多个公众号
微信官方发文称,最近对于违规贷款服务.打卡欺诈.仿冒公众号等行为开展了专项处理,针对平台的一些其他违规行为,如违规小程序第三方服务商等,将采取多种法律途径进行处理. 在违规贷款方面,2018年1月至2 ...
- 微信公众号中,怎么插入代码块?(微信公众号中,代码块怎么排版?)
微信公众号代码编辑工具 步骤1.如上图所示,我们要点击复制; 步骤2.直接ctrl+v粘贴到微信公众号的编辑框中,如下图所示: 微信公众号排版工具(135编辑器) 135编辑器是一款很好的微信公众号编 ...
- UNI-APP 开发微信公众号(H5)JSSDK的使用、微信扫一扫
UNI-APP 开发微信公众号(H5)JSSDK的使用.微信扫一扫 自己做了一个h5端调起微信扫一扫的功能,上网一找,没有说得很详细的,依样画葫芦,结果出了很多问题.下面给大家讲一下做的方法,用这个方 ...
- 微信公众号打开的h5网页点击按钮返回公众号
从微信公众号打开的h5网页 退出h5返回到公众号方法 closePage() {if (typeof WeixinJSBridge == "undefined") {if (doc ...
- 微信公众号内下载pdf等文件,受微信所限制,安卓和IOS不同处理方式(最最最优版)
继上一篇文章微信公众号内下载pdf等文件,受微信所限制,安卓和IOS不同处理方式 后觉得还有更好的解决办法,这次真的找到更加优化版本,一定需要后台配合才行:后台接口返回Blob,后端设置respons ...
最新文章
- FPGA(4)晶振与计数器 -- 实现定时器(led定时闪烁、蜂鸣器频率控制(单响)、蜂鸣器报警(频带控制,多响))
- Docker Swarm集群搭建
- (37)0环与3环通信常规方式,PspTerminateProcess 关闭进程工具
- shiro的简单入门使用
- dagger2记录篇
- 【Android】对话框 AlertDialog
- 前端学习(1692):前端系列javascript之typeof
- Simulink之变压器漏抗对整流电路的影响
- mysql myflash原理_如何利用 Myflash 解析 binlog ?
- cpu怎么超频_性价比神器?镁光EDIE颗粒 超频实测 Intel+Amd
- linux 设备 总线 驱动 模型
- CentOS云主机安全之新增ssh登录账户、禁止ROOT登陆
- java修改文件后缀名_java批量修改文件后缀名方法总结
- 并发网站压力测试工具
- jQuery中的日期时间控件
- RS232 RS422 RS485详细介绍
- 2021奥维地图不能用了,有没有其他地图软件能替代?
- html中如何把两行合并单元格,css合并两列单元格内容
- Javascript之宿主环境
- 通俗地讲一下Web是什么意思。