生成带参数的二维码及给粉丝打标签

有2种类型的二维码:1、临时二维码,是有过期时间的,最长可以设置为在二维码生成后的30天(即2592000秒)后过期,但能够生成较多数量。临时二维码主要用于帐号绑定等不要求二维码永久保存的业务场景

2、永久二维码,是无过期时间的,但数量较少(目前为最多10万个)。永久二维码主要用于适用于帐号绑定、用户来源统计等场景。

我们这里用的是临时二维码

首先创建二维码调用laneWechat的里面的createTicket

    public static function createTicket($type, $expireSeconds, $sceneStr){
        $accessToken=getAccess_token();
        $queryUrl = 'https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token='.$accessToken;
        $queryAction = 'POST';
        $template = array();
        if($type == 1){
            //临时
            $template['expire_seconds'] = $expireSeconds;
            $template['action_name'] = 'QR_STR_SCENE';
        }else{
            //永久
            $template['action_name'] = 'QR_LIMIT_STR_SCENE';
        }
        $template['action_info']['scene']['scene_str'] = $sceneStr;
        $template = json_encode($template,JSON_UNESCAPED_UNICODE)
	public function qrcodeAdd(){
		if (IS_GET) {
			$this->display("qrcode_add");
		}else{
			$mp=$this->mp;
			$arr=I('post.');
			$arr['mp_id']=$mp['id'];
			$id=M('qrcode')->add($arr);
//调用标签
			$this->createTag($arr['scene_str']);

			include APP_PATH . 'LaneWeChat/lanewechat.php';
			$ret=Popularize::createTicket($arr['qr_type'],$arr['expire'],$arr['scene_str']);
			
			if (isset($ret['ticket'])) {
				$qrcodefile=Popularize::getQrcode($ret['ticket']);
				$ret['src']=$qrcodefile;
				$ret['create_time']=time();
				M('qrcode')->where("id=$id")->save($ret);
				$this->ajaxReturn(array('status'=>1,'msg'=>'ok'));
			}else{
				$this->ajaxReturn(array('status'=>0,'msg'=>$ret));
			}
		}
	}
    public static function createTicket($type, $expireSeconds, $sceneStr){
        $accessToken=getAccess_token();
        $queryUrl = 'https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token='.$accessToken;
        $queryAction = 'POST';
        $template = array();
        if($type == 1){
            //临时
            $template['expire_seconds'] = $expireSeconds;
            $template['action_name'] = 'QR_STR_SCENE';
        }else{
            //永久
            $template['action_name'] = 'QR_LIMIT_STR_SCENE';
        }
        $template['action_info']['scene']['scene_str'] = $sceneStr;
        $template = json_encode($template,JSON_UNESCAPED_UNICODE);

        
        return Curl::callWebServer($queryUrl, $template, $queryAction);
    }
一个公众号,最多可以创建100个标签。

//创建标签
	public function createTag($tagname=''){
		$mp=$this->mp;
		// $tagname='126';
		//查库是否有没有创建把tag和tag_id写到库中
		$where['mp_id']=$mp['id'];
		$where['tag']=$tagname;
		$data=M('tags')->where($where)->find();
		if (empty($data)) {

			$api="https://api.weixin.qq.com/cgi-bin/tags/create?access_token=".getAccess_token();
			$arr=array();
			$arr['tag']['name']=$tagname;
			$json=json_encode($arr,JSON_UNESCAPED_UNICODE);
			// echo $json;
			// exit;

			include APP_PATH . 'LaneWeChat/lanewechat.php';
			$ret=\LaneWeChat\Core\Curl::callWebServer($api,$json,'POST');
			if ($ret['tag']) {
				$row['mp_id']=$mp['id'];
				$row['tag_id']=$ret['tag']['id'];
				$row['tag']=$ret['tag']['name'];
				M('tags')->add($row);
			}
		}
	}
	//为粉丝打标签
	public function OpenidTag(){
		$openid="o2E7t0gfBIXymb4a7y18N5tDPpug";
		// include APP_PATH . 'LaneWeChat/lanewechat.php';
		$api="https://api.weixin.qq.com/cgi-bin/tags/members/batchtagging?access_token=".getAccess_token();
		$arr['openid_list']=array($openid);
		$arr['tagid']=101;
		$json=json_encode($arr);
		// echo $json;
		// exit();
		include APP_PATH . 'LaneWeChat/lanewechat.php';
	    $ret=\LaneWeChat\Core\Curl::callWebServer($api,$json,'POST');

	     // print_r($ret);
	}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值