关于微信公众号二次开发(获取二维码)

1.获取二维码的第一步就是先得获取到Ticket,然后再用ticket来换取二维码。

我们先把存放二维码信息的数据表(rh_qrcode)放进数据库中,然后在控制器中写添加二维码的方法(qcordeadd)。我们先用getCurrentMp方法获得到微信公众号的所有信息,然后把mp_id获取到,以数组的形式添加到rh_qrcode表中。然后调用LANWeChat里的createticket方法来获取ticket。我们有了ticket就能获取到二维码,接着调用方法getQrcode,在getQrcode方法里,先引用接口获取到二维码的url,然后再把这个url添加到本地的文件夹里。然后再把这些数据都存在rh_qrcode表中,参考代码如下:

public function qrcodeAdd(){
if(IS_GET){

$this->display('qrcode_add');
}else{
$mp=getCurrentMp();

$mp_id=$mp['id'];

$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['type'],$arr['expire'],$arr['scene_str']);

if(isset($ret['ticket'])){
$qrcodefile = $this->downqrcode($ret['ticket']);
$ret['src']=$qrcodefile;
$ret['create_time'] = time();
M('qrcode')->where("id=$id")->save($ret);
$this->ajaxReturn(array('status'=>1,'msg'=>'ok','url'=>U('index')));
}else{
$this->ajaxReturn(array('status'=>0,'msg'=>$ret));
}


}
}
public function downqrcode($ticket){


include APP_PATH . 'LaneWeChat/lanewechat.php';
$ret = Popularize::getQrcode($ticket);
return $ret;
}



你可能感兴趣的:(php)