关注和取消关注

<?php
define("APPID","wx4cff8e15a7a0801d");//填写自己的APPID
define("APPSECRET","4d7cb4b8b54412d9ef0c6a7c011cd570");//填写自己的APPSECRET
define("TOKEN", "weixin");//token随便填,只要一致就行。
$wechat = new wechat();
$wechat->responseMsg();

class wechat{
    private $_appid;
    private $_appsecret;
    private $_token;
	private $tpl=array(
				//发送文本消息模板
				‘text‘ => ‘	<xml>
							<ToUserName><![CDATA[%s]]></ToUserName>
							<FromUserName><![CDATA[%s]]></FromUserName>
							<CreateTime>%s</CreateTime>
							<MsgType><![CDATA[text]]></MsgType>
							<Content><![CDATA[%s]]></Content>
							</xml>‘,
	);
    public function __construct(){
        $this->_appid =APPID;
        $this->_appsecret =APPSECRET;
        $this->_token =TOKEN;
    }
	/**
	  *响应微信平台发送的消息
	**/
    public function responseMsg()//所有的被动消息处理都从这里开始
    {
		$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];//获得用户发送信息
		$postObj = simplexml_load_string($postStr, ‘SimpleXMLElement‘, LIBXML_NOCDATA);//解析XML到对象
		switch($postObj->MsgType){
			case ‘text‘: //文本处理
				$this->_doText($postObj);
				break;
			case ‘event‘: //事件处理
				$this->_doEvent($postObj);
				break;
			default: exit;
		}
	}
    /**
	  *_doText():处理文本消息
	  *@postObj:响应的消息对象
	**/
	private function _doText($postObj)
	{
		$fromUsername = $postObj->FromUserName;
		$toUsername = $postObj->ToUserName;
		$keyword = trim($postObj->Content);
		$time = time();
		if(!empty( $keyword ))
		{
			$contentStr=‘hello world!‘;
			exit;
			//这里可以做一些业务处理
			if($keyword == "hello")
				$contentStr = "Welcome to wechat world!";
			$msgType = "text";
			$resultStr = sprintf($this->tpl[‘text‘], $fromUsername, $toUsername, $time, $contentStr);
			echo $resultStr;
		}
        exit;
	}
	/**
	  *_doEvent():处理事件消息
	  *@postObj:响应的消息对象
	**/
	private function _doEvent($postObj){ //事件处理
		switch($postObj->Event){
			case  ‘subscribe‘: //订阅
				$this->_doSubscribe($postObj);
				break;
			case ‘unsubscribe‘: //取消订阅
				$this->_doUnsubscribe($postObj);
				break;
			default:;
		}
	}
	/**
	  *处理关注事件
	  *@postObj:响应的消息对象
	**/
	private function _doSubscribe($postObj){
		$contentStr=‘欢迎您关注我的公众号!‘;
		$str = sprintf($this->tpl[‘text‘],$postObj->FromUserName,$postObj->ToUserName,time(),$contentStr);
		//还可以保存用户的信息到数据库
		echo $str;
	}

	/**
	  *处理取消关注事件
	  *@postObj:响应的消息对象
	**/
	private function _doUnsubscribe($postObj){
		//把用户的信息从数据库中删除
		//获取用户的openid,在进行一些业务操作
		file_put_contents(‘useropenid.txt‘,$postObj->FromUserName);
	}
}
时间: 2024-11-03 01:20:36

关注和取消关注的相关文章

实现类知乎android客户端关注和取消关注的按钮点击效果

先说明一下,项目代码已上传至github,不想看长篇大论的也可以先去下代码,对照代码,哪里不懂点哪里. 代码在这https://github.com/zgzczzw/ZHFollowButton 前几天发现知乎关注的点击效果确实赞,查了一下实现方式,刚好看到这个问题,花了一天时间终于把这个效果实现了,现在来回答一下,很不幸,楼上各位的答案都不全对,且听我一一道来. 首先,我先详细观察了一些知乎的效果,其中有一个很神奇的地方,如图: 注意看第二张图,这个圆形在扩散的时候,圆形底下的字还在,而且新的

jQuery-ajax: 取消关注|关注

ylbtech-jQuery-ajax: 取消关注|关注 1.A,jQuery-效果图返回顶部 1.B,jQuery-Source Code(源代码)返回顶部 <script src="~/js/jquery-1.9.1.min.js" type="text/javascript"></script> <script type="text/javascript"> var attention = functio

接入微信公众平台开发之用户关注(取消)事件触发后台自定义消息体通知给用户的实现过程

1.需求:用户关注公众号后回复给用户一个字符串,字符串不能重复使用即如果a用户关注公众号后商户后台回复给用户字符串str1后,b用户关注就是其他字符串,且a用户取消关注再次关注不回复消息体 2.实现过程: ①首先配置服务器url并开启,再次过程中需要微信后台与商户后台进行通信,所以,微信后台会发送请求,商户平台自定义接口回复相关内容即可完成通信. ②原理图: ③代码实现: a.pcodecontroller:定义的一个接口类,用来处理微信服务器发送的请求 1 package com.java.z

微信加关注链接 一键关注公众号 解决用手机看网页无法扫二维码的烦恼

现在很多网页都会设置wap手机版,移动端的流量逐渐显现.问题来了,如果你用手机浏览网页,你又很想微信加关注,上面正好有个二维码,苦于手机分身无术,又不想打一长串的微信号,还是舍弃吧.站长们可要在这方面提高用户体验了.那么有没专用的微信加关注链接一键关注公众号呢?幸好微信团队早就发明了微信文字链接,只是我们平时没有发现而已. 我们平时的文字链接或其他链接(A标签)一般都是<a href="http://开头的,这种链接在微信中也是通用的,具体可以查看微信添加文字链接一文.这里要说的是微信加关

关注网络管理,关注信息安全

事实上,虚拟机如同物理机一样容易受到恶意软件的侵害.因此,确保其系统得到最优秀的防护对于IT专业人员来说至关重要.但是,当企业开始扩大虚拟化软件规模时,安全软件可能会影响硬件的性能!此时,反病毒软件有可能“事与愿违”地逆转了虚拟化本应该给组织带来的好处.卡巴斯基实验室推出了针对虚拟环境的反恶意软件解决方案,该方案在保证性能最优化的同时还能提供强大防护,使组织免受当今威胁的侵害!!那么卡巴斯基虚拟化安全解决方案有哪些优势特点呢?< 集中安全 – 为虚拟环境而开发安全方案     Kaspersky

JQuery实现点击关注和取消功能

点赞,网络用语,表示“赞同”.“喜爱”. 该网络语来源于网络社区的“赞”功能.送出和收获的赞的多少.赞的给予偏好等,在某种程度能反映出你是怎样的人以及处于何种状态.点赞的背后,反映出你自己.与之对应的便是取消功能.恰巧最近博主在一款APP,其中一个版块需要实现点赞和取消功能,经过思考决定用JQuery代码实现它,好了废话不多说,上干货!! 首先要引入JQuery插件 其次,我们需要定义一个div,并给它一些样式 然后就是JS代码了,如下所示 $(document).ready(function(

redis应用之——关注、被关注

粉丝表:fans:myUid oUid1 oUid2 oUid3 关注表:follow:myUid oUid1 oUid2 oUid3点击关注某用户,若未关注,则将其id写入对应的follow:myUid(这里的myUid是关注者的id)集合里.同时,将我的id写到我关注的用户的fans:oUid(这里的oUid是被关注者的id)集合里//判断该用户是否被我关注$redis = new Redis();$redis->connect('127.0.0.1',6379);$exsistId = $

约架某“专家”,关注华为,关注HCIE,让利广大工程师

声明: 1.我没有容不下竞争对手我是要直面竞争!!我是在发布竞争声明 敢于直面竞争的对手才是好对手! 2.关注度继续放在学员上.在视频内容上,放在服务上,培训本质上是服务业. 3.竞争就是要挑起争端,降低学员的成本!! 4.开拓更大的华为市场! 没有标准的培训不是好培训,那么标准是什么?绝大不多情况下这个标准就是证书!! 那么好,我们放眼培训界,思科一枝独秀的时代一去不返,过人更多的关注华为,因为 这个是一个民族品牌,这是一个国家和人民支持的品牌,虽然还有很多路要走,但我们 支持他! 如果您愤青

在自己的网站添加关注新浪关注按钮

有2种方法 第一种是参照新浪开发平台的API  地址如下: http://open.weibo.com/widget/followbutton.php 第二种是在html页面引入一段js <iframe allowtransparency="" border="0" frameborder="0" height="22" marginheight="0" marginwidth="0&quo