5、关注成功,服务端记录推广人邀请的粉丝数
代码实现:
1,生成带有参数二维码和推广人头像的海报的示例:
$openid = 'XXXXXXX';推广人加密后的微信号 if(empty($openid)) return false; //原海报的地址 $poster_path = './share20161209.jpg'; //生成带推广人参数的永久二维码 $url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=XXXX"; $data = [ 'action_name' => 'QR_LIMIT_STR_SCENE', 'action_info' => [ 'scene' => ['scene_str' => 'invite_'.$openid], ], ]; $data = json_encode($data); //通过curl post请求 $result = $this->http_post($result); $result = json_decode($result); $url = 'https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=' . urlencode($result['ticket']); $ch = curl_init (); curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, 'GET'); curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt ($ch, CURLOPT_URL, $url); ob_start (); curl_exec ($ch); $qr_content = ob_get_contents(); ob_end_clean (); //缩放二维码大小为需要的大小,并将二维码加入到海报中 $thumb = imagecreatetruecolor(300, 300);//创建一个300x300图片,返回生成的资源句柄 //获取源文件资源句柄。接收参数为图片流,返回句柄 $source = imagecreatefromstring($qr_content); //将源文件剪切全部域并缩小放到目标图片上,前两个为资源句柄 imagecopyresampled($thumb, $source, 0, 0, 0, 0, 300, 300, 430, 430); //创建图片的实例,接收参数为图片 $dst_qr = @imagecreatefromstring(file_get_contents($poster_path)); //加水印 imagecopy($dst_qr, $thumb, 225, 556, 0, 0, 300, 300); //销毁 imagedestroy($thumb); ob_start();//启用输出缓存,暂时将要输出的内容缓存起来 imagejpeg($dst_qr, NULL, 100);//输出 $poster = ob_get_contents();//获取刚才获取的缓存 ob_end_clean();//清空缓存 imagedestroy($dst_qr); //获取头像,直接访问微信的获取用户接口,具体代码代码省略 $user_info = $api->getUserinfo($openid); //$dst_icon,替换头像,方法和二维码大致相同,会将替换好的海报保存在临时文件中。具体代码此处省略 $tmp_path = __DIR__."/../../../web/subscribe/images/$openid.jpg"; imagejpeg($dst_icon, $tmp_path); imagedestroy($dst_icon); //将替换好的海报,新增到临时素材 $post_data['media'] = curl_file_create($tmp_path); $url = "http://api.weixin.qq.com/cgi-bin/media/upload?access_token=xxxx&type=image"; $result = json_decode(self::_httpPost($url, $post_data)); if($result) { //删除临时文件 unlink($tmp_path); return $result->media_id; }
2,给推广人发送海报代码示例
$media_id = ‘上传到临时素材的m媒体ID’ $textTpl = " %s "; $result = sprintf($textTpl, $fromusernam, $tousername, time(), 'image', $media_id); echo $result;
3, 用户关注事件,修改推广人邀请粉丝数代码示例
if (preg_match('|^qrscene_invite_(.*+)$|', $eventKey, $matches)) { $sceneStr = $matches[1];//值为推广人的openid //修根据openid数据库取相应推广邀请数据,重而进行数据修改,具体代码省略 }
总结:这样就实现了一个简单可以统计推广人的邀请粉丝数。此示例只支持一级推广。
云衔科技是一家专注于企业数字化广告营销解决方案的服务商。公司凭借深厚的行业经验和专业技术能力,致力于为企业客户提供全方位、更高效的数字化广告营销与运营服务。