微信公众号的共享

之前公司帮某企业做了一个微信公众平台,并绑定了一个公众号,常规思路我们认为一个订阅号绑定一个微信系统,有且只能绑定一个,后来再一次活动中,我发现了一个问题,就是另一家公司的一个照片打印机系统也接入了该企业的微信公众号,但是我们系统的功能几乎不受影响,两个系统互不搭嘎。这就让我很是奇怪,查看微信公众号后台(https://mp.weixin.qq.com/)看了一下,原来服务器配置被改成了他们的路径,但是Token却和我们是共用的一个,我觉得这肯定是他那边兼容了我们这里的系统,后来了解了一下微信的传值机制,尝试了一下

if(!($data['MsgType'] == 'text')){
	list($content, $type) = $this -> reply($data);
        $wechat -> response($content, $type);
}
else{
	$xml = $wechat->request_xml();			
	$data_xml = $wechat->curl_post("http://example。com/".$this->token,$xml);
	exit($data_xml);
}	


function curl_post($remote_server,$post_string){
	$header[] = "Content-type: text/xml";//定义content-type为xml
	$ch = curl_init();
	curl_setopt($ch,CURLOPT_URL,$remote_server);
	curl_setopt($ch,CURLOPT_POSTFIELDS,$post_string);
	curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
	curl_setopt($ch,CURLOPT_USERAGENT,"Jimmy's CURL Example beta");
	$data = curl_exec($ch);
	curl_close($ch);
		
	return $data;
}

也就是说,如果在本程序中想处理某些数据,则满足if中的条件即可,如果不满足,则POST请求其他系统,一次类推,一个微信号可以有无数个系统的支持,但必须有一个主系统。


function __construct($token){

	$this->oauth($token) || exit;

	if(!IS_POST()){
	echo($_REQUEST['echostr']);exit;
	}
	else{
		$xml = file_get_contents("php://input");			
		$this->post_xml = $xml;
		$xml = new SimpleXMLElement($xml);
			
		$xml || exit;
		foreach ($xml as $key=>$value){
			$this->data[$key] = strval($value);
		}
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值