1. 程式人生 > >關於微信公眾號二次開發(獲取二維碼)

關於微信公眾號二次開發(獲取二維碼)

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;
}