首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
微信
> 详细
微信二次开发自定义接受事件推送的代码
时间:
2016-02-25 11:43:01
阅读:
338
评论:
0
收藏:
0
[点我收藏+]
标签:
<?php
/**
* wechat php test
*/
//define your token
define(
"TOKEN",
"<span style="color:#ff0000;
">xxxxx</span>");
$wechatObj =
new wechatCallbackapiTest();
$wechatObj->responseMsg();
class wechatCallbackapiTest {
public
function valid() {
$echoStr =
$_GET[
"echostr"];
//valid signature , option
if (
$this->checkSignature()) {
echo
$echoStr;
exit;
}
}
public
function responseMsg() {
//get post data, May be due to the different environments
$postStr =
$GLOBALS[
"HTTP_RAW_POST_DATA"];
//extract post data
if (!
empty (
$postStr)) {
$postObj = simplexml_load_string(
$postStr,
‘SimpleXMLElement‘, LIBXML_NOCDATA);
$fromUsername =
$postObj->FromUserName;
$toUsername =
$postObj->ToUserName;
$keyword = trim(
$postObj->Content);
$Event = trim(
$postObj->Event);
$time = time();
$textTpl = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>0</FuncFlag>
</xml>";
//测试事件推送
if(
$Event==
"subscribe"){
$contentStr =
"欢迎订阅果晶晶网络科技有限公司公众平台!";
$msgType =
"text";
$resultStr = sprintf(
$textTpl,
$fromUsername,
$toUsername,
$time,
$msgType,
$contentStr);
echo
$resultStr;
}
//test
if(
$keyword==1){
//文本
$contentStr =
$keyword .
"测试发送文本!";
$msgType =
"text";
$resultStr = sprintf(
$textTpl,
$fromUsername,
$toUsername,
$time,
$msgType,
$contentStr);
echo
$resultStr;
}
else
if(
$keyword==2){
//音乐
$textTpl="<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Music>
<Title><![CDATA[%s]]></Title>
<Description><![CDATA[%s]]></Description>
<MusicUrl><![CDATA[%s]]></MusicUrl>
<HQMusicUrl><![CDATA[%s]]></HQMusicUrl>
</Music>
<FuncFlag>0</FuncFlag>
</xml>";
$msgType =
"music";
$msgtitle=
"致青春";
$Description=
"电影《致我们终将逝去的青春》 主题曲";
$MusicUrl=
"http://music.baidu.com/song/40153340#";
$HQMusicUrl=
"http://music.baidu.com/song/40153340#";
$resultStr = sprintf(
$textTpl,
$fromUsername,
$toUsername,
$time,
$msgType,
$msgtitle,
$Description,
$MusicUrl,
$HQMusicUrl);
echo
$resultStr;
}
else
if(
$keyword==3){
//图文
$textTpl="<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<ArticleCount>1</ArticleCount>
<Articles>
<item>
<Title><![CDATA[%s]]></Title>
<Description><![CDATA[%s]]></Description>
<PicUrl><![CDATA[%s]]></PicUrl>
<Url><![CDATA[%s]]></Url>
</item>
</Articles>
<FuncFlag>1</FuncFlag>
</xml> ";
$msgType =
"news";
$title1=
"致青春";
$Description=
"电影《致我们终将逝去的青春》 主题曲";
$PicUrl=
"http://img10.360buyimg.com/da/g13/M05/01/02/rBEhU1G6iA8IAAAAAADmPyFSPhUAAANiwAxLNcAAOZX575.jpg";
$Url=
"http://sale.jd.com/act/qYHkylDS0LVOg.html?sid=2&cid=601&aid=3678&bid=661&unit=36617&advid=60724&guv=";
$resultStr = sprintf(
$textTpl,
$fromUsername,
$toUsername,
$time,
$msgType,
$title1,
$Description,
$PicUrl,
$Url);
echo
$resultStr;
}
//
if (!
empty (
$keyword)) {
$contentStr =
$keyword .
"Welcome to wechat world!";
$msgType =
"text";
$resultStr = sprintf(
$textTpl,
$fromUsername,
$toUsername,
$time,
$msgType,
$contentStr);
echo
$resultStr;
}
else {
echo
"Input something...";
}
}
else {
echo
"";
exit;
}
}
private
function checkSignature() {
$signature =
$_GET[
"signature"];
$timestamp =
$_GET[
"timestamp"];
$nonce =
$_GET[
"nonce"];
$token = TOKEN;
$tmpArr =
array (
$token,
$timestamp,
$nonce
);
sort(
$tmpArr);
$tmpStr = implode(
$tmpArr);
$tmpStr = sha1(
$tmpStr);
if (
$tmpStr ==
$signature) {
return true;
}
else {
return false;
}
}
}
?>
微信二次开发自定义接受事件推送的代码
标签:
原文地址:http://www.cnblogs.com/YDshuaizai/p/5216327.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
微信公众号如何做数据分析
2021-07-26
Hbuild打开微信小程序失败
2021-07-26
小程序架构设计(一)
2021-07-12
基于uni-app全端弹框组件uaPopup「兼容h5+小程序+app端|nvue」
2021-07-12
【学习记录】微信小程序:前端开发实战
2021-07-05
小程序接口请求封装
2021-07-05
uView下拉框在微信小程序里不显示问题
2021-07-02
小程序图片开发工具能显示真机调试和体验版不显示
2021-07-02
爬取小程序所有教程scrapy
2021-07-01
小程序开发中 在 wxml格式化 属性断行
2021-06-30
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!