weiphp扫码发送模板消息
<?php
        	
namespace Addons\Dianxin\Model;
use Home\Model\WeixinModel;
        	
/**
 * Dianxin的微信模型
 */
class WeixinAddonModel extends WeixinModel{
	function reply($dataArr, $keywordArr = array()) {
		$config = getAddonConfig ( 'Dianxin' ); // 获取后台插件的配置参数	
		//dump($config);
		$this->replyText("欢迎来访!");
	} 

	// 关注公众号事件
	public function subscribe() {
		return true;
	}
	
	// 取消关注公众号事件
	public function unsubscribe() {
		return true;
	}
	
	// 扫描带参数二维码事件
	public function scan() {
		$this->responseMsg();
		//$this->replyText("扫描二维码事件!");
		return true;
	}
	
	// 上报地理位置事件
	public function location() {
		return true;
	}
	
	// 自定义菜单事件
	public function click() {
		return true;
	}
	
	//------
	public function responseMsg()
    {
		//get post data, May be due to the different environments
		$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
		file_put_contents('testxxx.txt',$postStr);
		//$this->replyText("kkkkkkkkkkkkkkkkiii汉字测试");
		//die();
	
      	//extract post data
		if (!empty($postStr)){
                /* libxml_disable_entity_loader is to prevent XML eXternal Entity Injection,
                   the best way is to check the validity of xml by yourself */
                libxml_disable_entity_loader(true);
              	$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
                $fromUsername = $postObj->FromUserName;
                //$toUsername = $postObj->ToUserName;
                // $keyword = trim($postObj->Content);
                //$time = time();
				file_put_contents('testxxx.txt',$fromUsername);
				//$this->replyText("里面的测试123456:扫描open_id: $fromUsername");
				//die();
				
				//$access_token = get_access_token();
				
				$app_id 		= "wx0d0930db7c5a48d2";
				$app_secrect	= "a7da2ca651fefe18c329fc8880371167";

				$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$app_id&secret=$app_secrect";
				file_put_contents('test6.txt',"ssssss");
				$res = $this->http_get($url);
				$res = json_decode($res,true);
								
				//p($res);
				$access_token = $res['access_token'];
				file_put_contents('test1.txt',$access_token);
				

				
				$open_id = 'ozHl7jg88qfSTY1q1OPYCXOW61xk';

				$url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=$access_token";

				$json = '

				{
					"touser": "'.$open_id.'",
					"template_id": "JaNkjf55qmhD058FAHPQHRyFivSUmSM4mJtWknL8YIk",
					"url": "http://www.baidu.com",
					"topcolor": "#FF0000",
					"data": {
						"first": {
							"value": "信阳市中国电信公司,宽带上门安装服务。",
							"color": "#173177"
						},
						"keyword1": {
							"value": "今天",
							"color": "#173177"
						},
						"keyword2": {
							"value": "关键词!",
							"color": "#173177"
						},
						"keyword3": {
							"value": "关键词!",
							"color": "#173177"
						},
						"remark": {
							"value": "关键词!",
							"color": "#173177"
						}
					}
				}

				';


				$res = $this->https_post($url,$json);
				file_put_contents('test2.txt',$res);
				die();

        }else {
        	//echo "";
			$this->replyText("NULL");
        	exit;
        }
    }
	
	public function http_get($url){
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $url);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
		curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		$output = curl_exec($ch);
		curl_close($ch);
		return $output;
	}
	//
	public function https_post($url,$data = null){
		$curl = curl_init();
		curl_setopt($curl, CURLOPT_URL, $url);
		curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
		curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
		if(!empty($data)){
			curl_setopt($curl, CURLOPT_POST, 1);
			curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
		}
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
		$output = curl_exec($curl);
		curl_close($curl);
		return $output;
	}
	
	
	
	
	
	
	
	
	
	
}
        	


修改时间 2015-11-21

真诚赞赏,手留余香
赞赏
随机推荐
跨域简单请求变成非简单请求导致的Bug
织梦分页样式
CentOS7 安装 LAMP 和 Mod Security 手记
Node.js 的 JSON Web Token 模块
jQuery Mobile提交以后空白
Node.js 爬虫常见问题
ps -ef | grep 输出的具体含义
js解析json中的一个问题
Windows 下 Apache 添加多个PHP版本
FTP over TLS加密传输 Filezilla