關於微信公眾號二次開發(獲取二維碼)
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;
}